Skip to content
  • oliver@apple.com's avatar
    [ES5] Implement getOwnPropertyDescriptor · 4b4f785d
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=28724
    
    Reviewed by Gavin Barraclough.
    
    JavaScriptCore:
    Implement the core runtime support for getOwnPropertyDescriptor.
    This adds a virtual getOwnPropertyDescriptor method to every class
    that implements getOwnPropertySlot that shadows the behaviour of
    getOwnPropertySlot.  The alternative would be to make getOwnPropertySlot
    (or PropertySlots in general) provide property attribute information,
    but quick testing showed this to be a regression.
    
    WebCore:
    Implement the WebCore side of getOwnPropertyDescriptor.  This
    requires a custom implementation of getOwnPropertyDescriptor
    for every class with a custom implementation of getOwnPropertySlot.
    
    The bindings generator has been updated to generate appropriate
    versions of getOwnPropertyDescriptor for the general case where
    a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
    about how getOwnPropertyDescriptor should work in the context of
    "host" functions with polymorphic [[GetOwnProperty]], so it seems
    okay that occasionally we "guess" what attributes -- eg. determining
    whether a property is writable.
    
    Test: fast/js/getOwnPropertyDescriptor.html
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    4b4f785d