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/include/fsdk_actionhandler.h" | 7 #include "fpdfsdk/include/fsdk_actionhandler.h" |
8 #include "fpdfsdk/include/fsdk_define.h" | 8 #include "fpdfsdk/include/fsdk_define.h" |
9 #include "fpdfsdk/include/fsdk_mgr.h" | 9 #include "fpdfsdk/include/fsdk_mgr.h" |
10 #include "fpdfsdk/include/javascript/IJavaScript.h" | 10 #include "fpdfsdk/include/javascript/IJavaScript.h" |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 if (!ExecuteDocumentOpenAction(subaction, pDocument, list)) | 127 if (!ExecuteDocumentOpenAction(subaction, pDocument, list)) |
128 return FALSE; | 128 return FALSE; |
129 } | 129 } |
130 | 130 |
131 return TRUE; | 131 return TRUE; |
132 } | 132 } |
133 | 133 |
134 FX_BOOL CPDFSDK_ActionHandler::ExecuteLinkAction(const CPDF_Action& action, | 134 FX_BOOL CPDFSDK_ActionHandler::ExecuteLinkAction(const CPDF_Action& action, |
135 CPDFSDK_Document* pDocument, | 135 CPDFSDK_Document* pDocument, |
136 CFX_PtrList& list) { | 136 CFX_PtrList& list) { |
137 ASSERT(pDocument != NULL); | |
138 | |
139 CPDF_Dictionary* pDict = action.GetDict(); | 137 CPDF_Dictionary* pDict = action.GetDict(); |
140 if (list.Find(pDict)) | 138 if (list.Find(pDict)) |
141 return FALSE; | 139 return FALSE; |
142 | 140 |
143 list.AddTail(pDict); | 141 list.AddTail(pDict); |
144 | 142 |
145 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 143 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
146 ASSERT(pEnv); | 144 ASSERT(pEnv); |
147 if (action.GetType() == CPDF_Action::JavaScript) { | 145 if (action.GetType() == CPDF_Action::JavaScript) { |
148 if (pEnv->IsJSInitiated()) { | 146 if (pEnv->IsJSInitiated()) { |
(...skipping 25 matching lines...) Expand all Loading... |
174 } | 172 } |
175 | 173 |
176 return TRUE; | 174 return TRUE; |
177 } | 175 } |
178 | 176 |
179 FX_BOOL CPDFSDK_ActionHandler::ExecuteDocumentPageAction( | 177 FX_BOOL CPDFSDK_ActionHandler::ExecuteDocumentPageAction( |
180 const CPDF_Action& action, | 178 const CPDF_Action& action, |
181 CPDF_AAction::AActionType type, | 179 CPDF_AAction::AActionType type, |
182 CPDFSDK_Document* pDocument, | 180 CPDFSDK_Document* pDocument, |
183 CFX_PtrList& list) { | 181 CFX_PtrList& list) { |
184 ASSERT(pDocument != NULL); | |
185 | |
186 CPDF_Dictionary* pDict = action.GetDict(); | 182 CPDF_Dictionary* pDict = action.GetDict(); |
187 if (list.Find(pDict)) | 183 if (list.Find(pDict)) |
188 return FALSE; | 184 return FALSE; |
189 | 185 |
190 list.AddTail(pDict); | 186 list.AddTail(pDict); |
191 | 187 |
192 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 188 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
193 ASSERT(pEnv); | 189 ASSERT(pEnv); |
194 if (action.GetType() == CPDF_Action::JavaScript) { | 190 if (action.GetType() == CPDF_Action::JavaScript) { |
195 if (pEnv->IsJSInitiated()) { | 191 if (pEnv->IsJSInitiated()) { |
(...skipping 13 matching lines...) Expand all Loading... |
209 CPDF_Action subaction = action.GetSubAction(i); | 205 CPDF_Action subaction = action.GetSubAction(i); |
210 if (!ExecuteDocumentPageAction(subaction, type, pDocument, list)) | 206 if (!ExecuteDocumentPageAction(subaction, type, pDocument, list)) |
211 return FALSE; | 207 return FALSE; |
212 } | 208 } |
213 | 209 |
214 return TRUE; | 210 return TRUE; |
215 } | 211 } |
216 | 212 |
217 FX_BOOL CPDFSDK_ActionHandler::IsValidField(CPDFSDK_Document* pDocument, | 213 FX_BOOL CPDFSDK_ActionHandler::IsValidField(CPDFSDK_Document* pDocument, |
218 CPDF_Dictionary* pFieldDict) { | 214 CPDF_Dictionary* pFieldDict) { |
219 ASSERT(pDocument != NULL); | 215 ASSERT(pFieldDict); |
220 ASSERT(pFieldDict != NULL); | |
221 | 216 |
222 CPDFSDK_InterForm* pInterForm = pDocument->GetInterForm(); | 217 CPDFSDK_InterForm* pInterForm = pDocument->GetInterForm(); |
223 ASSERT(pInterForm != NULL); | |
224 | |
225 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); | 218 CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm(); |
226 ASSERT(pPDFInterForm != NULL); | |
227 | |
228 return pPDFInterForm->GetFieldByDict(pFieldDict) != NULL; | 219 return pPDFInterForm->GetFieldByDict(pFieldDict) != NULL; |
229 } | 220 } |
230 | 221 |
231 FX_BOOL CPDFSDK_ActionHandler::ExecuteFieldAction( | 222 FX_BOOL CPDFSDK_ActionHandler::ExecuteFieldAction( |
232 const CPDF_Action& action, | 223 const CPDF_Action& action, |
233 CPDF_AAction::AActionType type, | 224 CPDF_AAction::AActionType type, |
234 CPDFSDK_Document* pDocument, | 225 CPDFSDK_Document* pDocument, |
235 CPDF_FormField* pFormField, | 226 CPDF_FormField* pFormField, |
236 PDFSDK_FieldAction& data, | 227 PDFSDK_FieldAction& data, |
237 CFX_PtrList& list) { | 228 CFX_PtrList& list) { |
238 ASSERT(pDocument != NULL); | |
239 | |
240 CPDF_Dictionary* pDict = action.GetDict(); | 229 CPDF_Dictionary* pDict = action.GetDict(); |
241 if (list.Find(pDict)) | 230 if (list.Find(pDict)) |
242 return FALSE; | 231 return FALSE; |
243 | 232 |
244 list.AddTail(pDict); | 233 list.AddTail(pDict); |
245 | 234 |
246 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 235 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
247 ASSERT(pEnv); | 236 ASSERT(pEnv); |
248 if (action.GetType() == CPDF_Action::JavaScript) { | 237 if (action.GetType() == CPDF_Action::JavaScript) { |
249 if (pEnv->IsJSInitiated()) { | 238 if (pEnv->IsJSInitiated()) { |
(...skipping 16 matching lines...) Expand all Loading... |
266 | 255 |
267 return TRUE; | 256 return TRUE; |
268 } | 257 } |
269 | 258 |
270 FX_BOOL CPDFSDK_ActionHandler::ExecuteScreenAction( | 259 FX_BOOL CPDFSDK_ActionHandler::ExecuteScreenAction( |
271 const CPDF_Action& action, | 260 const CPDF_Action& action, |
272 CPDF_AAction::AActionType type, | 261 CPDF_AAction::AActionType type, |
273 CPDFSDK_Document* pDocument, | 262 CPDFSDK_Document* pDocument, |
274 CPDFSDK_Annot* pScreen, | 263 CPDFSDK_Annot* pScreen, |
275 CFX_PtrList& list) { | 264 CFX_PtrList& list) { |
276 ASSERT(pDocument != NULL); | |
277 | |
278 CPDF_Dictionary* pDict = action.GetDict(); | 265 CPDF_Dictionary* pDict = action.GetDict(); |
279 if (list.Find(pDict)) | 266 if (list.Find(pDict)) |
280 return FALSE; | 267 return FALSE; |
281 | 268 |
282 list.AddTail(pDict); | 269 list.AddTail(pDict); |
283 | 270 |
284 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 271 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
285 ASSERT(pEnv); | 272 ASSERT(pEnv); |
286 if (action.GetType() == CPDF_Action::JavaScript) { | 273 if (action.GetType() == CPDF_Action::JavaScript) { |
287 if (pEnv->IsJSInitiated()) { | 274 if (pEnv->IsJSInitiated()) { |
(...skipping 22 matching lines...) Expand all Loading... |
310 return FALSE; | 297 return FALSE; |
311 } | 298 } |
312 | 299 |
313 return TRUE; | 300 return TRUE; |
314 } | 301 } |
315 | 302 |
316 FX_BOOL CPDFSDK_ActionHandler::ExecuteBookMark(const CPDF_Action& action, | 303 FX_BOOL CPDFSDK_ActionHandler::ExecuteBookMark(const CPDF_Action& action, |
317 CPDFSDK_Document* pDocument, | 304 CPDFSDK_Document* pDocument, |
318 CPDF_Bookmark* pBookmark, | 305 CPDF_Bookmark* pBookmark, |
319 CFX_PtrList& list) { | 306 CFX_PtrList& list) { |
320 ASSERT(pDocument != NULL); | |
321 | |
322 CPDF_Dictionary* pDict = action.GetDict(); | 307 CPDF_Dictionary* pDict = action.GetDict(); |
323 if (list.Find(pDict)) | 308 if (list.Find(pDict)) |
324 return FALSE; | 309 return FALSE; |
325 | 310 |
326 list.AddTail(pDict); | 311 list.AddTail(pDict); |
327 | 312 |
328 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); | 313 CPDFDoc_Environment* pEnv = pDocument->GetEnv(); |
329 ASSERT(pEnv); | 314 ASSERT(pEnv); |
330 if (action.GetType() == CPDF_Action::JavaScript) { | 315 if (action.GetType() == CPDF_Action::JavaScript) { |
331 if (pEnv->IsJSInitiated()) { | 316 if (pEnv->IsJSInitiated()) { |
(...skipping 22 matching lines...) Expand all Loading... |
354 CPDF_Action subaction = action.GetSubAction(i); | 339 CPDF_Action subaction = action.GetSubAction(i); |
355 if (!ExecuteBookMark(subaction, pDocument, pBookmark, list)) | 340 if (!ExecuteBookMark(subaction, pDocument, pBookmark, list)) |
356 return FALSE; | 341 return FALSE; |
357 } | 342 } |
358 | 343 |
359 return TRUE; | 344 return TRUE; |
360 } | 345 } |
361 | 346 |
362 void CPDFSDK_ActionHandler::DoAction_NoJs(const CPDF_Action& action, | 347 void CPDFSDK_ActionHandler::DoAction_NoJs(const CPDF_Action& action, |
363 CPDFSDK_Document* pDocument) { | 348 CPDFSDK_Document* pDocument) { |
364 ASSERT(pDocument != NULL); | 349 ASSERT(pDocument); |
365 | 350 |
366 switch (action.GetType()) { | 351 switch (action.GetType()) { |
367 case CPDF_Action::GoTo: | 352 case CPDF_Action::GoTo: |
368 DoAction_GoTo(pDocument, action); | 353 DoAction_GoTo(pDocument, action); |
369 break; | 354 break; |
370 case CPDF_Action::GoToR: | 355 case CPDF_Action::GoToR: |
371 DoAction_GoToR(pDocument, action); | 356 DoAction_GoToR(pDocument, action); |
372 break; | 357 break; |
373 case CPDF_Action::GoToE: | 358 case CPDF_Action::GoToE: |
374 break; | 359 break; |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 const CPDF_Action& action) {} | 445 const CPDF_Action& action) {} |
461 | 446 |
462 void CPDFSDK_ActionHandler::DoAction_Launch(CPDFSDK_Document* pDocument, | 447 void CPDFSDK_ActionHandler::DoAction_Launch(CPDFSDK_Document* pDocument, |
463 const CPDF_Action& action) {} | 448 const CPDF_Action& action) {} |
464 | 449 |
465 void CPDFSDK_ActionHandler::DoAction_URI(CPDFSDK_Document* pDocument, | 450 void CPDFSDK_ActionHandler::DoAction_URI(CPDFSDK_Document* pDocument, |
466 const CPDF_Action& action) { | 451 const CPDF_Action& action) { |
467 ASSERT(action); | 452 ASSERT(action); |
468 | 453 |
469 CPDFDoc_Environment* pApp = pDocument->GetEnv(); | 454 CPDFDoc_Environment* pApp = pDocument->GetEnv(); |
470 ASSERT(pApp != NULL); | |
471 | |
472 CFX_ByteString sURI = action.GetURI(pDocument->GetPDFDocument()); | 455 CFX_ByteString sURI = action.GetURI(pDocument->GetPDFDocument()); |
473 pApp->FFI_DoURIAction(sURI.c_str()); | 456 pApp->FFI_DoURIAction(sURI.c_str()); |
474 } | 457 } |
475 | 458 |
476 void CPDFSDK_ActionHandler::DoAction_Named(CPDFSDK_Document* pDocument, | 459 void CPDFSDK_ActionHandler::DoAction_Named(CPDFSDK_Document* pDocument, |
477 const CPDF_Action& action) { | 460 const CPDF_Action& action) { |
478 ASSERT(action); | 461 ASSERT(action); |
479 | 462 |
480 CFX_ByteString csName = action.GetNamedAction(); | 463 CFX_ByteString csName = action.GetNamedAction(); |
481 pDocument->GetEnv()->FFI_ExecuteNamedAction(csName); | 464 pDocument->GetEnv()->FFI_ExecuteNamedAction(csName); |
482 } | 465 } |
483 | 466 |
484 void CPDFSDK_ActionHandler::DoAction_SetOCGState(CPDFSDK_Document* pDocument, | 467 void CPDFSDK_ActionHandler::DoAction_SetOCGState(CPDFSDK_Document* pDocument, |
485 const CPDF_Action& action) {} | 468 const CPDF_Action& action) {} |
486 | 469 |
487 void CPDFSDK_ActionHandler::RunFieldJavaScript(CPDFSDK_Document* pDocument, | 470 void CPDFSDK_ActionHandler::RunFieldJavaScript(CPDFSDK_Document* pDocument, |
488 CPDF_FormField* pFormField, | 471 CPDF_FormField* pFormField, |
489 CPDF_AAction::AActionType type, | 472 CPDF_AAction::AActionType type, |
490 PDFSDK_FieldAction& data, | 473 PDFSDK_FieldAction& data, |
491 const CFX_WideString& script) { | 474 const CFX_WideString& script) { |
492 ASSERT(type != CPDF_AAction::Calculate); | 475 ASSERT(type != CPDF_AAction::Calculate); |
493 ASSERT(type != CPDF_AAction::Format); | 476 ASSERT(type != CPDF_AAction::Format); |
494 | 477 |
495 ASSERT(pDocument != NULL); | |
496 | |
497 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); | 478 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); |
498 ASSERT(pRuntime != NULL); | |
499 | |
500 pRuntime->SetReaderDocument(pDocument); | 479 pRuntime->SetReaderDocument(pDocument); |
501 | 480 |
502 IJS_Context* pContext = pRuntime->NewContext(); | 481 IJS_Context* pContext = pRuntime->NewContext(); |
503 ASSERT(pContext != NULL); | |
504 | |
505 switch (type) { | 482 switch (type) { |
506 case CPDF_AAction::CursorEnter: | 483 case CPDF_AAction::CursorEnter: |
507 pContext->OnField_MouseEnter(data.bModifier, data.bShift, pFormField); | 484 pContext->OnField_MouseEnter(data.bModifier, data.bShift, pFormField); |
508 break; | 485 break; |
509 case CPDF_AAction::CursorExit: | 486 case CPDF_AAction::CursorExit: |
510 pContext->OnField_MouseExit(data.bModifier, data.bShift, pFormField); | 487 pContext->OnField_MouseExit(data.bModifier, data.bShift, pFormField); |
511 break; | 488 break; |
512 case CPDF_AAction::ButtonDown: | 489 case CPDF_AAction::ButtonDown: |
513 pContext->OnField_MouseDown(data.bModifier, data.bShift, pFormField); | 490 pContext->OnField_MouseDown(data.bModifier, data.bShift, pFormField); |
514 break; | 491 break; |
(...skipping 30 matching lines...) Expand all Loading... |
545 // FIXME: return error. | 522 // FIXME: return error. |
546 } | 523 } |
547 | 524 |
548 pRuntime->ReleaseContext(pContext); | 525 pRuntime->ReleaseContext(pContext); |
549 } | 526 } |
550 | 527 |
551 void CPDFSDK_ActionHandler::RunDocumentOpenJavaScript( | 528 void CPDFSDK_ActionHandler::RunDocumentOpenJavaScript( |
552 CPDFSDK_Document* pDocument, | 529 CPDFSDK_Document* pDocument, |
553 const CFX_WideString& sScriptName, | 530 const CFX_WideString& sScriptName, |
554 const CFX_WideString& script) { | 531 const CFX_WideString& script) { |
555 ASSERT(pDocument != NULL); | |
556 | |
557 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); | 532 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); |
558 ASSERT(pRuntime != NULL); | |
559 | |
560 pRuntime->SetReaderDocument(pDocument); | 533 pRuntime->SetReaderDocument(pDocument); |
561 | |
562 IJS_Context* pContext = pRuntime->NewContext(); | 534 IJS_Context* pContext = pRuntime->NewContext(); |
563 ASSERT(pContext != NULL); | |
564 | |
565 pContext->OnDoc_Open(pDocument, sScriptName); | 535 pContext->OnDoc_Open(pDocument, sScriptName); |
566 | 536 |
567 CFX_WideString csInfo; | 537 CFX_WideString csInfo; |
568 FX_BOOL bRet = pContext->RunScript(script, &csInfo); | 538 FX_BOOL bRet = pContext->RunScript(script, &csInfo); |
569 if (!bRet) { | 539 if (!bRet) { |
570 // FIXME: return error. | 540 // FIXME: return error. |
571 } | 541 } |
572 | 542 |
573 pRuntime->ReleaseContext(pContext); | 543 pRuntime->ReleaseContext(pContext); |
574 } | 544 } |
575 | 545 |
576 void CPDFSDK_ActionHandler::RunDocumentPageJavaScript( | 546 void CPDFSDK_ActionHandler::RunDocumentPageJavaScript( |
577 CPDFSDK_Document* pDocument, | 547 CPDFSDK_Document* pDocument, |
578 CPDF_AAction::AActionType type, | 548 CPDF_AAction::AActionType type, |
579 const CFX_WideString& script) { | 549 const CFX_WideString& script) { |
580 ASSERT(pDocument != NULL); | |
581 | |
582 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); | 550 IJS_Runtime* pRuntime = pDocument->GetJsRuntime(); |
583 ASSERT(pRuntime != NULL); | |
584 | |
585 pRuntime->SetReaderDocument(pDocument); | 551 pRuntime->SetReaderDocument(pDocument); |
586 | 552 |
587 IJS_Context* pContext = pRuntime->NewContext(); | 553 IJS_Context* pContext = pRuntime->NewContext(); |
588 ASSERT(pContext != NULL); | |
589 | |
590 switch (type) { | 554 switch (type) { |
591 case CPDF_AAction::OpenPage: | 555 case CPDF_AAction::OpenPage: |
592 pContext->OnPage_Open(pDocument); | 556 pContext->OnPage_Open(pDocument); |
593 break; | 557 break; |
594 case CPDF_AAction::ClosePage: | 558 case CPDF_AAction::ClosePage: |
595 pContext->OnPage_Close(pDocument); | 559 pContext->OnPage_Close(pDocument); |
596 break; | 560 break; |
597 case CPDF_AAction::CloseDocument: | 561 case CPDF_AAction::CloseDocument: |
598 pContext->OnDoc_WillClose(pDocument); | 562 pContext->OnDoc_WillClose(pDocument); |
599 break; | 563 break; |
(...skipping 24 matching lines...) Expand all Loading... |
624 FX_BOOL bRet = pContext->RunScript(script, &csInfo); | 588 FX_BOOL bRet = pContext->RunScript(script, &csInfo); |
625 if (!bRet) { | 589 if (!bRet) { |
626 // FIXME: return error. | 590 // FIXME: return error. |
627 } | 591 } |
628 | 592 |
629 pRuntime->ReleaseContext(pContext); | 593 pRuntime->ReleaseContext(pContext); |
630 } | 594 } |
631 | 595 |
632 FX_BOOL CPDFSDK_FormActionHandler::DoAction_Hide(const CPDF_Action& action, | 596 FX_BOOL CPDFSDK_FormActionHandler::DoAction_Hide(const CPDF_Action& action, |
633 CPDFSDK_Document* pDocument) { | 597 CPDFSDK_Document* pDocument) { |
634 ASSERT(pDocument != NULL); | |
635 | |
636 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); | 598 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
637 ASSERT(pInterForm != NULL); | |
638 | |
639 if (pInterForm->DoAction_Hide(action)) { | 599 if (pInterForm->DoAction_Hide(action)) { |
640 pDocument->SetChangeMark(); | 600 pDocument->SetChangeMark(); |
641 return TRUE; | 601 return TRUE; |
642 } | 602 } |
643 | 603 |
644 return FALSE; | 604 return FALSE; |
645 } | 605 } |
646 | 606 |
647 FX_BOOL CPDFSDK_FormActionHandler::DoAction_SubmitForm( | 607 FX_BOOL CPDFSDK_FormActionHandler::DoAction_SubmitForm( |
648 const CPDF_Action& action, | 608 const CPDF_Action& action, |
649 CPDFSDK_Document* pDocument) { | 609 CPDFSDK_Document* pDocument) { |
650 ASSERT(pDocument != NULL); | |
651 | |
652 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); | 610 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
653 ASSERT(pInterForm != NULL); | |
654 | |
655 return pInterForm->DoAction_SubmitForm(action); | 611 return pInterForm->DoAction_SubmitForm(action); |
656 } | 612 } |
657 | 613 |
658 FX_BOOL CPDFSDK_FormActionHandler::DoAction_ResetForm( | 614 FX_BOOL CPDFSDK_FormActionHandler::DoAction_ResetForm( |
659 const CPDF_Action& action, | 615 const CPDF_Action& action, |
660 CPDFSDK_Document* pDocument) { | 616 CPDFSDK_Document* pDocument) { |
661 ASSERT(pDocument != NULL); | |
662 | |
663 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); | 617 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
664 ASSERT(pInterForm != NULL); | 618 return pInterForm->DoAction_ResetForm(action); |
665 | |
666 if (pInterForm->DoAction_ResetForm(action)) { | |
667 return TRUE; | |
668 } | |
669 | |
670 return FALSE; | |
671 } | 619 } |
672 | 620 |
673 FX_BOOL CPDFSDK_FormActionHandler::DoAction_ImportData( | 621 FX_BOOL CPDFSDK_FormActionHandler::DoAction_ImportData( |
674 const CPDF_Action& action, | 622 const CPDF_Action& action, |
675 CPDFSDK_Document* pDocument) { | 623 CPDFSDK_Document* pDocument) { |
676 ASSERT(pDocument != NULL); | |
677 | |
678 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); | 624 CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDocument->GetInterForm(); |
679 ASSERT(pInterForm != NULL); | |
680 | |
681 if (pInterForm->DoAction_ImportData(action)) { | 625 if (pInterForm->DoAction_ImportData(action)) { |
682 pDocument->SetChangeMark(); | 626 pDocument->SetChangeMark(); |
683 return TRUE; | 627 return TRUE; |
684 } | 628 } |
685 | 629 |
686 return FALSE; | 630 return FALSE; |
687 } | 631 } |
OLD | NEW |