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