[NavigationTiming] few comments

Hi all,

before reviewing the patch for Gecko to implement Navigation Timing,
I need to review the current version of the spec.
So, here are few comments.


(1 Introduction)
Minor nit, "For example, the following Javascript shows the time it
take to fully load a page: "
That is not quite true. If the first package from the server happens
to contain only "<html><head>", the script is just measuring some
random part of the page load.
The explanation clarifies that, but still, saying "shows the time it 
take to fully load a page" is just misleading.



"This interface does not include an attribute to represent the 
completion of sending the request, e.g., requestEnd.
     Completion of sending the request from the user agent does not 
always indicate the corresponding completion time in the network 
transport, which brings most of the benefit of having such an attribute.
     Some user agents have high cost to determine the actual completion 
time of sending the request due to the HTTP layer encapsulation.
"
These sound partially like implementation issues. Why is some
implementation issue affecting a spec this way?
Could requestEnd, even if just the user agent part of it - not network
layer, be still useful for POST?



"TYPE_RESERVED: Any navigation types not defined by values above."

Since types are quite limited and underspecified, all the script
initiated loads would be TYPE_RESERVED. So would all the form
submissions. Is that what is really wanted? Seems like at least Chrome
uses TYPE_NAVIGATE also for other things than just "navigation started
by clicking on a link or entering the URL in the user agent's address 
bar." But in which all cases it uses that type, I dunno.
And what does IE9 do?



"Client-side redirects, such as those using the Refresh pragma 
directive, are not considered HTTP redirects or equivalent by this spec. 
In those cases, the type attribute should return appropriate value, such 
as TYPE_NAVIGATE, as if in non-redirect navigation."
This is too vague. It must be specified when to use TYPE_NAVIGATE and
when perhaps TYPE_RELOAD and when something else.
Using TYPE_NAVIGATE would actually violate its current definition
"navigation started by clicking on a link or entering the URL in the 
user agent's address bar."



-Olli

Received on Saturday, 19 March 2011 14:51:09 UTC