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

Side by Side Diff: fpdfsdk/src/javascript/global.cpp

Issue 1140033004: Merge V8 API updates to xfa branch (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 7 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/src/javascript/app.cpp ('k') | fpdfsdk/src/jsapi/fxjs_v8.cpp » ('j') | 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 "../../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 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 { 162 {
163 if (vp.IsSetting()) 163 if (vp.IsSetting())
164 { 164 {
165 CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname) ; 165 CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname) ;
166 switch (vp.GetType()) 166 switch (vp.GetType())
167 { 167 {
168 case VT_number: 168 case VT_number:
169 { 169 {
170 double dData; 170 double dData;
171 vp >> dData; 171 vp >> dData;
172 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_NUMBER, dData, false, "", v8::Handle<v8::Object>(), FALSE); 172 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_NUMBER, dData, false, "", v8::Local<v8::Object>(), FALSE);
173 } 173 }
174 case VT_boolean: 174 case VT_boolean:
175 { 175 {
176 bool bData; 176 bool bData;
177 vp >> bData; 177 vp >> bData;
178 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_BOOLEAN, 0, bData, "", v8::Handle<v8::Object>(), FALSE); 178 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_BOOLEAN, 0, bData, "", v8::Local<v8::Object>(), FALSE);
179 } 179 }
180 case VT_string: 180 case VT_string:
181 { 181 {
182 CFX_ByteString sData; 182 CFX_ByteString sData;
183 vp >> sData; 183 vp >> sData;
184 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_STRING, 0, false, sData, v8::Handle<v8::Object>(), FALSE); 184 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_STRING, 0, false, sData, v8::Local<v8::Object>(), FALSE);
185 } 185 }
186 case VT_object: 186 case VT_object:
187 { 187 {
188 JSObject pData; 188 JSObject pData;
189 vp >> pData; 189 vp >> pData;
190 return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_OBJECT, 0, false, "", pData, FALSE); 190 return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_OBJECT, 0, false, "", pData, FALSE);
191 } 191 }
192 case VT_null: 192 case VT_null:
193 { 193 {
194 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_NULL, 0, false, "", v8::Handle<v8::Object>(), FALSE); 194 » » » » return SetGlobalVariables(sPropName, JS_GLOBALDA TA_TYPE_NULL, 0, false, "", v8::Local<v8::Object>(), FALSE);
195 } 195 }
196 case VT_undefined: 196 case VT_undefined:
197 { 197 {
198 DelProperty(cc, propname, sError); 198 DelProperty(cc, propname, sError);
199 return TRUE; 199 return TRUE;
200 } 200 }
201 default: 201 default:
202 return FALSE; 202 return FALSE;
203 } 203 }
204 } 204 }
(...skipping 14 matching lines...) Expand all
219 vp << pData->dData; 219 vp << pData->dData;
220 break; 220 break;
221 case JS_GLOBALDATA_TYPE_BOOLEAN: 221 case JS_GLOBALDATA_TYPE_BOOLEAN:
222 vp << pData->bData; 222 vp << pData->bData;
223 break; 223 break;
224 case JS_GLOBALDATA_TYPE_STRING: 224 case JS_GLOBALDATA_TYPE_STRING:
225 vp << pData->sData; 225 vp << pData->sData;
226 break; 226 break;
227 case JS_GLOBALDATA_TYPE_OBJECT: 227 case JS_GLOBALDATA_TYPE_OBJECT:
228 { 228 {
229 » » » » » » » v8::Handle<v8::Object> o bj = v8::Local<v8::Object>::New(vp.GetIsolate(),pData->pData); 229 » » » » » » » v8::Local<v8::Object> ob j = v8::Local<v8::Object>::New(vp.GetIsolate(),pData->pData);
230 vp << obj; 230 vp << obj;
231 break; 231 break;
232 } 232 }
233 case JS_GLOBALDATA_TYPE_NULL: 233 case JS_GLOBALDATA_TYPE_NULL:
234 vp.SetNull(); 234 vp.SetNull();
235 break; 235 break;
236 default: 236 default:
237 return FALSE; 237 return FALSE;
238 } 238 }
239 return TRUE; 239 return TRUE;
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 ASSERT(m_pGlobalData != NULL); 289 ASSERT(m_pGlobalData != NULL);
290 290
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::Local<v8::Object>(), pData->bPer sistent == 1);
300 JS_PutObjectNumber(NULL,(JSFXObject)(*m_pJSObject), 300 JS_PutObjectNumber(NULL,(JSFXObject)(*m_pJSObject),
301 pData->data.sKey.UTF8 Decode().c_str(), 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::Local<v8::Object>(), p Data->bPersistent == 1);
305 JS_PutObjectBoolean(NULL,(JSFXObject)(*m_pJSObject), 305 JS_PutObjectBoolean(NULL,(JSFXObject)(*m_pJSObject),
306 pData->data.sKey .UTF8Decode().c_str(), (bool)(pData->data.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::Local<v8::Object>(), pData->bPers istent == 1);
310 JS_PutObjectString(NULL, (JSFXObject)(*m_pJSObject), 310 JS_PutObjectString(NULL, (JSFXObject)(*m_pJSObject),
311 pData->data.sKey.UTF8 Decode().c_str(), 311 pData->data.sKey.UTF8 Decode().c_str(),
312 pData->data.sData.UTF 8Decode().c_str()); 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::Local<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.s Key.UTF8Decode().c_str(), (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::Local<v8::Object>(), pData->bPersistent == 1);
329 JS_PutObjectNull(NULL,(JSFXObject)(*m_pJSObject), 329 JS_PutObjectNull(NULL,(JSFXObject)(*m_pJSObject),
330 pData->data.sKey.UTF8De code().c_str()); 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);
(...skipping 24 matching lines...) Expand all
363 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent); 363 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent);
364 break; 364 break;
365 case JS_GLOBALDATA_TYPE_STRING: 365 case JS_GLOBALDATA_TYPE_STRING:
366 m_pGlobalData->SetGlobalVariableString(n ame, pData->sData); 366 m_pGlobalData->SetGlobalVariableString(n ame, pData->sData);
367 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent); 367 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent);
368 break; 368 break;
369 case JS_GLOBALDATA_TYPE_OBJECT: 369 case JS_GLOBALDATA_TYPE_OBJECT:
370 //if (pData->pData) 370 //if (pData->pData)
371 { 371 {
372 CJS_GlobalVariableArray array; 372 CJS_GlobalVariableArray array;
373 » » » » » » v8::Handle<v8::Object> obj = v8: :Local<v8::Object>::New(GetJSObject()->GetIsolate(),pData->pData); 373 » » » » » » v8::Local<v8::Object> obj = v8:: Local<v8::Object>::New(GetJSObject()->GetIsolate(),pData->pData);
374 ObjectToArray(obj, array); 374 ObjectToArray(obj, array);
375 m_pGlobalData->SetGlobalVariable Object(name, array); 375 m_pGlobalData->SetGlobalVariable Object(name, array);
376 m_pGlobalData->SetGlobalVariable Persistent(name, pData->bPersistent); 376 m_pGlobalData->SetGlobalVariable Persistent(name, pData->bPersistent);
377 } 377 }
378 break; 378 break;
379 case JS_GLOBALDATA_TYPE_NULL: 379 case JS_GLOBALDATA_TYPE_NULL:
380 m_pGlobalData->SetGlobalVariableNull(nam e); 380 m_pGlobalData->SetGlobalVariableNull(nam e);
381 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent); 381 m_pGlobalData->SetGlobalVariablePersiste nt(name, pData->bPersistent);
382 break; 382 break;
383 } 383 }
384 } 384 }
385 } 385 }
386 } 386 }
387 } 387 }
388 388
389 void global_alternate::ObjectToArray(v8::Handle<v8::Object> pObj, CJS_GlobalVari ableArray& array) 389 void global_alternate::ObjectToArray(v8::Local<v8::Object> pObj, CJS_GlobalVaria bleArray& array)
390 { 390 {
391 v8::Handle<v8::Array> pKeyList = JS_GetObjectElementNames(pObj);
392 int nObjElements = pKeyList->Length();
393
394 v8::Local<v8::Context> context = pObj->CreationContext(); 391 v8::Local<v8::Context> context = pObj->CreationContext();
395 v8::Isolate* isolate = context->GetIsolate(); 392 v8::Isolate* isolate = context->GetIsolate();
393 v8::Local<v8::Array> pKeyList = JS_GetObjectElementNames(isolate, pObj);
394 int nObjElements = pKeyList->Length();
396 395
397 for (int i=0; i<nObjElements; i++) 396 for (int i=0; i<nObjElements; i++)
398 { 397 {
399 398
400 » » CFX_WideString ws = JS_ToString(JS_GetArrayElemnet(pKeyList, i)) ; 399 » » CFX_WideString ws = JS_ToString(isolate, JS_GetArrayElement(isol ate, pKeyList, i));
401 CFX_ByteString sKey = ws.UTF8Encode(); 400 CFX_ByteString sKey = ws.UTF8Encode();
402 401
403 » » v8::Handle<v8::Value> v = JS_GetObjectElement(isolate, pObj, ws. c_str()); 402 » » v8::Local<v8::Value> v = JS_GetObjectElement(isolate, pObj, ws.c _str());
404 FXJSVALUETYPE vt = GET_VALUE_TYPE(v); 403 FXJSVALUETYPE vt = GET_VALUE_TYPE(v);
405 switch (vt) 404 switch (vt)
406 { 405 {
407 case VT_number: 406 case VT_number:
408 { 407 {
409 CJS_KeyValue* pObjElement = new CJS_KeyValue; 408 CJS_KeyValue* pObjElement = new CJS_KeyValue;
410 pObjElement->nType = JS_GLOBALDATA_TYPE_NUMBER; 409 pObjElement->nType = JS_GLOBALDATA_TYPE_NUMBER;
411 pObjElement->sKey = sKey; 410 pObjElement->sKey = sKey;
412 » » » » pObjElement->dData = JS_ToNumber(v); 411 » » » » pObjElement->dData = JS_ToNumber(isolate, v);
413 array.Add(pObjElement); 412 array.Add(pObjElement);
414 } 413 }
415 break; 414 break;
416 case VT_boolean: 415 case VT_boolean:
417 { 416 {
418 CJS_KeyValue* pObjElement = new CJS_KeyValue; 417 CJS_KeyValue* pObjElement = new CJS_KeyValue;
419 pObjElement->nType = JS_GLOBALDATA_TYPE_BOOLEAN; 418 pObjElement->nType = JS_GLOBALDATA_TYPE_BOOLEAN;
420 pObjElement->sKey = sKey; 419 pObjElement->sKey = sKey;
421 » » » » pObjElement->dData = JS_ToBoolean(v); 420 » » » » pObjElement->dData = JS_ToBoolean(isolate, v);
422 array.Add(pObjElement); 421 array.Add(pObjElement);
423 } 422 }
424 break; 423 break;
425 case VT_string: 424 case VT_string:
426 { 425 {
427 CFX_ByteString sValue = CJS_Value(isolate, v, VT _string).ToCFXByteString(); 426 CFX_ByteString sValue = CJS_Value(isolate, v, VT _string).ToCFXByteString();
428 CJS_KeyValue* pObjElement = new CJS_KeyValue; 427 CJS_KeyValue* pObjElement = new CJS_KeyValue;
429 pObjElement->nType = JS_GLOBALDATA_TYPE_STRING; 428 pObjElement->nType = JS_GLOBALDATA_TYPE_STRING;
430 pObjElement->sKey = sKey; 429 pObjElement->sKey = sKey;
431 pObjElement->sData = sValue; 430 pObjElement->sData = sValue;
432 array.Add(pObjElement); 431 array.Add(pObjElement);
433 } 432 }
434 break; 433 break;
435 case VT_object: 434 case VT_object:
436 { 435 {
437 CJS_KeyValue* pObjElement = new CJS_KeyValue; 436 CJS_KeyValue* pObjElement = new CJS_KeyValue;
438 pObjElement->nType = JS_GLOBALDATA_TYPE_OBJECT; 437 pObjElement->nType = JS_GLOBALDATA_TYPE_OBJECT;
439 pObjElement->sKey = sKey; 438 pObjElement->sKey = sKey;
440 » » » » ObjectToArray(JS_ToObject(v), pObjElement->objDa ta); 439 » » » » ObjectToArray(JS_ToObject(isolate, v), pObjEleme nt->objData);
441 array.Add(pObjElement); 440 array.Add(pObjElement);
442 } 441 }
443 break; 442 break;
444 case VT_null: 443 case VT_null:
445 { 444 {
446 CJS_KeyValue* pObjElement = new CJS_KeyValue; 445 CJS_KeyValue* pObjElement = new CJS_KeyValue;
447 pObjElement->nType = JS_GLOBALDATA_TYPE_NULL; 446 pObjElement->nType = JS_GLOBALDATA_TYPE_NULL;
448 pObjElement->sKey = sKey; 447 pObjElement->sKey = sKey;
449 array.Add(pObjElement); 448 array.Add(pObjElement);
450 } 449 }
451 break; 450 break;
452 default: 451 default:
453 break; 452 break;
454 } 453 }
455 } 454 }
456 } 455 }
457 456
458 void global_alternate::PutObjectProperty(v8::Handle<v8::Object> pObj, CJS_KeyVal ue* pData) 457 void global_alternate::PutObjectProperty(v8::Local<v8::Object> pObj, CJS_KeyValu e* pData)
459 { 458 {
460 ASSERT(pData != NULL); 459 ASSERT(pData != NULL);
461 460
462 for (int i=0,sz=pData->objData.Count(); i<sz; i++) 461 for (int i=0,sz=pData->objData.Count(); i<sz; i++)
463 { 462 {
464 CJS_KeyValue* pObjData = pData->objData.GetAt(i); 463 CJS_KeyValue* pObjData = pData->objData.GetAt(i);
465 ASSERT(pObjData != NULL); 464 ASSERT(pObjData != NULL);
466 465
467 switch (pObjData->nType) 466 switch (pObjData->nType)
468 { 467 {
469 case JS_GLOBALDATA_TYPE_NUMBER: 468 case JS_GLOBALDATA_TYPE_NUMBER:
470 JS_PutObjectNumber(NULL,(JSObject)pObj, pObjData->sKey.U TF8Decode().c_str(), pObjData->dData); 469 JS_PutObjectNumber(NULL,(JSObject)pObj, pObjData->sKey.U TF8Decode().c_str(), pObjData->dData);
471 break; 470 break;
472 case JS_GLOBALDATA_TYPE_BOOLEAN: 471 case JS_GLOBALDATA_TYPE_BOOLEAN:
473 JS_PutObjectBoolean(NULL,(JSObject)pObj, pObjData->sKey. UTF8Decode().c_str(), (bool)(pObjData->bData == 1)); 472 JS_PutObjectBoolean(NULL,(JSObject)pObj, pObjData->sKey. UTF8Decode().c_str(), (bool)(pObjData->bData == 1));
474 break; 473 break;
475 case JS_GLOBALDATA_TYPE_STRING: 474 case JS_GLOBALDATA_TYPE_STRING:
476 JS_PutObjectString(NULL,(JSObject)pObj, pObjData->sKey.U TF8Decode().c_str(), pObjData->sData.UTF8Decode().c_str()); 475 JS_PutObjectString(NULL,(JSObject)pObj, pObjData->sKey.U TF8Decode().c_str(), pObjData->sData.UTF8Decode().c_str());
477 break; 476 break;
478 case JS_GLOBALDATA_TYPE_OBJECT: 477 case JS_GLOBALDATA_TYPE_OBJECT:
479 { 478 {
480 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec t)(*m_pJSObject)); 479 IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObjec t)(*m_pJSObject));
481 » » » » v8::Handle<v8::Object> pNewObj = JS_NewFxDynamic Obj(pRuntime, NULL, -1); 480 » » » » v8::Local<v8::Object> pNewObj = JS_NewFxDynamicO bj(pRuntime, NULL, -1);
482 PutObjectProperty(pNewObj, pObjData); 481 PutObjectProperty(pNewObj, pObjData);
483 JS_PutObjectObject(NULL, (JSObject)pObj, pObjDat a->sKey.UTF8Decode().c_str(), (JSObject)pNewObj); 482 JS_PutObjectObject(NULL, (JSObject)pObj, pObjDat a->sKey.UTF8Decode().c_str(), (JSObject)pNewObj);
484 } 483 }
485 break; 484 break;
486 case JS_GLOBALDATA_TYPE_NULL: 485 case JS_GLOBALDATA_TYPE_NULL:
487 JS_PutObjectNull(NULL,(JSObject)pObj, pObjData->sKey.UTF 8Decode().c_str()); 486 JS_PutObjectNull(NULL,(JSObject)pObj, pObjData->sKey.UTF 8Decode().c_str());
488 break; 487 break;
489 } 488 }
490 } 489 }
491 } 490 }
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 break; 600 break;
602 default: 601 default:
603 return FALSE; 602 return FALSE;
604 } 603 }
605 604
606 m_mapGlobal.SetAt(propname, (FX_LPVOID)pNewData); 605 m_mapGlobal.SetAt(propname, (FX_LPVOID)pNewData);
607 606
608 return TRUE; 607 return TRUE;
609 } 608 }
610 609
611 FXJSVALUETYPE GET_VALUE_TYPE(v8::Handle<v8::Value> p) 610 FXJSVALUETYPE GET_VALUE_TYPE(v8::Local<v8::Value> p)
612 { 611 {
613 const unsigned int nHash = JS_CalcHash(JS_GetTypeof(p)); 612 const unsigned int nHash = JS_CalcHash(JS_GetTypeof(p));
614 613
615 if (nHash == JSCONST_nUndefHash) 614 if (nHash == JSCONST_nUndefHash)
616 return VT_undefined; 615 return VT_undefined;
617 if (nHash == JSCONST_nNullHash) 616 if (nHash == JSCONST_nNullHash)
618 return VT_null; 617 return VT_null;
619 if (nHash == JSCONST_nStringHash) 618 if (nHash == JSCONST_nStringHash)
620 return VT_string; 619 return VT_string;
621 if (nHash == JSCONST_nNumberHash) 620 if (nHash == JSCONST_nNumberHash)
622 return VT_number; 621 return VT_number;
623 if (nHash == JSCONST_nBoolHash) 622 if (nHash == JSCONST_nBoolHash)
624 return VT_boolean; 623 return VT_boolean;
625 if (nHash == JSCONST_nDateHash) 624 if (nHash == JSCONST_nDateHash)
626 return VT_date; 625 return VT_date;
627 if (nHash == JSCONST_nObjectHash) 626 if (nHash == JSCONST_nObjectHash)
628 return VT_object; 627 return VT_object;
629 if (nHash == JSCONST_nFXobjHash) 628 if (nHash == JSCONST_nFXobjHash)
630 return VT_fxobject; 629 return VT_fxobject;
631 630
632 return VT_unknown; 631 return VT_unknown;
633 } 632 }
634 633
OLDNEW
« no previous file with comments | « fpdfsdk/src/javascript/app.cpp ('k') | fpdfsdk/src/jsapi/fxjs_v8.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698