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 %} |