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 |