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

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

Issue 1878963004: Cleanup CPDFXFA_Page. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: and a little more 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
« no previous file with comments | « no previous file | fpdfsdk/fpdfxfa/fpdfxfa_page.cpp » ('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"
8
7 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h" 9 #include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
8 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h" 10 #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
9 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h" 11 #include "core/fpdfapi/fpdf_parser/include/cpdf_stream_acc.h"
10 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h" 12 #include "core/fpdfapi/fpdf_parser/include/cpdf_string.h"
11 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_app.h" 13 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_app.h"
12 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
13 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_page.h" 14 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_page.h"
14 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h" 15 #include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h"
15 #include "fpdfsdk/include/fsdk_define.h" 16 #include "fpdfsdk/include/fsdk_define.h"
16 #include "fpdfsdk/include/fsdk_mgr.h" 17 #include "fpdfsdk/include/fsdk_mgr.h"
17 #include "fpdfsdk/javascript/ijs_runtime.h" 18 #include "fpdfsdk/javascript/ijs_runtime.h"
18 #include "public/fpdf_formfill.h" 19 #include "public/fpdf_formfill.h"
19 #include "xfa/fxfa/include/xfa_ffapp.h" 20 #include "xfa/fxfa/include/xfa_ffapp.h"
20 #include "xfa/fxfa/include/xfa_ffdoc.h" 21 #include "xfa/fxfa/include/xfa_ffdoc.h"
21 #include "xfa/fxfa/include/xfa_ffdocview.h" 22 #include "xfa/fxfa/include/xfa_ffdocview.h"
22 #include "xfa/fxfa/include/xfa_ffpageview.h" 23 #include "xfa/fxfa/include/xfa_ffpageview.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 if (pPage) 162 if (pPage)
162 pPage->AddRef(); 163 pPage->AddRef();
163 } else { 164 } else {
164 m_nPageCount = GetPageCount(); 165 m_nPageCount = GetPageCount();
165 m_XFAPageList.SetSize(m_nPageCount); 166 m_XFAPageList.SetSize(m_nPageCount);
166 } 167 }
167 if (pPage) 168 if (pPage)
168 return pPage; 169 return pPage;
169 pPage = new CPDFXFA_Page(this, page_index); 170 pPage = new CPDFXFA_Page(this, page_index);
170 if (!pPage->LoadPage()) { 171 if (!pPage->LoadPage()) {
171 delete pPage; 172 pPage->Release();
172 return nullptr; 173 return nullptr;
173 } 174 }
174 m_XFAPageList.SetAt(page_index, pPage); 175 m_XFAPageList.SetAt(page_index, pPage);
175 return pPage; 176 return pPage;
176 } 177 }
177 178
178 CPDFXFA_Page* CPDFXFA_Document::GetPage(CXFA_FFPageView* pPage) { 179 CPDFXFA_Page* CPDFXFA_Document::GetPage(CXFA_FFPageView* pPage) {
179 if (!pPage) 180 if (!pPage)
180 return NULL; 181 return NULL;
181 182
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 CXFA_FFDocView* pXFADocView = GetXFADocView(); 502 CXFA_FFDocView* pXFADocView = GetXFADocView();
502 if (!pXFADocView) 503 if (!pXFADocView)
503 return; 504 return;
504 for (int iPageIter = 0; iPageIter < m_nPageCount; iPageIter++) { 505 for (int iPageIter = 0; iPageIter < m_nPageCount; iPageIter++) {
505 CPDFXFA_Page* pPage = m_XFAPageList.GetAt(iPageIter); 506 CPDFXFA_Page* pPage = m_XFAPageList.GetAt(iPageIter);
506 if (!pPage) 507 if (!pPage)
507 continue; 508 continue;
508 m_pSDKDoc->RemovePageView(pPage); 509 m_pSDKDoc->RemovePageView(pPage);
509 CXFA_FFPageView* pXFAPageView = pXFADocView->GetPageView(iPageIter); 510 CXFA_FFPageView* pXFAPageView = pXFADocView->GetPageView(iPageIter);
510 pPage->SetXFAPageView(pXFAPageView); 511 pPage->SetXFAPageView(pXFAPageView);
511 if (pXFAPageView)
512 pXFAPageView->LoadPageView(nullptr);
513 } 512 }
514 513
515 int flag = (nNewCount < m_nPageCount) ? FXFA_PAGEVIEWEVENT_POSTREMOVED 514 int flag = (nNewCount < m_nPageCount) ? FXFA_PAGEVIEWEVENT_POSTREMOVED
516 : FXFA_PAGEVIEWEVENT_POSTADDED; 515 : FXFA_PAGEVIEWEVENT_POSTADDED;
517 int count = FXSYS_abs(nNewCount - m_nPageCount); 516 int count = FXSYS_abs(nNewCount - m_nPageCount);
518 m_nPageCount = nNewCount; 517 m_nPageCount = nNewCount;
519 m_XFAPageList.SetSize(nNewCount); 518 m_XFAPageList.SetSize(nNewCount);
520 pEnv->FFI_PageEvent(count, flag); 519 pEnv->FFI_PageEvent(count, flag);
521 } 520 }
522 } 521 }
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 } 1271 }
1273 1272
1274 return _GetHValueByName(szPropName, hValue, 1273 return _GetHValueByName(szPropName, hValue,
1275 m_pSDKDoc->GetEnv()->GetJSRuntime()); 1274 m_pSDKDoc->GetEnv()->GetJSRuntime());
1276 } 1275 }
1277 FX_BOOL CPDFXFA_Document::_GetHValueByName(const CFX_ByteStringC& utf8Name, 1276 FX_BOOL CPDFXFA_Document::_GetHValueByName(const CFX_ByteStringC& utf8Name,
1278 FXJSE_HVALUE hValue, 1277 FXJSE_HVALUE hValue,
1279 IJS_Runtime* runTime) { 1278 IJS_Runtime* runTime) {
1280 return runTime->GetHValueByName(utf8Name, hValue); 1279 return runTime->GetHValueByName(utf8Name, hValue);
1281 } 1280 }
OLDNEW
« no previous file with comments | « no previous file | fpdfsdk/fpdfxfa/fpdfxfa_page.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698