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

Side by Side Diff: fpdfsdk/src/fsdk_baseform.cpp

Issue 1394993006: Merge to XFA: Pass IJS_Runtime, not IJS_Context, to native object constructors. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 2 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
« no previous file with comments | « fpdfsdk/src/fsdk_actionhandler.cpp ('k') | fpdfsdk/src/javascript/Document.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "../../third_party/base/nonstd_unique_ptr.h" 7 #include "../../third_party/base/nonstd_unique_ptr.h"
8 #include "../include/fsdk_define.h" 8 #include "../include/fsdk_define.h"
9 #include "../include/fpdfxfa/fpdfxfa_doc.h" 9 #include "../include/fpdfxfa/fpdfxfa_doc.h"
10 #include "../include/fpdfxfa/fpdfxfa_util.h" 10 #include "../include/fpdfxfa/fpdfxfa_util.h"
(...skipping 1978 matching lines...) Expand 10 before | Expand all | Expand 10 after
1989 if (iColorType > 0) 1989 if (iColorType > 0)
1990 crFill = CPWL_Color(iColorType, fc[0], fc[1], fc[2], fc[3]); 1990 crFill = CPWL_Color(iColorType, fc[0], fc[1], fc[2], fc[3]);
1991 1991
1992 return crFill; 1992 return crFill;
1993 } 1993 }
1994 1994
1995 void CPDFSDK_Widget::AddImageToAppearance(const CFX_ByteString& sAPType, 1995 void CPDFSDK_Widget::AddImageToAppearance(const CFX_ByteString& sAPType,
1996 CPDF_Stream* pImage) { 1996 CPDF_Stream* pImage) {
1997 ASSERT(pImage != NULL); 1997 ASSERT(pImage != NULL);
1998 1998
1999 CPDF_Document* pDoc = 1999 CPDF_Document* pDoc = m_pPageView->GetPDFDocument();
2000 m_pPageView->GetPDFDocument(); // pDocument->GetDocument();
2001 ASSERT(pDoc != NULL); 2000 ASSERT(pDoc != NULL);
2002 2001
2003 CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDict("AP"); 2002 CPDF_Dictionary* pAPDict = m_pAnnot->GetAnnotDict()->GetDict("AP");
2004 ASSERT(pAPDict != NULL); 2003 ASSERT(pAPDict != NULL);
2005 2004
2006 CPDF_Stream* pStream = pAPDict->GetStream(sAPType); 2005 CPDF_Stream* pStream = pAPDict->GetStream(sAPType);
2007 ASSERT(pStream != NULL); 2006 ASSERT(pStream != NULL);
2008 2007
2009 CPDF_Dictionary* pStreamDict = pStream->GetDict(); 2008 CPDF_Dictionary* pStreamDict = pStream->GetDict();
2010 ASSERT(pStreamDict != NULL); 2009 ASSERT(pStreamDict != NULL);
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
2446 if (IsCalculateEnabled()) { 2445 if (IsCalculateEnabled()) {
2447 IJS_Runtime* pRuntime = m_pDocument->GetJsRuntime(); 2446 IJS_Runtime* pRuntime = m_pDocument->GetJsRuntime();
2448 ASSERT(pRuntime != NULL); 2447 ASSERT(pRuntime != NULL);
2449 2448
2450 pRuntime->SetReaderDocument(m_pDocument); 2449 pRuntime->SetReaderDocument(m_pDocument);
2451 2450
2452 int nSize = m_pInterForm->CountFieldsInCalculationOrder(); 2451 int nSize = m_pInterForm->CountFieldsInCalculationOrder();
2453 for (int i = 0; i < nSize; i++) { 2452 for (int i = 0; i < nSize; i++) {
2454 if (CPDF_FormField* pField = 2453 if (CPDF_FormField* pField =
2455 m_pInterForm->GetFieldInCalculationOrder(i)) { 2454 m_pInterForm->GetFieldInCalculationOrder(i)) {
2456 // ASSERT(pField != NULL);
2457 int nType = pField->GetFieldType(); 2455 int nType = pField->GetFieldType();
2458 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) { 2456 if (nType == FIELDTYPE_COMBOBOX || nType == FIELDTYPE_TEXTFIELD) {
2459 CPDF_AAction aAction = pField->GetAdditionalAction(); 2457 CPDF_AAction aAction = pField->GetAdditionalAction();
2460 if (aAction && aAction.ActionExist(CPDF_AAction::Calculate)) { 2458 if (aAction && aAction.ActionExist(CPDF_AAction::Calculate)) {
2461 CPDF_Action action = aAction.GetAction(CPDF_AAction::Calculate); 2459 CPDF_Action action = aAction.GetAction(CPDF_AAction::Calculate);
2462 if (action) { 2460 if (action) {
2463 CFX_WideString csJS = action.GetJavaScript(); 2461 CFX_WideString csJS = action.GetJavaScript();
2464 if (!csJS.IsEmpty()) { 2462 if (!csJS.IsEmpty()) {
2465 IJS_Context* pContext = pRuntime->NewContext(); 2463 IJS_Context* pContext = pRuntime->NewContext();
2466 ASSERT(pContext != NULL); 2464 ASSERT(pContext != NULL);
2467 2465
2468 CFX_WideString sOldValue = pField->GetValue(); 2466 CFX_WideString sOldValue = pField->GetValue();
2469 CFX_WideString sValue = sOldValue; 2467 CFX_WideString sValue = sOldValue;
2470 FX_BOOL bRC = TRUE; 2468 FX_BOOL bRC = TRUE;
2471 pContext->OnField_Calculate(pFormField, pField, sValue, bRC); 2469 pContext->OnField_Calculate(pFormField, pField, sValue, bRC);
2472 2470
2473 CFX_WideString sInfo; 2471 CFX_WideString sInfo;
2474 FX_BOOL bRet = pContext->RunScript(csJS, sInfo); 2472 FX_BOOL bRet = pContext->RunScript(csJS, &sInfo);
2475 pRuntime->ReleaseContext(pContext); 2473 pRuntime->ReleaseContext(pContext);
2476 2474
2477 if (bRet) { 2475 if (bRet) {
2478 if (bRC) { 2476 if (bRC) {
2479 if (sValue.Compare(sOldValue) != 0) 2477 if (sValue.Compare(sOldValue) != 0)
2480 pField->SetValue(sValue, TRUE); 2478 pField->SetValue(sValue, TRUE);
2481 } 2479 }
2482 } 2480 }
2483 } 2481 }
2484 } 2482 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2526 CFX_WideString script = action.GetJavaScript(); 2524 CFX_WideString script = action.GetJavaScript();
2527 if (!script.IsEmpty()) { 2525 if (!script.IsEmpty()) {
2528 CFX_WideString Value = sValue; 2526 CFX_WideString Value = sValue;
2529 2527
2530 IJS_Context* pContext = pRuntime->NewContext(); 2528 IJS_Context* pContext = pRuntime->NewContext();
2531 ASSERT(pContext != NULL); 2529 ASSERT(pContext != NULL);
2532 2530
2533 pContext->OnField_Format(pFormField, Value, TRUE); 2531 pContext->OnField_Format(pFormField, Value, TRUE);
2534 2532
2535 CFX_WideString sInfo; 2533 CFX_WideString sInfo;
2536 FX_BOOL bRet = pContext->RunScript(script, sInfo); 2534 FX_BOOL bRet = pContext->RunScript(script, &sInfo);
2537 pRuntime->ReleaseContext(pContext); 2535 pRuntime->ReleaseContext(pContext);
2538 2536
2539 if (bRet) { 2537 if (bRet) {
2540 sValue = Value; 2538 sValue = Value;
2541 bFormated = TRUE; 2539 bFormated = TRUE;
2542 } 2540 }
2543 } 2541 }
2544 } 2542 }
2545 } 2543 }
2546 2544
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
2824 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields, 2822 FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,
2825 FX_BOOL bIncludeOrExclude, 2823 FX_BOOL bIncludeOrExclude,
2826 CFX_ByteTextBuf& textBuf) { 2824 CFX_ByteTextBuf& textBuf) {
2827 ASSERT(m_pDocument != NULL); 2825 ASSERT(m_pDocument != NULL);
2828 ASSERT(m_pInterForm != NULL); 2826 ASSERT(m_pInterForm != NULL);
2829 2827
2830 CFDF_Document* pFDF = m_pInterForm->ExportToFDF( 2828 CFDF_Document* pFDF = m_pInterForm->ExportToFDF(
2831 m_pDocument->GetPath(), (CFX_PtrArray&)fields, bIncludeOrExclude); 2829 m_pDocument->GetPath(), (CFX_PtrArray&)fields, bIncludeOrExclude);
2832 if (!pFDF) 2830 if (!pFDF)
2833 return FALSE; 2831 return FALSE;
2834 FX_BOOL bRet = pFDF->WriteBuf(textBuf); // = FALSE;// 2832 FX_BOOL bRet = pFDF->WriteBuf(textBuf);
2835 delete pFDF; 2833 delete pFDF;
2836 2834
2837 return bRet; 2835 return bRet;
2838 } 2836 }
2839 2837
2840 void CPDFSDK_InterForm::SynchronizeField(CPDF_FormField* pFormField, 2838 void CPDFSDK_InterForm::SynchronizeField(CPDF_FormField* pFormField,
2841 FX_BOOL bSynchronizeElse) { 2839 FX_BOOL bSynchronizeElse) {
2842 ASSERT(pFormField != NULL); 2840 ASSERT(pFormField != NULL);
2843 2841
2844 int x = 0; 2842 int x = 0;
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
3370 ASSERT(pAnnot != NULL); 3368 ASSERT(pAnnot != NULL);
3371 3369
3372 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot(); 3370 CPDF_Annot* pPDFAnnot = pAnnot->GetPDFAnnot();
3373 ASSERT(pPDFAnnot != NULL); 3371 ASSERT(pPDFAnnot != NULL);
3374 3372
3375 CPDF_Rect rcAnnot; 3373 CPDF_Rect rcAnnot;
3376 pPDFAnnot->GetRect(rcAnnot); 3374 pPDFAnnot->GetRect(rcAnnot);
3377 3375
3378 return rcAnnot; 3376 return rcAnnot;
3379 } 3377 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fsdk_actionhandler.cpp ('k') | fpdfsdk/src/javascript/Document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698