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

Side by Side Diff: fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp

Issue 2173253002: Use smart pointers for class owned pointers (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: address comments Created 4 years, 4 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/fpdfxfa/fpdfxfa_app.cpp ('k') | fpdfsdk/fpdfxfa/include/fpdfxfa_app.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 "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h" 7 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
8 8
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
(...skipping 30 matching lines...) Expand all
41 41
42 #ifndef _WIN32 42 #ifndef _WIN32
43 extern void SetLastError(int err); 43 extern void SetLastError(int err);
44 extern int GetLastError(); 44 extern int GetLastError();
45 #endif 45 #endif
46 46
47 CPDFXFA_Document::CPDFXFA_Document(CPDF_Document* pPDFDoc, 47 CPDFXFA_Document::CPDFXFA_Document(CPDF_Document* pPDFDoc,
48 CPDFXFA_App* pProvider) 48 CPDFXFA_App* pProvider)
49 : m_iDocType(DOCTYPE_PDF), 49 : m_iDocType(DOCTYPE_PDF),
50 m_pPDFDoc(pPDFDoc), 50 m_pPDFDoc(pPDFDoc),
51 m_pSDKDoc(nullptr),
52 m_pXFADoc(nullptr),
53 m_pXFADocView(nullptr), 51 m_pXFADocView(nullptr),
54 m_pApp(pProvider), 52 m_pApp(pProvider),
55 m_pJSContext(nullptr), 53 m_pJSContext(nullptr),
56 m_nLoadStatus(FXFA_LOADSTATUS_PRELOAD), 54 m_nLoadStatus(FXFA_LOADSTATUS_PRELOAD),
57 m_nPageCount(0) {} 55 m_nPageCount(0) {}
58 56
59 CPDFXFA_Document::~CPDFXFA_Document() { 57 CPDFXFA_Document::~CPDFXFA_Document() {
60 m_nLoadStatus = FXFA_LOADSTATUS_CLOSING; 58 m_nLoadStatus = FXFA_LOADSTATUS_CLOSING;
61 59
62 if (m_pXFADoc) { 60 if (m_pXFADoc) {
63 CXFA_FFApp* pApp = m_pApp->GetXFAApp(); 61 CXFA_FFApp* pApp = m_pApp->GetXFAApp();
64 if (pApp) { 62 if (pApp) {
65 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler(); 63 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler();
66 if (pDocHandler) { 64 if (pDocHandler) {
67 CloseXFADoc(pDocHandler); 65 CloseXFADoc(pDocHandler);
68 } 66 }
69 } 67 }
70 delete m_pXFADoc; 68 m_pXFADoc.reset();
71 } 69 }
72 if (m_pJSContext && m_pSDKDoc && m_pSDKDoc->GetEnv()) 70 if (m_pJSContext && m_pSDKDoc && m_pSDKDoc->GetEnv())
73 m_pSDKDoc->GetEnv()->GetJSRuntime()->ReleaseContext(m_pJSContext); 71 m_pSDKDoc->GetEnv()->GetJSRuntime()->ReleaseContext(m_pJSContext);
74 delete m_pSDKDoc; 72 // |m_pSDKDoc| has to be released before |pParser| and |m_pPDFDoc| since it
73 // needs to access them to kill focused annotations.
74 m_pSDKDoc.reset();
75 if (m_pPDFDoc) { 75 if (m_pPDFDoc) {
76 CPDF_Parser* pParser = m_pPDFDoc->GetParser(); 76 CPDF_Parser* pParser = m_pPDFDoc->GetParser();
77 if (pParser) 77 if (pParser)
78 delete pParser; 78 delete pParser;
79 else 79 else
80 delete m_pPDFDoc; 80 delete m_pPDFDoc;
81 } 81 }
82 82
83 m_nLoadStatus = FXFA_LOADSTATUS_CLOSED; 83 m_nLoadStatus = FXFA_LOADSTATUS_CLOSED;
84 } 84 }
85 85
86 FX_BOOL CPDFXFA_Document::LoadXFADoc() { 86 FX_BOOL CPDFXFA_Document::LoadXFADoc() {
87 m_nLoadStatus = FXFA_LOADSTATUS_LOADING; 87 m_nLoadStatus = FXFA_LOADSTATUS_LOADING;
88 88
89 if (!m_pPDFDoc) 89 if (!m_pPDFDoc)
90 return FALSE; 90 return FALSE;
91 91
92 m_XFAPageList.RemoveAll(); 92 m_XFAPageList.RemoveAll();
93 93
94 CXFA_FFApp* pApp = m_pApp->GetXFAApp(); 94 CXFA_FFApp* pApp = m_pApp->GetXFAApp();
95 if (!pApp) 95 if (!pApp)
96 return FALSE; 96 return FALSE;
97 97
98 m_pXFADoc = pApp->CreateDoc(this, m_pPDFDoc); 98 m_pXFADoc.reset(pApp->CreateDoc(this, m_pPDFDoc));
99 if (!m_pXFADoc) { 99 if (!m_pXFADoc) {
100 SetLastError(FPDF_ERR_XFALOAD); 100 SetLastError(FPDF_ERR_XFALOAD);
101 return FALSE; 101 return FALSE;
102 } 102 }
103 103
104 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler(); 104 CXFA_FFDocHandler* pDocHandler = pApp->GetDocHandler();
105 if (!pDocHandler) { 105 if (!pDocHandler) {
106 SetLastError(FPDF_ERR_XFALOAD); 106 SetLastError(FPDF_ERR_XFALOAD);
107 return FALSE; 107 return FALSE;
108 } 108 }
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 pPage->Release(); 215 pPage->Release();
216 } 216 }
217 217
218 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) { 218 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) {
219 m_XFAPageList.SetAt(page->GetPageIndex(), nullptr); 219 m_XFAPageList.SetAt(page->GetPageIndex(), nullptr);
220 } 220 }
221 221
222 CPDFSDK_Document* CPDFXFA_Document::GetSDKDocument( 222 CPDFSDK_Document* CPDFXFA_Document::GetSDKDocument(
223 CPDFDoc_Environment* pFormFillEnv) { 223 CPDFDoc_Environment* pFormFillEnv) {
224 if (!m_pSDKDoc && pFormFillEnv) 224 if (!m_pSDKDoc && pFormFillEnv)
225 m_pSDKDoc = new CPDFSDK_Document(this, pFormFillEnv); 225 m_pSDKDoc.reset(new CPDFSDK_Document(this, pFormFillEnv));
226 return m_pSDKDoc; 226 return m_pSDKDoc.get();
227 } 227 }
228 228
229 void CPDFXFA_Document::FXRect2PDFRect(const CFX_RectF& fxRectF, 229 void CPDFXFA_Document::FXRect2PDFRect(const CFX_RectF& fxRectF,
230 CFX_FloatRect& pdfRect) { 230 CFX_FloatRect& pdfRect) {
231 pdfRect.left = fxRectF.left; 231 pdfRect.left = fxRectF.left;
232 pdfRect.top = fxRectF.bottom(); 232 pdfRect.top = fxRectF.bottom();
233 pdfRect.right = fxRectF.right(); 233 pdfRect.right = fxRectF.right();
234 pdfRect.bottom = fxRectF.top; 234 pdfRect.bottom = fxRectF.top;
235 } 235 }
236 236
237 void CPDFXFA_Document::SetChangeMark(CXFA_FFDoc* hDoc) { 237 void CPDFXFA_Document::SetChangeMark(CXFA_FFDoc* hDoc) {
238 if (hDoc == m_pXFADoc && m_pSDKDoc) { 238 if (hDoc == m_pXFADoc.get() && m_pSDKDoc) {
239 m_pSDKDoc->SetChangeMark(); 239 m_pSDKDoc->SetChangeMark();
240 } 240 }
241 } 241 }
242 242
243 void CPDFXFA_Document::InvalidateRect(CXFA_FFPageView* pPageView, 243 void CPDFXFA_Document::InvalidateRect(CXFA_FFPageView* pPageView,
244 const CFX_RectF& rt, 244 const CFX_RectF& rt,
245 uint32_t dwFlags /* = 0 */) { 245 uint32_t dwFlags /* = 0 */) {
246 if (!m_pXFADoc || !m_pSDKDoc) 246 if (!m_pXFADoc || !m_pSDKDoc)
247 return; 247 return;
248 248
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 } 525 }
526 526
527 FX_BOOL CPDFXFA_Document::RenderCustomWidget(CXFA_FFWidget* hWidget, 527 FX_BOOL CPDFXFA_Document::RenderCustomWidget(CXFA_FFWidget* hWidget,
528 CFX_Graphics* pGS, 528 CFX_Graphics* pGS,
529 CFX_Matrix* pMatrix, 529 CFX_Matrix* pMatrix,
530 const CFX_RectF& rtUI) { 530 const CFX_RectF& rtUI) {
531 return FALSE; 531 return FALSE;
532 } 532 }
533 533
534 int32_t CPDFXFA_Document::CountPages(CXFA_FFDoc* hDoc) { 534 int32_t CPDFXFA_Document::CountPages(CXFA_FFDoc* hDoc) {
535 if (hDoc == m_pXFADoc && m_pSDKDoc) 535 if (hDoc == m_pXFADoc.get() && m_pSDKDoc)
536 return GetPageCount(); 536 return GetPageCount();
537 return 0; 537 return 0;
538 } 538 }
539 539
540 int32_t CPDFXFA_Document::GetCurrentPage(CXFA_FFDoc* hDoc) { 540 int32_t CPDFXFA_Document::GetCurrentPage(CXFA_FFDoc* hDoc) {
541 if (hDoc != m_pXFADoc || !m_pSDKDoc) 541 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc)
542 return -1; 542 return -1;
543 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) 543 if (m_iDocType != DOCTYPE_DYNAMIC_XFA)
544 return -1; 544 return -1;
545 545
546 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 546 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
547 if (!pEnv) 547 if (!pEnv)
548 return -1; 548 return -1;
549 549
550 return pEnv->FFI_GetCurrentPageIndex(this); 550 return pEnv->FFI_GetCurrentPageIndex(this);
551 } 551 }
552 552
553 void CPDFXFA_Document::SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage) { 553 void CPDFXFA_Document::SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage) {
554 if (hDoc != m_pXFADoc || !m_pSDKDoc || m_iDocType != DOCTYPE_DYNAMIC_XFA || 554 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc ||
555 iCurPage < 0 || iCurPage >= m_pSDKDoc->GetPageCount()) { 555 m_iDocType != DOCTYPE_DYNAMIC_XFA || iCurPage < 0 ||
556 iCurPage >= m_pSDKDoc->GetPageCount()) {
556 return; 557 return;
557 } 558 }
558 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 559 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
559 if (!pEnv) 560 if (!pEnv)
560 return; 561 return;
561 pEnv->FFI_SetCurrentPage(this, iCurPage); 562 pEnv->FFI_SetCurrentPage(this, iCurPage);
562 } 563 }
563 FX_BOOL CPDFXFA_Document::IsCalculationsEnabled(CXFA_FFDoc* hDoc) { 564 FX_BOOL CPDFXFA_Document::IsCalculationsEnabled(CXFA_FFDoc* hDoc) {
564 if (hDoc != m_pXFADoc || !m_pSDKDoc) 565 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc)
565 return FALSE; 566 return FALSE;
566 if (m_pSDKDoc->GetInterForm()) 567 if (m_pSDKDoc->GetInterForm())
567 return m_pSDKDoc->GetInterForm()->IsXfaCalculateEnabled(); 568 return m_pSDKDoc->GetInterForm()->IsXfaCalculateEnabled();
568 569
569 return FALSE; 570 return FALSE;
570 } 571 }
571 void CPDFXFA_Document::SetCalculationsEnabled(CXFA_FFDoc* hDoc, 572 void CPDFXFA_Document::SetCalculationsEnabled(CXFA_FFDoc* hDoc,
572 FX_BOOL bEnabled) { 573 FX_BOOL bEnabled) {
573 if (hDoc != m_pXFADoc || !m_pSDKDoc) 574 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc)
574 return; 575 return;
575 if (m_pSDKDoc->GetInterForm()) 576 if (m_pSDKDoc->GetInterForm())
576 m_pSDKDoc->GetInterForm()->XfaEnableCalculate(bEnabled); 577 m_pSDKDoc->GetInterForm()->XfaEnableCalculate(bEnabled);
577 } 578 }
578 579
579 void CPDFXFA_Document::GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle) { 580 void CPDFXFA_Document::GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle) {
580 if (hDoc != m_pXFADoc || !m_pPDFDoc) 581 if (hDoc != m_pXFADoc.get() || !m_pPDFDoc)
581 return; 582 return;
582 583
583 CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo(); 584 CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo();
584 if (!pInfoDict) 585 if (!pInfoDict)
585 return; 586 return;
586 587
587 CFX_ByteString csTitle = pInfoDict->GetStringBy("Title"); 588 CFX_ByteString csTitle = pInfoDict->GetStringBy("Title");
588 wsTitle = wsTitle.FromLocal(csTitle.GetBuffer(csTitle.GetLength())); 589 wsTitle = wsTitle.FromLocal(csTitle.GetBuffer(csTitle.GetLength()));
589 csTitle.ReleaseBuffer(csTitle.GetLength()); 590 csTitle.ReleaseBuffer(csTitle.GetLength());
590 } 591 }
591 592
592 void CPDFXFA_Document::SetTitle(CXFA_FFDoc* hDoc, 593 void CPDFXFA_Document::SetTitle(CXFA_FFDoc* hDoc,
593 const CFX_WideString& wsTitle) { 594 const CFX_WideString& wsTitle) {
594 if (hDoc != m_pXFADoc || !m_pPDFDoc) 595 if (hDoc != m_pXFADoc.get() || !m_pPDFDoc)
595 return; 596 return;
596 597
597 if (CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo()) 598 if (CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo())
598 pInfoDict->SetAt("Title", new CPDF_String(wsTitle)); 599 pInfoDict->SetAt("Title", new CPDF_String(wsTitle));
599 } 600 }
600 601
601 void CPDFXFA_Document::ExportData(CXFA_FFDoc* hDoc, 602 void CPDFXFA_Document::ExportData(CXFA_FFDoc* hDoc,
602 const CFX_WideString& wsFilePath, 603 const CFX_WideString& wsFilePath,
603 FX_BOOL bXDP) { 604 FX_BOOL bXDP) {
604 if (hDoc != m_pXFADoc) 605 if (hDoc != m_pXFADoc.get())
605 return; 606 return;
606 607
607 if (m_iDocType != DOCTYPE_DYNAMIC_XFA && m_iDocType != DOCTYPE_STATIC_XFA) 608 if (m_iDocType != DOCTYPE_DYNAMIC_XFA && m_iDocType != DOCTYPE_STATIC_XFA)
608 return; 609 return;
609 610
610 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 611 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
611 if (!pEnv) 612 if (!pEnv)
612 return; 613 return;
613 614
614 int fileType = bXDP ? FXFA_SAVEAS_XDP : FXFA_SAVEAS_XML; 615 int fileType = bXDP ? FXFA_SAVEAS_XDP : FXFA_SAVEAS_XML;
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 if (!fileWrite.Flush()) { 688 if (!fileWrite.Flush()) {
688 // Ignoring flush error. 689 // Ignoring flush error.
689 } 690 }
690 } 691 }
691 void CPDFXFA_Document::ImportData(CXFA_FFDoc* hDoc, 692 void CPDFXFA_Document::ImportData(CXFA_FFDoc* hDoc,
692 const CFX_WideString& wsFilePath) {} 693 const CFX_WideString& wsFilePath) {}
693 694
694 void CPDFXFA_Document::GotoURL(CXFA_FFDoc* hDoc, 695 void CPDFXFA_Document::GotoURL(CXFA_FFDoc* hDoc,
695 const CFX_WideString& bsURL, 696 const CFX_WideString& bsURL,
696 FX_BOOL bAppend) { 697 FX_BOOL bAppend) {
697 if (hDoc != m_pXFADoc) 698 if (hDoc != m_pXFADoc.get())
698 return; 699 return;
699 700
700 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) 701 if (m_iDocType != DOCTYPE_DYNAMIC_XFA)
701 return; 702 return;
702 703
703 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 704 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
704 if (!pEnv) 705 if (!pEnv)
705 return; 706 return;
706 707
707 CFX_WideStringC str(bsURL.c_str()); 708 CFX_WideStringC str(bsURL.c_str());
708 709
709 pEnv->FFI_GotoURL(this, str, bAppend); 710 pEnv->FFI_GotoURL(this, str, bAppend);
710 } 711 }
711 712
712 FX_BOOL CPDFXFA_Document::IsValidationsEnabled(CXFA_FFDoc* hDoc) { 713 FX_BOOL CPDFXFA_Document::IsValidationsEnabled(CXFA_FFDoc* hDoc) {
713 if (hDoc != m_pXFADoc || !m_pSDKDoc) 714 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc)
714 return FALSE; 715 return FALSE;
715 if (m_pSDKDoc->GetInterForm()) 716 if (m_pSDKDoc->GetInterForm())
716 return m_pSDKDoc->GetInterForm()->IsXfaValidationsEnabled(); 717 return m_pSDKDoc->GetInterForm()->IsXfaValidationsEnabled();
717 718
718 return TRUE; 719 return TRUE;
719 } 720 }
720 void CPDFXFA_Document::SetValidationsEnabled(CXFA_FFDoc* hDoc, 721 void CPDFXFA_Document::SetValidationsEnabled(CXFA_FFDoc* hDoc,
721 FX_BOOL bEnabled) { 722 FX_BOOL bEnabled) {
722 if (hDoc != m_pXFADoc || !m_pSDKDoc) 723 if (hDoc != m_pXFADoc.get() || !m_pSDKDoc)
723 return; 724 return;
724 if (m_pSDKDoc->GetInterForm()) 725 if (m_pSDKDoc->GetInterForm())
725 m_pSDKDoc->GetInterForm()->XfaSetValidationsEnabled(bEnabled); 726 m_pSDKDoc->GetInterForm()->XfaSetValidationsEnabled(bEnabled);
726 } 727 }
727 void CPDFXFA_Document::SetFocusWidget(CXFA_FFDoc* hDoc, 728 void CPDFXFA_Document::SetFocusWidget(CXFA_FFDoc* hDoc,
728 CXFA_FFWidget* hWidget) { 729 CXFA_FFWidget* hWidget) {
729 if (hDoc != m_pXFADoc) 730 if (hDoc != m_pXFADoc.get())
730 return; 731 return;
731 732
732 if (!hWidget) { 733 if (!hWidget) {
733 m_pSDKDoc->SetFocusAnnot(nullptr); 734 m_pSDKDoc->SetFocusAnnot(nullptr);
734 return; 735 return;
735 } 736 }
736 737
737 int pageViewCount = m_pSDKDoc->GetPageViewCount(); 738 int pageViewCount = m_pSDKDoc->GetPageViewCount();
738 for (int i = 0; i < pageViewCount; i++) { 739 for (int i = 0; i < pageViewCount; i++) {
739 CPDFSDK_PageView* pPageView = m_pSDKDoc->GetPageView(i); 740 CPDFSDK_PageView* pPageView = m_pSDKDoc->GetPageView(i);
740 if (!pPageView) 741 if (!pPageView)
741 continue; 742 continue;
742 CPDFSDK_Annot* pAnnot = pPageView->GetAnnotByXFAWidget(hWidget); 743 CPDFSDK_Annot* pAnnot = pPageView->GetAnnotByXFAWidget(hWidget);
743 if (pAnnot) { 744 if (pAnnot) {
744 m_pSDKDoc->SetFocusAnnot(pAnnot); 745 m_pSDKDoc->SetFocusAnnot(pAnnot);
745 break; 746 break;
746 } 747 }
747 } 748 }
748 } 749 }
749 void CPDFXFA_Document::Print(CXFA_FFDoc* hDoc, 750 void CPDFXFA_Document::Print(CXFA_FFDoc* hDoc,
750 int32_t nStartPage, 751 int32_t nStartPage,
751 int32_t nEndPage, 752 int32_t nEndPage,
752 uint32_t dwOptions) { 753 uint32_t dwOptions) {
753 if (hDoc != m_pXFADoc) 754 if (hDoc != m_pXFADoc.get())
754 return; 755 return;
755 756
756 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 757 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
757 if (!pEnv || !pEnv->GetFormFillInfo() || 758 if (!pEnv || !pEnv->GetFormFillInfo() ||
758 !pEnv->GetFormFillInfo()->m_pJsPlatform || 759 !pEnv->GetFormFillInfo()->m_pJsPlatform ||
759 !pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print) { 760 !pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print) {
760 return; 761 return;
761 } 762 }
762 763
763 pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print( 764 pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 return 0; 806 return 0;
806 } 807 }
807 808
808 FX_BOOL CPDFXFA_Document::Clear(CXFA_FFDoc* hDoc, 809 FX_BOOL CPDFXFA_Document::Clear(CXFA_FFDoc* hDoc,
809 CXFA_Node* pSigNode, 810 CXFA_Node* pSigNode,
810 FX_BOOL bCleared) { 811 FX_BOOL bCleared) {
811 return 0; 812 return 0;
812 } 813 }
813 814
814 void CPDFXFA_Document::GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) { 815 void CPDFXFA_Document::GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) {
815 if (hDoc != m_pXFADoc) 816 if (hDoc != m_pXFADoc.get())
816 return; 817 return;
817 818
818 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); 819 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
819 if (!pEnv) 820 if (!pEnv)
820 return; 821 return;
821 822
822 pEnv->FFI_GetURL(this, wsDocURL); 823 pEnv->FFI_GetURL(this, wsDocURL);
823 } 824 }
824 825
825 FX_ARGB CPDFXFA_Document::GetHighlightColor(CXFA_FFDoc* hDoc) { 826 FX_ARGB CPDFXFA_Document::GetHighlightColor(CXFA_FFDoc* hDoc) {
826 if (hDoc != m_pXFADoc) 827 if (hDoc != m_pXFADoc.get())
827 return 0; 828 return 0;
828 if (m_pSDKDoc) { 829 if (m_pSDKDoc) {
829 if (CPDFSDK_InterForm* pInterForm = m_pSDKDoc->GetInterForm()) { 830 if (CPDFSDK_InterForm* pInterForm = m_pSDKDoc->GetInterForm()) {
830 FX_COLORREF color = pInterForm->GetHighlightColor(FPDF_FORMFIELD_XFA); 831 FX_COLORREF color = pInterForm->GetHighlightColor(FPDF_FORMFIELD_XFA);
831 uint8_t alpha = pInterForm->GetHighlightAlpha(); 832 uint8_t alpha = pInterForm->GetHighlightAlpha();
832 FX_ARGB argb = ArgbEncode((int)alpha, color); 833 FX_ARGB argb = ArgbEncode((int)alpha, color);
833 return argb; 834 return argb;
834 } 835 }
835 } 836 }
836 return 0; 837 return 0;
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 pFileHandler, fileFlag, 1230 pFileHandler, fileFlag,
1230 (FPDF_WIDESTRING)bs.GetBuffer(len * sizeof(unsigned short))); 1231 (FPDF_WIDESTRING)bs.GetBuffer(len * sizeof(unsigned short)));
1231 bs.ReleaseBuffer(len * sizeof(unsigned short)); 1232 bs.ReleaseBuffer(len * sizeof(unsigned short));
1232 } 1233 }
1233 return bRet; 1234 return bRet;
1234 } 1235 }
1235 1236
1236 FX_BOOL CPDFXFA_Document::SetGlobalProperty(CXFA_FFDoc* hDoc, 1237 FX_BOOL CPDFXFA_Document::SetGlobalProperty(CXFA_FFDoc* hDoc,
1237 const CFX_ByteStringC& szPropName, 1238 const CFX_ByteStringC& szPropName,
1238 CFXJSE_Value* pValue) { 1239 CFXJSE_Value* pValue) {
1239 if (hDoc != m_pXFADoc) 1240 if (hDoc != m_pXFADoc.get())
1240 return FALSE; 1241 return FALSE;
1241 1242
1242 if (m_pSDKDoc && m_pSDKDoc->GetEnv()->GetJSRuntime()) 1243 if (m_pSDKDoc && m_pSDKDoc->GetEnv()->GetJSRuntime())
1243 return m_pSDKDoc->GetEnv()->GetJSRuntime()->SetValueByName(szPropName, 1244 return m_pSDKDoc->GetEnv()->GetJSRuntime()->SetValueByName(szPropName,
1244 pValue); 1245 pValue);
1245 return FALSE; 1246 return FALSE;
1246 } 1247 }
1247 FX_BOOL CPDFXFA_Document::GetPDFScriptObject(CXFA_FFDoc* hDoc, 1248 FX_BOOL CPDFXFA_Document::GetPDFScriptObject(CXFA_FFDoc* hDoc,
1248 const CFX_ByteStringC& utf8Name, 1249 const CFX_ByteStringC& utf8Name,
1249 CFXJSE_Value* pValue) { 1250 CFXJSE_Value* pValue) {
1250 if (hDoc != m_pXFADoc) 1251 if (hDoc != m_pXFADoc.get())
1251 return FALSE; 1252 return FALSE;
1252 1253
1253 if (!m_pSDKDoc || !m_pSDKDoc->GetEnv()->GetJSRuntime()) 1254 if (!m_pSDKDoc || !m_pSDKDoc->GetEnv()->GetJSRuntime())
1254 return FALSE; 1255 return FALSE;
1255 1256
1256 if (!m_pJSContext) { 1257 if (!m_pJSContext) {
1257 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc); 1258 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc.get());
1258 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext(); 1259 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext();
1259 } 1260 }
1260 1261
1261 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(utf8Name, pValue); 1262 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(utf8Name, pValue);
1262 } 1263 }
1263 FX_BOOL CPDFXFA_Document::GetGlobalProperty(CXFA_FFDoc* hDoc, 1264 FX_BOOL CPDFXFA_Document::GetGlobalProperty(CXFA_FFDoc* hDoc,
1264 const CFX_ByteStringC& szPropName, 1265 const CFX_ByteStringC& szPropName,
1265 CFXJSE_Value* pValue) { 1266 CFXJSE_Value* pValue) {
1266 if (hDoc != m_pXFADoc) 1267 if (hDoc != m_pXFADoc.get())
1267 return FALSE; 1268 return FALSE;
1268 if (!m_pSDKDoc || !m_pSDKDoc->GetEnv()->GetJSRuntime()) 1269 if (!m_pSDKDoc || !m_pSDKDoc->GetEnv()->GetJSRuntime())
1269 return FALSE; 1270 return FALSE;
1270 1271
1271 if (!m_pJSContext) { 1272 if (!m_pJSContext) {
1272 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc); 1273 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc.get());
1273 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext(); 1274 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext();
1274 } 1275 }
1275 1276
1276 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(szPropName, 1277 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(szPropName,
1277 pValue); 1278 pValue);
1278 } 1279 }
1279 1280
1280 CPDF_Document* CPDFXFA_Document::OpenPDF(CXFA_FFDoc* hDoc, 1281 CPDF_Document* CPDFXFA_Document::OpenPDF(CXFA_FFDoc* hDoc,
1281 IFX_FileRead* pFile, 1282 IFX_FileRead* pFile,
1282 FX_BOOL bTakeOverFile) { 1283 FX_BOOL bTakeOverFile) {
1283 return nullptr; 1284 return nullptr;
1284 } 1285 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdfxfa/fpdfxfa_app.cpp ('k') | fpdfsdk/fpdfxfa/include/fpdfxfa_app.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698