Open Bug 1191683 Opened 9 years ago Updated 2 years ago

Uninitialized document readyState exposed to scripts

Categories

(Core :: DOM: Navigation, defect)

defect

Tracking

()

People

(Reporter: hsivonen, Unassigned)

References

()

Details

From bug 856295 comment 4: > Here's a one-liner that gives a script readyState of "uninitialized": > document.body.innerHTML = '<iframe src="/foo">'; > document.querySelector("iframe").contentDocument.readyState
One another case when "uninitialized" for readyState is returned: <script> alert(new DOMParser().parseFromString("", "text/html").readyState); </script> All other variants for parseFromString method (like "text/xml" or "application/xml") in Firefox return "complete". But, what is worth mentioning, it is very inconsistent beetwen browsers: Firefox/IE11 - "complete" Chrome - "interactive" Opera(Presto) - "loading" P&S def: http://www.w3.org/TR/DOM-Parsing/#widl-DOMParser-parseFromString-Document-DOMString-str-SupportedType-type HTML def: https://html.spec.whatwg.org/multipage/dom.html#current-document-readiness
FWIW Chrome now also returns "complete" for `new DOMParser().parseFromString("", "text/html").readyState`.

This happens when creating and inserting an iframe like this too:

<script>
var testIframe = document.createElement("iframe");
testIframe.name = "testIframe";
testIframe.src = "about:blank";
document.body.appendChild(testIframe);

console.log(testIframe.contentWindow.document.readyState);
</script>

Chrome/Safari work as expected and log "complete".

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.