summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2018-02-16 03:46:28 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-02-16 03:46:28 +0000
commit067a44fcad9196c6ad8cc3b2f86261b78ae54f48 (patch)
tree8e04bf7d5c20701fee0f688411edeea4b74caa47 /xfa/fxfa/parser
parent844d79e853074c99b7e5e64e051f1e1236c1723e (diff)
downloadpdfium-067a44fcad9196c6ad8cc3b2f86261b78ae54f48.tar.xz
Fix fallthroughs in XFA code.chromium/3350
Change-Id: I1fd4bf85cd709de1c14ed2895d045018f79bc61f Reviewed-on: https://pdfium-review.googlesource.com/26950 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser')
-rw-r--r--xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp9
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp5
-rw-r--r--xfa/fxfa/parser/xfa_document_datamerger_imp.cpp2
3 files changed, 16 insertions, 0 deletions
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
index d4506c7bb1..45866642c5 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
@@ -11,6 +11,7 @@
#include <utility>
#include <vector>
+#include "core/fxcrt/fx_fallthrough.h"
#include "fxjs/xfa/cjx_object.h"
#include "third_party/base/logging.h"
#include "third_party/base/ptr_util.h"
@@ -867,6 +868,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
case XFA_ItemLayoutProcessorStages::None: {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendLeader:
for (CXFA_Node* pBookendNode = pCurActionNode == XFA_LAYOUT_INVALIDNODE
? pEntireContainer->GetFirstChild()
@@ -885,6 +887,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
{
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakBefore:
if (pCurActionNode != XFA_LAYOUT_INVALIDNODE) {
CXFA_Node* pBreakBeforeNode = pCurActionNode->GetNextSibling();
@@ -908,6 +911,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
case XFA_ItemLayoutProcessorStages::Container: {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakAfter: {
if (pCurActionNode == XFA_LAYOUT_INVALIDNODE) {
CXFA_Node* pBreakAfterNode = pChildContainer->GetFirstChild();
@@ -962,6 +966,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
NoMoreChildContainer : {
pCurActionNode = XFA_LAYOUT_INVALIDNODE;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendTrailer:
for (CXFA_Node* pBookendNode = pCurActionNode == XFA_LAYOUT_INVALIDNODE
? pEntireContainer->GetFirstChild()
@@ -978,6 +983,7 @@ void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
}
}
}
+ FX_FALLTHROUGH;
default:
pCurActionNode = nullptr;
*nCurStage = XFA_ItemLayoutProcessorStages::Done;
@@ -1959,8 +1965,10 @@ XFA_ItemLayoutProcessorResult CXFA_ItemLayoutProcessor::DoLayoutFlowedContainer(
switch (rs) {
case XFA_ItemLayoutProcessorResult::ManualBreak:
bIsManualBreak = true;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorResult::PageFullBreak:
bForceEndPage = true;
+ FX_FALLTHROUGH;
case XFA_ItemLayoutProcessorResult::RowFullBreak:
goto SuspendAndCreateNewRow;
case XFA_ItemLayoutProcessorResult::Done:
@@ -1968,6 +1976,7 @@ XFA_ItemLayoutProcessorResult CXFA_ItemLayoutProcessor::DoLayoutFlowedContainer(
fContentCurRowY +=
pProcessor->InsertPendingItems(m_pCurChildNode);
pProcessor.reset();
+ break;
}
break;
}
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index bfee8fa746..77b6f74fe4 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -18,6 +18,7 @@
#include "core/fxcrt/cfx_memorystream.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlnode.h"
#include "core/fxcrt/xml/cfx_xmltext.h"
@@ -2622,6 +2623,7 @@ void CXFA_Node::ResetData() {
}
case XFA_FFWidgetType::kChoiceList:
ClearAllSelections();
+ FX_FALLTHROUGH;
default: {
CXFA_Value* defValue = GetDefaultValueIfExists();
if (defValue)
@@ -2762,6 +2764,7 @@ bool CXFA_Node::CalculateFieldAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Bottom: {
size.height += szCap.height;
size.width = std::max(size.width, szCap.width);
+ break;
}
default:
break;
@@ -2858,6 +2861,7 @@ bool CXFA_Node::CalculateTextEditAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Right:
case XFA_AttributeEnum::Inline: {
size.width -= szCap.width;
+ break;
}
default:
break;
@@ -2881,6 +2885,7 @@ bool CXFA_Node::CalculateTextEditAutoSize(CXFA_FFDoc* doc, CFX_SizeF& size) {
case XFA_AttributeEnum::Top:
case XFA_AttributeEnum::Bottom: {
size.height += szCap.height;
+ break;
}
default:
break;
diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
index b7cab02b3d..ac14731bb1 100644
--- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
+++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp
@@ -11,6 +11,7 @@
#include <vector>
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/fx_fallthrough.h"
#include "core/fxcrt/xml/cfx_xmlelement.h"
#include "core/fxcrt/xml/cfx_xmlnode.h"
#include "fxjs/cfxjse_engine.h"
@@ -630,6 +631,7 @@ CXFA_Node* FindMatchingDataNode(
pResult = pGlobalBindNode;
break;
}
+ FX_FALLTHROUGH;
case XFA_AttributeEnum::Once: {
bAccessedDataDOM = true;
CXFA_Node* pOnceBindNode = FindOnceDataNode(