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/IJavaScript.h" | 7 #include "../../include/javascript/IJavaScript.h" |
8 #include "../../include/javascript/JS_Context.h" | 8 #include "../../include/javascript/JS_Context.h" |
9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
10 #include "../../include/javascript/JS_EventHandler.h" | 10 #include "../../include/javascript/JS_EventHandler.h" |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 for (int i=0,sz=m_pGlobalData->GetSize(); i<sz; i++) | 291 for (int i=0,sz=m_pGlobalData->GetSize(); i<sz; i++) |
292 { | 292 { |
293 CJS_GlobalData_Element* pData = m_pGlobalData->GetAt(i); | 293 CJS_GlobalData_Element* pData = m_pGlobalData->GetAt(i); |
294 ASSERT(pData != NULL); | 294 ASSERT(pData != NULL); |
295 | 295 |
296 switch (pData->data.nType) | 296 switch (pData->data.nType) |
297 { | 297 { |
298 case JS_GLOBALDATA_TYPE_NUMBER: | 298 case JS_GLOBALDATA_TYPE_NUMBER: |
299 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_NUMBER, pData->data.dData, false, "", v8::Handle<v8::Object>(), pData->bPe
rsistent == 1); | 299 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_NUMBER, pData->data.dData, false, "", v8::Handle<v8::Object>(), pData->bPe
rsistent == 1); |
300 JS_PutObjectNumber(NULL,(JSFXObject)(*m_pJSObject), | 300 JS_PutObjectNumber(NULL,(JSFXObject)(*m_pJSObject), |
301 » » » » pData->data.sKey.UTF8Decode(), pData->data.dData
); | 301 » » » » » » » pData->data.sKey.UTF8
Decode().c_str(), pData->data.dData); |
302 break; | 302 break; |
303 case JS_GLOBALDATA_TYPE_BOOLEAN: | 303 case JS_GLOBALDATA_TYPE_BOOLEAN: |
304 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_BOOLEAN, 0, (bool)(pData->data.bData == 1), "", v8::Handle<v8::Object>(),
pData->bPersistent == 1); | 304 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_BOOLEAN, 0, (bool)(pData->data.bData == 1), "", v8::Handle<v8::Object>(),
pData->bPersistent == 1); |
305 JS_PutObjectBoolean(NULL,(JSFXObject)(*m_pJSObject), | 305 JS_PutObjectBoolean(NULL,(JSFXObject)(*m_pJSObject), |
306 » » » » pData->data.sKey.UTF8Decode(), (bool)(pData->dat
a.bData == 1)); | 306 » » » » » » » » pData->data.sKey
.UTF8Decode().c_str(), (bool)(pData->data.bData == 1)); |
307 break; | 307 break; |
308 case JS_GLOBALDATA_TYPE_STRING: | 308 case JS_GLOBALDATA_TYPE_STRING: |
309 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_STRING, 0, false, pData->data.sData, v8::Handle<v8::Object>(), pData->bPer
sistent == 1); | 309 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_STRING, 0, false, pData->data.sData, v8::Handle<v8::Object>(), pData->bPer
sistent == 1); |
310 » » » JS_PutObjectString(NULL,(JSFXObject)(*m_pJSObject), | 310 » » » JS_PutObjectString(NULL, (JSFXObject)(*m_pJSObject), |
311 » » » » pData->data.sKey.UTF8Decode(), | 311 » » » » » » » pData->data.sKey.UTF8
Decode().c_str(), |
312 » » » » pData->data.sData.UTF8Decode()); | 312 » » » » » » » pData->data.sData.UTF
8Decode().c_str()); |
313 break; | 313 break; |
314 case JS_GLOBALDATA_TYPE_OBJECT: | 314 case JS_GLOBALDATA_TYPE_OBJECT: |
315 { | 315 { |
316 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec
t)(*m_pJSObject)); | 316 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec
t)(*m_pJSObject)); |
317 v8::Handle<v8::Object> pObj = JS_NewFxDynamicObj
(pRuntime, NULL, -1); | 317 v8::Handle<v8::Object> pObj = JS_NewFxDynamicObj
(pRuntime, NULL, -1); |
318 | 318 |
319 PutObjectProperty(pObj, &pData->data); | 319 PutObjectProperty(pObj, &pData->data); |
320 | 320 |
321 this->SetGlobalVariables(pData->data.sKey, JS_GL
OBALDATA_TYPE_OBJECT, 0, false, "", | 321 this->SetGlobalVariables(pData->data.sKey, JS_GL
OBALDATA_TYPE_OBJECT, 0, false, "", |
322 (JSObject)pObj, pData->bPersistent == 1)
; | 322 (JSObject)pObj, pData->bPersistent == 1)
; |
323 JS_PutObjectObject(NULL,(JSFXObject)(*m_pJSObjec
t), | 323 JS_PutObjectObject(NULL,(JSFXObject)(*m_pJSObjec
t), |
324 » » » » » pData->data.sKey.UTF8Decode(), (JSObject
)pObj); | 324 » » » » » » » » pData->data.s
Key.UTF8Decode().c_str(), (JSObject)pObj); |
325 } | 325 } |
326 break; | 326 break; |
327 case JS_GLOBALDATA_TYPE_NULL: | 327 case JS_GLOBALDATA_TYPE_NULL: |
328 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_NULL, 0, false, "", v8::Handle<v8::Object>(), pData->bPersistent == 1); | 328 this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA
_TYPE_NULL, 0, false, "", v8::Handle<v8::Object>(), pData->bPersistent == 1); |
329 JS_PutObjectNull(NULL,(JSFXObject)(*m_pJSObject), | 329 JS_PutObjectNull(NULL,(JSFXObject)(*m_pJSObject), |
330 » » » » pData->data.sKey.UTF8Decode()); | 330 » » » » » » » pData->data.sKey.UTF8De
code().c_str()); |
331 break; | 331 break; |
332 } | 332 } |
333 } | 333 } |
334 } | 334 } |
335 | 335 |
336 void global_alternate::CommitGlobalPersisitentVariables() | 336 void global_alternate::CommitGlobalPersisitentVariables() |
337 { | 337 { |
338 ASSERT(m_pGlobalData != NULL); | 338 ASSERT(m_pGlobalData != NULL); |
339 | 339 |
340 FX_POSITION pos = m_mapGlobal.GetStartPosition(); | 340 FX_POSITION pos = m_mapGlobal.GetStartPosition(); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 ASSERT(pData != NULL); | 460 ASSERT(pData != NULL); |
461 | 461 |
462 for (int i=0,sz=pData->objData.Count(); i<sz; i++) | 462 for (int i=0,sz=pData->objData.Count(); i<sz; i++) |
463 { | 463 { |
464 CJS_KeyValue* pObjData = pData->objData.GetAt(i); | 464 CJS_KeyValue* pObjData = pData->objData.GetAt(i); |
465 ASSERT(pObjData != NULL); | 465 ASSERT(pObjData != NULL); |
466 | 466 |
467 switch (pObjData->nType) | 467 switch (pObjData->nType) |
468 { | 468 { |
469 case JS_GLOBALDATA_TYPE_NUMBER: | 469 case JS_GLOBALDATA_TYPE_NUMBER: |
470 » » » JS_PutObjectNumber(NULL,(JSObject)pObj, pObjData->sKey.U
TF8Decode(), pObjData->dData); | 470 » » » JS_PutObjectNumber(NULL,(JSObject)pObj, pObjData->sKey.U
TF8Decode().c_str(), pObjData->dData); |
471 break; | 471 break; |
472 case JS_GLOBALDATA_TYPE_BOOLEAN: | 472 case JS_GLOBALDATA_TYPE_BOOLEAN: |
473 » » » JS_PutObjectBoolean(NULL,(JSObject)pObj, pObjData->sKey.
UTF8Decode(), (bool)(pObjData->bData == 1)); | 473 » » » JS_PutObjectBoolean(NULL,(JSObject)pObj, pObjData->sKey.
UTF8Decode().c_str(), (bool)(pObjData->bData == 1)); |
474 break; | 474 break; |
475 case JS_GLOBALDATA_TYPE_STRING: | 475 case JS_GLOBALDATA_TYPE_STRING: |
476 » » » JS_PutObjectString(NULL,(JSObject)pObj, pObjData->sKey.U
TF8Decode(), pObjData->sData.UTF8Decode()); | 476 » » » JS_PutObjectString(NULL,(JSObject)pObj, pObjData->sKey.U
TF8Decode().c_str(), pObjData->sData.UTF8Decode().c_str()); |
477 break; | 477 break; |
478 case JS_GLOBALDATA_TYPE_OBJECT: | 478 case JS_GLOBALDATA_TYPE_OBJECT: |
479 { | 479 { |
480 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec
t)(*m_pJSObject)); | 480 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec
t)(*m_pJSObject)); |
481 v8::Handle<v8::Object> pNewObj = JS_NewFxDynamic
Obj(pRuntime, NULL, -1); | 481 v8::Handle<v8::Object> pNewObj = JS_NewFxDynamic
Obj(pRuntime, NULL, -1); |
482 PutObjectProperty(pNewObj, pObjData); | 482 PutObjectProperty(pNewObj, pObjData); |
483 » » » » JS_PutObjectObject(NULL, (JSObject)pObj, pObjDat
a->sKey.UTF8Decode(), (JSObject)pNewObj); | 483 » » » » JS_PutObjectObject(NULL, (JSObject)pObj, pObjDat
a->sKey.UTF8Decode().c_str(), (JSObject)pNewObj); |
484 } | 484 } |
485 break; | 485 break; |
486 case JS_GLOBALDATA_TYPE_NULL: | 486 case JS_GLOBALDATA_TYPE_NULL: |
487 » » » JS_PutObjectNull(NULL,(JSObject)pObj, pObjData->sKey.UTF
8Decode()); | 487 » » » JS_PutObjectNull(NULL,(JSObject)pObj, pObjData->sKey.UTF
8Decode().c_str()); |
488 break; | 488 break; |
489 } | 489 } |
490 } | 490 } |
491 } | 491 } |
492 | 492 |
493 void global_alternate::DestroyGlobalPersisitentVariables() | 493 void global_alternate::DestroyGlobalPersisitentVariables() |
494 { | 494 { |
495 FX_POSITION pos = m_mapGlobal.GetStartPosition(); | 495 FX_POSITION pos = m_mapGlobal.GetStartPosition(); |
496 while (pos) | 496 while (pos) |
497 { | 497 { |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 if (nHash == JSCONST_nDateHash) | 625 if (nHash == JSCONST_nDateHash) |
626 return VT_date; | 626 return VT_date; |
627 if (nHash == JSCONST_nObjectHash) | 627 if (nHash == JSCONST_nObjectHash) |
628 return VT_object; | 628 return VT_object; |
629 if (nHash == JSCONST_nFXobjHash) | 629 if (nHash == JSCONST_nFXobjHash) |
630 return VT_fxobject; | 630 return VT_fxobject; |
631 | 631 |
632 return VT_unknown; | 632 return VT_unknown; |
633 } | 633 } |
634 | 634 |
OLD | NEW |