Chromium Code Reviews| Index: fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp |
| diff --git a/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp b/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp |
| index 11434ae947a91238bf2487e4631d3b33f1d27d05..7fac930777f1646901fc86d63ec6ca95923fe755 100644 |
| --- a/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp |
| +++ b/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp |
| @@ -20,6 +20,7 @@ |
| #include "xfa/include/fxfa/xfa_ffdoc.h" |
| #include "xfa/include/fxfa/xfa_ffdocview.h" |
| #include "xfa/include/fxfa/xfa_ffpageview.h" |
| +#include "xfa/include/fxfa/xfa_ffwidget.h" |
| #define IDS_XFA_Validate_Input \ |
| "At least one required field was empty. Please fill in the required " \ |
| @@ -104,22 +105,22 @@ FX_BOOL CPDFXFA_Document::LoadXFADoc() { |
| return FALSE; |
| } |
| - pDocHandler->StartLoad(m_pXFADoc); |
| - int iStatus = pDocHandler->DoLoad(m_pXFADoc, NULL); |
| + m_pXFADoc->StartLoad(); |
| + int iStatus = m_pXFADoc->DoLoad(nullptr); |
| if (iStatus != XFA_PARSESTATUS_Done) { |
| CloseXFADoc(pDocHandler); |
| SetLastError(FPDF_ERR_XFALOAD); |
| return FALSE; |
| } |
| - pDocHandler->StopLoad(m_pXFADoc); |
| - pDocHandler->SetJSERuntime(m_pXFADoc, m_pApp->GetJSERuntime()); |
| + m_pXFADoc->StopLoad(); |
| + m_pXFADoc->GetXFADoc()->InitScriptContext(m_pApp->GetJSERuntime()); |
| - if (pDocHandler->GetDocType(m_pXFADoc) == XFA_DOCTYPE_Dynamic) |
| + if (m_pXFADoc->GetDocType() == XFA_DOCTYPE_Dynamic) |
| m_iDocType = DOCTYPE_DYNAMIC_XFA; |
| else |
| m_iDocType = DOCTYPE_STATIC_XFA; |
| - m_pXFADocView = pDocHandler->CreateDocView(m_pXFADoc, XFA_DOCVIEW_View); |
| + m_pXFADocView = m_pXFADoc->CreateDocView(XFA_DOCVIEW_View); |
| if (m_pXFADocView->StartLayout() < 0) { |
| CloseXFADoc(pDocHandler); |
| SetLastError(FPDF_ERR_XFALAYOUT); |
| @@ -275,12 +276,12 @@ void CPDFXFA_Document::InvalidateRect(CXFA_FFWidget* hWidget, |
| if (!pWidgetHandler) |
| return; |
| - CXFA_FFPageView* pPageView = pWidgetHandler->GetPageView(hWidget); |
| + CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
| if (!pPageView) |
| return; |
| CFX_RectF rect; |
| - pWidgetHandler->GetRect(hWidget, rect); |
| + hWidget->GetRect(rect); |
| InvalidateRect(pPageView, rect, dwFlags); |
| } |
| @@ -300,7 +301,7 @@ void CPDFXFA_Document::DisplayCaret(CXFA_FFWidget* hWidget, |
| if (!pWidgetHandler) |
| return; |
| - CXFA_FFPageView* pPageView = pWidgetHandler->GetPageView(hWidget); |
| + CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
| if (!pPageView) |
| return; |
| @@ -325,28 +326,25 @@ FX_BOOL CPDFXFA_Document::GetPopupPos(CXFA_FFWidget* hWidget, |
| FX_FLOAT fMaxPopup, |
| const CFX_RectF& rtAnchor, |
| CFX_RectF& rtPopup) { |
| - if (NULL == hWidget) { |
| + if (!hWidget) |
| return FALSE; |
| - } |
| - CXFA_FFPageView* pXFAPageView = |
| - m_pXFADocView->GetWidgetHandler()->GetPageView(hWidget); |
| - if (NULL == pXFAPageView) { |
| + |
| + CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); |
| + if (!pXFAPageView) |
| return FALSE; |
| - } |
| + |
| CPDFXFA_Page* pPage = GetPage(pXFAPageView); |
| - if (pPage == NULL) |
| + if (!pPage) |
| return FALSE; |
| - CXFA_WidgetAcc* pWidgetAcc = |
| - m_pXFADocView->GetWidgetHandler()->GetDataAcc(hWidget); |
| - |
| + CXFA_WidgetAcc* pWidgetAcc = hWidget->GetDataAcc(); |
| int nRotate = 0; |
| #ifdef PDF_ENABLE_XFA |
| nRotate = pWidgetAcc->GetRotate(); |
| #endif |
| CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
| - if (pEnv == NULL) |
| + if (!pEnv) |
| return FALSE; |
| FS_RECTF pageViewRect; |
| pEnv->FFI_GetPageViewRect(pPage, pageViewRect); |
| @@ -457,36 +455,34 @@ FX_BOOL CPDFXFA_Document::GetPopupPos(CXFA_FFWidget* hWidget, |
| FX_BOOL CPDFXFA_Document::PopupMenu(CXFA_FFWidget* hWidget, |
| CFX_PointF ptPopup, |
| const CFX_RectF* pRectExclude) { |
| - if (NULL == hWidget) { |
| + if (!hWidget) |
| return FALSE; |
| - } |
| - CXFA_FFPageView* pXFAPageView = |
| - m_pXFADocView->GetWidgetHandler()->GetPageView(hWidget); |
| - if (pXFAPageView == NULL) |
| + |
| + CXFA_FFPageView* pXFAPageView = hWidget->GetPageView(); |
| + if (!pXFAPageView) |
| return FALSE; |
| - CPDFXFA_Page* pPage = GetPage(pXFAPageView); |
| - if (pPage == NULL) |
| + CPDFXFA_Page* pPage = GetPage(pXFAPageView); |
| + if (!pPage) |
| return FALSE; |
| int menuFlag = 0; |
| - CXFA_FFMenuHandler* pXFAMenuHander = m_pApp->GetXFAApp()->GetMenuHandler(); |
| - if (pXFAMenuHander->CanUndo(hWidget)) |
| + if (hWidget->CanUndo()) |
| menuFlag |= FXFA_MEMU_UNDO; |
| - if (pXFAMenuHander->CanRedo(hWidget)) |
| + if (hWidget->CanRedo()) |
| menuFlag |= FXFA_MEMU_REDO; |
| - if (pXFAMenuHander->CanPaste(hWidget)) |
| + if (hWidget->CanPaste()) |
| menuFlag |= FXFA_MEMU_PASTE; |
| - if (pXFAMenuHander->CanCopy(hWidget)) |
| + if (hWidget->CanCopy()) |
| menuFlag |= FXFA_MEMU_COPY; |
| - if (pXFAMenuHander->CanCut(hWidget)) |
| + if (hWidget->CanCut()) |
| menuFlag |= FXFA_MEMU_CUT; |
| - if (pXFAMenuHander->CanSelectAll(hWidget)) |
| + if (hWidget->CanSelectAll()) |
| menuFlag |= FXFA_MEMU_SELECTALL; |
| CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
| - if (pEnv == NULL) |
| + if (!pEnv) |
|
Tom Sepez
2016/04/04 18:33:10
nit: return pEnv && pEnv->FFI_PopupMenu(....);
dsinclair
2016/04/04 18:43:01
Done.
|
| return FALSE; |
| return pEnv->FFI_PopupMenu(pPage, hWidget, menuFlag, ptPopup, NULL); |
| @@ -540,33 +536,30 @@ void CPDFXFA_Document::WidgetEvent(CXFA_FFWidget* hWidget, |
| if (!pEnv) |
| return; |
| - CXFA_FFPageView* pPageView = |
| - m_pXFADocView->GetWidgetHandler()->GetPageView(hWidget); |
| - if (pPageView == NULL) |
| + CXFA_FFPageView* pPageView = hWidget->GetPageView(); |
| + if (!pPageView) |
| return; |
| CPDFXFA_Page* pXFAPage = GetPage(pPageView); |
| - if (pXFAPage == NULL) |
| + if (!pXFAPage) |
| return; |
| CPDFSDK_PageView* pSdkPageView = m_pSDKDoc->GetPageView(pXFAPage); |
| if (dwEvent == XFA_WIDGETEVENT_PostAdded) { |
| pSdkPageView->AddAnnot(hWidget); |
| - |
| } else if (dwEvent == XFA_WIDGETEVENT_PreRemoved) { |
| CPDFSDK_Annot* pAnnot = pSdkPageView->GetAnnotByXFAWidget(hWidget); |
| - if (pAnnot) { |
| + if (pAnnot) |
| pSdkPageView->DeleteAnnot(pAnnot); |
| - } |
| } |
| } |
| int32_t CPDFXFA_Document::CountPages(CXFA_FFDoc* hDoc) { |
| - if (hDoc == m_pXFADoc && m_pSDKDoc) { |
| + if (hDoc == m_pXFADoc && m_pSDKDoc) |
| return GetPageCount(); |
| - } |
| return 0; |
| } |
| + |
| int32_t CPDFXFA_Document::GetCurrentPage(CXFA_FFDoc* hDoc) { |
| if (hDoc != m_pXFADoc || !m_pSDKDoc) |
| return -1; |
| @@ -574,11 +567,12 @@ int32_t CPDFXFA_Document::GetCurrentPage(CXFA_FFDoc* hDoc) { |
| return -1; |
| CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
| - if (pEnv == NULL) |
| + if (!pEnv) |
| return -1; |
| return pEnv->FFI_GetCurrentPageIndex(this); |
| } |
| + |
| void CPDFXFA_Document::SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage) { |
| if (hDoc != m_pXFADoc || !m_pSDKDoc || m_iDocType != DOCTYPE_DYNAMIC_XFA || |
| iCurPage < 0 || iCurPage >= m_pSDKDoc->GetPageCount()) { |
| @@ -662,14 +656,13 @@ void CPDFXFA_Document::ExportData(CXFA_FFDoc* hDoc, |
| CFPDF_FileStream fileWrite(pFileHandler); |
| - CXFA_FFDocHandler* pXFADocHander = m_pApp->GetXFAApp()->GetDocHandler(); |
| CFX_ByteString content; |
| if (fileType == FXFA_SAVEAS_XML) { |
| content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"; |
| fileWrite.WriteBlock((const FX_CHAR*)content, fileWrite.GetSize(), |
| content.GetLength()); |
| CFX_WideStringC data(L"data"); |
| - if (pXFADocHander->SavePackage(m_pXFADocView->GetDoc(), data, &fileWrite)) { |
| + if (m_pXFADocView->GetDoc()->SavePackage(data, &fileWrite)) { |
| // Ignoring error. |
| } |
| } else if (fileType == FXFA_SAVEAS_XDP) { |
| @@ -702,11 +695,10 @@ void CPDFXFA_Document::ExportData(CXFA_FFDoc* hDoc, |
| continue; |
| if (pPrePDFObj->GetString() == "form") { |
| CFX_WideStringC form(L"form"); |
| - pXFADocHander->SavePackage(m_pXFADocView->GetDoc(), form, &fileWrite); |
| + m_pXFADocView->GetDoc()->SavePackage(form, &fileWrite); |
| } else if (pPrePDFObj->GetString() == "datasets") { |
| CFX_WideStringC datasets(L"datasets"); |
| - pXFADocHander->SavePackage(m_pXFADocView->GetDoc(), datasets, |
| - &fileWrite); |
| + m_pXFADocView->GetDoc()->SavePackage(datasets, &fileWrite); |
| } else { |
| if (i == size - 1) { |
| CFX_WideString wPath = CFX_WideString::FromUTF16LE( |
| @@ -953,13 +945,12 @@ FX_BOOL CPDFXFA_Document::_ExportSubmitFile(FPDF_FILEHANDLER* pFileHandler, |
| int fileType, |
| FPDF_DWORD encodeType, |
| FPDF_DWORD flag) { |
| - if (NULL == m_pXFADocView) |
| + if (!m_pXFADocView) |
| return FALSE; |
| - CXFA_FFDocHandler* pDocHandler = m_pApp->GetXFAApp()->GetDocHandler(); |
| - CFX_ByteString content; |
| + CFX_ByteString content; |
| CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv(); |
| - if (pEnv == NULL) |
| + if (!pEnv) |
| return FALSE; |
| CFPDF_FileStream fileStream(pFileHandler); |
| @@ -969,7 +960,7 @@ FX_BOOL CPDFXFA_Document::_ExportSubmitFile(FPDF_FILEHANDLER* pFileHandler, |
| ws.FromLocal("data"); |
| CFX_ByteString content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"; |
| fileStream.WriteBlock((const FX_CHAR*)content, 0, content.GetLength()); |
| - pDocHandler->SavePackage(m_pXFADoc, ws, &fileStream); |
| + m_pXFADoc->SavePackage(ws, &fileStream); |
| } else if (fileType == FXFA_SAVEAS_XDP) { |
| if (flag == 0) |
| flag = FXFA_CONFIG | FXFA_TEMPLATE | FXFA_LOCALESET | FXFA_DATASETS | |
| @@ -1030,11 +1021,11 @@ FX_BOOL CPDFXFA_Document::_ExportSubmitFile(FPDF_FILEHANDLER* pFileHandler, |
| if (pPrePDFObj->GetString() == "form") { |
| CFX_WideString ws; |
| ws.FromLocal("form"); |
| - pDocHandler->SavePackage(m_pXFADoc, ws, &fileStream); |
| + m_pXFADoc->SavePackage(ws, &fileStream); |
| } else if (pPrePDFObj->GetString() == "datasets") { |
| CFX_WideString ws; |
| ws.FromLocal("datasets"); |
| - pDocHandler->SavePackage(m_pXFADoc, ws, &fileStream); |
| + m_pXFADoc->SavePackage(ws, &fileStream); |
| } else { |
| // PDF,creator. |
| } |