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

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

Issue 2224073002: Remove MsgBox()/Alert() from CJS_EmbedObj. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Make CJS_Object::Alert() a helper function for public methods. Created 4 years, 4 months 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/javascript/PublicMethods.cpp ('k') | no next file » | 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 "fpdfsdk/javascript/app.h" 7 #include "fpdfsdk/javascript/app.h"
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 CJS_Context* pContext = static_cast<CJS_Context*>(cc); 396 CJS_Context* pContext = static_cast<CJS_Context*>(cc);
397 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); 397 CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
398 std::vector<CJS_Value> newParams = JS_ExpandKeywordParams( 398 std::vector<CJS_Value> newParams = JS_ExpandKeywordParams(
399 pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle"); 399 pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle");
400 400
401 if (newParams[0].GetType() == CJS_Value::VT_unknown) { 401 if (newParams[0].GetType() == CJS_Value::VT_unknown) {
402 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR); 402 sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
403 return FALSE; 403 return FALSE;
404 } 404 }
405 405
406 CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
407 if (!pApp) {
408 vRet = 0;
409 return TRUE;
410 }
411
406 CFX_WideString swMsg; 412 CFX_WideString swMsg;
407 if (newParams[0].GetType() == CJS_Value::VT_object) { 413 if (newParams[0].GetType() == CJS_Value::VT_object) {
408 CJS_Array carray; 414 CJS_Array carray;
409 if (newParams[0].ConvertToArray(carray)) { 415 if (newParams[0].ConvertToArray(carray)) {
410 swMsg = L"["; 416 swMsg = L"[";
411 CJS_Value element(pRuntime); 417 CJS_Value element(pRuntime);
412 for (int i = 0; i < carray.GetLength(); ++i) { 418 for (int i = 0; i < carray.GetLength(); ++i) {
413 if (i) 419 if (i)
414 swMsg += L", "; 420 swMsg += L", ";
415 carray.GetElement(pRuntime->GetIsolate(), i, element); 421 carray.GetElement(pRuntime->GetIsolate(), i, element);
(...skipping 15 matching lines...) Expand all
431 if (newParams[2].GetType() != CJS_Value::VT_unknown) 437 if (newParams[2].GetType() != CJS_Value::VT_unknown)
432 iType = newParams[2].ToInt(); 438 iType = newParams[2].ToInt();
433 439
434 CFX_WideString swTitle; 440 CFX_WideString swTitle;
435 if (newParams[3].GetType() != CJS_Value::VT_unknown) 441 if (newParams[3].GetType() != CJS_Value::VT_unknown)
436 swTitle = newParams[3].ToCFXWideString(); 442 swTitle = newParams[3].ToCFXWideString();
437 else 443 else
438 swTitle = JSGetStringFromID(pContext, IDS_STRING_JSALERT); 444 swTitle = JSGetStringFromID(pContext, IDS_STRING_JSALERT);
439 445
440 pRuntime->BeginBlock(); 446 pRuntime->BeginBlock();
441 vRet = MsgBox(pRuntime->GetReaderApp(), swMsg.c_str(), swTitle.c_str(), iType, 447 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument())
442 iIcon); 448 pDoc->KillFocusAnnot();
449
450 vRet = pApp->JS_appAlert(swMsg.c_str(), swTitle.c_str(), iType, iIcon);
443 pRuntime->EndBlock(); 451 pRuntime->EndBlock();
444 return TRUE; 452 return TRUE;
445 } 453 }
446 454
447 FX_BOOL app::beep(IJS_Context* cc, 455 FX_BOOL app::beep(IJS_Context* cc,
448 const std::vector<CJS_Value>& params, 456 const std::vector<CJS_Value>& params,
449 CJS_Value& vRet, 457 CJS_Value& vRet,
450 CFX_WideString& sError) { 458 CFX_WideString& sError) {
451 if (params.size() == 1) { 459 if (params.size() == 1) {
452 CJS_Context* pContext = (CJS_Context*)cc; 460 CJS_Context* pContext = (CJS_Context*)cc;
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { 827 FX_BOOL app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
820 return FALSE; 828 return FALSE;
821 } 829 }
822 830
823 FX_BOOL app::execDialog(IJS_Context* cc, 831 FX_BOOL app::execDialog(IJS_Context* cc,
824 const std::vector<CJS_Value>& params, 832 const std::vector<CJS_Value>& params,
825 CJS_Value& vRet, 833 CJS_Value& vRet,
826 CFX_WideString& sError) { 834 CFX_WideString& sError) {
827 return TRUE; 835 return TRUE;
828 } 836 }
OLDNEW
« no previous file with comments | « fpdfsdk/javascript/PublicMethods.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698