Bug 7838

Summary: Add support for mozilla-style node constructors as properties of the window object
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: DOMAssignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez
Priority: P2    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Bug Depends on:    
Bug Blocks: 6519, 6622, 8197    
Attachments:
Description Flags
Patch darin: review+

Description Geoffrey Garen 2006-03-17 15:28:08 PST
Firefox defines e.g. window.HTMLDocument as a property of the window object. This allows scripts to modify window.HTMLDocument.prototype in order to extend or change the behavior of all HTMLDocuments.

At the least, we should implement:

Element
Document
HTMLDocument
Event
CSSStyleDeclaration

These are the constructors used by www.start.com to add support for IE-specific DOM extensions.

Some documentation can be found @ http://www.mozilla.org/docs/dom/mozilla/protodoc.html.
Comment 1 Geoffrey Garen 2006-04-26 23:17:54 PDT
We'll also need:

HTMLElement
XMLDocument
Comment 2 Roland Corrigal 2006-05-04 08:10:28 PDT
When do you expect us see a breakthrough with these?
Comment 3 Anders Carlsson 2006-05-10 13:03:05 PDT
Created attachment 8226 [details]
Patch

With this patch, local.live.com works without any error messages.
Comment 4 Darin Adler 2006-05-10 21:58:16 PDT
Comment on attachment 8226 [details]
Patch

I'm not happy about these classes that differ only in namespace; I hope that's a temporary situation.

For other classes I like to name the hand-coded ones differently, for example XXXBase. Worth considering if we have to leave the code like this for any length of time.

We also might want to use a new approach for half-generated classes where we can hand-write some functions rather than hand-writing an entire class, and teach the auto-generation code to write out declarations for the functions even if the functions themselves are hand-coded.

There should be a layout test for the new constructor objects, I don't see that here.

Assuming you add that layout test, r=me.
Comment 5 Lucas Forschler 2019-02-06 09:03:49 PST
Mass moving XML DOM bugs to the "DOM" Component.