OLD | NEW |
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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 else | 120 else |
121 m_iDocType = DOCTYPE_STATIC_XFA; | 121 m_iDocType = DOCTYPE_STATIC_XFA; |
122 | 122 |
123 m_pXFADocView = m_pXFADoc->CreateDocView(XFA_DOCVIEW_View); | 123 m_pXFADocView = m_pXFADoc->CreateDocView(XFA_DOCVIEW_View); |
124 if (m_pXFADocView->StartLayout() < 0) { | 124 if (m_pXFADocView->StartLayout() < 0) { |
125 CloseXFADoc(pDocHandler); | 125 CloseXFADoc(pDocHandler); |
126 SetLastError(FPDF_ERR_XFALAYOUT); | 126 SetLastError(FPDF_ERR_XFALAYOUT); |
127 return FALSE; | 127 return FALSE; |
128 } | 128 } |
129 | 129 |
130 m_pXFADocView->DoLayout(NULL); | 130 m_pXFADocView->DoLayout(nullptr); |
131 m_pXFADocView->StopLayout(); | 131 m_pXFADocView->StopLayout(); |
132 m_nLoadStatus = FXFA_LOADSTATUS_LOADED; | 132 m_nLoadStatus = FXFA_LOADSTATUS_LOADED; |
133 | 133 |
134 return TRUE; | 134 return TRUE; |
135 } | 135 } |
136 | 136 |
137 int CPDFXFA_Document::GetPageCount() { | 137 int CPDFXFA_Document::GetPageCount() { |
138 if (!m_pPDFDoc && !m_pXFADoc) | 138 if (!m_pPDFDoc && !m_pXFADoc) |
139 return 0; | 139 return 0; |
140 | 140 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 m_pPDFDoc->DeletePage(page_index); | 207 m_pPDFDoc->DeletePage(page_index); |
208 | 208 |
209 if (page_index < 0 || page_index >= m_XFAPageList.GetSize()) | 209 if (page_index < 0 || page_index >= m_XFAPageList.GetSize()) |
210 return; | 210 return; |
211 | 211 |
212 if (CPDFXFA_Page* pPage = m_XFAPageList.GetAt(page_index)) | 212 if (CPDFXFA_Page* pPage = m_XFAPageList.GetAt(page_index)) |
213 pPage->Release(); | 213 pPage->Release(); |
214 } | 214 } |
215 | 215 |
216 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) { | 216 void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) { |
217 m_XFAPageList.SetAt(page->GetPageIndex(), NULL); | 217 m_XFAPageList.SetAt(page->GetPageIndex(), nullptr); |
218 } | 218 } |
219 | 219 |
220 CPDFSDK_Document* CPDFXFA_Document::GetSDKDocument( | 220 CPDFSDK_Document* CPDFXFA_Document::GetSDKDocument( |
221 CPDFDoc_Environment* pFormFillEnv) { | 221 CPDFDoc_Environment* pFormFillEnv) { |
222 if (!m_pSDKDoc && pFormFillEnv) | 222 if (!m_pSDKDoc && pFormFillEnv) |
223 m_pSDKDoc = new CPDFSDK_Document(this, pFormFillEnv); | 223 m_pSDKDoc = new CPDFSDK_Document(this, pFormFillEnv); |
224 return m_pSDKDoc; | 224 return m_pSDKDoc; |
225 } | 225 } |
226 | 226 |
227 void CPDFXFA_Document::FXRect2PDFRect(const CFX_RectF& fxRectF, | 227 void CPDFXFA_Document::FXRect2PDFRect(const CFX_RectF& fxRectF, |
(...skipping 22 matching lines...) Expand all Loading... |
250 if (!m_pXFADoc || !m_pSDKDoc) | 250 if (!m_pXFADoc || !m_pSDKDoc) |
251 return; | 251 return; |
252 | 252 |
253 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) | 253 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) |
254 return; | 254 return; |
255 | 255 |
256 CFX_FloatRect rcPage; | 256 CFX_FloatRect rcPage; |
257 FXRect2PDFRect(rt, rcPage); | 257 FXRect2PDFRect(rt, rcPage); |
258 | 258 |
259 CPDFXFA_Page* pPage = GetPage(pPageView); | 259 CPDFXFA_Page* pPage = GetPage(pPageView); |
260 | 260 if (!pPage) |
261 if (pPage == NULL) | |
262 return; | 261 return; |
263 | 262 |
264 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 263 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
265 if (!pEnv) | 264 if (!pEnv) |
266 return; | 265 return; |
267 | 266 |
268 pEnv->FFI_Invalidate((FPDF_PAGE)pPage, rcPage.left, rcPage.bottom, | 267 pEnv->FFI_Invalidate((FPDF_PAGE)pPage, rcPage.left, rcPage.bottom, |
269 rcPage.right, rcPage.top); | 268 rcPage.right, rcPage.top); |
270 } | 269 } |
271 | 270 |
(...skipping 17 matching lines...) Expand all Loading... |
289 return; | 288 return; |
290 | 289 |
291 CFX_RectF rect; | 290 CFX_RectF rect; |
292 hWidget->GetRect(rect); | 291 hWidget->GetRect(rect); |
293 InvalidateRect(pPageView, rect, dwFlags); | 292 InvalidateRect(pPageView, rect, dwFlags); |
294 } | 293 } |
295 | 294 |
296 void CPDFXFA_Document::DisplayCaret(CXFA_FFWidget* hWidget, | 295 void CPDFXFA_Document::DisplayCaret(CXFA_FFWidget* hWidget, |
297 FX_BOOL bVisible, | 296 FX_BOOL bVisible, |
298 const CFX_RectF* pRtAnchor) { | 297 const CFX_RectF* pRtAnchor) { |
299 if (!hWidget || pRtAnchor == NULL) | 298 if (!hWidget || !pRtAnchor || !m_pXFADoc || !m_pSDKDoc || !m_pXFADocView) |
300 return; | |
301 | |
302 if (!m_pXFADoc || !m_pSDKDoc || !m_pXFADocView) | |
303 return; | 299 return; |
304 | 300 |
305 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) | 301 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) |
306 return; | 302 return; |
307 | 303 |
308 CXFA_FFWidgetHandler* pWidgetHandler = m_pXFADocView->GetWidgetHandler(); | 304 CXFA_FFWidgetHandler* pWidgetHandler = m_pXFADocView->GetWidgetHandler(); |
309 if (!pWidgetHandler) | 305 if (!pWidgetHandler) |
310 return; | 306 return; |
311 | 307 |
312 CXFA_FFPageView* pPageView = hWidget->GetPageView(); | 308 CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
313 if (!pPageView) | 309 if (!pPageView) |
314 return; | 310 return; |
315 | 311 |
316 CPDFXFA_Page* pPage = GetPage(pPageView); | 312 CPDFXFA_Page* pPage = GetPage(pPageView); |
317 | 313 if (!pPage) |
318 if (pPage == NULL) | |
319 return; | 314 return; |
320 | 315 |
321 CFX_FloatRect rcCaret; | 316 CFX_FloatRect rcCaret; |
322 FXRect2PDFRect(*pRtAnchor, rcCaret); | 317 FXRect2PDFRect(*pRtAnchor, rcCaret); |
323 | 318 |
324 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 319 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
325 if (!pEnv) | 320 if (!pEnv) |
326 return; | 321 return; |
327 | 322 |
328 pEnv->FFI_DisplayCaret((FPDF_PAGE)pPage, bVisible, rcCaret.left, rcCaret.top, | 323 pEnv->FFI_DisplayCaret((FPDF_PAGE)pPage, bVisible, rcCaret.left, rcCaret.top, |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 if (hWidget->CanPaste()) | 473 if (hWidget->CanPaste()) |
479 menuFlag |= FXFA_MEMU_PASTE; | 474 menuFlag |= FXFA_MEMU_PASTE; |
480 if (hWidget->CanCopy()) | 475 if (hWidget->CanCopy()) |
481 menuFlag |= FXFA_MEMU_COPY; | 476 menuFlag |= FXFA_MEMU_COPY; |
482 if (hWidget->CanCut()) | 477 if (hWidget->CanCut()) |
483 menuFlag |= FXFA_MEMU_CUT; | 478 menuFlag |= FXFA_MEMU_CUT; |
484 if (hWidget->CanSelectAll()) | 479 if (hWidget->CanSelectAll()) |
485 menuFlag |= FXFA_MEMU_SELECTALL; | 480 menuFlag |= FXFA_MEMU_SELECTALL; |
486 | 481 |
487 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 482 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
488 return pEnv && pEnv->FFI_PopupMenu(pPage, hWidget, menuFlag, ptPopup, NULL); | 483 return pEnv && |
| 484 pEnv->FFI_PopupMenu(pPage, hWidget, menuFlag, ptPopup, nullptr); |
489 } | 485 } |
490 | 486 |
491 void CPDFXFA_Document::PageViewEvent(CXFA_FFPageView* pPageView, | 487 void CPDFXFA_Document::PageViewEvent(CXFA_FFPageView* pPageView, |
492 uint32_t dwFlags) { | 488 uint32_t dwFlags) { |
493 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 489 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
494 if (!pEnv) | 490 if (!pEnv) |
495 return; | 491 return; |
496 | 492 |
497 if (m_nLoadStatus != FXFA_LOADSTATUS_LOADING && | 493 if (m_nLoadStatus != FXFA_LOADSTATUS_LOADING && |
498 m_nLoadStatus != FXFA_LOADSTATUS_CLOSING && | 494 m_nLoadStatus != FXFA_LOADSTATUS_CLOSING && |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
595 } | 591 } |
596 void CPDFXFA_Document::SetCalculationsEnabled(CXFA_FFDoc* hDoc, | 592 void CPDFXFA_Document::SetCalculationsEnabled(CXFA_FFDoc* hDoc, |
597 FX_BOOL bEnabled) { | 593 FX_BOOL bEnabled) { |
598 if (hDoc != m_pXFADoc || !m_pSDKDoc) | 594 if (hDoc != m_pXFADoc || !m_pSDKDoc) |
599 return; | 595 return; |
600 if (m_pSDKDoc->GetInterForm()) | 596 if (m_pSDKDoc->GetInterForm()) |
601 m_pSDKDoc->GetInterForm()->XfaEnableCalculate(bEnabled); | 597 m_pSDKDoc->GetInterForm()->XfaEnableCalculate(bEnabled); |
602 } | 598 } |
603 | 599 |
604 void CPDFXFA_Document::GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle) { | 600 void CPDFXFA_Document::GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle) { |
605 if (hDoc != m_pXFADoc) | 601 if (hDoc != m_pXFADoc || !m_pPDFDoc) |
606 return; | 602 return; |
607 if (m_pPDFDoc == NULL) | 603 |
608 return; | |
609 CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo(); | 604 CPDF_Dictionary* pInfoDict = m_pPDFDoc->GetInfo(); |
610 | 605 if (!pInfoDict) |
611 if (pInfoDict == NULL) | |
612 return; | 606 return; |
613 | 607 |
614 CFX_ByteString csTitle = pInfoDict->GetStringBy("Title"); | 608 CFX_ByteString csTitle = pInfoDict->GetStringBy("Title"); |
615 wsTitle = wsTitle.FromLocal(csTitle.GetBuffer(csTitle.GetLength())); | 609 wsTitle = wsTitle.FromLocal(csTitle.GetBuffer(csTitle.GetLength())); |
616 csTitle.ReleaseBuffer(csTitle.GetLength()); | 610 csTitle.ReleaseBuffer(csTitle.GetLength()); |
617 } | 611 } |
618 | 612 |
619 void CPDFXFA_Document::SetTitle(CXFA_FFDoc* hDoc, | 613 void CPDFXFA_Document::SetTitle(CXFA_FFDoc* hDoc, |
620 const CFX_WideString& wsTitle) { | 614 const CFX_WideString& wsTitle) { |
621 if (hDoc != m_pXFADoc || !m_pPDFDoc) | 615 if (hDoc != m_pXFADoc || !m_pPDFDoc) |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 void CPDFXFA_Document::GotoURL(CXFA_FFDoc* hDoc, | 718 void CPDFXFA_Document::GotoURL(CXFA_FFDoc* hDoc, |
725 const CFX_WideString& bsURL, | 719 const CFX_WideString& bsURL, |
726 FX_BOOL bAppend) { | 720 FX_BOOL bAppend) { |
727 if (hDoc != m_pXFADoc) | 721 if (hDoc != m_pXFADoc) |
728 return; | 722 return; |
729 | 723 |
730 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) | 724 if (m_iDocType != DOCTYPE_DYNAMIC_XFA) |
731 return; | 725 return; |
732 | 726 |
733 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 727 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
734 if (pEnv == NULL) | 728 if (!pEnv) |
735 return; | 729 return; |
736 | 730 |
737 CFX_WideStringC str(bsURL.c_str()); | 731 CFX_WideStringC str(bsURL.c_str()); |
738 | 732 |
739 pEnv->FFI_GotoURL(this, str, bAppend); | 733 pEnv->FFI_GotoURL(this, str, bAppend); |
740 } | 734 } |
741 | 735 |
742 FX_BOOL CPDFXFA_Document::IsValidationsEnabled(CXFA_FFDoc* hDoc) { | 736 FX_BOOL CPDFXFA_Document::IsValidationsEnabled(CXFA_FFDoc* hDoc) { |
743 if (hDoc != m_pXFADoc || !m_pSDKDoc) | 737 if (hDoc != m_pXFADoc || !m_pSDKDoc) |
744 return FALSE; | 738 return FALSE; |
745 if (m_pSDKDoc->GetInterForm()) | 739 if (m_pSDKDoc->GetInterForm()) |
746 return m_pSDKDoc->GetInterForm()->IsXfaValidationsEnabled(); | 740 return m_pSDKDoc->GetInterForm()->IsXfaValidationsEnabled(); |
747 | 741 |
748 return TRUE; | 742 return TRUE; |
749 } | 743 } |
750 void CPDFXFA_Document::SetValidationsEnabled(CXFA_FFDoc* hDoc, | 744 void CPDFXFA_Document::SetValidationsEnabled(CXFA_FFDoc* hDoc, |
751 FX_BOOL bEnabled) { | 745 FX_BOOL bEnabled) { |
752 if (hDoc != m_pXFADoc || !m_pSDKDoc) | 746 if (hDoc != m_pXFADoc || !m_pSDKDoc) |
753 return; | 747 return; |
754 if (m_pSDKDoc->GetInterForm()) | 748 if (m_pSDKDoc->GetInterForm()) |
755 m_pSDKDoc->GetInterForm()->XfaSetValidationsEnabled(bEnabled); | 749 m_pSDKDoc->GetInterForm()->XfaSetValidationsEnabled(bEnabled); |
756 } | 750 } |
757 void CPDFXFA_Document::SetFocusWidget(CXFA_FFDoc* hDoc, | 751 void CPDFXFA_Document::SetFocusWidget(CXFA_FFDoc* hDoc, |
758 CXFA_FFWidget* hWidget) { | 752 CXFA_FFWidget* hWidget) { |
759 if (hDoc != m_pXFADoc) | 753 if (hDoc != m_pXFADoc) |
760 return; | 754 return; |
761 | 755 |
762 if (NULL == hWidget) { | 756 if (!hWidget) { |
763 m_pSDKDoc->SetFocusAnnot(NULL); | 757 m_pSDKDoc->SetFocusAnnot(nullptr); |
764 return; | 758 return; |
765 } | 759 } |
766 | 760 |
767 int pageViewCount = m_pSDKDoc->GetPageViewCount(); | 761 int pageViewCount = m_pSDKDoc->GetPageViewCount(); |
768 for (int i = 0; i < pageViewCount; i++) { | 762 for (int i = 0; i < pageViewCount; i++) { |
769 CPDFSDK_PageView* pPageView = m_pSDKDoc->GetPageView(i); | 763 CPDFSDK_PageView* pPageView = m_pSDKDoc->GetPageView(i); |
770 if (pPageView == NULL) | 764 if (!pPageView) |
771 continue; | 765 continue; |
772 CPDFSDK_Annot* pAnnot = pPageView->GetAnnotByXFAWidget(hWidget); | 766 CPDFSDK_Annot* pAnnot = pPageView->GetAnnotByXFAWidget(hWidget); |
773 if (pAnnot) { | 767 if (pAnnot) { |
774 m_pSDKDoc->SetFocusAnnot(pAnnot); | 768 m_pSDKDoc->SetFocusAnnot(pAnnot); |
775 break; | 769 break; |
776 } | 770 } |
777 } | 771 } |
778 } | 772 } |
779 void CPDFXFA_Document::Print(CXFA_FFDoc* hDoc, | 773 void CPDFXFA_Document::Print(CXFA_FFDoc* hDoc, |
780 int32_t nStartPage, | 774 int32_t nStartPage, |
781 int32_t nEndPage, | 775 int32_t nEndPage, |
782 uint32_t dwOptions) { | 776 uint32_t dwOptions) { |
783 if (hDoc != m_pXFADoc) | 777 if (hDoc != m_pXFADoc) |
784 return; | 778 return; |
785 | 779 |
786 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 780 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
787 if (pEnv == NULL) | 781 if (!pEnv || !pEnv->GetFormFillInfo() || |
| 782 !pEnv->GetFormFillInfo()->m_pJsPlatform || |
| 783 !pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print) { |
788 return; | 784 return; |
| 785 } |
789 | 786 |
790 if (!pEnv->GetFormFillInfo() || | |
791 pEnv->GetFormFillInfo()->m_pJsPlatform == NULL) | |
792 return; | |
793 if (pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print == NULL) | |
794 return; | |
795 pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print( | 787 pEnv->GetFormFillInfo()->m_pJsPlatform->Doc_print( |
796 pEnv->GetFormFillInfo()->m_pJsPlatform, | 788 pEnv->GetFormFillInfo()->m_pJsPlatform, |
797 dwOptions & XFA_PRINTOPT_ShowDialog, nStartPage, nEndPage, | 789 dwOptions & XFA_PRINTOPT_ShowDialog, nStartPage, nEndPage, |
798 dwOptions & XFA_PRINTOPT_CanCancel, dwOptions & XFA_PRINTOPT_ShrinkPage, | 790 dwOptions & XFA_PRINTOPT_CanCancel, dwOptions & XFA_PRINTOPT_ShrinkPage, |
799 dwOptions & XFA_PRINTOPT_AsImage, dwOptions & XFA_PRINTOPT_ReverseOrder, | 791 dwOptions & XFA_PRINTOPT_AsImage, dwOptions & XFA_PRINTOPT_ReverseOrder, |
800 dwOptions & XFA_PRINTOPT_PrintAnnot); | 792 dwOptions & XFA_PRINTOPT_PrintAnnot); |
801 } | 793 } |
802 | 794 |
803 void CPDFXFA_Document::GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) { | 795 void CPDFXFA_Document::GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) { |
804 if (hDoc != m_pXFADoc) | 796 if (hDoc != m_pXFADoc) |
805 return; | 797 return; |
806 | 798 |
807 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 799 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
808 if (pEnv == NULL) | 800 if (!pEnv) |
809 return; | 801 return; |
810 | 802 |
811 pEnv->FFI_GetURL(this, wsDocURL); | 803 pEnv->FFI_GetURL(this, wsDocURL); |
812 } | 804 } |
813 | 805 |
814 FX_ARGB CPDFXFA_Document::GetHighlightColor(CXFA_FFDoc* hDoc) { | 806 FX_ARGB CPDFXFA_Document::GetHighlightColor(CXFA_FFDoc* hDoc) { |
815 if (hDoc != m_pXFADoc) | 807 if (hDoc != m_pXFADoc) |
816 return 0; | 808 return 0; |
817 if (m_pSDKDoc) { | 809 if (m_pSDKDoc) { |
818 if (CPDFSDK_InterForm* pInterForm = m_pSDKDoc->GetInterForm()) { | 810 if (CPDFSDK_InterForm* pInterForm = m_pSDKDoc->GetInterForm()) { |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
900 Param.m_eType = XFA_EVENT_PostSubmit; | 892 Param.m_eType = XFA_EVENT_PostSubmit; |
901 CXFA_WidgetAcc* pWidgetAcc = pWidgetAccIterator->MoveToNext(); | 893 CXFA_WidgetAcc* pWidgetAcc = pWidgetAccIterator->MoveToNext(); |
902 while (pWidgetAcc) { | 894 while (pWidgetAcc) { |
903 pWidgetHandler->ProcessEvent(pWidgetAcc, &Param); | 895 pWidgetHandler->ProcessEvent(pWidgetAcc, &Param); |
904 pWidgetAcc = pWidgetAccIterator->MoveToNext(); | 896 pWidgetAcc = pWidgetAccIterator->MoveToNext(); |
905 } | 897 } |
906 m_pXFADocView->UpdateDocView(); | 898 m_pXFADocView->UpdateDocView(); |
907 } | 899 } |
908 | 900 |
909 FX_BOOL CPDFXFA_Document::SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit) { | 901 FX_BOOL CPDFXFA_Document::SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit) { |
910 if (!_NotifySubmit(TRUE)) | 902 if (!_NotifySubmit(TRUE) || !m_pXFADocView) |
911 return FALSE; | |
912 if (NULL == m_pXFADocView) | |
913 return FALSE; | 903 return FALSE; |
914 m_pXFADocView->UpdateDocView(); | 904 m_pXFADocView->UpdateDocView(); |
915 | 905 |
916 FX_BOOL ret = _SubmitData(hDoc, submit); | 906 FX_BOOL ret = _SubmitData(hDoc, submit); |
917 _NotifySubmit(FALSE); | 907 _NotifySubmit(FALSE); |
918 return ret; | 908 return ret; |
919 } | 909 } |
920 | 910 |
921 IFX_FileRead* CPDFXFA_Document::OpenLinkedFile(CXFA_FFDoc* hDoc, | 911 IFX_FileRead* CPDFXFA_Document::OpenLinkedFile(CXFA_FFDoc* hDoc, |
922 const CFX_WideString& wsLink) { | 912 const CFX_WideString& wsLink) { |
923 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); | 913 CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
924 if (pEnv == NULL) | 914 if (!pEnv) |
925 return FALSE; | 915 return FALSE; |
926 CFX_ByteString bs = wsLink.UTF16LE_Encode(); | 916 CFX_ByteString bs = wsLink.UTF16LE_Encode(); |
927 int len = bs.GetLength() / sizeof(unsigned short); | 917 int len = bs.GetLength() / sizeof(unsigned short); |
928 FPDF_FILEHANDLER* pFileHandler = pEnv->FFI_OpenFile( | 918 FPDF_FILEHANDLER* pFileHandler = pEnv->FFI_OpenFile( |
929 0, (FPDF_WIDESTRING)bs.GetBuffer(len * sizeof(unsigned short)), "rb"); | 919 0, (FPDF_WIDESTRING)bs.GetBuffer(len * sizeof(unsigned short)), "rb"); |
930 bs.ReleaseBuffer(len * sizeof(unsigned short)); | 920 bs.ReleaseBuffer(len * sizeof(unsigned short)); |
931 | 921 |
932 if (pFileHandler == NULL) | 922 if (!pFileHandler) |
933 return NULL; | 923 return nullptr; |
934 return new CFPDF_FileStream(pFileHandler); | 924 return new CFPDF_FileStream(pFileHandler); |
935 } | 925 } |
936 FX_BOOL CPDFXFA_Document::_ExportSubmitFile(FPDF_FILEHANDLER* pFileHandler, | 926 FX_BOOL CPDFXFA_Document::_ExportSubmitFile(FPDF_FILEHANDLER* pFileHandler, |
937 int fileType, | 927 int fileType, |
938 FPDF_DWORD encodeType, | 928 FPDF_DWORD encodeType, |
939 FPDF_DWORD flag) { | 929 FPDF_DWORD flag) { |
940 if (!m_pXFADocView) | 930 if (!m_pXFADocView) |
941 return FALSE; | 931 return FALSE; |
942 | 932 |
943 CFX_ByteString content; | 933 CFX_ByteString content; |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 return FALSE; | 1238 return FALSE; |
1249 | 1239 |
1250 if (!m_pJSContext) { | 1240 if (!m_pJSContext) { |
1251 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc); | 1241 m_pSDKDoc->GetEnv()->GetJSRuntime()->SetReaderDocument(m_pSDKDoc); |
1252 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext(); | 1242 m_pJSContext = m_pSDKDoc->GetEnv()->GetJSRuntime()->NewContext(); |
1253 } | 1243 } |
1254 | 1244 |
1255 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(szPropName, | 1245 return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(szPropName, |
1256 pValue); | 1246 pValue); |
1257 } | 1247 } |
OLD | NEW |