Confirmed users, Bureaucrats and Sysops emeriti
969
edits
(First pass at defining "runnable" in the context of project Quantum) |
(Tweak that last change) |
||
| Line 9: | Line 9: | ||
To more precisely specify when one runnable can observe state from another runnable, we need to define some terminology. | To more precisely specify when one runnable can observe state from another runnable, we need to define some terminology. | ||
A <b>runnable</b> in the context of the Quantum project is any object that asynchronously runs code on the main thread. So in addition to nsIRunnable this includes nsITimer etc. | |||
A <b>TabGroup</b> is the set of tabs that are related by window.opener. In a session with four tabs, where T1 opens T2 and T3 opens T4, the TabGroups are {T1, T2} and {T3, T4}. <span style="color: red">(XXX Is this specifically about sharing the same opener, or about being reachable through an opener chain? That is, if T5 opens T6 which opens T7, are they all in the same TabGroup? And what if a tab is opened using rel=noopener? Does that start a new group?)</span> Once a tab joins a TabGroup, it never leaves it. TabGroups have the property that two tabs from different TabGroups can never observe each other's state. So a runnable from one TabGroup can run while a runnable from a different TabGroup is paused. | A <b>TabGroup</b> is the set of tabs that are related by window.opener. In a session with four tabs, where T1 opens T2 and T3 opens T4, the TabGroups are {T1, T2} and {T3, T4}. <span style="color: red">(XXX Is this specifically about sharing the same opener, or about being reachable through an opener chain? That is, if T5 opens T6 which opens T7, are they all in the same TabGroup? And what if a tab is opened using rel=noopener? Does that start a new group?)</span> Once a tab joins a TabGroup, it never leaves it. TabGroups have the property that two tabs from different TabGroups can never observe each other's state. So a runnable from one TabGroup can run while a runnable from a different TabGroup is paused. | ||