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

Side by Side Diff: fpdfsdk/src/fsdk_baseform.cpp

Issue 1414793016: Merge to XFA: Cleanup: Remove some NULL checks in fpdfsdk. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 1 month 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 | « fpdfsdk/src/fpdfeditpage.cpp ('k') | fpdfsdk/src/javascript/PublicMethods.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 "../../third_party/base/nonstd_unique_ptr.h" 7 #include "../../third_party/base/nonstd_unique_ptr.h"
8 #include "../include/fsdk_define.h" 8 #include "../include/fsdk_define.h"
9 #include "../include/fpdfxfa/fpdfxfa_doc.h" 9 #include "../include/fpdfxfa/fpdfxfa_doc.h"
10 #include "../include/fpdfxfa/fpdfxfa_util.h" 10 #include "../include/fpdfxfa/fpdfxfa_util.h"
(...skipping 2441 matching lines...) Expand 10 before | Expand all | Expand 10 after
2452 if (pFormField->CountSelectedItems() > 0) { 2452 if (pFormField->CountSelectedItems() > 0) {
2453 int index = pFormField->GetSelectedIndex(0); 2453 int index = pFormField->GetSelectedIndex(0);
2454 if (index >= 0) 2454 if (index >= 0)
2455 sValue = pFormField->GetOptionLabel(index); 2455 sValue = pFormField->GetOptionLabel(index);
2456 } 2456 }
2457 } 2457 }
2458 2458
2459 bFormated = FALSE; 2459 bFormated = FALSE;
2460 2460
2461 CPDF_AAction aAction = pFormField->GetAdditionalAction(); 2461 CPDF_AAction aAction = pFormField->GetAdditionalAction();
2462 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Format)) { 2462 if (aAction && aAction.ActionExist(CPDF_AAction::Format)) {
2463 CPDF_Action action = aAction.GetAction(CPDF_AAction::Format); 2463 CPDF_Action action = aAction.GetAction(CPDF_AAction::Format);
2464 if (action) { 2464 if (action) {
2465 CFX_WideString script = action.GetJavaScript(); 2465 CFX_WideString script = action.GetJavaScript();
2466 if (!script.IsEmpty()) { 2466 if (!script.IsEmpty()) {
2467 CFX_WideString Value = sValue; 2467 CFX_WideString Value = sValue;
2468 2468
2469 IJS_Context* pContext = pRuntime->NewContext(); 2469 IJS_Context* pContext = pRuntime->NewContext();
2470 ASSERT(pContext != NULL); 2470 ASSERT(pContext != NULL);
2471 2471
2472 pContext->OnField_Format(pFormField, Value, TRUE); 2472 pContext->OnField_Format(pFormField, Value, TRUE);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
2522 } 2522 }
2523 } 2523 }
2524 } 2524 }
2525 2525
2526 void CPDFSDK_InterForm::OnKeyStrokeCommit(CPDF_FormField* pFormField, 2526 void CPDFSDK_InterForm::OnKeyStrokeCommit(CPDF_FormField* pFormField,
2527 CFX_WideString& csValue, 2527 CFX_WideString& csValue,
2528 FX_BOOL& bRC) { 2528 FX_BOOL& bRC) {
2529 ASSERT(pFormField != NULL); 2529 ASSERT(pFormField != NULL);
2530 2530
2531 CPDF_AAction aAction = pFormField->GetAdditionalAction(); 2531 CPDF_AAction aAction = pFormField->GetAdditionalAction();
2532 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::KeyStroke)) { 2532 if (aAction && aAction.ActionExist(CPDF_AAction::KeyStroke)) {
2533 CPDF_Action action = aAction.GetAction(CPDF_AAction::KeyStroke); 2533 CPDF_Action action = aAction.GetAction(CPDF_AAction::KeyStroke);
2534 if (action) { 2534 if (action) {
2535 ASSERT(m_pDocument != NULL); 2535 ASSERT(m_pDocument != NULL);
2536 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 2536 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
2537 ASSERT(pEnv != NULL); 2537 ASSERT(pEnv != NULL);
2538 2538
2539 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander(); 2539 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander();
2540 ASSERT(pActionHandler != NULL); 2540 ASSERT(pActionHandler != NULL);
2541 2541
2542 PDFSDK_FieldAction fa; 2542 PDFSDK_FieldAction fa;
2543 fa.bModifier = pEnv->FFI_IsCTRLKeyDown(0); 2543 fa.bModifier = pEnv->FFI_IsCTRLKeyDown(0);
2544 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0); 2544 fa.bShift = pEnv->FFI_IsSHIFTKeyDown(0);
2545 fa.sValue = csValue; 2545 fa.sValue = csValue;
2546 2546
2547 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AAction::KeyStroke, 2547 pActionHandler->DoAction_FieldJavaScript(action, CPDF_AAction::KeyStroke,
2548 m_pDocument, pFormField, fa); 2548 m_pDocument, pFormField, fa);
2549 bRC = fa.bRC; 2549 bRC = fa.bRC;
2550 } 2550 }
2551 } 2551 }
2552 } 2552 }
2553 2553
2554 void CPDFSDK_InterForm::OnValidate(CPDF_FormField* pFormField, 2554 void CPDFSDK_InterForm::OnValidate(CPDF_FormField* pFormField,
2555 CFX_WideString& csValue, 2555 CFX_WideString& csValue,
2556 FX_BOOL& bRC) { 2556 FX_BOOL& bRC) {
2557 ASSERT(pFormField != NULL); 2557 ASSERT(pFormField != NULL);
2558 2558
2559 CPDF_AAction aAction = pFormField->GetAdditionalAction(); 2559 CPDF_AAction aAction = pFormField->GetAdditionalAction();
2560 if (aAction != NULL && aAction.ActionExist(CPDF_AAction::Validate)) { 2560 if (aAction && aAction.ActionExist(CPDF_AAction::Validate)) {
2561 CPDF_Action action = aAction.GetAction(CPDF_AAction::Validate); 2561 CPDF_Action action = aAction.GetAction(CPDF_AAction::Validate);
2562 if (action) { 2562 if (action) {
2563 ASSERT(m_pDocument != NULL); 2563 ASSERT(m_pDocument != NULL);
2564 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 2564 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
2565 ASSERT(pEnv != NULL); 2565 ASSERT(pEnv != NULL);
2566 2566
2567 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander(); 2567 CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander();
2568 ASSERT(pActionHandler != NULL); 2568 ASSERT(pActionHandler != NULL);
2569 2569
2570 PDFSDK_FieldAction fa; 2570 PDFSDK_FieldAction fa;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
2684 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(CFX_WideString csFDFFile, 2684 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(CFX_WideString csFDFFile,
2685 CFX_WideString csTxtFile) { 2685 CFX_WideString csTxtFile) {
2686 return TRUE; 2686 return TRUE;
2687 } 2687 }
2688 2688
2689 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(uint8_t*& pBuf, 2689 FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(uint8_t*& pBuf,
2690 FX_STRSIZE& nBufSize) { 2690 FX_STRSIZE& nBufSize) {
2691 CFDF_Document* pFDF = CFDF_Document::ParseMemory(pBuf, nBufSize); 2691 CFDF_Document* pFDF = CFDF_Document::ParseMemory(pBuf, nBufSize);
2692 if (pFDF) { 2692 if (pFDF) {
2693 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDict("FDF"); 2693 CPDF_Dictionary* pMainDict = pFDF->GetRoot()->GetDict("FDF");
2694 if (pMainDict == NULL) 2694 if (!pMainDict)
2695 return FALSE; 2695 return FALSE;
2696 2696
2697 // Get fields 2697 // Get fields
2698 CPDF_Array* pFields = pMainDict->GetArray("Fields"); 2698 CPDF_Array* pFields = pMainDict->GetArray("Fields");
2699 if (pFields == NULL) 2699 if (!pFields)
2700 return FALSE; 2700 return FALSE;
2701 2701
2702 CFX_ByteTextBuf fdfEncodedData; 2702 CFX_ByteTextBuf fdfEncodedData;
2703 2703
2704 for (FX_DWORD i = 0; i < pFields->GetCount(); i++) { 2704 for (FX_DWORD i = 0; i < pFields->GetCount(); i++) {
2705 CPDF_Dictionary* pField = pFields->GetDict(i); 2705 CPDF_Dictionary* pField = pFields->GetDict(i);
2706 if (pField == NULL) 2706 if (!pField)
2707 continue; 2707 continue;
2708 CFX_WideString name; 2708 CFX_WideString name;
2709 name = pField->GetUnicodeText("T"); 2709 name = pField->GetUnicodeText("T");
2710 CFX_ByteString name_b = CFX_ByteString::FromUnicode(name); 2710 CFX_ByteString name_b = CFX_ByteString::FromUnicode(name);
2711 CFX_ByteString csBValue = pField->GetString("V"); 2711 CFX_ByteString csBValue = pField->GetString("V");
2712 CFX_WideString csWValue = PDF_DecodeText(csBValue); 2712 CFX_WideString csWValue = PDF_DecodeText(csBValue);
2713 CFX_ByteString csValue_b = CFX_ByteString::FromUnicode(csWValue); 2713 CFX_ByteString csValue_b = CFX_ByteString::FromUnicode(csWValue);
2714 2714
2715 fdfEncodedData = fdfEncodedData << name_b.GetBuffer(name_b.GetLength()); 2715 fdfEncodedData = fdfEncodedData << name_b.GetBuffer(name_b.GetLength());
2716 name_b.ReleaseBuffer(); 2716 name_b.ReleaseBuffer();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2771 } 2771 }
2772 2772
2773 FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination, 2773 FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination,
2774 FX_BOOL bUrlEncoded) { 2774 FX_BOOL bUrlEncoded) {
2775 if (sDestination.IsEmpty()) 2775 if (sDestination.IsEmpty())
2776 return FALSE; 2776 return FALSE;
2777 2777
2778 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv(); 2778 CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
2779 ASSERT(pEnv != NULL); 2779 ASSERT(pEnv != NULL);
2780 2780
2781 if (NULL == m_pDocument) 2781 if (!m_pDocument)
2782 return FALSE; 2782 return FALSE;
2783 CFX_WideString wsPDFFilePath = m_pDocument->GetPath(); 2783 CFX_WideString wsPDFFilePath = m_pDocument->GetPath();
2784 2784
2785 if (NULL == m_pInterForm) 2785 if (!m_pInterForm)
2786 return FALSE; 2786 return FALSE;
2787 CFDF_Document* pFDFDoc = m_pInterForm->ExportToFDF(wsPDFFilePath); 2787 CFDF_Document* pFDFDoc = m_pInterForm->ExportToFDF(wsPDFFilePath);
2788 if (NULL == pFDFDoc) 2788 if (!pFDFDoc)
2789 return FALSE; 2789 return FALSE;
2790 2790
2791 CFX_ByteTextBuf FdfBuffer; 2791 CFX_ByteTextBuf FdfBuffer;
2792 FX_BOOL bRet = pFDFDoc->WriteBuf(FdfBuffer); 2792 FX_BOOL bRet = pFDFDoc->WriteBuf(FdfBuffer);
2793 delete pFDFDoc; 2793 delete pFDFDoc;
2794 if (!bRet) 2794 if (!bRet)
2795 return FALSE; 2795 return FALSE;
2796 2796
2797 uint8_t* pBuffer = FdfBuffer.GetBuffer(); 2797 uint8_t* pBuffer = FdfBuffer.GetBuffer();
2798 FX_STRSIZE nBufSize = FdfBuffer.GetLength(); 2798 FX_STRSIZE nBufSize = FdfBuffer.GetLength();
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
3224 break; 3224 break;
3225 } 3225 }
3226 } 3226 }
3227 } 3227 }
3228 3228
3229 CPDF_Rect CBA_AnnotIterator::GetAnnotRect(CPDFSDK_Annot* pAnnot) { 3229 CPDF_Rect CBA_AnnotIterator::GetAnnotRect(CPDFSDK_Annot* pAnnot) {
3230 CPDF_Rect rcAnnot; 3230 CPDF_Rect rcAnnot;
3231 pAnnot->GetPDFAnnot()->GetRect(rcAnnot); 3231 pAnnot->GetPDFAnnot()->GetRect(rcAnnot);
3232 return rcAnnot; 3232 return rcAnnot;
3233 } 3233 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fpdfeditpage.cpp ('k') | fpdfsdk/src/javascript/PublicMethods.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698