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 "../../include/javascript/JavaScript.h" | 7 #include "../../include/javascript/JavaScript.h" |
8 #include "../../include/javascript/IJavaScript.h" | 8 #include "../../include/javascript/IJavaScript.h" |
9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
10 #include "../../include/javascript/JS_Object.h" | 10 #include "../../include/javascript/JS_Object.h" |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 CFX_WideString swTitle = L""; | 318 CFX_WideString swTitle = L""; |
319 int iIcon = 0; | 319 int iIcon = 0; |
320 int iType = 0; | 320 int iType = 0; |
321 | 321 |
322 v8::Isolate* isolate = GetIsolate(cc); | 322 v8::Isolate* isolate = GetIsolate(cc); |
323 | 323 |
324 if (iSize == 1) | 324 if (iSize == 1) |
325 { | 325 { |
326 if (params[0].GetType() == VT_object) | 326 if (params[0].GetType() == VT_object) |
327 { | 327 { |
328 » » » JSObject pObj = params[0]; | 328 » » » JSObject pObj = params[0].ToV8Object(); |
329 { | 329 { |
330 v8::Handle<v8::Value> pValue = JS_GetObjectEleme
nt(isolate, pObj, L"cMsg"); | 330 v8::Handle<v8::Value> pValue = JS_GetObjectEleme
nt(isolate, pObj, L"cMsg"); |
331 » » » » swMsg = CJS_Value(isolate,pValue,VT_unknown).ope
rator CFX_WideString(); | 331 » » » » swMsg = CJS_Value(isolate, pValue, VT_unknown).T
oCFXWideString(); |
332 | 332 |
333 » » » » pValue = JS_GetObjectElement(isolate,pObj,L"cTit
le"); | 333 » » » » pValue = JS_GetObjectElement(isolate, pObj, L"cT
itle"); |
334 » » » » swTitle = CJS_Value(isolate, pValue,VT_unknown).
operator CFX_WideString(); | 334 » » » » swTitle = CJS_Value(isolate, pValue, VT_unknown)
.ToCFXWideString(); |
335 | 335 |
336 » » » » pValue = JS_GetObjectElement(isolate,pObj,L"nIco
n"); | 336 » » » » pValue = JS_GetObjectElement(isolate, pObj, L"nI
con"); |
337 » » » » iIcon = (int)CJS_Value(isolate,pValue,VT_unknown
); | 337 » » » » iIcon = CJS_Value(isolate, pValue, VT_unknown).T
oInt(); |
338 | 338 |
339 » » » » pValue = JS_GetObjectElement(isolate,pObj,L"nTyp
e"); | 339 » » » » pValue = JS_GetObjectElement(isolate, pObj, L"nT
ype"); |
340 » » » » iType = (int)CJS_Value(isolate,pValue,VT_unknown
); | 340 » » » » iType = CJS_Value(isolate, pValue, VT_unknown).T
oInt(); |
341 } | 341 } |
342 | 342 |
343 if (swMsg == L"") | 343 if (swMsg == L"") |
344 { | 344 { |
345 CJS_Array carray(isolate); | 345 CJS_Array carray(isolate); |
346 if (params[0].ConvertToArray(carray)) | 346 if (params[0].ConvertToArray(carray)) |
347 { | 347 { |
348 int iLenth = carray.GetLength(); | 348 int iLenth = carray.GetLength(); |
349 CJS_Value* pValue = new CJS_Value(isolat
e); | 349 CJS_Value* pValue = new CJS_Value(isolat
e); |
350 // if (iLenth == 1) | 350 // if (iLenth == 1) |
351 // pValue = new CJS_Value(isolate); | 351 // pValue = new CJS_Value(isolate); |
352 // else if (iLenth > 1) | 352 // else if (iLenth > 1) |
353 // pValue = new CJS_Value[iLenth]; | 353 // pValue = new CJS_Value[iLenth]; |
354 | 354 |
355 for(int i = 0; i < iLenth; i++) | 355 for(int i = 0; i < iLenth; i++) |
356 { | 356 { |
357 carray.GetElement(i, *pValue); | 357 carray.GetElement(i, *pValue); |
358 » » » » » » swMsg += (*pValue).operator CFX_
WideString(); | 358 » » » » » » swMsg += (*pValue).ToCFXWideStri
ng(); |
359 if (i < iLenth - 1) | 359 if (i < iLenth - 1) |
360 swMsg += L", "; | 360 swMsg += L", "; |
361 } | 361 } |
362 | 362 |
363 if(pValue) delete pValue; | 363 if(pValue) delete pValue; |
364 // if ((iLenth > 1) && pValue) | |
365 // { | |
366 // delete[]pValue; | |
367 // pValue = NULL; | |
368 // } | |
369 // else if ((iLenth == 1) && pValue) | |
370 // { | |
371 // delete pValue; | |
372 // pValue = NULL; | |
373 // } | |
374 } | 364 } |
375 } | 365 } |
376 | 366 |
377 if (swTitle == L"") | 367 if (swTitle == L"") |
378 swTitle = JSGetStringFromID((CJS_Context*)cc, ID
S_STRING_JSALERT); | 368 swTitle = JSGetStringFromID((CJS_Context*)cc, ID
S_STRING_JSALERT); |
379 } | 369 } |
380 else if (params[0].GetType() == VT_boolean) | 370 else if (params[0].GetType() == VT_boolean) |
381 { | 371 { |
382 » » » FX_BOOL bGet = (FX_BOOL)params[0]; | 372 » » » FX_BOOL bGet = params[0].ToBool(); |
383 if (bGet) | 373 if (bGet) |
384 swMsg = L"true"; | 374 swMsg = L"true"; |
385 else | 375 else |
386 swMsg = L"false"; | 376 swMsg = L"false"; |
387 | 377 |
388 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING
_JSALERT); | 378 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING
_JSALERT); |
389 } | 379 } |
390 else | 380 else |
391 { | 381 { |
392 » » » swMsg = params[0]; | 382 » » » swMsg = params[0].ToCFXWideString(); |
393 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING
_JSALERT); | 383 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING
_JSALERT); |
394 } | 384 } |
395 } | 385 } |
396 else | 386 else |
397 { | 387 { |
398 if (params[0].GetType() == VT_boolean) | 388 if (params[0].GetType() == VT_boolean) |
399 { | 389 { |
400 » » » FX_BOOL bGet = (FX_BOOL)params[0]; | 390 » » » FX_BOOL bGet = params[0].ToBool(); |
401 if (bGet) | 391 if (bGet) |
402 swMsg = L"true"; | 392 swMsg = L"true"; |
403 else | 393 else |
404 swMsg = L"false"; | 394 swMsg = L"false"; |
405 } | 395 } |
406 else | 396 else |
407 { | 397 { |
408 » » » swMsg = params[0]; | 398 » » » swMsg = params[0].ToCFXWideString(); |
409 } | 399 } |
410 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSALERT
); | 400 swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSALERT
); |
411 | 401 |
412 for(int i = 1;i<iSize;i++) | 402 for(int i = 1;i<iSize;i++) |
413 { | 403 { |
414 if (i == 1) | 404 if (i == 1) |
415 » » » » iIcon = int(params[i]); | 405 » » » » iIcon = params[i].ToInt(); |
416 if (i == 2) | 406 if (i == 2) |
417 » » » » iType = int(params[i]); | 407 » » » » iType = params[i].ToInt(); |
418 if (i == 3) | 408 if (i == 3) |
419 » » » » swTitle = params[i]; | 409 » » » » swTitle = params[i].ToCFXWideString(); |
420 } | 410 } |
421 } | 411 } |
422 | 412 |
423 | 413 |
424 CJS_Context* pContext = (CJS_Context*)cc; | 414 CJS_Context* pContext = (CJS_Context*)cc; |
425 ASSERT(pContext != NULL); | 415 ASSERT(pContext != NULL); |
426 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 416 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
427 ASSERT(pRuntime != NULL); | 417 ASSERT(pRuntime != NULL); |
428 pRuntime->BeginBlock(); | 418 pRuntime->BeginBlock(); |
429 vRet = MsgBox(pRuntime->GetReaderApp(), JSGetPageView(cc),swMsg,swTitle,
iType,iIcon); | 419 vRet = MsgBox(pRuntime->GetReaderApp(), JSGetPageView(cc),swMsg,swTitle,
iType,iIcon); |
430 pRuntime->EndBlock(); | 420 pRuntime->EndBlock(); |
431 | 421 |
432 return TRUE; | 422 return TRUE; |
433 } | 423 } |
434 | 424 |
435 | 425 |
436 FX_BOOL app::beep(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vR
et, CFX_WideString& sError) | 426 FX_BOOL app::beep(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value& vR
et, CFX_WideString& sError) |
437 { | 427 { |
438 if (params.size() == 1) | 428 if (params.size() == 1) |
439 { | 429 { |
440 CJS_Context* pContext = (CJS_Context*)cc; | 430 CJS_Context* pContext = (CJS_Context*)cc; |
441 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 431 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
442 CPDFDoc_Environment * pEnv = pRuntime->GetReaderApp(); | 432 CPDFDoc_Environment * pEnv = pRuntime->GetReaderApp(); |
443 » » pEnv->JS_appBeep((int)params[0]); | 433 » » pEnv->JS_appBeep(params[0].ToInt()); |
444 | |
445 return TRUE; | 434 return TRUE; |
446 } | 435 } |
447 » else | 436 |
448 » { | 437 » sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); |
449 » » sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); | 438 » return FALSE; |
450 » » return FALSE; | |
451 » } | |
452 } | 439 } |
453 | 440 |
454 FX_BOOL app::findComponent(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) | 441 FX_BOOL app::findComponent(IFXJS_Context* cc, const CJS_Parameters& params, CJS_
Value& vRet, CFX_WideString& sError) |
455 { | 442 { |
456 return TRUE; | 443 return TRUE; |
457 } | 444 } |
458 | 445 |
459 FX_BOOL app::popUpMenuEx(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) | 446 FX_BOOL app::popUpMenuEx(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Va
lue& vRet, CFX_WideString& sError) |
460 { | 447 { |
461 return FALSE; | 448 return FALSE; |
(...skipping 10 matching lines...) Expand all Loading... |
472 { | 459 { |
473 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); | 460 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); |
474 return FALSE; | 461 return FALSE; |
475 } | 462 } |
476 | 463 |
477 CJS_Context* pContext = (CJS_Context*)cc; | 464 CJS_Context* pContext = (CJS_Context*)cc; |
478 ASSERT(pContext != NULL); | 465 ASSERT(pContext != NULL); |
479 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 466 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
480 ASSERT(pRuntime != NULL); | 467 ASSERT(pRuntime != NULL); |
481 | 468 |
482 » CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].oper
ator CFX_WideString()) : L""; | 469 » CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].ToCF
XWideString()) : L""; |
483 if (script.IsEmpty()) | 470 if (script.IsEmpty()) |
484 { | 471 { |
485 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMB
ER_KEYSTROKE); | 472 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMB
ER_KEYSTROKE); |
486 return TRUE; | 473 return TRUE; |
487 } | 474 } |
488 | 475 |
489 » FX_DWORD dwInterval = params.size() > 1 ? (int)params[1] : 1000; | 476 » FX_DWORD dwInterval = params.size() > 1 ? params[1].ToInt() : 1000; |
490 | 477 |
491 CPDFDoc_Environment* pApp = pRuntime->GetReaderApp(); | 478 CPDFDoc_Environment* pApp = pRuntime->GetReaderApp(); |
492 ASSERT(pApp); | 479 ASSERT(pApp); |
493 CJS_Timer* pTimer = new CJS_Timer(this, pApp); | 480 CJS_Timer* pTimer = new CJS_Timer(this, pApp); |
494 m_aTimer.Add(pTimer); | 481 m_aTimer.Add(pTimer); |
495 | 482 |
496 pTimer->SetType(0); | 483 pTimer->SetType(0); |
497 pTimer->SetRuntime(pRuntime); | 484 pTimer->SetRuntime(pRuntime); |
498 pTimer->SetJScript(script); | 485 pTimer->SetJScript(script); |
499 pTimer->SetTimeOut(0); | 486 pTimer->SetTimeOut(0); |
(...skipping 21 matching lines...) Expand all Loading... |
521 { | 508 { |
522 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); | 509 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); |
523 return FALSE; | 510 return FALSE; |
524 } | 511 } |
525 | 512 |
526 CJS_Context* pContext = (CJS_Context*)cc; | 513 CJS_Context* pContext = (CJS_Context*)cc; |
527 ASSERT(pContext != NULL); | 514 ASSERT(pContext != NULL); |
528 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 515 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
529 ASSERT(pRuntime != NULL); | 516 ASSERT(pRuntime != NULL); |
530 | 517 |
531 » CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].oper
ator CFX_WideString()) : L""; | 518 » CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].ToCF
XWideString()) : L""; |
532 if (script.IsEmpty()) | 519 if (script.IsEmpty()) |
533 { | 520 { |
534 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMB
ER_KEYSTROKE); | 521 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMB
ER_KEYSTROKE); |
535 return TRUE; | 522 return TRUE; |
536 } | 523 } |
537 | 524 |
538 » FX_DWORD dwTimeOut = params.size() > 1 ? (int)params[1] : 1000; | 525 » FX_DWORD dwTimeOut = params.size() > 1 ? params[1].ToInt() : 1000; |
539 | 526 |
540 CPDFDoc_Environment* pApp = pRuntime->GetReaderApp(); | 527 CPDFDoc_Environment* pApp = pRuntime->GetReaderApp(); |
541 ASSERT(pApp); | 528 ASSERT(pApp); |
| 529 |
542 CJS_Timer* pTimer = new CJS_Timer(this, pApp); | 530 CJS_Timer* pTimer = new CJS_Timer(this, pApp); |
543 m_aTimer.Add(pTimer); | 531 m_aTimer.Add(pTimer); |
544 | 532 |
545 pTimer->SetType(1); | 533 pTimer->SetType(1); |
546 pTimer->SetRuntime(pRuntime); | 534 pTimer->SetRuntime(pRuntime); |
547 pTimer->SetJScript(script); | 535 pTimer->SetJScript(script); |
548 pTimer->SetTimeOut(dwTimeOut); | 536 pTimer->SetTimeOut(dwTimeOut); |
549 // pTimer->SetStartTime(GetTickCount()); | |
550 // pTimer->SetJSTimer(1000); | |
551 pTimer->SetJSTimer(dwTimeOut); | 537 pTimer->SetJSTimer(dwTimeOut); |
552 | 538 |
553 JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDe
fnID(*pRuntime, L"TimerObj")); | 539 JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDe
fnID(*pRuntime, L"TimerObj")); |
554 // ASSERT(pRetObj != NULL); | |
555 | 540 |
556 CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetI
solate(),pRetObj); | 541 CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetI
solate(),pRetObj); |
557 ASSERT(pJS_TimerObj != NULL); | 542 ASSERT(pJS_TimerObj != NULL); |
558 | 543 |
559 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); | 544 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); |
560 ASSERT(pTimerObj != NULL); | 545 ASSERT(pTimerObj != NULL); |
561 | 546 |
562 pTimerObj->SetTimer(pTimer); | 547 pTimerObj->SetTimer(pTimer); |
563 | 548 |
564 vRet = pRetObj; | 549 vRet = pRetObj; |
565 | 550 |
566 return TRUE; | 551 return TRUE; |
567 } | 552 } |
568 | 553 |
569 FX_BOOL app::clearTimeOut(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) | 554 FX_BOOL app::clearTimeOut(IFXJS_Context* cc, const CJS_Parameters& params, CJS_V
alue& vRet, CFX_WideString& sError) |
570 { | 555 { |
571 CJS_Context* pContext = (CJS_Context*)cc; | 556 CJS_Context* pContext = (CJS_Context*)cc; |
572 ASSERT(pContext != NULL); | 557 ASSERT(pContext != NULL); |
573 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 558 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
574 ASSERT(pRuntime != NULL); | 559 ASSERT(pRuntime != NULL); |
575 | 560 |
576 if (params.size() != 1) | 561 if (params.size() != 1) |
577 { | 562 { |
578 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); | 563 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); |
579 return FALSE; | 564 return FALSE; |
580 } | 565 } |
581 | 566 |
582 if (params[0].GetType() == VT_fxobject) | 567 if (params[0].GetType() == VT_fxobject) |
583 { | 568 { |
584 » » JSFXObject pObj = (JSFXObject)params[0]; | 569 » » JSFXObject pObj = params[0].ToV8Object(); |
585 { | 570 { |
586 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime,
L"TimerObj")) | 571 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime,
L"TimerObj")) |
587 { | 572 { |
588 » » » » if (CJS_Object* pJSObj = (CJS_Object*)params[0]) | 573 » » » » if (CJS_Object* pJSObj = params[0].ToCJSObject()
) |
589 { | 574 { |
590 if (TimerObj* pTimerObj = (TimerObj*)pJS
Obj->GetEmbedObject()) | 575 if (TimerObj* pTimerObj = (TimerObj*)pJS
Obj->GetEmbedObject()) |
591 { | 576 { |
592 if (CJS_Timer* pTimer = pTimerOb
j->GetTimer()) | 577 if (CJS_Timer* pTimer = pTimerOb
j->GetTimer()) |
593 { | 578 { |
594 pTimer->KillJSTimer(); | 579 pTimer->KillJSTimer(); |
595 | 580 |
596 for (int i=0,sz=m_aTimer
.GetSize(); i<sz; i++) | 581 for (int i=0,sz=m_aTimer
.GetSize(); i<sz; i++) |
597 { | 582 { |
598 if (m_aTimer[i]
== pTimer) | 583 if (m_aTimer[i]
== pTimer) |
(...skipping 23 matching lines...) Expand all Loading... |
622 ASSERT(pRuntime != NULL); | 607 ASSERT(pRuntime != NULL); |
623 | 608 |
624 if (params.size() != 1) | 609 if (params.size() != 1) |
625 { | 610 { |
626 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); | 611 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAME
RROR); |
627 return FALSE; | 612 return FALSE; |
628 } | 613 } |
629 | 614 |
630 if (params[0].GetType() == VT_fxobject) | 615 if (params[0].GetType() == VT_fxobject) |
631 { | 616 { |
632 » » JSFXObject pObj = (JSFXObject)params[0]; | 617 » » JSFXObject pObj = params[0].ToV8Object(); |
633 { | 618 { |
634 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime,
L"TimerObj")) | 619 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime,
L"TimerObj")) |
635 { | 620 { |
636 » » » » if (CJS_Object* pJSObj = (CJS_Object*)params[0]) | 621 » » » » if (CJS_Object* pJSObj = params[0].ToCJSObject()
) |
637 { | 622 { |
638 if (TimerObj* pTimerObj = (TimerObj*)pJS
Obj->GetEmbedObject()) | 623 if (TimerObj* pTimerObj = (TimerObj*)pJS
Obj->GetEmbedObject()) |
639 { | 624 { |
640 if (CJS_Timer* pTimer = pTimerOb
j->GetTimer()) | 625 if (CJS_Timer* pTimer = pTimerOb
j->GetTimer()) |
641 { | 626 { |
642 pTimer->KillJSTimer(); | 627 pTimer->KillJSTimer(); |
643 | 628 |
644 for (int i=0,sz=m_aTimer
.GetSize(); i<sz; i++) | 629 for (int i=0,sz=m_aTimer
.GetSize(); i<sz; i++) |
645 { | 630 { |
646 if (m_aTimer[i]
== pTimer) | 631 if (m_aTimer[i]
== pTimer) |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 | 695 |
711 FX_BOOL app::goForward(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) | 696 FX_BOOL app::goForward(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
712 { | 697 { |
713 // Not supported. | 698 // Not supported. |
714 return TRUE; | 699 return TRUE; |
715 } | 700 } |
716 | 701 |
717 FX_BOOL app::mailMsg(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
vRet, CFX_WideString& sError) | 702 FX_BOOL app::mailMsg(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Value&
vRet, CFX_WideString& sError) |
718 { | 703 { |
719 CJS_Context* pContext = (CJS_Context*)cc; | 704 CJS_Context* pContext = (CJS_Context*)cc; |
720 ASSERT(pContext != NULL); | |
721 | |
722 v8::Isolate* isolate = GetIsolate(cc); | 705 v8::Isolate* isolate = GetIsolate(cc); |
723 | 706 |
724 FX_BOOL bUI = TRUE; | 707 FX_BOOL bUI = TRUE; |
725 CFX_WideString cTo = L""; | 708 CFX_WideString cTo = L""; |
726 CFX_WideString cCc = L""; | 709 CFX_WideString cCc = L""; |
727 CFX_WideString cBcc = L""; | 710 CFX_WideString cBcc = L""; |
728 CFX_WideString cSubject = L""; | 711 CFX_WideString cSubject = L""; |
729 CFX_WideString cMsg = L""; | 712 CFX_WideString cMsg = L""; |
730 » if(params.size() < 2) | 713 |
| 714 » if (params.size() < 1) |
731 return FALSE; | 715 return FALSE; |
732 | 716 |
733 bUI = params.size()>=1?(int)params[0]:TRUE; | |
734 cTo = params.size()>=2?(const wchar_t*)(FX_LPCWSTR)params[1].operator CF
X_WideString():L""; | |
735 cCc = params.size()>=3?(const wchar_t*)(FX_LPCWSTR)params[2].operator CF
X_WideString():L""; | |
736 cBcc = params.size()>=4?(const wchar_t*)(FX_LPCWSTR)params[3].operator C
FX_WideString():L""; | |
737 cSubject = params.size()>=5?(const wchar_t*)(FX_LPCWSTR)params[4].operat
or CFX_WideString():L""; | |
738 cMsg = params.size()>=6?(const wchar_t*)(FX_LPCWSTR)params[5].operator C
FX_WideString():L""; | |
739 | |
740 | |
741 if (params[0].GetType() == VT_object) | 717 if (params[0].GetType() == VT_object) |
742 { | 718 { |
743 » » JSObject pObj = (JSObject)params[0]; | 719 » » JSObject pObj = params[0].ToV8Object(); |
744 | 720 |
745 » » v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj,
L"bUI"); | 721 » » v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate, pObj
, L"bUI"); |
746 » » » bUI = (int)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu
e)); | 722 » » bUI = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(
); |
747 | 723 |
748 pValue = JS_GetObjectElement(isolate, pObj, L"cTo"); | 724 pValue = JS_GetObjectElement(isolate, pObj, L"cTo"); |
749 » » » cTo = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o
perator CFX_WideString(); | 725 » » cTo = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWi
deString(); |
750 | 726 |
751 » » pValue = JS_GetObjectElement(isolate,pObj, L"cCc"); | 727 » » pValue = JS_GetObjectElement(isolate, pObj, L"cCc"); |
752 » » » cCc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).o
perator CFX_WideString(); | 728 » » cCc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWi
deString(); |
753 | 729 |
754 » » pValue = JS_GetObjectElement(isolate,pObj, L"cBcc"); | 730 » » pValue = JS_GetObjectElement(isolate, pObj, L"cBcc"); |
755 » » » cBcc = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).
operator CFX_WideString(); | 731 » » cBcc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXW
ideString(); |
756 | 732 |
757 » » pValue = JS_GetObjectElement(isolate,pObj, L"cSubject"); | 733 » » pValue = JS_GetObjectElement(isolate, pObj, L"cSubject"); |
758 » » » cSubject = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValu
e)).operator CFX_WideString(); | 734 » » cSubject = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).To
CFXWideString(); |
759 | 735 |
760 » » pValue = JS_GetObjectElement(isolate,pObj, L"cMsg"); | 736 » » pValue = JS_GetObjectElement(isolate, pObj, L"cMsg"); |
761 » » » cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).
operator CFX_WideString(); | 737 » » cMsg = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXW
ideString(); |
| 738 » } else { |
| 739 » » if (params.size() < 2) |
| 740 » » » return FALSE; |
| 741 |
| 742 » » bUI = params[0].ToBool(); |
| 743 » » cTo = params[1].ToCFXWideString(); |
| 744 |
| 745 » » if (params.size() >= 3) |
| 746 » » » cCc = params[2].ToCFXWideString(); |
| 747 » » if (params.size() >= 4) |
| 748 » » » cBcc = params[3].ToCFXWideString(); |
| 749 » » if (params.size() >= 5) |
| 750 » » » cSubject = params[4].ToCFXWideString(); |
| 751 » » if (params.size() >= 6) |
| 752 » » » cMsg = params[5].ToCFXWideString(); |
762 } | 753 } |
763 | 754 |
764 | |
765 | |
766 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 755 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
767 ASSERT(pRuntime != NULL); | 756 ASSERT(pRuntime != NULL); |
768 | 757 |
769 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); | 758 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); |
770 ASSERT(pApp != NULL); | 759 ASSERT(pApp != NULL); |
771 | 760 |
772 pRuntime->BeginBlock(); | 761 pRuntime->BeginBlock(); |
773 pApp->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_
str(), cBcc.c_str(), cMsg.c_str()); | 762 pApp->JS_docmailForm(NULL, 0, bUI, cTo.c_str(), cSubject.c_str(), cCc.c_
str(), cBcc.c_str(), cMsg.c_str()); |
774 ////////////////////////////////////////////////////////////////////////
/////////////////////// | |
775 pRuntime->EndBlock(); | 763 pRuntime->EndBlock(); |
776 | 764 |
777 //return bRet; | |
778 return FALSE; | 765 return FALSE; |
779 } | 766 } |
780 | 767 |
781 FX_BOOL app::launchURL(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) | 768 FX_BOOL app::launchURL(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Valu
e& vRet, CFX_WideString& sError) |
782 { | 769 { |
783 // Unsafe, not supported. | 770 // Unsafe, not supported. |
784 return TRUE; | 771 return TRUE; |
785 } | 772 } |
786 | 773 |
787 FX_BOOL app::runtimeHighlight(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
ng& sError) | 774 FX_BOOL app::runtimeHighlight(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStri
ng& sError) |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 CFX_WideString swLabel = L""; | 844 CFX_WideString swLabel = L""; |
858 CFX_WideString swTitle = L"PDF"; | 845 CFX_WideString swTitle = L"PDF"; |
859 CFX_WideString swDefault = L""; | 846 CFX_WideString swDefault = L""; |
860 bool bPassWord = false; | 847 bool bPassWord = false; |
861 | 848 |
862 v8::Isolate* isolate = GetIsolate(cc); | 849 v8::Isolate* isolate = GetIsolate(cc); |
863 | 850 |
864 int iLength = params.size(); | 851 int iLength = params.size(); |
865 if (iLength > 0 && params[0].GetType() == VT_object) | 852 if (iLength > 0 && params[0].GetType() == VT_object) |
866 { | 853 { |
867 » » JSObject pObj = (JSObject )params[0]; | 854 » » JSObject pObj = params[0].ToV8Object(); |
868 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj,
L"cQuestion"); | 855 v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj,
L"cQuestion"); |
869 » » swQuestion = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).op
erator CFX_WideString(); | 856 » » swQuestion = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).To
CFXWideString(); |
870 | 857 |
871 pValue = JS_GetObjectElement(isolate,pObj,L"cTitle"); | 858 pValue = JS_GetObjectElement(isolate,pObj,L"cTitle"); |
872 » » swTitle = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).opera
tor CFX_WideString(); | 859 » » swTitle = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFX
WideString(); |
873 | 860 |
874 pValue = JS_GetObjectElement(isolate,pObj,L"cDefault"); | 861 pValue = JS_GetObjectElement(isolate,pObj,L"cDefault"); |
875 » » swDefault = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ope
rator CFX_WideString(); | 862 » » swDefault = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToC
FXWideString(); |
876 | 863 |
877 pValue = JS_GetObjectElement(isolate,pObj,L"cLabel"); | 864 pValue = JS_GetObjectElement(isolate,pObj,L"cLabel"); |
878 » » swLabel = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).opera
tor CFX_WideString(); | 865 » » swLabel = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToCFX
WideString(); |
879 | 866 |
880 pValue = JS_GetObjectElement(isolate,pObj,L"bPassword"); | 867 pValue = JS_GetObjectElement(isolate,pObj,L"bPassword"); |
881 » » bPassWord = (bool)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue
)); | 868 » » bPassWord = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).ToB
ool(); |
882 } | 869 } |
883 else | 870 else |
884 { | 871 { |
885 switch(iLength) | 872 switch(iLength) |
886 { | 873 { |
887 case 5: | 874 case 5: |
888 » » » swLabel = params[4]; | 875 » » » swLabel = params[4].ToCFXWideString(); |
889 // FALLTHROUGH | 876 // FALLTHROUGH |
890 case 4: | 877 case 4: |
891 » » » bPassWord = params[3]; | 878 » » » bPassWord = params[3].ToBool(); |
892 // FALLTHROUGH | 879 // FALLTHROUGH |
893 case 3: | 880 case 3: |
894 » » » swDefault = params[2]; | 881 » » » swDefault = params[2].ToCFXWideString(); |
895 // FALLTHROUGH | 882 // FALLTHROUGH |
896 case 2: | 883 case 2: |
897 » » » swTitle = params[1]; | 884 » » » swTitle = params[1].ToCFXWideString(); |
898 // FALLTHROUGH | 885 // FALLTHROUGH |
899 case 1: | 886 case 1: |
900 » » » swQuestion = params[0]; | 887 » » » swQuestion = params[0].ToCFXWideString(); |
901 // FALLTHROUGH | 888 // FALLTHROUGH |
902 default: | 889 default: |
903 break; | 890 break; |
904 } | 891 } |
905 } | 892 } |
906 | 893 |
907 CJS_Context* pContext = (CJS_Context *)cc; | 894 CJS_Context* pContext = (CJS_Context *)cc; |
908 ASSERT(pContext != NULL); | 895 ASSERT(pContext != NULL); |
909 | 896 |
910 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); | 897 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); |
(...skipping 22 matching lines...) Expand all Loading... |
933 | 920 |
934 FX_BOOL app::media(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) | 921 FX_BOOL app::media(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) |
935 { | 922 { |
936 return FALSE; | 923 return FALSE; |
937 } | 924 } |
938 | 925 |
939 FX_BOOL app::execDialog(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) | 926 FX_BOOL app::execDialog(IFXJS_Context* cc, const CJS_Parameters& params, CJS_Val
ue& vRet, CFX_WideString& sError) |
940 { | 927 { |
941 return TRUE; | 928 return TRUE; |
942 } | 929 } |
OLD | NEW |