| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index a16cff5f5d824a23edda51be40d813783e11e8ec..70580d1debe782ce833fbb94c9c06fa8326428ec 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -9019,19 +9019,13 @@ static bool IndexedAccessBlocker(Local<v8::Object> global,
|
| }
|
|
|
|
|
| -static int g_echo_value_1 = -1;
|
| -static int g_echo_value_2 = -1;
|
| +static int g_echo_value = -1;
|
|
|
|
|
| static void EchoGetter(
|
| Local<String> name,
|
| const v8::PropertyCallbackInfo<v8::Value>& info) {
|
| - info.GetReturnValue().Set(v8_num(g_echo_value_1));
|
| -}
|
| -
|
| -
|
| -static void EchoGetter(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| - info.GetReturnValue().Set(v8_num(g_echo_value_2));
|
| + info.GetReturnValue().Set(v8_num(g_echo_value));
|
| }
|
|
|
|
|
| @@ -9039,14 +9033,7 @@ static void EchoSetter(Local<String> name,
|
| Local<Value> value,
|
| const v8::PropertyCallbackInfo<void>&) {
|
| if (value->IsNumber())
|
| - g_echo_value_1 = value->Int32Value();
|
| -}
|
| -
|
| -
|
| -static void EchoSetter(const v8::FunctionCallbackInfo<v8::Value>& info) {
|
| - v8::Handle<v8::Value> value = info[0];
|
| - if (value->IsNumber())
|
| - g_echo_value_2 = value->Int32Value();
|
| + g_echo_value = value->Int32Value();
|
| }
|
|
|
|
|
| @@ -9087,13 +9074,6 @@ TEST(AccessControl) {
|
| v8::AccessControl(v8::ALL_CAN_READ | v8::ALL_CAN_WRITE));
|
|
|
|
|
| - global_template->SetAccessorProperty(
|
| - v8_str("accessible_js_prop"),
|
| - v8::FunctionTemplate::New(isolate, EchoGetter),
|
| - v8::FunctionTemplate::New(isolate, EchoSetter),
|
| - v8::None,
|
| - v8::AccessControl(v8::ALL_CAN_READ | v8::ALL_CAN_WRITE));
|
| -
|
| // Add an accessor that is not accessible by cross-domain JS code.
|
| global_template->SetAccessor(v8_str("blocked_prop"),
|
| UnreachableGetter, UnreachableSetter,
|
| @@ -9222,45 +9202,26 @@ TEST(AccessControl) {
|
| value = CompileRun("other.accessible_prop = 3");
|
| CHECK(value->IsNumber());
|
| CHECK_EQ(3, value->Int32Value());
|
| - CHECK_EQ(3, g_echo_value_1);
|
| -
|
| - // Access accessible js property
|
| - value = CompileRun("other.accessible_js_prop = 3");
|
| - CHECK(value->IsNumber());
|
| - CHECK_EQ(3, value->Int32Value());
|
| - CHECK_EQ(3, g_echo_value_2);
|
| + CHECK_EQ(3, g_echo_value);
|
|
|
| value = CompileRun("other.accessible_prop");
|
| CHECK(value->IsNumber());
|
| CHECK_EQ(3, value->Int32Value());
|
|
|
| - value = CompileRun("other.accessible_js_prop");
|
| - CHECK(value->IsNumber());
|
| - CHECK_EQ(3, value->Int32Value());
|
| -
|
| value = CompileRun(
|
| "Object.getOwnPropertyDescriptor(other, 'accessible_prop').value");
|
| CHECK(value->IsNumber());
|
| CHECK_EQ(3, value->Int32Value());
|
|
|
| - value = CompileRun(
|
| - "Object.getOwnPropertyDescriptor(other, 'accessible_js_prop').get()");
|
| - CHECK(value->IsNumber());
|
| - CHECK_EQ(3, value->Int32Value());
|
| -
|
| value = CompileRun("propertyIsEnumerable.call(other, 'accessible_prop')");
|
| CHECK(value->IsTrue());
|
|
|
| - value = CompileRun("propertyIsEnumerable.call(other, 'accessible_js_prop')");
|
| - CHECK(value->IsTrue());
|
| -
|
| // Enumeration doesn't enumerate accessors from inaccessible objects in
|
| // the prototype chain even if the accessors are in themselves accessible.
|
| value =
|
| CompileRun("(function(){var obj = {'__proto__':other};"
|
| "for (var p in obj)"
|
| " if (p == 'accessible_prop' ||"
|
| - " p == 'accessible_js_prop' ||"
|
| " p == 'blocked_js_prop' ||"
|
| " p == 'blocked_js_prop') {"
|
| " return false;"
|
| @@ -9335,7 +9296,7 @@ TEST(AccessControlES5) {
|
| // Make sure that we can set the accessible accessors value using normal
|
| // assignment.
|
| CompileRun("other.accessible_prop = 42");
|
| - CHECK_EQ(42, g_echo_value_1);
|
| + CHECK_EQ(42, g_echo_value);
|
|
|
| v8::Handle<Value> value;
|
| CompileRun("Object.defineProperty(other, 'accessible_prop', {value: -1})");
|
|
|