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

Side by Side Diff: fpdfsdk/fpdfformfill.cpp

Issue 2333413003: Rename CPDFDoc_Environment to CPDFSDK_Environment (Closed)
Patch Set: Created 4 years, 3 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 "public/fpdf_formfill.h" 7 #include "public/fpdf_formfill.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
11 11
12 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h" 12 #include "core/fpdfapi/fpdf_page/include/cpdf_page.h"
13 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" 13 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
14 #include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h" 14 #include "core/fpdfapi/fpdf_render/include/cpdf_renderoptions.h"
15 #include "core/fpdfdoc/include/cpdf_formcontrol.h" 15 #include "core/fpdfdoc/include/cpdf_formcontrol.h"
16 #include "core/fpdfdoc/include/cpdf_formfield.h" 16 #include "core/fpdfdoc/include/cpdf_formfield.h"
17 #include "core/fpdfdoc/include/cpdf_interform.h" 17 #include "core/fpdfdoc/include/cpdf_interform.h"
18 #include "core/fpdfdoc/include/cpdf_occontext.h" 18 #include "core/fpdfdoc/include/cpdf_occontext.h"
19 #include "core/fxge/include/cfx_fxgedevice.h" 19 #include "core/fxge/include/cfx_fxgedevice.h"
20 #include "fpdfsdk/include/cpdfdoc_environment.h"
21 #include "fpdfsdk/include/cpdfsdk_document.h" 20 #include "fpdfsdk/include/cpdfsdk_document.h"
21 #include "fpdfsdk/include/cpdfsdk_environment.h"
22 #include "fpdfsdk/include/cpdfsdk_interform.h" 22 #include "fpdfsdk/include/cpdfsdk_interform.h"
23 #include "fpdfsdk/include/cpdfsdk_pageview.h" 23 #include "fpdfsdk/include/cpdfsdk_pageview.h"
24 #include "fpdfsdk/include/fsdk_actionhandler.h" 24 #include "fpdfsdk/include/fsdk_actionhandler.h"
25 #include "fpdfsdk/include/fsdk_define.h" 25 #include "fpdfsdk/include/fsdk_define.h"
26 #include "public/fpdfview.h" 26 #include "public/fpdfview.h"
27 #include "third_party/base/stl_util.h" 27 #include "third_party/base/stl_util.h"
28 28
29 #ifdef PDF_ENABLE_XFA 29 #ifdef PDF_ENABLE_XFA
30 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_app.h" 30 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_app.h"
31 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h" 31 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 if (!pPage) 79 if (!pPage)
80 return; 80 return;
81 81
82 #ifdef PDF_ENABLE_XFA 82 #ifdef PDF_ENABLE_XFA
83 CPDFXFA_Document* pDocument = pPage->GetDocument(); 83 CPDFXFA_Document* pDocument = pPage->GetDocument();
84 if (!pDocument) 84 if (!pDocument)
85 return; 85 return;
86 CPDF_Document* pPDFDoc = pDocument->GetPDFDoc(); 86 CPDF_Document* pPDFDoc = pDocument->GetPDFDoc();
87 if (!pPDFDoc) 87 if (!pPDFDoc)
88 return; 88 return;
89 CPDFDoc_Environment* pEnv = (CPDFDoc_Environment*)hHandle; 89 CPDFSDK_Environment* pEnv = (CPDFSDK_Environment*)hHandle;
Tom Sepez 2016/09/13 20:55:26 nit: static or reinterpret casts here, or helper f
dsinclair 2016/09/14 14:11:35 Done.
90 CPDFSDK_Document* pFXDoc = pEnv->GetSDKDocument(); 90 CPDFSDK_Document* pFXDoc = pEnv->GetSDKDocument();
91 if (!pFXDoc) 91 if (!pFXDoc)
92 return; 92 return;
93 #endif // PDF_ENABLE_XFA 93 #endif // PDF_ENABLE_XFA
94 94
95 CFX_Matrix matrix; 95 CFX_Matrix matrix;
96 pPage->GetDisplayMatrix(matrix, start_x, start_y, size_x, size_y, rotate); 96 pPage->GetDisplayMatrix(matrix, start_x, start_y, size_x, size_y, rotate);
97 97
98 FX_RECT clip(start_x, start_y, start_x + size_x, start_y + size_y); 98 FX_RECT clip(start_x, start_y, start_x + size_x, start_y + size_y);
99 99
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 #else // PDF_ENABLE_XFA 231 #else // PDF_ENABLE_XFA
232 const int kRequiredVersion = 1; 232 const int kRequiredVersion = 1;
233 #endif // PDF_ENABLE_XFA 233 #endif // PDF_ENABLE_XFA
234 if (!formInfo || formInfo->version != kRequiredVersion) 234 if (!formInfo || formInfo->version != kRequiredVersion)
235 return nullptr; 235 return nullptr;
236 236
237 UnderlyingDocumentType* pDocument = UnderlyingFromFPDFDocument(document); 237 UnderlyingDocumentType* pDocument = UnderlyingFromFPDFDocument(document);
238 if (!pDocument) 238 if (!pDocument)
239 return nullptr; 239 return nullptr;
240 240
241 CPDFDoc_Environment* pEnv = new CPDFDoc_Environment(pDocument, formInfo); 241 CPDFSDK_Environment* pEnv = new CPDFSDK_Environment(pDocument, formInfo);
242 #ifdef PDF_ENABLE_XFA 242 #ifdef PDF_ENABLE_XFA
243 pEnv->SetSDKDocument(pDocument->GetSDKDocument(pEnv)); 243 pEnv->SetSDKDocument(pDocument->GetSDKDocument(pEnv));
244 CPDFXFA_App* pApp = CPDFXFA_App::GetInstance(); 244 CPDFXFA_App* pApp = CPDFXFA_App::GetInstance();
245 pApp->AddFormFillEnv(pEnv); 245 pApp->AddFormFillEnv(pEnv);
246 #else // PDF_ENABLE_XFA 246 #else // PDF_ENABLE_XFA
247 pEnv->SetSDKDocument(new CPDFSDK_Document(pDocument, pEnv)); 247 pEnv->SetSDKDocument(new CPDFSDK_Document(pDocument, pEnv));
248 #endif // PDF_ENABLE_XFA 248 #endif // PDF_ENABLE_XFA
249 return pEnv; 249 return pEnv;
250 } 250 }
251 251
252 DLLEXPORT void STDCALL 252 DLLEXPORT void STDCALL
253 FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle) { 253 FPDFDOC_ExitFormFillEnvironment(FPDF_FORMHANDLE hHandle) {
254 if (!hHandle) 254 if (!hHandle)
255 return; 255 return;
256 CPDFDoc_Environment* pEnv = (CPDFDoc_Environment*)hHandle; 256 CPDFSDK_Environment* pEnv = (CPDFSDK_Environment*)hHandle;
257 #ifdef PDF_ENABLE_XFA 257 #ifdef PDF_ENABLE_XFA
258 CPDFXFA_App* pApp = CPDFXFA_App::GetInstance(); 258 CPDFXFA_App* pApp = CPDFXFA_App::GetInstance();
259 pApp->RemoveFormFillEnv(pEnv); 259 pApp->RemoveFormFillEnv(pEnv);
260 #else // PDF_ENABLE_XFA 260 #else // PDF_ENABLE_XFA
261 if (CPDFSDK_Document* pSDKDoc = pEnv->GetSDKDocument()) { 261 if (CPDFSDK_Document* pSDKDoc = pEnv->GetSDKDocument()) {
262 pEnv->SetSDKDocument(nullptr); 262 pEnv->SetSDKDocument(nullptr);
263 delete pSDKDoc; 263 delete pSDKDoc;
264 } 264 }
265 #endif // PDF_ENABLE_XFA 265 #endif // PDF_ENABLE_XFA
266 delete pEnv; 266 delete pEnv;
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 FPDF_FORMHANDLE hHandle) { 634 FPDF_FORMHANDLE hHandle) {
635 if (CPDFSDK_PageView* pPageView = FormHandleToPageView(hHandle, page)) 635 if (CPDFSDK_PageView* pPageView = FormHandleToPageView(hHandle, page))
636 pPageView->SetValid(TRUE); 636 pPageView->SetValid(TRUE);
637 } 637 }
638 638
639 DLLEXPORT void STDCALL FORM_OnBeforeClosePage(FPDF_PAGE page, 639 DLLEXPORT void STDCALL FORM_OnBeforeClosePage(FPDF_PAGE page,
640 FPDF_FORMHANDLE hHandle) { 640 FPDF_FORMHANDLE hHandle) {
641 if (!hHandle) 641 if (!hHandle)
642 return; 642 return;
643 643
644 CPDFSDK_Document* pSDKDoc = ((CPDFDoc_Environment*)hHandle)->GetSDKDocument(); 644 CPDFSDK_Document* pSDKDoc = ((CPDFSDK_Environment*)hHandle)->GetSDKDocument();
645 if (!pSDKDoc) 645 if (!pSDKDoc)
646 return; 646 return;
647 647
648 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page); 648 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page);
649 if (!pPage) 649 if (!pPage)
650 return; 650 return;
651 651
652 CPDFSDK_PageView* pPageView = pSDKDoc->GetPageView(pPage, false); 652 CPDFSDK_PageView* pPageView = pSDKDoc->GetPageView(pPage, false);
653 if (pPageView) { 653 if (pPageView) {
654 pPageView->SetValid(FALSE); 654 pPageView->SetValid(FALSE);
655 // RemovePageView() takes care of the delete for us. 655 // RemovePageView() takes care of the delete for us.
656 pSDKDoc->RemovePageView(pPage); 656 pSDKDoc->RemovePageView(pPage);
657 } 657 }
658 } 658 }
659 659
660 DLLEXPORT void STDCALL FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle) { 660 DLLEXPORT void STDCALL FORM_DoDocumentJSAction(FPDF_FORMHANDLE hHandle) {
661 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle); 661 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle);
662 if (pSDKDoc && ((CPDFDoc_Environment*)hHandle)->IsJSInitiated()) 662 if (pSDKDoc && ((CPDFSDK_Environment*)hHandle)->IsJSInitiated())
663 pSDKDoc->ProcJavascriptFun(); 663 pSDKDoc->ProcJavascriptFun();
664 } 664 }
665 665
666 DLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle) { 666 DLLEXPORT void STDCALL FORM_DoDocumentOpenAction(FPDF_FORMHANDLE hHandle) {
667 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle); 667 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle);
668 if (pSDKDoc && ((CPDFDoc_Environment*)hHandle)->IsJSInitiated()) 668 if (pSDKDoc && ((CPDFSDK_Environment*)hHandle)->IsJSInitiated())
669 pSDKDoc->ProcOpenAction(); 669 pSDKDoc->ProcOpenAction();
670 } 670 }
671 671
672 DLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle, 672 DLLEXPORT void STDCALL FORM_DoDocumentAAction(FPDF_FORMHANDLE hHandle,
673 int aaType) { 673 int aaType) {
674 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle); 674 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle);
675 if (!pSDKDoc) 675 if (!pSDKDoc)
676 return; 676 return;
677 677
678 CPDF_Document* pDoc = pSDKDoc->GetPDFDocument(); 678 CPDF_Document* pDoc = pSDKDoc->GetPDFDocument();
679 CPDF_Dictionary* pDic = pDoc->GetRoot(); 679 CPDF_Dictionary* pDic = pDoc->GetRoot();
680 if (!pDic) 680 if (!pDic)
681 return; 681 return;
682 682
683 CPDF_AAction aa(pDic->GetDictBy("AA")); 683 CPDF_AAction aa(pDic->GetDictBy("AA"));
684 if (aa.ActionExist((CPDF_AAction::AActionType)aaType)) { 684 if (aa.ActionExist((CPDF_AAction::AActionType)aaType)) {
685 CPDF_Action action = aa.GetAction((CPDF_AAction::AActionType)aaType); 685 CPDF_Action action = aa.GetAction((CPDF_AAction::AActionType)aaType);
686 CPDFSDK_ActionHandler* pActionHandler = 686 CPDFSDK_ActionHandler* pActionHandler =
687 ((CPDFDoc_Environment*)hHandle)->GetActionHander(); 687 ((CPDFSDK_Environment*)hHandle)->GetActionHander();
688 pActionHandler->DoAction_Document(action, (CPDF_AAction::AActionType)aaType, 688 pActionHandler->DoAction_Document(action, (CPDF_AAction::AActionType)aaType,
689 pSDKDoc); 689 pSDKDoc);
690 } 690 }
691 } 691 }
692 692
693 DLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page, 693 DLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page,
694 FPDF_FORMHANDLE hHandle, 694 FPDF_FORMHANDLE hHandle,
695 int aaType) { 695 int aaType) {
696 if (!hHandle) 696 if (!hHandle)
697 return; 697 return;
698 698
699 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle); 699 CPDFSDK_Document* pSDKDoc = CPDFSDK_Document::FromFPDFFormHandle(hHandle);
700 if (!pSDKDoc) 700 if (!pSDKDoc)
701 return; 701 return;
702 702
703 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page); 703 UnderlyingPageType* pPage = UnderlyingFromFPDFPage(page);
704 CPDF_Page* pPDFPage = CPDFPageFromFPDFPage(page); 704 CPDF_Page* pPDFPage = CPDFPageFromFPDFPage(page);
705 if (!pPDFPage) 705 if (!pPDFPage)
706 return; 706 return;
707 707
708 if (!pSDKDoc->GetPageView(pPage, false)) 708 if (!pSDKDoc->GetPageView(pPage, false))
709 return; 709 return;
710 710
711 CPDFDoc_Environment* pEnv = pSDKDoc->GetEnv(); 711 CPDFSDK_Environment* pEnv = pSDKDoc->GetEnv();
712 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander(); 712 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander();
713 CPDF_Dictionary* pPageDict = pPDFPage->m_pFormDict; 713 CPDF_Dictionary* pPageDict = pPDFPage->m_pFormDict;
714 CPDF_AAction aa(pPageDict->GetDictBy("AA")); 714 CPDF_AAction aa(pPageDict->GetDictBy("AA"));
715 if (FPDFPAGE_AACTION_OPEN == aaType) { 715 if (FPDFPAGE_AACTION_OPEN == aaType) {
716 if (aa.ActionExist(CPDF_AAction::OpenPage)) { 716 if (aa.ActionExist(CPDF_AAction::OpenPage)) {
717 CPDF_Action action = aa.GetAction(CPDF_AAction::OpenPage); 717 CPDF_Action action = aa.GetAction(CPDF_AAction::OpenPage);
718 pActionHandler->DoAction_Page(action, CPDF_AAction::OpenPage, pSDKDoc); 718 pActionHandler->DoAction_Page(action, CPDF_AAction::OpenPage, pSDKDoc);
719 } 719 }
720 } else { 720 } else {
721 if (aa.ActionExist(CPDF_AAction::ClosePage)) { 721 if (aa.ActionExist(CPDF_AAction::ClosePage)) {
722 CPDF_Action action = aa.GetAction(CPDF_AAction::ClosePage); 722 CPDF_Action action = aa.GetAction(CPDF_AAction::ClosePage);
723 pActionHandler->DoAction_Page(action, CPDF_AAction::ClosePage, pSDKDoc); 723 pActionHandler->DoAction_Page(action, CPDF_AAction::ClosePage, pSDKDoc);
724 } 724 }
725 } 725 }
726 } 726 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698