• mstarzinger@chromium.org's avatar
    Fix redefinition of aliased elements in arguments. · 1a356cff
    mstarzinger@chromium.org authored
    This refactors the way we (re)define elements to perform normalization
    and attribute updating at a much deeper level, thereby removing some
    bogus special cases in upper runtime layers.
    
    Most element setters take an indicator flag that distinguishes between
    setting and defining. Setting of an element causes attributes to remain
    unchanged, writability to be checked and callbacks to be called.
    Defining of an element causes attributes to be updated and callbacks to
    be overridden. The same approach could be taken for properties.
    
    R=svenpanne@chromium.org
    BUG=v8:1772
    TEST=test262,test262/15.2.3.6-4-333-11
    
    Review URL: https://chromiumcodereview.appspot.com/9443014
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    1a356cff
api.cc 205 KB