| Index: third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
|
| diff --git a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
|
| index 88c099f63f39b47f318a4bdd583965cf3b558540..8033b620f5a2b63c398176e36e057fd3da07f87e 100644
|
| --- a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
|
| +++ b/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
|
| @@ -534,9 +534,15 @@ static void {{method.name}}OriginSafeMethodGetter{{world_suffix}}(const v8::Prop
|
| return;
|
| }
|
|
|
| - v8::Local<v8::Value> hiddenValue = V8HiddenValue::getHiddenValue(ScriptState::current(info.GetIsolate()), v8::Local<v8::Object>::Cast(info.Holder()), v8AtomicString(info.GetIsolate(), "{{method.name}}"));
|
| - if (!hiddenValue.IsEmpty()) {
|
| - v8SetReturnValue(info, hiddenValue);
|
| + {% raw %}
|
| + // {{method.name}} must be same with |methodName| (=name) in
|
| + // {{cpp_class}}OriginSafeMethodSetter defined in interface.cpp.tmpl.
|
| + {% endraw %}
|
| + V8PrivateProperty::Symbol propertySymbol =
|
| + V8PrivateProperty::getSymbol(info.GetIsolate(), "{{method.name}}");
|
| + v8::Local<v8::Object> holder = v8::Local<v8::Object>::Cast(info.Holder());
|
| + if (propertySymbol.hasValue(holder)) {
|
| + v8SetReturnValue(info, propertySymbol.getOrUndefined(holder));
|
| }
|
| }
|
| {% endmacro %}
|
|
|