Index: third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl |
diff --git a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl |
index 65e9821eb4a4042be246a8cbd92eac330fc93899..f8b3952901da30e110d302fd7aeac1c0fc8fa4e9 100644 |
--- a/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl |
+++ b/third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl |
@@ -317,6 +317,14 @@ static void install{{v8_class}}Template(v8::Isolate* isolate, const DOMWrapperWo |
{%- if interface_name == 'Window' and not is_partial %}{{newline}} |
prototypeTemplate->SetInternalFieldCount(V8Window::internalFieldCount); |
{% endif %} |
+ {% if is_immutable_prototype %}{{newline}} |
+ // Global object prototype chain consists of Immutable Prototype Exotic Objects |
+ prototypeTemplate->SetImmutableProto(); |
+ {% endif %} |
+ {% if is_global %}{{newline}} |
+ // Global objects are Immutable Prototype Exotic Objects |
+ instanceTemplate->SetImmutableProto(); |
+ {% endif %} |
// Register DOM constants, attributes and operations. |
{% filter runtime_enabled(runtime_enabled_function) %} |