Add CXFA_ItemLayoutProcessor::GotoNextContainerNodeSimple(). Wrapper around the most common use cases for GotoNextContainerNode(). Change-Id: Ica543a02b374f30166bd62bae9aa5f7886bb45c7 Reviewed-on: https://pdfium-review.googlesource.com/c/47276 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp index e622469..b48881a 100644 --- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp +++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
@@ -839,6 +839,11 @@ return pLayoutItem; } +void CXFA_ItemLayoutProcessor::GotoNextContainerNodeSimple(bool bUsePageBreak) { + GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), + bUsePageBreak); +} + void CXFA_ItemLayoutProcessor::GotoNextContainerNode( CXFA_Node*& pCurActionNode, XFA_ItemLayoutProcessorStages* nCurStage, @@ -1122,14 +1127,11 @@ float fContentCalculatedHeight = 0; float fHiddenContentCalculatedWidth = 0; float fHiddenContentCalculatedHeight = 0; - if (!m_pCurChildNode) { - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), - false); - } + if (!m_pCurChildNode) + GotoNextContainerNodeSimple(false); int32_t iColIndex = 0; - for (; m_pCurChildNode; GotoNextContainerNode( - m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), false)) { + for (; m_pCurChildNode; GotoNextContainerNodeSimple(false)) { if (m_nCurChildNodeStage != XFA_ItemLayoutProcessorStages::Container) continue; if (m_pCurChildNode->GetElementType() == XFA_Element::Variables) @@ -1265,13 +1267,10 @@ layoutContext.m_prgSpecifiedColumnWidths = &m_rgSpecifiedColumnWidths; CXFA_LayoutContext* pLayoutContext = iSpecifiedColumnCount > 0 ? &layoutContext : nullptr; - if (!m_pCurChildNode) { - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), - false); - } + if (!m_pCurChildNode) + GotoNextContainerNodeSimple(false); - for (; m_pCurChildNode; GotoNextContainerNode( - m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), false)) { + for (; m_pCurChildNode; GotoNextContainerNodeSimple(false)) { layoutContext.m_fCurColumnWidth.reset(); if (m_nCurChildNodeStage != XFA_ItemLayoutProcessorStages::Container) continue; @@ -1700,10 +1699,8 @@ } fContentCurRowY += InsertKeepLayoutItems(); - if (m_nCurChildNodeStage == XFA_ItemLayoutProcessorStages::None) { - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(), - true); - } + if (m_nCurChildNodeStage == XFA_ItemLayoutProcessorStages::None) + GotoNextContainerNodeSimple(true); fContentCurRowY += InsertPendingItems(GetFormNode()); if (m_pCurChildPreprocessor && @@ -1824,8 +1821,7 @@ &bAddedItemInRow, &bForceEndPage, pContext, false); } } - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, - GetFormNode(), true); + GotoNextContainerNodeSimple(true); bForceEndPage = true; bIsManualBreak = true; goto SuspendAndCreateNewRow; @@ -1877,8 +1873,7 @@ AddPendingNode(pLeaderNode, true); } - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, - GetFormNode(), true); + GotoNextContainerNodeSimple(true); if (bCreatePage) { bForceEndPage = true; bIsManualBreak = true; @@ -1995,8 +1990,7 @@ default: break; } - GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, - GetFormNode(), true); + GotoNextContainerNodeSimple(true); if (bAddedItemInRow && eFlowStrategy == XFA_AttributeValue::Tb) break; continue;
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h index 514bc56..b9bfb60 100644 --- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h +++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
@@ -118,6 +118,7 @@ bool bRootForceTb); void DoLayoutField(); + void GotoNextContainerNodeSimple(bool bUsePageBreak); void GotoNextContainerNode(CXFA_Node*& pCurActionNode, XFA_ItemLayoutProcessorStages* nCurStage, CXFA_Node* pParentContainer,