From 067a44fcad9196c6ad8cc3b2f86261b78ae54f48 Mon Sep 17 00:00:00 2001 From: Henrique Nakashima Date: Fri, 16 Feb 2018 03:46:28 +0000 Subject: Fix fallthroughs in XFA code. Change-Id: I1fd4bf85cd709de1c14ed2895d045018f79bc61f Reviewed-on: https://pdfium-review.googlesource.com/26950 Reviewed-by: dsinclair Commit-Queue: Henrique Nakashima --- xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp | 9 +++++++++ xfa/fxfa/parser/cxfa_node.cpp | 5 +++++ xfa/fxfa/parser/xfa_document_datamerger_imp.cpp | 2 ++ 3 files changed, 16 insertions(+) (limited to 'xfa/fxfa/parser') 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 #include +#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 #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( -- cgit v1.2.3