| 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" |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |