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

Side by Side Diff: fpdfsdk/src/javascript/app.cpp

Issue 1437713003: Replace CJS_Parameters with std::vector<CJS_Value>. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@todo
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/javascript/app.h ('k') | fpdfsdk/src/javascript/color.h » ('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 "app.h" 7 #include "app.h"
8 8
9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment. 9 #include "../../include/fsdk_mgr.h" // For CPDFDoc_Environment.
10 #include "../../include/javascript/IJavaScript.h" 10 #include "../../include/javascript/IJavaScript.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 222
223 return FALSE; 223 return FALSE;
224 } 224 }
225 225
226 // creates a new fdf object that contains no data 226 // creates a new fdf object that contains no data
227 // comment: need reader support 227 // comment: need reader support
228 // note: 228 // note:
229 // CFDF_Document * CPDFDoc_Environment::NewFDF(); 229 // CFDF_Document * CPDFDoc_Environment::NewFDF();
230 FX_BOOL app::newFDF(IJS_Context* cc, 230 FX_BOOL app::newFDF(IJS_Context* cc,
231 const CJS_Parameters& params, 231 const std::vector<CJS_Value>& params,
232 CJS_Value& vRet, 232 CJS_Value& vRet,
233 CFX_WideString& sError) { 233 CFX_WideString& sError) {
234 return TRUE; 234 return TRUE;
235 } 235 }
236 // opens a specified pdf document and returns its document object 236 // opens a specified pdf document and returns its document object
237 // comment:need reader support 237 // comment:need reader support
238 // note: as defined in js reference, the proto of this function's fourth 238 // note: as defined in js reference, the proto of this function's fourth
239 // parmeters, how old an fdf document while do not show it. 239 // parmeters, how old an fdf document while do not show it.
240 // CFDF_Document * CPDFDoc_Environment::OpenFDF(string strPath,bool bUserConv); 240 // CFDF_Document * CPDFDoc_Environment::OpenFDF(string strPath,bool bUserConv);
241 241
242 FX_BOOL app::openFDF(IJS_Context* cc, 242 FX_BOOL app::openFDF(IJS_Context* cc,
243 const CJS_Parameters& params, 243 const std::vector<CJS_Value>& params,
244 CJS_Value& vRet, 244 CJS_Value& vRet,
245 CFX_WideString& sError) { 245 CFX_WideString& sError) {
246 return TRUE; 246 return TRUE;
247 } 247 }
248 248
249 FX_BOOL app::alert(IJS_Context* cc, 249 FX_BOOL app::alert(IJS_Context* cc,
250 const CJS_Parameters& params, 250 const std::vector<CJS_Value>& params,
251 CJS_Value& vRet, 251 CJS_Value& vRet,
252 CFX_WideString& sError) { 252 CFX_WideString& sError) {
253 int iSize = params.size(); 253 int iSize = params.size();
254 if (iSize < 1) 254 if (iSize < 1)
255 return FALSE; 255 return FALSE;
256 256
257 CFX_WideString swMsg = L""; 257 CFX_WideString swMsg = L"";
258 CFX_WideString swTitle = L""; 258 CFX_WideString swTitle = L"";
259 int iIcon = 0; 259 int iIcon = 0;
260 int iType = 0; 260 int iType = 0;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 } 335 }
336 336
337 pRuntime->BeginBlock(); 337 pRuntime->BeginBlock();
338 vRet = MsgBox(pRuntime->GetReaderApp(), swMsg.c_str(), swTitle.c_str(), iType, 338 vRet = MsgBox(pRuntime->GetReaderApp(), swMsg.c_str(), swTitle.c_str(), iType,
339 iIcon); 339 iIcon);
340 pRuntime->EndBlock(); 340 pRuntime->EndBlock();
341 return TRUE; 341 return TRUE;
342 } 342 }
343 343
344 FX_BOOL app::beep(IJS_Context* cc, 344 FX_BOOL app::beep(IJS_Context* cc,
345 const CJS_Parameters& params, 345 const std::vector<CJS_Value>& params,
346 CJS_Value& vRet, 346 CJS_Value& vRet,
347 CFX_WideString& sError) { 347 CFX_WideString& sError) {
348 if (params.size() == 1) { 348 if (params.size() == 1) {
349 CJS_Context* pContext = (CJS_Context*)cc; 349 CJS_Context* pContext = (CJS_Context*)cc;
350 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 350 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
351 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp(); 351 CPDFDoc_Environment* pEnv = pRuntime->GetReaderApp();
352 pEnv->JS_appBeep(params[0].ToInt()); 352 pEnv->JS_appBeep(params[0].ToInt());
353 return TRUE; 353 return TRUE;
354 } 354 }
355 355
356 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); 356 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
357 return FALSE; 357 return FALSE;
358 } 358 }
359 359
360 FX_BOOL app::findComponent(IJS_Context* cc, 360 FX_BOOL app::findComponent(IJS_Context* cc,
361 const CJS_Parameters& params, 361 const std::vector<CJS_Value>& params,
362 CJS_Value& vRet, 362 CJS_Value& vRet,
363 CFX_WideString& sError) { 363 CFX_WideString& sError) {
364 return TRUE; 364 return TRUE;
365 } 365 }
366 366
367 FX_BOOL app::popUpMenuEx(IJS_Context* cc, 367 FX_BOOL app::popUpMenuEx(IJS_Context* cc,
368 const CJS_Parameters& params, 368 const std::vector<CJS_Value>& params,
369 CJS_Value& vRet, 369 CJS_Value& vRet,
370 CFX_WideString& sError) { 370 CFX_WideString& sError) {
371 return FALSE; 371 return FALSE;
372 } 372 }
373 373
374 FX_BOOL app::fs(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { 374 FX_BOOL app::fs(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
375 return FALSE; 375 return FALSE;
376 } 376 }
377 377
378 FX_BOOL app::setInterval(IJS_Context* cc, 378 FX_BOOL app::setInterval(IJS_Context* cc,
379 const CJS_Parameters& params, 379 const std::vector<CJS_Value>& params,
380 CJS_Value& vRet, 380 CJS_Value& vRet,
381 CFX_WideString& sError) { 381 CFX_WideString& sError) {
382 CJS_Context* pContext = (CJS_Context*)cc; 382 CJS_Context* pContext = (CJS_Context*)cc;
383 if (params.size() > 2 || params.size() == 0) { 383 if (params.size() > 2 || params.size() == 0) {
384 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); 384 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
385 return FALSE; 385 return FALSE;
386 } 386 }
387 387
388 CFX_WideString script = params.size() > 0 ? params[0].ToCFXWideString() : L""; 388 CFX_WideString script = params.size() > 0 ? params[0].ToCFXWideString() : L"";
389 if (script.IsEmpty()) { 389 if (script.IsEmpty()) {
(...skipping 15 matching lines...) Expand all
405 CJS_TimerObj* pJS_TimerObj = 405 CJS_TimerObj* pJS_TimerObj =
406 (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj); 406 (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj);
407 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); 407 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject();
408 pTimerObj->SetTimer(pTimer); 408 pTimerObj->SetTimer(pTimer);
409 409
410 vRet = pRetObj; 410 vRet = pRetObj;
411 return TRUE; 411 return TRUE;
412 } 412 }
413 413
414 FX_BOOL app::setTimeOut(IJS_Context* cc, 414 FX_BOOL app::setTimeOut(IJS_Context* cc,
415 const CJS_Parameters& params, 415 const std::vector<CJS_Value>& params,
416 CJS_Value& vRet, 416 CJS_Value& vRet,
417 CFX_WideString& sError) { 417 CFX_WideString& sError) {
418 if (params.size() > 2 || params.size() == 0) { 418 if (params.size() > 2 || params.size() == 0) {
419 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); 419 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
420 return FALSE; 420 return FALSE;
421 } 421 }
422 422
423 CJS_Context* pContext = (CJS_Context*)cc; 423 CJS_Context* pContext = (CJS_Context*)cc;
424 ASSERT(pContext != NULL); 424 ASSERT(pContext != NULL);
425 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); 425 CJS_Runtime* pRuntime = pContext->GetJSRuntime();
(...skipping 20 matching lines...) Expand all
446 CJS_TimerObj* pJS_TimerObj = 446 CJS_TimerObj* pJS_TimerObj =
447 (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj); 447 (CJS_TimerObj*)FXJS_GetPrivate(pRuntime->GetIsolate(), pRetObj);
448 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); 448 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject();
449 pTimerObj->SetTimer(pTimer); 449 pTimerObj->SetTimer(pTimer);
450 450
451 vRet = pRetObj; 451 vRet = pRetObj;
452 return TRUE; 452 return TRUE;
453 } 453 }
454 454
455 FX_BOOL app::clearTimeOut(IJS_Context* cc, 455 FX_BOOL app::clearTimeOut(IJS_Context* cc,
456 const CJS_Parameters& params, 456 const std::vector<CJS_Value>& params,
457 CJS_Value& vRet, 457 CJS_Value& vRet,
458 CFX_WideString& sError) { 458 CFX_WideString& sError) {
459 CJS_Context* pContext = (CJS_Context*)cc; 459 CJS_Context* pContext = (CJS_Context*)cc;
460 if (params.size() != 1) { 460 if (params.size() != 1) {
461 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); 461 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
462 return FALSE; 462 return FALSE;
463 } 463 }
464 464
465 if (params[0].GetType() == CJS_Value::VT_fxobject) { 465 if (params[0].GetType() == CJS_Value::VT_fxobject) {
466 v8::Local<v8::Object> pObj = params[0].ToV8Object(); 466 v8::Local<v8::Object> pObj = params[0].ToV8Object();
(...skipping 15 matching lines...) Expand all
482 } 482 }
483 } 483 }
484 } 484 }
485 } 485 }
486 } 486 }
487 487
488 return TRUE; 488 return TRUE;
489 } 489 }
490 490
491 FX_BOOL app::clearInterval(IJS_Context* cc, 491 FX_BOOL app::clearInterval(IJS_Context* cc,
492 const CJS_Parameters& params, 492 const std::vector<CJS_Value>& params,
493 CJS_Value& vRet, 493 CJS_Value& vRet,
494 CFX_WideString& sError) { 494 CFX_WideString& sError) {
495 CJS_Context* pContext = (CJS_Context*)cc; 495 CJS_Context* pContext = (CJS_Context*)cc;
496 if (params.size() != 1) { 496 if (params.size() != 1) {
497 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); 497 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
498 return FALSE; 498 return FALSE;
499 } 499 }
500 500
501 if (params[0].GetType() == CJS_Value::VT_fxobject) { 501 if (params[0].GetType() == CJS_Value::VT_fxobject) {
502 v8::Local<v8::Object> pObj = params[0].ToV8Object(); 502 v8::Local<v8::Object> pObj = params[0].ToV8Object();
(...skipping 15 matching lines...) Expand all
518 } 518 }
519 } 519 }
520 } 520 }
521 } 521 }
522 } 522 }
523 523
524 return TRUE; 524 return TRUE;
525 } 525 }
526 526
527 FX_BOOL app::execMenuItem(IJS_Context* cc, 527 FX_BOOL app::execMenuItem(IJS_Context* cc,
528 const CJS_Parameters& params, 528 const std::vector<CJS_Value>& params,
529 CJS_Value& vRet, 529 CJS_Value& vRet,
530 CFX_WideString& sError) { 530 CFX_WideString& sError) {
531 return FALSE; 531 return FALSE;
532 } 532 }
533 533
534 void app::TimerProc(CJS_Timer* pTimer) { 534 void app::TimerProc(CJS_Timer* pTimer) {
535 ASSERT(pTimer != NULL); 535 ASSERT(pTimer != NULL);
536 536
537 CJS_Runtime* pRuntime = pTimer->GetRuntime(); 537 CJS_Runtime* pRuntime = pTimer->GetRuntime();
538 538
(...skipping 16 matching lines...) Expand all
555 if (!pRuntime->IsBlocking()) { 555 if (!pRuntime->IsBlocking()) {
556 IJS_Context* pContext = pRuntime->NewContext(); 556 IJS_Context* pContext = pRuntime->NewContext();
557 pContext->OnExternal_Exec(); 557 pContext->OnExternal_Exec();
558 CFX_WideString wtInfo; 558 CFX_WideString wtInfo;
559 pContext->RunScript(wsScript, &wtInfo); 559 pContext->RunScript(wsScript, &wtInfo);
560 pRuntime->ReleaseContext(pContext); 560 pRuntime->ReleaseContext(pContext);
561 } 561 }
562 } 562 }
563 563
564 FX_BOOL app::goBack(IJS_Context* cc, 564 FX_BOOL app::goBack(IJS_Context* cc,
565 const CJS_Parameters& params, 565 const std::vector<CJS_Value>& params,
566 CJS_Value& vRet, 566 CJS_Value& vRet,
567 CFX_WideString& sError) { 567 CFX_WideString& sError) {
568 // Not supported. 568 // Not supported.
569 return TRUE; 569 return TRUE;
570 } 570 }
571 571
572 FX_BOOL app::goForward(IJS_Context* cc, 572 FX_BOOL app::goForward(IJS_Context* cc,
573 const CJS_Parameters& params, 573 const std::vector<CJS_Value>& params,
574 CJS_Value& vRet, 574 CJS_Value& vRet,
575 CFX_WideString& sError) { 575 CFX_WideString& sError) {
576 // Not supported. 576 // Not supported.
577 return TRUE; 577 return TRUE;
578 } 578 }
579 579
580 FX_BOOL app::mailMsg(IJS_Context* cc, 580 FX_BOOL app::mailMsg(IJS_Context* cc,
581 const CJS_Parameters& params, 581 const std::vector<CJS_Value>& params,
582 CJS_Value& vRet, 582 CJS_Value& vRet,
583 CFX_WideString& sError) { 583 CFX_WideString& sError) {
584 if (params.size() < 1) 584 if (params.size() < 1)
585 return FALSE; 585 return FALSE;
586 586
587 FX_BOOL bUI = TRUE; 587 FX_BOOL bUI = TRUE;
588 CFX_WideString cTo = L""; 588 CFX_WideString cTo = L"";
589 CFX_WideString cCc = L""; 589 CFX_WideString cCc = L"";
590 CFX_WideString cBcc = L""; 590 CFX_WideString cBcc = L"";
591 CFX_WideString cSubject = L""; 591 CFX_WideString cSubject = L"";
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 pRuntime->BeginBlock(); 638 pRuntime->BeginBlock();
639 pContext->GetReaderApp()->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), 639 pContext->GetReaderApp()->JS_docmailForm(NULL, 0, bUI, cTo.c_str(),
640 cSubject.c_str(), cCc.c_str(), 640 cSubject.c_str(), cCc.c_str(),
641 cBcc.c_str(), cMsg.c_str()); 641 cBcc.c_str(), cMsg.c_str());
642 pRuntime->EndBlock(); 642 pRuntime->EndBlock();
643 643
644 return FALSE; 644 return FALSE;
645 } 645 }
646 646
647 FX_BOOL app::launchURL(IJS_Context* cc, 647 FX_BOOL app::launchURL(IJS_Context* cc,
648 const CJS_Parameters& params, 648 const std::vector<CJS_Value>& params,
649 CJS_Value& vRet, 649 CJS_Value& vRet,
650 CFX_WideString& sError) { 650 CFX_WideString& sError) {
651 // Unsafe, not supported. 651 // Unsafe, not supported.
652 return TRUE; 652 return TRUE;
653 } 653 }
654 654
655 FX_BOOL app::runtimeHighlight(IJS_Context* cc, 655 FX_BOOL app::runtimeHighlight(IJS_Context* cc,
656 CJS_PropValue& vp, 656 CJS_PropValue& vp,
657 CFX_WideString& sError) { 657 CFX_WideString& sError) {
658 if (vp.IsSetting()) { 658 if (vp.IsSetting()) {
659 vp >> m_bRuntimeHighLight; 659 vp >> m_bRuntimeHighLight;
660 } else { 660 } else {
661 vp << m_bRuntimeHighLight; 661 vp << m_bRuntimeHighLight;
662 } 662 }
663 663
664 return TRUE; 664 return TRUE;
665 } 665 }
666 666
667 FX_BOOL app::fullscreen(IJS_Context* cc, 667 FX_BOOL app::fullscreen(IJS_Context* cc,
668 CJS_PropValue& vp, 668 CJS_PropValue& vp,
669 CFX_WideString& sError) { 669 CFX_WideString& sError) {
670 return FALSE; 670 return FALSE;
671 } 671 }
672 672
673 FX_BOOL app::popUpMenu(IJS_Context* cc, 673 FX_BOOL app::popUpMenu(IJS_Context* cc,
674 const CJS_Parameters& params, 674 const std::vector<CJS_Value>& params,
675 CJS_Value& vRet, 675 CJS_Value& vRet,
676 CFX_WideString& sError) { 676 CFX_WideString& sError) {
677 return FALSE; 677 return FALSE;
678 } 678 }
679 679
680 FX_BOOL app::browseForDoc(IJS_Context* cc, 680 FX_BOOL app::browseForDoc(IJS_Context* cc,
681 const CJS_Parameters& params, 681 const std::vector<CJS_Value>& params,
682 CJS_Value& vRet, 682 CJS_Value& vRet,
683 CFX_WideString& sError) { 683 CFX_WideString& sError) {
684 // Unsafe, not supported. 684 // Unsafe, not supported.
685 return TRUE; 685 return TRUE;
686 } 686 }
687 687
688 CFX_WideString app::SysPathToPDFPath(const CFX_WideString& sOldPath) { 688 CFX_WideString app::SysPathToPDFPath(const CFX_WideString& sOldPath) {
689 CFX_WideString sRet = L"/"; 689 CFX_WideString sRet = L"/";
690 690
691 for (int i = 0, sz = sOldPath.GetLength(); i < sz; i++) { 691 for (int i = 0, sz = sOldPath.GetLength(); i < sz; i++) {
692 wchar_t c = sOldPath.GetAt(i); 692 wchar_t c = sOldPath.GetAt(i);
693 if (c == L':') { 693 if (c == L':') {
694 } else { 694 } else {
695 if (c == L'\\') { 695 if (c == L'\\') {
696 sRet += L"/"; 696 sRet += L"/";
697 } else { 697 } else {
698 sRet += c; 698 sRet += c;
699 } 699 }
700 } 700 }
701 } 701 }
702 702
703 return sRet; 703 return sRet;
704 } 704 }
705 705
706 FX_BOOL app::newDoc(IJS_Context* cc, 706 FX_BOOL app::newDoc(IJS_Context* cc,
707 const CJS_Parameters& params, 707 const std::vector<CJS_Value>& params,
708 CJS_Value& vRet, 708 CJS_Value& vRet,
709 CFX_WideString& sError) { 709 CFX_WideString& sError) {
710 return FALSE; 710 return FALSE;
711 } 711 }
712 712
713 FX_BOOL app::openDoc(IJS_Context* cc, 713 FX_BOOL app::openDoc(IJS_Context* cc,
714 const CJS_Parameters& params, 714 const std::vector<CJS_Value>& params,
715 CJS_Value& vRet, 715 CJS_Value& vRet,
716 CFX_WideString& sError) { 716 CFX_WideString& sError) {
717 return FALSE; 717 return FALSE;
718 } 718 }
719 719
720 FX_BOOL app::response(IJS_Context* cc, 720 FX_BOOL app::response(IJS_Context* cc,
721 const CJS_Parameters& params, 721 const std::vector<CJS_Value>& params,
722 CJS_Value& vRet, 722 CJS_Value& vRet,
723 CFX_WideString& sError) { 723 CFX_WideString& sError) {
724 CFX_WideString swQuestion = L""; 724 CFX_WideString swQuestion = L"";
725 CFX_WideString swLabel = L""; 725 CFX_WideString swLabel = L"";
726 CFX_WideString swTitle = L"PDF"; 726 CFX_WideString swTitle = L"PDF";
727 CFX_WideString swDefault = L""; 727 CFX_WideString swDefault = L"";
728 bool bPassWord = false; 728 bool bPassWord = false;
729 729
730 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); 730 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
731 v8::Isolate* isolate = pRuntime->GetIsolate(); 731 v8::Isolate* isolate = pRuntime->GetIsolate();
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 (unsigned short*)pBuff.get(), nLengthBytes / sizeof(unsigned short)); 796 (unsigned short*)pBuff.get(), nLengthBytes / sizeof(unsigned short));
797 vRet = ret_string.c_str(); 797 vRet = ret_string.c_str();
798 return TRUE; 798 return TRUE;
799 } 799 }
800 800
801 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { 801 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
802 return FALSE; 802 return FALSE;
803 } 803 }
804 804
805 FX_BOOL app::execDialog(IJS_Context* cc, 805 FX_BOOL app::execDialog(IJS_Context* cc,
806 const CJS_Parameters& params, 806 const std::vector<CJS_Value>& params,
807 CJS_Value& vRet, 807 CJS_Value& vRet,
808 CFX_WideString& sError) { 808 CFX_WideString& sError) {
809 return TRUE; 809 return TRUE;
810 } 810 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/javascript/app.h ('k') | fpdfsdk/src/javascript/color.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698