[whatwg] Event loop processing model, and current time

2015-02-23 Thread Simon Fraser
https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-9 says:

1. Let now be the value that would be returned by the Performance object's 
now() method
2. Let docs be the list of Document objects associated with the event loop in 
question…
...
4. For each fully active Document in docs, run the resize steps for that 
Document, passing in now as the timestamp
...

This makes no sense, as performance.now() is per-document (it’s relative to the 
document start time), so passing the same value to all documents in the 
browsing context is bogus.

What may be intended is to “freeze” the performance.now() time in all documents 
before processing those documents, but give each document its own 
performance.now() time.

Simon



Re: [whatwg] Event loop processing model, and current time

2015-02-23 Thread James Robinson
On Mon, Feb 23, 2015 at 4:57 PM, Simon Fraser s...@me.com wrote:

 https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-9
 says:

 1. Let now be the value that would be returned by the Performance object's
 now() method
 2. Let docs be the list of Document objects associated with the event loop
 in question…
 ...
 4. For each fully active Document in docs, run the resize steps for that
 Document, passing in now as the timestamp
 ...

 This makes no sense, as performance.now() is per-document (it’s relative
 to the document start time), so passing the same value to all documents in
 the browsing context is bogus.

 What may be intended is to “freeze” the performance.now() time in all
 documents before processing those documents, but give each document its own
 performance.now() time.


That is the intent.  The algorithm should grab a timestamp for each
document at the same time (which is really just a matter of grabbing one
timestamp and applying the correct offset for each document).

- James


Re: [whatwg] Event loop processing model, and current time

2015-02-23 Thread Ryosuke Niwa

 On Feb 23, 2015, at 5:26 PM, James Robinson jam...@chromium.org wrote:
 
 On Mon, Feb 23, 2015 at 4:57 PM, Simon Fraser s...@me.com wrote:
 
 https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-9
 says:
 
 1. Let now be the value that would be returned by the Performance object's
 now() method
 2. Let docs be the list of Document objects associated with the event loop
 in question…
 ...
 4. For each fully active Document in docs, run the resize steps for that
 Document, passing in now as the timestamp
 ...
 
 This makes no sense, as performance.now() is per-document (it’s relative
 to the document start time), so passing the same value to all documents in
 the browsing context is bogus.
 
 What may be intended is to “freeze” the performance.now() time in all
 documents before processing those documents, but give each document its own
 performance.now() time.
 
 
 That is the intent.  The algorithm should grab a timestamp for each
 document at the same time (which is really just a matter of grabbing one
 timestamp and applying the correct offset for each document).

In that case, step 1 should probably define a list of timestamps, not the 
value.  Alternatively, now should be defined for each document.

- R. Niwa