[NavigationTiming] Processing model language

A comment on the language in the spec:

"1. If the navigation is aborted for any of the following reasons, abort  
these steps without changing the attributes in window.performance.timing  
and window.performance.navigation."

This now looks like it is an attempt at an exhaustive list of reasons to  
abort the processing, but there are many more reasons a user agent may  
choose to abort loading of a resource. Incidentally, it also reads as if  
other reasons to abort loading should continue with the processing model,  
and that other reasons to abort the processing model in later steps should  
not refrain from changing the attributes in window.performance.timing and  
window.performance.navigation, both of which I guess is incorrect.

E.g. family filters or fraud filters may abort loading before it has even  
started, or at any point when an online domain check returns. Such filters  
may also abort loading if the redirect in step 16 goes to a blacklisted  
domain. In Opera we have cross-network protection, which stops internet  
pages from navigating e.g. intranet pages. Many more types of navigational  
blocks exist, and more will likely be created with new specifications.  
Certificate problems may abort loading in any step beyond 11, e.g.  
whenever a revoked CRL response arrives.

Could this be clarified a bit? Perhaps a statement outside of the numbered  
steps saying:
"If these steps are aborted for any reasons, do not change the attributes  
in window.performance.timing and window.performance.navigation."
And then change step 1 to:
"1. If the navigation is aborted for any reasons, including the following,  
abort these steps."
Add a possible abort in step 16
"16. a) If loading of the new resource is aborted, abort these steps"

Another option is to write "if loading is aborted for any reason in any  
step, abort the remaining steps, and do not change attributes", keep that  
outside of the processing model itself, and remove step 1 and other  
references to aborting in step 10 and 11.

In related news:
Typo in the acknowledgments section: "Sigbj�rn Vik" - who is that? :P

-- 
Sigbjørn Vik
Core Quality Services
Opera Software

Received on Thursday, 10 November 2011 09:14:18 UTC