Index: Source/bindings/templates/interface_base.cpp |
diff --git a/Source/bindings/templates/interface_base.cpp b/Source/bindings/templates/interface_base.cpp |
index 8dff9e29529e28d2437a189124c9a3223268bdce..ea5c732e40872d01d3d2a217d839c10bde592e0b 100644 |
--- a/Source/bindings/templates/interface_base.cpp |
+++ b/Source/bindings/templates/interface_base.cpp |
@@ -393,13 +393,15 @@ static void install{{v8_class}}Template(v8::Local<v8::FunctionTemplate> function |
if named_property_getter.is_enumerable else '0' %} |
{ |
v8::NamedPropertyHandlerConfiguration config({{named_property_getter_callback}}, {{named_property_setter_callback}}, {{named_property_query_callback}}, {{named_property_deleter_callback}}, {{named_property_enumerator_callback}}); |
- {% if not named_property_getter.is_custom %} |
+ {# TODO(yukishiino): Determine how to treat Window interface. #} |
+ {% if interface_name != 'Window' %} |
config.flags = static_cast<v8::PropertyHandlerFlags>(static_cast<int>(config.flags) | static_cast<int>(v8::PropertyHandlerFlags::kOnlyInterceptStrings)); |
{% endif %} |
{% if named_property_getter.do_not_check_security %} |
config.flags = v8::PropertyHandlerFlags::kAllCanRead; |
{% endif %} |
- {% if not is_override_builtins and not named_property_getter.is_custom %} |
+ {# TODO(yukishiino): Determine how to treat Window interface. #} |
+ {% if not is_override_builtins and interface_name != 'Window' %} |
config.flags = static_cast<v8::PropertyHandlerFlags>(static_cast<int>(config.flags) | static_cast<int>(v8::PropertyHandlerFlags::kNonMasking)); |
{% endif %} |
functionTemplate->{{set_on_template}}()->SetHandler(config); |