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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 return FALSE; | 115 return FALSE; |
116 | 116 |
117 CJS_Context* pContext = (CJS_Context*)cc; | 117 CJS_Context* pContext = (CJS_Context*)cc; |
118 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); | 118 CPDFDoc_Environment* pApp = pContext->GetReaderApp(); |
119 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 119 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
120 CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); | 120 CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); |
121 CJS_Array aDocs(pRuntime->GetIsolate()); | 121 CJS_Array aDocs(pRuntime->GetIsolate()); |
122 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) { | 122 if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) { |
123 CJS_Document* pJSDocument = NULL; | 123 CJS_Document* pJSDocument = NULL; |
124 if (pDoc == pCurDoc) { | 124 if (pDoc == pCurDoc) { |
125 JSFXObject pObj = JS_GetThisObj(*pRuntime); | 125 v8::Local<v8::Object> pObj = JS_GetThisObj(pRuntime->GetIsolate()); |
126 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"Document")) | 126 if (JS_GetObjDefnID(pObj) == |
| 127 JS_GetObjDefnID(pRuntime->GetIsolate(), L"Document")) |
127 pJSDocument = | 128 pJSDocument = |
128 (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(), pObj); | 129 (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(), pObj); |
129 } else { | 130 } else { |
130 JSFXObject pObj = JS_NewFxDynamicObj( | 131 v8::Local<v8::Object> pObj = JS_NewFxDynamicObj( |
131 *pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"Document")); | 132 pRuntime->GetIsolate(), pContext, |
| 133 JS_GetObjDefnID(pRuntime->GetIsolate(), L"Document")); |
132 pJSDocument = (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(), pObj); | 134 pJSDocument = (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(), pObj); |
133 ASSERT(pJSDocument != NULL); | 135 ASSERT(pJSDocument != NULL); |
134 } | 136 } |
135 aDocs.SetElement(0, CJS_Value(pRuntime->GetIsolate(), pJSDocument)); | 137 aDocs.SetElement(0, CJS_Value(pRuntime->GetIsolate(), pJSDocument)); |
136 } | 138 } |
137 if (aDocs.GetLength() > 0) | 139 if (aDocs.GetLength() > 0) |
138 vp << aDocs; | 140 vp << aDocs; |
139 else | 141 else |
140 vp.SetNull(); | 142 vp.SetNull(); |
141 | 143 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 | 269 |
268 CFX_WideString swMsg = L""; | 270 CFX_WideString swMsg = L""; |
269 CFX_WideString swTitle = L""; | 271 CFX_WideString swTitle = L""; |
270 int iIcon = 0; | 272 int iIcon = 0; |
271 int iType = 0; | 273 int iType = 0; |
272 | 274 |
273 v8::Isolate* isolate = GetIsolate(cc); | 275 v8::Isolate* isolate = GetIsolate(cc); |
274 | 276 |
275 if (iSize == 1) { | 277 if (iSize == 1) { |
276 if (params[0].GetType() == VT_object) { | 278 if (params[0].GetType() == VT_object) { |
277 JSObject pObj = params[0].ToV8Object(); | 279 v8::Local<v8::Object> pObj = params[0].ToV8Object(); |
278 { | 280 { |
279 v8::Local<v8::Value> pValue = | 281 v8::Local<v8::Value> pValue = |
280 JS_GetObjectElement(isolate, pObj, L"cMsg"); | 282 JS_GetObjectElement(isolate, pObj, L"cMsg"); |
281 swMsg = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString(); | 283 swMsg = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString(); |
282 | 284 |
283 pValue = JS_GetObjectElement(isolate, pObj, L"cTitle"); | 285 pValue = JS_GetObjectElement(isolate, pObj, L"cTitle"); |
284 swTitle = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString(); | 286 swTitle = CJS_Value(isolate, pValue, VT_unknown).ToCFXWideString(); |
285 | 287 |
286 pValue = JS_GetObjectElement(isolate, pObj, L"nIcon"); | 288 pValue = JS_GetObjectElement(isolate, pObj, L"nIcon"); |
287 iIcon = CJS_Value(isolate, pValue, VT_unknown).ToInt(); | 289 iIcon = CJS_Value(isolate, pValue, VT_unknown).ToInt(); |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 CJS_Timer* pTimer = new CJS_Timer(this, pApp); | 414 CJS_Timer* pTimer = new CJS_Timer(this, pApp); |
413 m_aTimer.Add(pTimer); | 415 m_aTimer.Add(pTimer); |
414 | 416 |
415 pTimer->SetType(0); | 417 pTimer->SetType(0); |
416 pTimer->SetRuntime(pRuntime); | 418 pTimer->SetRuntime(pRuntime); |
417 pTimer->SetJScript(script); | 419 pTimer->SetJScript(script); |
418 pTimer->SetTimeOut(0); | 420 pTimer->SetTimeOut(0); |
419 // pTimer->SetStartTime(GetTickCount()); | 421 // pTimer->SetStartTime(GetTickCount()); |
420 pTimer->SetJSTimer(dwInterval); | 422 pTimer->SetJSTimer(dwInterval); |
421 | 423 |
422 JSFXObject pRetObj = JS_NewFxDynamicObj( | 424 v8::Local<v8::Object> pRetObj = |
423 *pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"TimerObj")); | 425 JS_NewFxDynamicObj(pRuntime->GetIsolate(), pContext, |
| 426 JS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj")); |
424 | 427 |
425 CJS_TimerObj* pJS_TimerObj = | 428 CJS_TimerObj* pJS_TimerObj = |
426 (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(), pRetObj); | 429 (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(), pRetObj); |
427 ASSERT(pJS_TimerObj != NULL); | 430 ASSERT(pJS_TimerObj != NULL); |
428 | 431 |
429 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); | 432 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); |
430 ASSERT(pTimerObj != NULL); | 433 ASSERT(pTimerObj != NULL); |
431 | 434 |
432 pTimerObj->SetTimer(pTimer); | 435 pTimerObj->SetTimer(pTimer); |
433 | 436 |
(...skipping 30 matching lines...) Expand all Loading... |
464 | 467 |
465 CJS_Timer* pTimer = new CJS_Timer(this, pApp); | 468 CJS_Timer* pTimer = new CJS_Timer(this, pApp); |
466 m_aTimer.Add(pTimer); | 469 m_aTimer.Add(pTimer); |
467 | 470 |
468 pTimer->SetType(1); | 471 pTimer->SetType(1); |
469 pTimer->SetRuntime(pRuntime); | 472 pTimer->SetRuntime(pRuntime); |
470 pTimer->SetJScript(script); | 473 pTimer->SetJScript(script); |
471 pTimer->SetTimeOut(dwTimeOut); | 474 pTimer->SetTimeOut(dwTimeOut); |
472 pTimer->SetJSTimer(dwTimeOut); | 475 pTimer->SetJSTimer(dwTimeOut); |
473 | 476 |
474 JSFXObject pRetObj = JS_NewFxDynamicObj( | 477 v8::Local<v8::Object> pRetObj = |
475 *pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"TimerObj")); | 478 JS_NewFxDynamicObj(pRuntime->GetIsolate(), pContext, |
| 479 JS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj")); |
476 | 480 |
477 CJS_TimerObj* pJS_TimerObj = | 481 CJS_TimerObj* pJS_TimerObj = |
478 (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(), pRetObj); | 482 (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(), pRetObj); |
479 ASSERT(pJS_TimerObj != NULL); | 483 ASSERT(pJS_TimerObj != NULL); |
480 | 484 |
481 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); | 485 TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject(); |
482 ASSERT(pTimerObj != NULL); | 486 ASSERT(pTimerObj != NULL); |
483 | 487 |
484 pTimerObj->SetTimer(pTimer); | 488 pTimerObj->SetTimer(pTimer); |
485 | 489 |
(...skipping 10 matching lines...) Expand all Loading... |
496 ASSERT(pContext != NULL); | 500 ASSERT(pContext != NULL); |
497 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 501 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
498 ASSERT(pRuntime != NULL); | 502 ASSERT(pRuntime != NULL); |
499 | 503 |
500 if (params.size() != 1) { | 504 if (params.size() != 1) { |
501 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); | 505 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); |
502 return FALSE; | 506 return FALSE; |
503 } | 507 } |
504 | 508 |
505 if (params[0].GetType() == VT_fxobject) { | 509 if (params[0].GetType() == VT_fxobject) { |
506 JSFXObject pObj = params[0].ToV8Object(); | 510 v8::Local<v8::Object> pObj = params[0].ToV8Object(); |
507 { | 511 { |
508 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"TimerObj")) { | 512 if (JS_GetObjDefnID(pObj) == |
| 513 JS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj")) { |
509 if (CJS_Object* pJSObj = params[0].ToCJSObject()) { | 514 if (CJS_Object* pJSObj = params[0].ToCJSObject()) { |
510 if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject()) { | 515 if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject()) { |
511 if (CJS_Timer* pTimer = pTimerObj->GetTimer()) { | 516 if (CJS_Timer* pTimer = pTimerObj->GetTimer()) { |
512 pTimer->KillJSTimer(); | 517 pTimer->KillJSTimer(); |
513 | 518 |
514 for (int i = 0, sz = m_aTimer.GetSize(); i < sz; i++) { | 519 for (int i = 0, sz = m_aTimer.GetSize(); i < sz; i++) { |
515 if (m_aTimer[i] == pTimer) { | 520 if (m_aTimer[i] == pTimer) { |
516 m_aTimer.RemoveAt(i); | 521 m_aTimer.RemoveAt(i); |
517 break; | 522 break; |
518 } | 523 } |
(...skipping 19 matching lines...) Expand all Loading... |
538 ASSERT(pContext != NULL); | 543 ASSERT(pContext != NULL); |
539 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); | 544 CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
540 ASSERT(pRuntime != NULL); | 545 ASSERT(pRuntime != NULL); |
541 | 546 |
542 if (params.size() != 1) { | 547 if (params.size() != 1) { |
543 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); | 548 sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR); |
544 return FALSE; | 549 return FALSE; |
545 } | 550 } |
546 | 551 |
547 if (params[0].GetType() == VT_fxobject) { | 552 if (params[0].GetType() == VT_fxobject) { |
548 JSFXObject pObj = params[0].ToV8Object(); | 553 v8::Local<v8::Object> pObj = params[0].ToV8Object(); |
549 { | 554 { |
550 if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"TimerObj")) { | 555 if (JS_GetObjDefnID(pObj) == |
| 556 JS_GetObjDefnID(pRuntime->GetIsolate(), L"TimerObj")) { |
551 if (CJS_Object* pJSObj = params[0].ToCJSObject()) { | 557 if (CJS_Object* pJSObj = params[0].ToCJSObject()) { |
552 if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject()) { | 558 if (TimerObj* pTimerObj = (TimerObj*)pJSObj->GetEmbedObject()) { |
553 if (CJS_Timer* pTimer = pTimerObj->GetTimer()) { | 559 if (CJS_Timer* pTimer = pTimerObj->GetTimer()) { |
554 pTimer->KillJSTimer(); | 560 pTimer->KillJSTimer(); |
555 | 561 |
556 for (int i = 0, sz = m_aTimer.GetSize(); i < sz; i++) { | 562 for (int i = 0, sz = m_aTimer.GetSize(); i < sz; i++) { |
557 if (m_aTimer[i] == pTimer) { | 563 if (m_aTimer[i] == pTimer) { |
558 m_aTimer.RemoveAt(i); | 564 m_aTimer.RemoveAt(i); |
559 break; | 565 break; |
560 } | 566 } |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 CFX_WideString cTo = L""; | 641 CFX_WideString cTo = L""; |
636 CFX_WideString cCc = L""; | 642 CFX_WideString cCc = L""; |
637 CFX_WideString cBcc = L""; | 643 CFX_WideString cBcc = L""; |
638 CFX_WideString cSubject = L""; | 644 CFX_WideString cSubject = L""; |
639 CFX_WideString cMsg = L""; | 645 CFX_WideString cMsg = L""; |
640 | 646 |
641 if (params.size() < 1) | 647 if (params.size() < 1) |
642 return FALSE; | 648 return FALSE; |
643 | 649 |
644 if (params[0].GetType() == VT_object) { | 650 if (params[0].GetType() == VT_object) { |
645 JSObject pObj = params[0].ToV8Object(); | 651 v8::Local<v8::Object> pObj = params[0].ToV8Object(); |
646 | 652 |
647 v8::Local<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"bUI"); | 653 v8::Local<v8::Value> pValue = JS_GetObjectElement(isolate, pObj, L"bUI"); |
648 bUI = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); | 654 bUI = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToBool(); |
649 | 655 |
650 pValue = JS_GetObjectElement(isolate, pObj, L"cTo"); | 656 pValue = JS_GetObjectElement(isolate, pObj, L"cTo"); |
651 cTo = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); | 657 cTo = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); |
652 | 658 |
653 pValue = JS_GetObjectElement(isolate, pObj, L"cCc"); | 659 pValue = JS_GetObjectElement(isolate, pObj, L"cCc"); |
654 cCc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); | 660 cCc = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); |
655 | 661 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 CFX_WideString swQuestion = L""; | 779 CFX_WideString swQuestion = L""; |
774 CFX_WideString swLabel = L""; | 780 CFX_WideString swLabel = L""; |
775 CFX_WideString swTitle = L"PDF"; | 781 CFX_WideString swTitle = L"PDF"; |
776 CFX_WideString swDefault = L""; | 782 CFX_WideString swDefault = L""; |
777 bool bPassWord = false; | 783 bool bPassWord = false; |
778 | 784 |
779 v8::Isolate* isolate = GetIsolate(cc); | 785 v8::Isolate* isolate = GetIsolate(cc); |
780 | 786 |
781 int iLength = params.size(); | 787 int iLength = params.size(); |
782 if (iLength > 0 && params[0].GetType() == VT_object) { | 788 if (iLength > 0 && params[0].GetType() == VT_object) { |
783 JSObject pObj = params[0].ToV8Object(); | 789 v8::Local<v8::Object> pObj = params[0].ToV8Object(); |
784 v8::Local<v8::Value> pValue = | 790 v8::Local<v8::Value> pValue = |
785 JS_GetObjectElement(isolate, pObj, L"cQuestion"); | 791 JS_GetObjectElement(isolate, pObj, L"cQuestion"); |
786 swQuestion = | 792 swQuestion = |
787 CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); | 793 CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); |
788 | 794 |
789 pValue = JS_GetObjectElement(isolate, pObj, L"cTitle"); | 795 pValue = JS_GetObjectElement(isolate, pObj, L"cTitle"); |
790 swTitle = | 796 swTitle = |
791 CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); | 797 CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue)).ToCFXWideString(); |
792 | 798 |
793 pValue = JS_GetObjectElement(isolate, pObj, L"cDefault"); | 799 pValue = JS_GetObjectElement(isolate, pObj, L"cDefault"); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 CFX_WideString& sError) { | 863 CFX_WideString& sError) { |
858 return FALSE; | 864 return FALSE; |
859 } | 865 } |
860 | 866 |
861 FX_BOOL app::execDialog(IFXJS_Context* cc, | 867 FX_BOOL app::execDialog(IFXJS_Context* cc, |
862 const CJS_Parameters& params, | 868 const CJS_Parameters& params, |
863 CJS_Value& vRet, | 869 CJS_Value& vRet, |
864 CFX_WideString& sError) { | 870 CFX_WideString& sError) { |
865 return TRUE; | 871 return TRUE; |
866 } | 872 } |
OLD | NEW |