From dfa2c9939a85ad1c01ef858b21942ab3773dcf27 Mon Sep 17 00:00:00 2001 From: Jochen Eisinger Date: Tue, 19 May 2015 00:38:00 +0200 Subject: Merge V8 API updates to xfa branch Set pointers in internal fields directly instead of wrapping them Review URL: https://codereview.chromium.org/1139853003 Use phantom handles instead of weak handles Review URL: https://codereview.chromium.org/1129253004 Replace deprecated with non-deprecated V8 APIs Review URL: https://codereview.chromium.org/1126203010 Add myself to OWNERS file Review URL: https://codereview.chromium.org/1133333005 Replace v8::Handle with v8::Local and v8::Persistent with v8::Global Review URL: https://codereview.chromium.org/1138823004 TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/1140033004 --- fpdfsdk/src/javascript/global.cpp | 45 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 23 deletions(-) (limited to 'fpdfsdk/src/javascript/global.cpp') diff --git a/fpdfsdk/src/javascript/global.cpp b/fpdfsdk/src/javascript/global.cpp index 45b9248155..daf5a85ffe 100644 --- a/fpdfsdk/src/javascript/global.cpp +++ b/fpdfsdk/src/javascript/global.cpp @@ -169,19 +169,19 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS { double dData; vp >> dData; - return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NUMBER, dData, false, "", v8::Handle(), FALSE); + return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NUMBER, dData, false, "", v8::Local(), FALSE); } case VT_boolean: { bool bData; vp >> bData; - return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_BOOLEAN, 0, bData, "", v8::Handle(), FALSE); + return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_BOOLEAN, 0, bData, "", v8::Local(), FALSE); } case VT_string: { CFX_ByteString sData; vp >> sData; - return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_STRING, 0, false, sData, v8::Handle(), FALSE); + return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_STRING, 0, false, sData, v8::Local(), FALSE); } case VT_object: { @@ -191,7 +191,7 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS } case VT_null: { - return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NULL, 0, false, "", v8::Handle(), FALSE); + return SetGlobalVariables(sPropName, JS_GLOBALDATA_TYPE_NULL, 0, false, "", v8::Local(), FALSE); } case VT_undefined: { @@ -226,7 +226,7 @@ FX_BOOL global_alternate::DoProperty(IFXJS_Context* cc, FX_LPCWSTR propname, CJS break; case JS_GLOBALDATA_TYPE_OBJECT: { - v8::Handle obj = v8::Local::New(vp.GetIsolate(),pData->pData); + v8::Local obj = v8::Local::New(vp.GetIsolate(),pData->pData); vp << obj; break; } @@ -296,17 +296,17 @@ void global_alternate::UpdateGlobalPersistentVariables() switch (pData->data.nType) { case JS_GLOBALDATA_TYPE_NUMBER: - this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_NUMBER, pData->data.dData, false, "", v8::Handle(), pData->bPersistent == 1); + this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_NUMBER, pData->data.dData, false, "", v8::Local(), pData->bPersistent == 1); JS_PutObjectNumber(NULL,(JSFXObject)(*m_pJSObject), pData->data.sKey.UTF8Decode().c_str(), pData->data.dData); break; case JS_GLOBALDATA_TYPE_BOOLEAN: - this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_BOOLEAN, 0, (bool)(pData->data.bData == 1), "", v8::Handle(), pData->bPersistent == 1); + this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_BOOLEAN, 0, (bool)(pData->data.bData == 1), "", v8::Local(), pData->bPersistent == 1); JS_PutObjectBoolean(NULL,(JSFXObject)(*m_pJSObject), pData->data.sKey.UTF8Decode().c_str(), (bool)(pData->data.bData == 1)); break; case JS_GLOBALDATA_TYPE_STRING: - this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_STRING, 0, false, pData->data.sData, v8::Handle(), pData->bPersistent == 1); + this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_STRING, 0, false, pData->data.sData, v8::Local(), pData->bPersistent == 1); JS_PutObjectString(NULL, (JSFXObject)(*m_pJSObject), pData->data.sKey.UTF8Decode().c_str(), pData->data.sData.UTF8Decode().c_str()); @@ -314,7 +314,7 @@ void global_alternate::UpdateGlobalPersistentVariables() case JS_GLOBALDATA_TYPE_OBJECT: { IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObject)(*m_pJSObject)); - v8::Handle pObj = JS_NewFxDynamicObj(pRuntime, NULL, -1); + v8::Local pObj = JS_NewFxDynamicObj(pRuntime, NULL, -1); PutObjectProperty(pObj, &pData->data); @@ -325,7 +325,7 @@ void global_alternate::UpdateGlobalPersistentVariables() } break; case JS_GLOBALDATA_TYPE_NULL: - this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_NULL, 0, false, "", v8::Handle(), pData->bPersistent == 1); + this->SetGlobalVariables(pData->data.sKey, JS_GLOBALDATA_TYPE_NULL, 0, false, "", v8::Local(), pData->bPersistent == 1); JS_PutObjectNull(NULL,(JSFXObject)(*m_pJSObject), pData->data.sKey.UTF8Decode().c_str()); break; @@ -370,7 +370,7 @@ void global_alternate::CommitGlobalPersisitentVariables() //if (pData->pData) { CJS_GlobalVariableArray array; - v8::Handle obj = v8::Local::New(GetJSObject()->GetIsolate(),pData->pData); + v8::Local obj = v8::Local::New(GetJSObject()->GetIsolate(),pData->pData); ObjectToArray(obj, array); m_pGlobalData->SetGlobalVariableObject(name, array); m_pGlobalData->SetGlobalVariablePersistent(name, pData->bPersistent); @@ -386,21 +386,20 @@ void global_alternate::CommitGlobalPersisitentVariables() } } -void global_alternate::ObjectToArray(v8::Handle pObj, CJS_GlobalVariableArray& array) +void global_alternate::ObjectToArray(v8::Local pObj, CJS_GlobalVariableArray& array) { - v8::Handle pKeyList = JS_GetObjectElementNames(pObj); - int nObjElements = pKeyList->Length(); - v8::Local context = pObj->CreationContext(); v8::Isolate* isolate = context->GetIsolate(); + v8::Local pKeyList = JS_GetObjectElementNames(isolate, pObj); + int nObjElements = pKeyList->Length(); for (int i=0; i v = JS_GetObjectElement(isolate, pObj, ws.c_str()); + v8::Local v = JS_GetObjectElement(isolate, pObj, ws.c_str()); FXJSVALUETYPE vt = GET_VALUE_TYPE(v); switch (vt) { @@ -409,7 +408,7 @@ void global_alternate::ObjectToArray(v8::Handle pObj, CJS_GlobalVari CJS_KeyValue* pObjElement = new CJS_KeyValue; pObjElement->nType = JS_GLOBALDATA_TYPE_NUMBER; pObjElement->sKey = sKey; - pObjElement->dData = JS_ToNumber(v); + pObjElement->dData = JS_ToNumber(isolate, v); array.Add(pObjElement); } break; @@ -418,7 +417,7 @@ void global_alternate::ObjectToArray(v8::Handle pObj, CJS_GlobalVari CJS_KeyValue* pObjElement = new CJS_KeyValue; pObjElement->nType = JS_GLOBALDATA_TYPE_BOOLEAN; pObjElement->sKey = sKey; - pObjElement->dData = JS_ToBoolean(v); + pObjElement->dData = JS_ToBoolean(isolate, v); array.Add(pObjElement); } break; @@ -437,7 +436,7 @@ void global_alternate::ObjectToArray(v8::Handle pObj, CJS_GlobalVari CJS_KeyValue* pObjElement = new CJS_KeyValue; pObjElement->nType = JS_GLOBALDATA_TYPE_OBJECT; pObjElement->sKey = sKey; - ObjectToArray(JS_ToObject(v), pObjElement->objData); + ObjectToArray(JS_ToObject(isolate, v), pObjElement->objData); array.Add(pObjElement); } break; @@ -455,7 +454,7 @@ void global_alternate::ObjectToArray(v8::Handle pObj, CJS_GlobalVari } } -void global_alternate::PutObjectProperty(v8::Handle pObj, CJS_KeyValue* pData) +void global_alternate::PutObjectProperty(v8::Local pObj, CJS_KeyValue* pData) { ASSERT(pData != NULL); @@ -478,7 +477,7 @@ void global_alternate::PutObjectProperty(v8::Handle pObj, CJS_KeyVal case JS_GLOBALDATA_TYPE_OBJECT: { IJS_Runtime* pRuntime = JS_GetRuntime((JSFXObject)(*m_pJSObject)); - v8::Handle pNewObj = JS_NewFxDynamicObj(pRuntime, NULL, -1); + v8::Local pNewObj = JS_NewFxDynamicObj(pRuntime, NULL, -1); PutObjectProperty(pNewObj, pObjData); JS_PutObjectObject(NULL, (JSObject)pObj, pObjData->sKey.UTF8Decode().c_str(), (JSObject)pNewObj); } @@ -608,7 +607,7 @@ FX_BOOL global_alternate::SetGlobalVariables(FX_LPCSTR propname, int nType, return TRUE; } -FXJSVALUETYPE GET_VALUE_TYPE(v8::Handle p) +FXJSVALUETYPE GET_VALUE_TYPE(v8::Local p) { const unsigned int nHash = JS_CalcHash(JS_GetTypeof(p)); -- cgit v1.2.3