Index: third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
index 990560e9c7c46fd96cddd6b14e6bef88cef7c051..a1d5ad0f7a04f943de797cc673b70e2af12d00d3 100644 |
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
@@ -69,20 +69,15 @@ static void locationAttributeSetter(v8::Local<v8::Value> v8Value, const v8::Func |
v8::Isolate* isolate = info.GetIsolate(); |
ALLOW_UNUSED_LOCAL(isolate); |
- v8::Local<v8::Object> holder = info.Holder(); |
- TestInterfaceDocument* proxyImpl = V8TestInterfaceDocument::toImpl(holder); |
- Location* impl = WTF::GetPtr(proxyImpl->location()); |
- if (!impl) |
- return; |
- |
ExceptionState exceptionState(isolate, ExceptionState::kSetterContext, "TestInterfaceDocument", "location"); |
- |
- // Prepare the value to be set. |
- V8StringResource<> cppValue = v8Value; |
- if (!cppValue.Prepare()) |
+ v8::Local<v8::Value> target; |
+ if (!info.Holder()->Get(info.GetIsolate()->GetCurrentContext(), V8String(info.GetIsolate(), "location")).ToLocal(&target)) |
return; |
- |
- impl->setHref(CurrentDOMWindow(info.GetIsolate()), EnteredDOMWindow(info.GetIsolate()), cppValue, exceptionState); |
+ if (!target->IsObject()) { |
+ exceptionState.ThrowTypeError("The attribute value is not an object"); |
+ return; |
+ } |
+ target.As<v8::Object>()->Set(info.GetIsolate()->GetCurrentContext(), V8String(info.GetIsolate(), "href"), v8Value).IsNothing(); |
} |
} // namespace TestInterfaceDocumentV8Internal |