Bug 70929

Summary: Most DOM attributes should be on the corresponding interface prototype
Product: WebKit Reporter: Andy E <andyearnshaw>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Andy E 2011-10-26 08:34:03 PDT
Section 4.5.5 of the Web IDL, http://www.w3.org/TR/WebIDL/#es-attributes, states that 

    "For each attribute defined on the interface, there must exist 
     a corresponding property. If the attribute was declared with 
     the [Unforgeable] extended attribute, then the property exists 
     on every object that implements the interface. Otherwise, it 
     exists on the interface’s interface prototype object."

WebKit, however, appears to define these as instance properties.  This introduces several incompatibilities, such as checking own properties or getting property descriptors.  For a specific example, In WebKit and Presto:

    > document.body.hasOwnProperty("style")
    // -> true

In Trident and Gecko:

    > document.body.hasOwnProperty("style")
    // -> false
Comment 1 Alexey Proskuryakov 2011-10-26 12:10:43 PDT

*** This bug has been marked as a duplicate of bug 68002 ***