- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Wed, 23 May 2012 00:56:06 -0400
- To: public-web-perf@w3.org
I was just looking into the Gecko failures on http://w3c-test.org/webperf/tests/approved/navigation-timing/html/test_document_open.html and as far as I can tell the test is wrong. I don't understand how other UAs are passing it, so I assume must be missing something... The basic structure of the test is as follows: 1) Load a document in a subframe. 2) Record all the performance.timing attributes for the subframe's window. 3) Use document.open/write/close to write a different document into the subframe. 4) Assert that the performance.timing attributes did not change from the ones recorded in step 2. If you look at the processing model in https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html#processing-model (the March 30 draft), step 2 says: Immediately after the user agent prompts to unload the previous document, record the current time as navigationStart. and if you look at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#dom-document-open step 7, it says: Prompt to unload the Document object. Similarly, step 17 of the navigation timing processing model is: Record the time as domLoading immediately before the user agent sets the current document readiness to "loading". and step 19 of the document.open processing model is: Set the current document readiness of the document to "loading". and so forth. So as far as I can tell, calling document.open() should in fact affect at least navigationStart and domLoading. Similarly, if you trace through the processing model carefully, calling document.close() should enable the firing of onload (once all subresources are done loading), and in fact it does just that in at least Gecko, Presto, WebKit, and Trident. So as far as I can tell, calling document.open and then document.close should affect various navigation timing values (navigationStart, domLoading, domComplete, loadEventStart, loadEventEnd, etc). This is what Gecko does. What _am_ I missing? -Boris
Received on Wednesday, 23 May 2012 04:56:56 UTC