Upgrade V8 to 5.1.281.57 DO NOT MERGE
FPIIM-449
Change-Id: Id981b686b4d587ac31697662eb98bb34be42ad90
(cherry picked from commit 3b9bc31999c9787eb726ecdbfd5796bfdec32a18)
diff --git a/test/cctest/test-api-interceptors.cc b/test/cctest/test-api-interceptors.cc
index ac54ede..a1894fa 100644
--- a/test/cctest/test-api-interceptors.cc
+++ b/test/cctest/test-api-interceptors.cc
@@ -3888,3 +3888,28 @@
"eval('obj.x');",
9);
}
+
+static void CheckReceiver(Local<Name> name,
+ const v8::PropertyCallbackInfo<v8::Value>& info) {
+ CHECK(info.This()->IsObject());
+}
+
+TEST(Regress609134Interceptor) {
+ LocalContext env;
+ v8::Isolate* isolate = env->GetIsolate();
+ v8::HandleScope scope(isolate);
+ auto fun_templ = v8::FunctionTemplate::New(isolate);
+ fun_templ->InstanceTemplate()->SetHandler(
+ v8::NamedPropertyHandlerConfiguration(CheckReceiver));
+
+ CHECK(env->Global()
+ ->Set(env.local(), v8_str("Fun"),
+ fun_templ->GetFunction(env.local()).ToLocalChecked())
+ .FromJust());
+
+ CompileRun(
+ "var f = new Fun();"
+ "Number.prototype.__proto__ = f;"
+ "var a = 42;"
+ "for (var i = 0; i<3; i++) { a.foo; }");
+}