diff --git a/index.html b/index.html index ae04d86..c6a5e9a 100644 --- a/index.html +++ b/index.html @@ -119,7 +119,7 @@
The PerformanceObserver interface was added +
The PerformanceObserver interface was added and is designed to address limitations of the buffer-based approach shown in the first example. By using the PerformanceObserver interface, the application can:
@@ -247,14 +247,13 @@Each Document has:
In order to get the relevant performance entry tuple, given @@ -314,12 +313,11 @@
[Exposed=(Window,Worker)]
interface PerformanceEntry {
- readonly attribute unsigned long long id;
readonly attribute DOMString name;
readonly attribute DOMString entryType;
readonly attribute DOMHighResTimeStamp startTime;
readonly attribute DOMHighResTimeStamp duration;
- readonly attribute unsigned long long navigationId;
+ readonly attribute unsigned long navigationId;
[Default] object toJSON();
};
All `entryType` values are defined in the - relevantregistry. +
All `entryType` values are defined in the relevant
+ registry.
Examples include: "mark" and "measure"
[[USER-TIMING-2]], "navigation" [[NAVIGATION-TIMING-2]],
and "resource" [[RESOURCE-TIMING-2]].
PerformanceEntryTo queue a PerformanceEntry (newEntry), run these steps:
PerformanceEntry to be queued is a navigation
+ entry (in other words, entryType=='navigation'), then
+ let navigationId be the result of running
+ generate a navigation id.
PerformanceEntryPerformanceEntryTo queue a navigation PerformanceEntry (newEntry), run - these steps:
-When asked to queue the PerformanceObserver task, given @@ -940,26 +913,34 @@
When asked to generate an id for a - PerformanceEntry entry, run the following steps:
+When asked to generate a navigation id for a navigation + PerformanceEntry entry, run the following steps:
A user agent may choose to increase the last performance entry - idit by a small random integer every time. A user agent must not pick - a single global random integer and increase the last performance entry - id of all global objects by that amount because this could introduce - cross origin leaks. -
-The last performance entry id has an initial random - value, and is increased by a small number chosen by the user agent instead - of 1 to discourage developers from considering it as a counter of the - number of entries that have been generated in the web application.
+Sequences of navigation ids that are associated with + the same document can be used to establish order, by sorting by + navigation id.
+The increcase between same-document navigation ids is + as small number as opposed to 1, to discourage developers from considering + navigation ids as a counter of the number of entries that have been generated + in the web application.
+To avoid integer overflow, the same-document mechanism may revert to assign + a random integer between 10 and 10000000, but this is expected to be extremeley rare.
The last performance entry id is deliberately initialized to a +
The current navigation id is deliberately initialized to a random value, and is incremented by another small value every time a new + navigation {{PerformanceEntry}} is queued. User agents may choose to use a consistent increment for all users, or may pick a different increment for each global object, or may choose a new random increment for each