Remove non-const parameter in CXFA_ItemLayoutProcessor.
Change-Id: I2770918464def598f25ff689d54ba8b79ccd1390
Reviewed-on: https://pdfium-review.googlesource.com/c/47277
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 b48881a..189e4c4 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.cpp
@@ -840,12 +840,12 @@
}
void CXFA_ItemLayoutProcessor::GotoNextContainerNodeSimple(bool bUsePageBreak) {
- GotoNextContainerNode(m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(),
+ GotoNextContainerNode(&m_pCurChildNode, &m_nCurChildNodeStage, GetFormNode(),
bUsePageBreak);
}
void CXFA_ItemLayoutProcessor::GotoNextContainerNode(
- CXFA_Node*& pCurActionNode,
+ CXFA_Node** pCurActionNode,
XFA_ItemLayoutProcessorStages* nCurStage,
CXFA_Node* pParentContainer,
bool bUsePageBreak) {
@@ -853,12 +853,12 @@
switch (*nCurStage) {
case XFA_ItemLayoutProcessorStages::BreakBefore:
case XFA_ItemLayoutProcessorStages::BreakAfter: {
- pChildContainer = pCurActionNode->GetParent();
+ pChildContainer = (*pCurActionNode)->GetParent();
break;
}
case XFA_ItemLayoutProcessorStages::Keep:
case XFA_ItemLayoutProcessorStages::Container:
- pChildContainer = pCurActionNode;
+ pChildContainer = *pCurActionNode;
break;
default:
pChildContainer = nullptr;
@@ -869,23 +869,23 @@
case XFA_ItemLayoutProcessorStages::Keep: {
CXFA_Node* pBreakAfterNode = pChildContainer->GetFirstChild();
if (!m_bKeepBreakFinish &&
- FindBreakNode(pBreakAfterNode, false, &pCurActionNode, nCurStage)) {
+ FindBreakNode(pBreakAfterNode, false, pCurActionNode, nCurStage)) {
return;
}
goto CheckNextChildContainer;
}
case XFA_ItemLayoutProcessorStages::None: {
- pCurActionNode = nullptr;
+ *pCurActionNode = nullptr;
FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendLeader:
- for (CXFA_Node* pBookendNode = pCurActionNode
- ? pCurActionNode->GetNextSibling()
+ for (CXFA_Node* pBookendNode = *pCurActionNode
+ ? (*pCurActionNode)->GetNextSibling()
: pParentContainer->GetFirstChild();
pBookendNode; pBookendNode = pBookendNode->GetNextSibling()) {
switch (pBookendNode->GetElementType()) {
case XFA_Element::Bookend:
case XFA_Element::Break:
- pCurActionNode = pBookendNode;
+ *pCurActionNode = pBookendNode;
*nCurStage = XFA_ItemLayoutProcessorStages::BookendLeader;
return;
default:
@@ -894,44 +894,43 @@
}
}
{
- pCurActionNode = nullptr;
+ *pCurActionNode = nullptr;
FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakBefore:
- if (pCurActionNode) {
- CXFA_Node* pBreakBeforeNode = pCurActionNode->GetNextSibling();
+ if (*pCurActionNode) {
+ CXFA_Node* pBreakBeforeNode = (*pCurActionNode)->GetNextSibling();
if (!m_bKeepBreakFinish &&
- FindBreakNode(pBreakBeforeNode, true, &pCurActionNode,
+ FindBreakNode(pBreakBeforeNode, true, pCurActionNode,
nCurStage)) {
return;
}
if (m_bIsProcessKeep) {
- if (ProcessKeepNodesForBreakBefore(&pCurActionNode, nCurStage,
+ if (ProcessKeepNodesForBreakBefore(pCurActionNode, nCurStage,
pChildContainer)) {
return;
}
goto CheckNextChildContainer;
}
- pCurActionNode = pChildContainer;
+ *pCurActionNode = pChildContainer;
*nCurStage = XFA_ItemLayoutProcessorStages::Container;
return;
}
goto CheckNextChildContainer;
}
case XFA_ItemLayoutProcessorStages::Container: {
- pCurActionNode = nullptr;
+ *pCurActionNode = nullptr;
FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BreakAfter: {
- if (pCurActionNode) {
- CXFA_Node* pBreakAfterNode = pCurActionNode->GetNextSibling();
- if (FindBreakNode(pBreakAfterNode, false, &pCurActionNode,
+ if (*pCurActionNode) {
+ CXFA_Node* pBreakAfterNode = (*pCurActionNode)->GetNextSibling();
+ if (FindBreakNode(pBreakAfterNode, false, pCurActionNode,
nCurStage)) {
return;
}
} else {
CXFA_Node* pBreakAfterNode = pChildContainer->GetFirstChild();
- if (!m_bKeepBreakFinish &&
- FindBreakNode(pBreakAfterNode, false, &pCurActionNode,
- nCurStage)) {
+ if (!m_bKeepBreakFinish && FindBreakNode(pBreakAfterNode, false,
+ pCurActionNode, nCurStage)) {
return;
}
}
@@ -954,35 +953,33 @@
goto NoMoreChildContainer;
bool bLastKeep = false;
- if (ProcessKeepNodesForCheckNext(&pCurActionNode, nCurStage,
+ if (ProcessKeepNodesForCheckNext(pCurActionNode, nCurStage,
&pNextChildContainer, &bLastKeep)) {
return;
}
if (!m_bKeepBreakFinish && !bLastKeep &&
FindBreakNode(pNextChildContainer->GetFirstChild(), true,
- &pCurActionNode, nCurStage)) {
+ pCurActionNode, nCurStage)) {
return;
}
- pCurActionNode = pNextChildContainer;
- if (m_bIsProcessKeep)
- *nCurStage = XFA_ItemLayoutProcessorStages::Keep;
- else
- *nCurStage = XFA_ItemLayoutProcessorStages::Container;
+ *pCurActionNode = pNextChildContainer;
+ *nCurStage = m_bIsProcessKeep ? XFA_ItemLayoutProcessorStages::Keep
+ : XFA_ItemLayoutProcessorStages::Container;
return;
}
NoMoreChildContainer : {
- pCurActionNode = nullptr;
+ *pCurActionNode = nullptr;
FALLTHROUGH;
case XFA_ItemLayoutProcessorStages::BookendTrailer:
- for (CXFA_Node* pBookendNode = pCurActionNode
- ? pCurActionNode->GetNextSibling()
+ for (CXFA_Node* pBookendNode = *pCurActionNode
+ ? (*pCurActionNode)->GetNextSibling()
: pParentContainer->GetFirstChild();
pBookendNode; pBookendNode = pBookendNode->GetNextSibling()) {
switch (pBookendNode->GetElementType()) {
case XFA_Element::Bookend:
case XFA_Element::Break:
- pCurActionNode = pBookendNode;
+ *pCurActionNode = pBookendNode;
*nCurStage = XFA_ItemLayoutProcessorStages::BookendTrailer;
return;
default:
@@ -992,7 +989,7 @@
}
FALLTHROUGH;
default:
- pCurActionNode = nullptr;
+ *pCurActionNode = nullptr;
*nCurStage = XFA_ItemLayoutProcessorStages::Done;
}
}
@@ -1060,9 +1057,9 @@
XFA_ItemLayoutProcessorStages nCurChildNodeStage =
XFA_ItemLayoutProcessorStages::None;
CXFA_LayoutItem* pBeforeItem = nullptr;
- for (GotoNextContainerNode(pCurChildNode, &nCurChildNodeStage, pFormNode,
+ for (GotoNextContainerNode(&pCurChildNode, &nCurChildNodeStage, pFormNode,
false);
- pCurChildNode; GotoNextContainerNode(pCurChildNode, &nCurChildNodeStage,
+ pCurChildNode; GotoNextContainerNode(&pCurChildNode, &nCurChildNodeStage,
pFormNode, false)) {
if (nCurChildNodeStage != XFA_ItemLayoutProcessorStages::Container)
continue;
diff --git a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
index b9bfb60..bb86110 100644
--- a/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
+++ b/xfa/fxfa/parser/cxfa_itemlayoutprocessor.h
@@ -119,7 +119,7 @@
void DoLayoutField();
void GotoNextContainerNodeSimple(bool bUsePageBreak);
- void GotoNextContainerNode(CXFA_Node*& pCurActionNode,
+ void GotoNextContainerNode(CXFA_Node** pCurActionNode,
XFA_ItemLayoutProcessorStages* nCurStage,
CXFA_Node* pParentContainer,
bool bUsePageBreak);