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 3f727a70bc9c318368cff84d31f6eda70ec67f24..4d4c9dd96135b52e868b425aa671d43c267d9a72 100644 |
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp |
@@ -66,20 +66,15 @@ static void locationAttributeGetter(const v8::FunctionCallbackInfo<v8::Value>& i |
} |
static void locationAttributeSetter(v8::Local<v8::Value> v8Value, const v8::FunctionCallbackInfo<v8::Value>& info) { |
- v8::Local<v8::Object> holder = info.Holder(); |
- TestInterfaceDocument* proxyImpl = V8TestInterfaceDocument::toImpl(holder); |
- Location* impl = WTF::getPtr(proxyImpl->location()); |
- if (!impl) |
- return; |
- |
ExceptionState exceptionState(info.GetIsolate(), ExceptionState::SetterContext, "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()->GetEnteredContext(), 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()->GetEnteredContext(), v8String(info.GetIsolate(), "href"), v8Value).IsNothing(); |
} |
} // namespace TestInterfaceDocumentV8Internal |