Ignore:
Timestamp:
Sep 18, 2009, 4:12:03 PM (16 years ago)
Author:
[email protected]
Message:

Implement ES5 Object.defineProperty function
https://bugs.webkit.org/show_bug.cgi?id=29503

Reviewed by Geoff Garen

Implement Object.defineProperty. This requires adding the API to
ObjectConstructor, along with a helper function that implements the
ES5 internal ToPropertyDescriptor function. It then adds
JSObject::defineOwnProperty that implements the appropriate ES5 semantics.
Currently defineOwnProperty uses a delete followed by a put to redefine
attributes of a property, clearly this is less efficient than it could be
but we can improve this if it needs to be possible in future.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/JSGlobalObject.h

    r47780 r48542  
    176176        virtual void putWithAttributes(ExecState*, const Identifier& propertyName, JSValue value, unsigned attributes);
    177177
    178         virtual void defineGetter(ExecState*, const Identifier& propertyName, JSObject* getterFunc);
    179         virtual void defineSetter(ExecState*, const Identifier& propertyName, JSObject* setterFunc);
     178        virtual void defineGetter(ExecState*, const Identifier& propertyName, JSObject* getterFunc, unsigned attributes);
     179        virtual void defineSetter(ExecState*, const Identifier& propertyName, JSObject* setterFunc, unsigned attributes);
    180180
    181181        // Linked list of all global objects that use the same JSGlobalData.
Note: See TracChangeset for help on using the changeset viewer.