Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: xfa/fxfa/parser/xfa_script_resolveprocessor.cpp

Issue 1846993002: Remove IXFA_* interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/fxfa/parser/xfa_script_resolveprocessor.h" 7 #include "xfa/fxfa/parser/xfa_script_resolveprocessor.h"
8 8
9 #include "core/fxcrt/include/fx_ext.h" 9 #include "core/fxcrt/include/fx_ext.h"
10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 10 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 } 687 }
688 } 688 }
689 void CXFA_ResolveProcessor::XFA_ResolveNode_DoPredicateFilter( 689 void CXFA_ResolveProcessor::XFA_ResolveNode_DoPredicateFilter(
690 int32_t iCurIndex, 690 int32_t iCurIndex,
691 CFX_WideString wsCondition, 691 CFX_WideString wsCondition,
692 int32_t iFoundCount, 692 int32_t iFoundCount,
693 CXFA_ResolveNodesData& rnd) { 693 CXFA_ResolveNodesData& rnd) {
694 CXFA_NodeArray& findNodes = (CXFA_NodeArray&)rnd.m_Nodes; 694 CXFA_NodeArray& findNodes = (CXFA_NodeArray&)rnd.m_Nodes;
695 FXSYS_assert(iFoundCount == findNodes.GetSize()); 695 FXSYS_assert(iFoundCount == findNodes.GetSize());
696 CFX_WideString wsExpression; 696 CFX_WideString wsExpression;
697 IXFA_ScriptContext* pContext = NULL;
698 XFA_SCRIPTLANGTYPE eLangType = XFA_SCRIPTLANGTYPE_Unkown; 697 XFA_SCRIPTLANGTYPE eLangType = XFA_SCRIPTLANGTYPE_Unkown;
699 if (wsCondition.Left(2) == FX_WSTRC(L".[") && 698 if (wsCondition.Left(2) == FX_WSTRC(L".[") &&
700 wsCondition.Right(1) == FX_WSTRC(L"]")) { 699 wsCondition.Right(1) == FX_WSTRC(L"]")) {
701 eLangType = XFA_SCRIPTLANGTYPE_Formcalc; 700 eLangType = XFA_SCRIPTLANGTYPE_Formcalc;
702 } else if (wsCondition.Left(2) == FX_WSTRC(L".(") && 701 } else if (wsCondition.Left(2) == FX_WSTRC(L".(") &&
703 wsCondition.Right(1) == FX_WSTRC(L")")) { 702 wsCondition.Right(1) == FX_WSTRC(L")")) {
704 eLangType = XFA_SCRIPTLANGTYPE_Javascript; 703 eLangType = XFA_SCRIPTLANGTYPE_Javascript;
705 } else { 704 } else {
706 return; 705 return;
707 } 706 }
708 pContext = rnd.m_pSC; 707
708 CXFA_ScriptContext* pContext = rnd.m_pSC;
709 wsExpression = wsCondition.Mid(2, wsCondition.GetLength() - 3); 709 wsExpression = wsCondition.Mid(2, wsCondition.GetLength() - 3);
710 for (int32_t i = iFoundCount - 1; i >= 0; i--) { 710 for (int32_t i = iFoundCount - 1; i >= 0; i--) {
711 CXFA_Object* node = findNodes[i]; 711 CXFA_Object* node = findNodes[i];
712 FX_BOOL bRet = FALSE; 712 FX_BOOL bRet = FALSE;
713 FXJSE_HVALUE pRetValue = FXJSE_Value_Create(rnd.m_pSC->GetRuntime()); 713 FXJSE_HVALUE pRetValue = FXJSE_Value_Create(rnd.m_pSC->GetRuntime());
714 bRet = pContext->RunScript(eLangType, wsExpression, pRetValue, node); 714 bRet = pContext->RunScript(eLangType, wsExpression, pRetValue, node);
715 if (!bRet || !FXJSE_Value_ToBoolean(pRetValue)) { 715 if (!bRet || !FXJSE_Value_ToBoolean(pRetValue)) {
716 findNodes.RemoveAt(i); 716 findNodes.RemoveAt(i);
717 } 717 }
718 FXJSE_Value_Release(pRetValue); 718 FXJSE_Value_Release(pRetValue);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 if (m_pNodeHelper->XFA_CreateNode_ForCondition(wsNextCondition)) { 817 if (m_pNodeHelper->XFA_CreateNode_ForCondition(wsNextCondition)) {
818 if (m_pNodeHelper->m_eLastCreateType == XFA_ELEMENT_DataGroup) { 818 if (m_pNodeHelper->m_eLastCreateType == XFA_ELEMENT_DataGroup) {
819 iIndex = 0; 819 iIndex = 0;
820 } else { 820 } else {
821 iIndex = iCount - 1; 821 iIndex = iCount - 1;
822 } 822 }
823 } else { 823 } else {
824 iIndex = iCount - 1; 824 iIndex = iCount - 1;
825 } 825 }
826 } 826 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_script_layoutpseudomodel.cpp ('k') | xfa/fxfa/parser/xfa_script_signaturepseudomodel.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698