This page prints out the prototype chains of select DOM objects. Older versions of WebCore didn't properly implement prototype chaining for these objects.

NOTE: This test will start failing if you change the layout of a related prototype chain in WebCore. That does not necessarily mean that you have done something wrong; you may just need to check in new results.

----- [object HTMLDocument] (5 prototypes) -----

[object Object]

[object EventTarget]

[object Node]

[object Document]

[object HTMLDocument]

----- [object HTMLDivElement] (6 prototypes) -----

[object Object]

[object EventTarget]

[object Node]

[object Element]

[object HTMLElement]

[object HTMLDivElement]

----- [object HTMLFormElement] (6 prototypes) -----

[object Object]

[object EventTarget]

[object Node]

[object Element]

[object HTMLElement]

[object HTMLFormElement]

----- [object UIEvent] (3 prototypes) -----

[object Object]

[object Event]

[object UIEvent]

----- [object MouseEvent] (4 prototypes) -----

[object Object]

[object Event]

[object UIEvent]

[object MouseEvent]

----- [object KeyboardEvent] (4 prototypes) -----

[object Object]

[object Event]

[object UIEvent]

[object KeyboardEvent]


