- From: <bugzilla@jessica.w3.org>
- Date: Sat, 07 Jan 2012 14:34:29 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=15447 --- Comment #3 from Stijn van Drongelen <self@tinctorius.net> 2012-01-07 14:34:28 UTC --- For the sake of completeness: -- PROPOSAL: * Allow conforming implementations to drop support for both the document.write() and document.writeln() methods on Document DOM objects, currently required by "Dynamic markup insertion". - Option 1: the Document interface may lack both `write` and `writeln` methods. - Option 2: the `write` and `writeln` methods may throw NotSupportedError exceptions. * Adjust the specification accordingly, especially where considering "pending parsing-blocking scripts" is required (specifically, the requirements for the parser architecture). ARGUMENTS FOR EITHER OPTION: 1. These methods are already marked as "considered harmful" in the specification. 2. Dropping support for these functions allows for better software design (both in specification and in code). If support for dynamic insertion is required, the parser can't be properly modularized without maiming its interface. 3. I am assuming that usage in the wild is very limited, especially on websites that are serious about (strict) HTML5 conformance. 4. I am assuming that, ignoring GeoCities-era websites, usage in the wild is now limited to ad and tracking scripts. The scripts are isolated in their own script elements, so the uncaught exceptions won't interfere with other scripts on the page on most UAs. 5. Supporting document.write() also requires pausing the parser when script elements are found. This makes script elements places where the browser must stall rendering and parallel downloads, leading to worse user experience (according to the YSlow team, among others). ARGUMENTS FOR OPTION 1, AGAINST OPTION 2: 6. Implementers shouldn't have to worry about document.write() and document.writeln() anymore. At all. 7. Feature checks are much easier and more reliable when either the methods work, or the methods are missing. 8. "Object of Document class doesn't have member document.write()" is easy enough to debug. ARGUMENTS FOR OPTION 2, AGAINST OPTION 1: 9. Exceptions are maybe slightly easier to debug. ARGUMENTS AGAINST BOTH OPTIONS: 10. Not requiring support for these functions will result in different parsing results. COUNTER-ARGUMENTS: 11. Against 10: all users of AdBlock Plus (and similar UA features/extensions) already see different parsing results, and as mentioned before, I don't know of any real uses of document.write() besides ad and tracking scripts. 12. Against 10: conformance checking is easier when the subject (i.e. a parser) is guaranteed to terminate successfully. -- Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Saturday, 7 January 2012 14:34:31 UTC