From 9a635e8127880dd93b2abc5e8da6a45046d35e31 Mon Sep 17 00:00:00 2001 From: Franziska Hinkelmann Date: Wed, 21 Mar 2018 12:58:25 +0000 Subject: Replace deprecated SetNamedPropertyHandler Replace v8::SetNamedPropertyHandler() with SetHandler() and the appropriate flag set. Change-Id: Ia06311cbea4ab21903d4ac4fe115eab6f0983c0d Reviewed-on: https://pdfium-review.googlesource.com/28930 Reviewed-by: Jochen Eisinger Commit-Queue: Jochen Eisinger --- fxjs/cfxjs_engine.cpp | 15 +++++++++------ fxjs/cfxjs_engine.h | 8 ++++---- fxjs/cjs_global.cpp | 32 ++++++++++++++++++++++++-------- fxjs/cjs_global.h | 8 ++++---- 4 files changed, 41 insertions(+), 22 deletions(-) diff --git a/fxjs/cfxjs_engine.cpp b/fxjs/cfxjs_engine.cpp index 927d4a7b0a..561a0a31f9 100644 --- a/fxjs/cfxjs_engine.cpp +++ b/fxjs/cfxjs_engine.cpp @@ -377,16 +377,19 @@ void CFXJS_Engine::DefineObjProperty(int nObjDefnID, void CFXJS_Engine::DefineObjAllProperties( int nObjDefnID, - v8::NamedPropertyQueryCallback pPropQurey, - v8::NamedPropertyGetterCallback pPropGet, - v8::NamedPropertySetterCallback pPropPut, - v8::NamedPropertyDeleterCallback pPropDel) { + v8::GenericNamedPropertyQueryCallback pPropQurey, + v8::GenericNamedPropertyGetterCallback pPropGet, + v8::GenericNamedPropertySetterCallback pPropPut, + v8::GenericNamedPropertyDeleterCallback pPropDel) { v8::Isolate::Scope isolate_scope(GetIsolate()); v8::HandleScope handle_scope(GetIsolate()); CFXJS_ObjDefinition* pObjDef = CFXJS_ObjDefinition::ForID(GetIsolate(), nObjDefnID); - pObjDef->GetInstanceTemplate()->SetNamedPropertyHandler(pPropGet, pPropPut, - pPropQurey, pPropDel); + pObjDef->GetInstanceTemplate()->SetHandler( + v8::NamedPropertyHandlerConfiguration( + pPropGet, pPropPut, pPropQurey, pPropDel, nullptr, + v8::Local(), + v8::PropertyHandlerFlags::kOnlyInterceptStrings)); } void CFXJS_Engine::DefineObjConst(int nObjDefnID, diff --git a/fxjs/cfxjs_engine.h b/fxjs/cfxjs_engine.h index 5f883f7e4a..4f903bd96e 100644 --- a/fxjs/cfxjs_engine.h +++ b/fxjs/cfxjs_engine.h @@ -111,10 +111,10 @@ class CFXJS_Engine : public CFX_V8 { v8::AccessorGetterCallback pPropGet, v8::AccessorSetterCallback pPropPut); void DefineObjAllProperties(int nObjDefnID, - v8::NamedPropertyQueryCallback pPropQurey, - v8::NamedPropertyGetterCallback pPropGet, - v8::NamedPropertySetterCallback pPropPut, - v8::NamedPropertyDeleterCallback pPropDel); + v8::GenericNamedPropertyQueryCallback pPropQurey, + v8::GenericNamedPropertyGetterCallback pPropGet, + v8::GenericNamedPropertySetterCallback pPropPut, + v8::GenericNamedPropertyDeleterCallback pPropDel); void DefineObjConst(int nObjDefnID, const char* sConstName, v8::Local pDefault); diff --git a/fxjs/cjs_global.cpp b/fxjs/cjs_global.cpp index 729190fe13..c8deadf5d5 100644 --- a/fxjs/cjs_global.cpp +++ b/fxjs/cjs_global.cpp @@ -147,31 +147,47 @@ void CJS_Global::setPersistent_static( // static void CJS_Global::queryprop_static( - v8::Local property, + v8::Local property, const v8::PropertyCallbackInfo& info) { - JSSpecialPropQuery("global", property, info); + DCHECK(property->IsString()); + JSSpecialPropQuery( + "global", + v8::Local::New(info.GetIsolate(), property->ToString()), + info); } // static void CJS_Global::getprop_static( - v8::Local property, + v8::Local property, const v8::PropertyCallbackInfo& info) { - JSSpecialPropGet("global", property, info); + DCHECK(property->IsString()); + JSSpecialPropGet( + "global", + v8::Local::New(info.GetIsolate(), property->ToString()), + info); } // static void CJS_Global::putprop_static( - v8::Local property, + v8::Local property, v8::Local value, const v8::PropertyCallbackInfo& info) { - JSSpecialPropPut("global", property, value, info); + DCHECK(property->IsString()); + JSSpecialPropPut( + "global", + v8::Local::New(info.GetIsolate(), property->ToString()), + value, info); } // static void CJS_Global::delprop_static( - v8::Local property, + v8::Local property, const v8::PropertyCallbackInfo& info) { - JSSpecialPropDel("global", property, info); + DCHECK(property->IsString()); + JSSpecialPropDel( + "global", + v8::Local::New(info.GetIsolate(), property->ToString()), + info); } // static diff --git a/fxjs/cjs_global.h b/fxjs/cjs_global.h index ab905bcdd2..15ef603e45 100644 --- a/fxjs/cjs_global.h +++ b/fxjs/cjs_global.h @@ -22,14 +22,14 @@ class CJS_Global : public CJS_Object { static void DefineAllProperties(CFXJS_Engine* pEngine); static void queryprop_static( - v8::Local property, + v8::Local property, const v8::PropertyCallbackInfo& info); - static void getprop_static(v8::Local property, + static void getprop_static(v8::Local property, const v8::PropertyCallbackInfo& info); - static void putprop_static(v8::Local property, + static void putprop_static(v8::Local property, v8::Local value, const v8::PropertyCallbackInfo& info); - static void delprop_static(v8::Local property, + static void delprop_static(v8::Local property, const v8::PropertyCallbackInfo& info); static void setPersistent_static( -- cgit v1.2.3