diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-03-07 08:54:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-03-07 16:48:52 +0100 |
commit | 88786fecff336342a56e6f2e7ff3b286be716e47 (patch) | |
tree | 92e6ba5b8ac8dae1a058988d20c9d27bfa654390 /deps/v8/test/cctest/test-api-interceptors.cc | |
parent | 4e86f9b5ab83cbabf43839385bf383e6a7ef7d19 (diff) | |
download | android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.gz android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.tar.bz2 android-node-v8-88786fecff336342a56e6f2e7ff3b286be716e47.zip |
deps: update V8 to 6.5.254.31
PR-URL: https://github.com/nodejs/node/pull/18453
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'deps/v8/test/cctest/test-api-interceptors.cc')
-rw-r--r-- | deps/v8/test/cctest/test-api-interceptors.cc | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/deps/v8/test/cctest/test-api-interceptors.cc b/deps/v8/test/cctest/test-api-interceptors.cc index 63f3bc42fb..fd811abffe 100644 --- a/deps/v8/test/cctest/test-api-interceptors.cc +++ b/deps/v8/test/cctest/test-api-interceptors.cc @@ -98,10 +98,10 @@ void SymbolAccessorSetter(Local<Name> name, Local<Value> value, SimpleAccessorSetter(Local<String>::Cast(sym->Name()), value, info); } -void StringInterceptorGetter( - Local<String> name, - const v8::PropertyCallbackInfo<v8::Value>& - info) { // Intercept names that start with 'interceptor_'. +void InterceptorGetter(Local<Name> generic_name, + const v8::PropertyCallbackInfo<v8::Value>& info) { + if (generic_name->IsSymbol()) return; + Local<String> name = Local<String>::Cast(generic_name); String::Utf8Value utf8(info.GetIsolate(), name); char* name_str = *utf8; char prefix[] = "interceptor_"; @@ -117,9 +117,10 @@ void StringInterceptorGetter( .ToLocalChecked()); } - -void StringInterceptorSetter(Local<String> name, Local<Value> value, - const v8::PropertyCallbackInfo<v8::Value>& info) { +void InterceptorSetter(Local<Name> generic_name, Local<Value> value, + const v8::PropertyCallbackInfo<v8::Value>& info) { + if (generic_name->IsSymbol()) return; + Local<String> name = Local<String>::Cast(generic_name); // Intercept accesses that set certain integer values, for which the name does // not start with 'accessor_'. String::Utf8Value utf8(info.GetIsolate(), name); @@ -140,18 +141,6 @@ void StringInterceptorSetter(Local<String> name, Local<Value> value, } } -void InterceptorGetter(Local<Name> generic_name, - const v8::PropertyCallbackInfo<v8::Value>& info) { - if (generic_name->IsSymbol()) return; - StringInterceptorGetter(Local<String>::Cast(generic_name), info); -} - -void InterceptorSetter(Local<Name> generic_name, Local<Value> value, - const v8::PropertyCallbackInfo<v8::Value>& info) { - if (generic_name->IsSymbol()) return; - StringInterceptorSetter(Local<String>::Cast(generic_name), value, info); -} - void GenericInterceptorGetter(Local<Name> generic_name, const v8::PropertyCallbackInfo<v8::Value>& info) { Local<String> str; @@ -198,19 +187,20 @@ void AddAccessor(Local<FunctionTemplate> templ, Local<String> name, templ->PrototypeTemplate()->SetAccessor(name, getter, setter); } -void AddInterceptor(Local<FunctionTemplate> templ, - v8::NamedPropertyGetterCallback getter, - v8::NamedPropertySetterCallback setter) { - templ->InstanceTemplate()->SetNamedPropertyHandler(getter, setter); -} - - void AddAccessor(Local<FunctionTemplate> templ, Local<Name> name, v8::AccessorNameGetterCallback getter, v8::AccessorNameSetterCallback setter) { templ->PrototypeTemplate()->SetAccessor(name, getter, setter); } +void AddStringOnlyInterceptor(Local<FunctionTemplate> templ, + v8::GenericNamedPropertyGetterCallback getter, + v8::GenericNamedPropertySetterCallback setter) { + templ->InstanceTemplate()->SetHandler(v8::NamedPropertyHandlerConfiguration( + getter, setter, nullptr, nullptr, nullptr, Local<v8::Value>(), + v8::PropertyHandlerFlags::kOnlyInterceptStrings)); +} + void AddInterceptor(Local<FunctionTemplate> templ, v8::GenericNamedPropertyGetterCallback getter, v8::GenericNamedPropertySetterCallback setter) { @@ -1517,7 +1507,7 @@ THREADED_TEST(LegacyInterceptorDoesNotSeeSymbols) { child->Inherit(parent); AddAccessor(parent, age, SymbolAccessorGetter, SymbolAccessorSetter); - AddInterceptor(child, StringInterceptorGetter, StringInterceptorSetter); + AddStringOnlyInterceptor(child, InterceptorGetter, InterceptorSetter); env->Global() ->Set(env.local(), v8_str("Child"), @@ -4387,7 +4377,7 @@ THREADED_TEST(Regress625155) { CompileRun( "Number.prototype.__proto__ = new Bug;" "var x;" - "x = 0xdead;" + "x = 0xDEAD;" "x.boom = 0;" "x = 's';" "x.boom = 0;" |