Index: src/apinatives.js |
diff --git a/src/apinatives.js b/src/apinatives.js |
index ca2bbf5c5355c53bb39ab249c7941adf284a6a39..193863f5c2f9f99cccb42432b0b6902b47898aff 100644 |
--- a/src/apinatives.js |
+++ b/src/apinatives.js |
@@ -73,7 +73,15 @@ function InstantiateFunction(data, name) { |
if (name) %FunctionSetName(fun, name); |
cache[serialNumber] = fun; |
var prototype = %GetTemplateField(data, kApiPrototypeTemplateOffset); |
- fun.prototype = prototype ? Instantiate(prototype) : {}; |
+ var attributes = %GetTemplateField(data, kApiPrototypeAttributesOffset); |
+ if (attributes != NONE) { |
+ %IgnoreAttributesAndSetProperty( |
+ fun, "prototype", |
+ prototype ? Instantiate(prototype) : {}, |
+ attributes); |
+ } else { |
+ fun.prototype = prototype ? Instantiate(prototype) : {}; |
+ } |
%SetProperty(fun.prototype, "constructor", fun, DONT_ENUM); |
var parent = %GetTemplateField(data, kApiParentTemplateOffset); |
if (parent) { |