A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

ParserIssues: Difference between revisions

From WHATWG Wiki
Jump to navigation Jump to search
(→‎Filed bugs: Add document.write() ignoring bug)
(→‎Possible other issues: src, async, defer freezing)
Line 10: Line 10:


* <nowiki><!DOCTYPE html><p><b><i><u></p> <p>X</nowiki> - should spaceness of character have any effect in InBody mode?
* <nowiki><!DOCTYPE html><p><b><i><u></p> <p>X</nowiki> - should spaceness of character have any effect in InBody mode?
* To enable the parser to decide whether a given script can call document.write() (for optimizing speculative parsing), it is necessary for the execution properties of the script as seen at start tag to remain constant until the end tag is parsed. This can be achieved by freezing the effective values for the src, defer and async attributes when a parser-inserted script is inserted to the tree. There's no non-racy way for a script to detect this when the script comes from the network stream, so this is OK. However, if the parser implements the same script execution logic for the network stream case and the document.write case in the same way, there is a non-racy way to detect the implementation details in the document.write() case. For an implementation that does speculative off-the-main-thread parsing, it is a developer time-consuming theoretical purity exercise to make the document.write() case correct per spec. OTOH, if the spec enshrines the freezing behavior as correct, it'll be a developer time-consuming theoretical purity exercise for implementations that don't have the kind of speculative parsing that needs the freezing.

Revision as of 10:57, 31 May 2010

Filed bugs

Possible other issues

  • <!DOCTYPE html><p><b><i><u></p> <p>X - should spaceness of character have any effect in InBody mode?
  • To enable the parser to decide whether a given script can call document.write() (for optimizing speculative parsing), it is necessary for the execution properties of the script as seen at start tag to remain constant until the end tag is parsed. This can be achieved by freezing the effective values for the src, defer and async attributes when a parser-inserted script is inserted to the tree. There's no non-racy way for a script to detect this when the script comes from the network stream, so this is OK. However, if the parser implements the same script execution logic for the network stream case and the document.write case in the same way, there is a non-racy way to detect the implementation details in the document.write() case. For an implementation that does speculative off-the-main-thread parsing, it is a developer time-consuming theoretical purity exercise to make the document.write() case correct per spec. OTOH, if the spec enshrines the freezing behavior as correct, it'll be a developer time-consuming theoretical purity exercise for implementations that don't have the kind of speculative parsing that needs the freezing.