Re: [whatwg/dom] Clarify that new Document creates a document of type "html", not "xml" (#308)

Since this has cropped up on blink-dev again, and @foolip and I have somewhat divergent opinions, let me outline what I think is the correct path forward in specs and implementations:

- `Document` continues to return a `Document` (not a `HTMLDocument` or `XMLDocument`) whose type is "xml".
- Implementations continue to move all members of `HTMLDocument` into `Document`. My understanding is that almost everything has been moved to `Document` in at least one browser, so this should be web-compatible.
- We now have a situation where `Document` contains everything interesting; `XMLDocument` contains `load()` in Gecko and is empty everywhere else; and `HTMLDocument` is empty everywhere. The path forward could go a few ways depending on web compat.
  - If nobody wants to try any further simplification, we're done. We resurrect `HTMLDocument` in the specs as an empty interface, and make sure all the appropriate places return it instead of `Document`, like implementations do. (But the `Document` constructor stays unchanged.)
  - If people are up for trying a bit more simplification, we alias `HTMLDocument` to `Document` like the current specs do, and hope for the best.
  - We could even go further and non-Gecko browsers could alias `XMLDocument` to `Document`. Gecko could try to see if the web has evolved since 2011 when that was not Gecko-compatible, or it could stay the course. If it's not Gecko-compatible we encode that in the spec as part of Gecko compatibility mode.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/308#issuecomment-247627229

Received on Friday, 16 September 2016 15:15:46 UTC