From e5434b5531f2c081c1d69f67125b6665070ea969 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Wed, 1 Nov 2017 16:04:36 +0000 Subject: Split JS code out of CXFA_Node. This CL moves JS code out of CXFA_Node and places it into fxjs/cjx_node. The CXFA_Node then has a CJX_Node as a member and, currently, proxies JS calls to the CJX_Node member. Change-Id: Ic5b95184c8fd2347f0bdcfbccfa89bb6b52835b6 Reviewed-on: https://pdfium-review.googlesource.com/17290 Reviewed-by: Tom Sepez Commit-Queue: dsinclair --- xfa/fxfa/parser/cxfa_document.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'xfa/fxfa/parser/cxfa_document.cpp') diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp index 3ab1a988b5..7723d0b5a7 100644 --- a/xfa/fxfa/parser/cxfa_document.cpp +++ b/xfa/fxfa/parser/cxfa_document.cpp @@ -152,11 +152,11 @@ CXFA_Object* CXFA_Document::GetXFAObject(XFA_HashCode dwNodeNameHash) { continue; WideString wsNamespaceURI; - if (!pDatasetsChild->TryNamespace(wsNamespaceURI)) + if (!pDatasetsChild->JSNode()->TryNamespace(wsNamespaceURI)) continue; WideString wsDatasetsURI; - if (!pDatasetsNode->TryNamespace(wsDatasetsURI)) + if (!pDatasetsNode->JSNode()->TryNamespace(wsDatasetsURI)) continue; if (wsNamespaceURI == wsDatasetsURI) return pDatasetsChild; @@ -267,7 +267,8 @@ bool CXFA_Document::IsInteractive() { CXFA_Node* pFormFiller = pPDF->GetChild(0, XFA_Element::Interactive); if (pFormFiller) { m_dwDocFlags |= XFA_DOCFLAG_HasInteractive; - if (pFormFiller->TryContent(wsInteractive) && wsInteractive == L"1") { + if (pFormFiller->JSNode()->TryContent(wsInteractive) && + wsInteractive == L"1") { m_dwDocFlags |= XFA_DOCFLAG_Interactive; return true; } @@ -333,7 +334,8 @@ CXFA_Node* CXFA_Document::GetNodeByID(CXFA_Node* pRoot, for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) { WideStringView wsIDVal; - if (pNode->TryCData(XFA_ATTRIBUTE_Id, wsIDVal) && !wsIDVal.IsEmpty()) { + if (pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Id, wsIDVal) && + !wsIDVal.IsEmpty()) { if (wsIDVal == wsID) return pNode; } @@ -352,13 +354,15 @@ void CXFA_Document::DoProtoMerge() { for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) { WideStringView wsIDVal; - if (pNode->TryCData(XFA_ATTRIBUTE_Id, wsIDVal) && !wsIDVal.IsEmpty()) { + if (pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Id, wsIDVal) && + !wsIDVal.IsEmpty()) { mIDMap[FX_HashCode_GetW(wsIDVal, false)] = pNode; } WideStringView wsUseVal; - if (pNode->TryCData(XFA_ATTRIBUTE_Use, wsUseVal) && !wsUseVal.IsEmpty()) { + if (pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Use, wsUseVal) && + !wsUseVal.IsEmpty()) { sUseNodes.insert(pNode); - } else if (pNode->TryCData(XFA_ATTRIBUTE_Usehref, wsUseVal) && + } else if (pNode->JSNode()->TryCData(XFA_ATTRIBUTE_Usehref, wsUseVal) && !wsUseVal.IsEmpty()) { sUseNodes.insert(pNode); } @@ -367,7 +371,7 @@ void CXFA_Document::DoProtoMerge() { for (CXFA_Node* pUseHrefNode : sUseNodes) { WideString wsUseVal; WideStringView wsURI, wsID, wsSOM; - if (pUseHrefNode->TryCData(XFA_ATTRIBUTE_Usehref, wsUseVal) && + if (pUseHrefNode->JSNode()->TryCData(XFA_ATTRIBUTE_Usehref, wsUseVal) && !wsUseVal.IsEmpty()) { auto uSharpPos = wsUseVal.Find('#'); if (!uSharpPos.has_value()) { @@ -386,7 +390,7 @@ void CXFA_Document::DoProtoMerge() { uLen - uSharpPos.value() - 1); } } - } else if (pUseHrefNode->TryCData(XFA_ATTRIBUTE_Use, wsUseVal) && + } else if (pUseHrefNode->JSNode()->TryCData(XFA_ATTRIBUTE_Use, wsUseVal) && !wsUseVal.IsEmpty()) { if (wsUseVal[0] == '#') wsID = WideStringView(wsUseVal.c_str() + 1, wsUseVal.GetLength() - 1); -- cgit v1.2.3