Skip to content

Commit ce03187

Browse files
committed
fix subscribe steps
1 parent da47564 commit ce03187

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

index.bs

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ Note: |navigables| is a set because a [=shared worker=] can be associated
763763

764764
<div algorithm>
765765

766-
The <dfn export>set of navigables for which an event is enabled</dfn>,
766+
The <dfn export>set of top-level traversables for which an event is enabled</dfn>,
767767
given |event name| and |session| is:
768768

769769
1. Let |result| be a new [=/set=].
@@ -775,17 +775,21 @@ given |event name| and |session| is:
775775

776776
1. If |subscription|'s is [=subscription/global=]:
777777

778-
1. For each |navigable| in remote end's [=/navigables=]:
778+
1. For each |traversable| in remote end's [=/top-level traversables=]:
779779

780-
1. [=set/Append=] |navigable| to |result|.
780+
1. [=set/Append=] |traversable| to |result|.
781781

782782
1. Break.
783783

784784
1. For each |context id| in |subscription|'s [=subscription/contexts=]:
785785

786786
1. Let |navigable| be the result of [=trying=] to [=get a navigable=] with |context id|.
787787

788-
1. [=set/Append=] |navigable| to |result| if |navigable| is not null.
788+
1. If |navigable| is null, continue.
789+
790+
1. Let |top-level traversable| be |navigable|'s [=navigable/top-level traversable=].
791+
792+
1. [=set/Append=] |top-level traversable| to |result| if |navigable| is not null.
789793

790794
1. Return |result|.
791795

@@ -1871,12 +1875,23 @@ The [=remote end steps=] with |session| and |command parameters| are:
18711875
1. If the [=event=] with [=event name=] |event name| does not define [=remote end
18721876
subscribe steps=], continue;
18731877

1874-
1. Let |existing navigables| be a [=set of navigables for which an event is enabled=] given |session| and |event name|.
1878+
1. Let |existing navigables| be a [=set of top-level traversables for which an event is enabled=] given |session| and |event name|.
1879+
1880+
1. Let |newly subscribed navigables| be a [=/set=].
1881+
1882+
1. If |context ids| is not empty:
1883+
1884+
1. For each |context id| in |context ids|:
1885+
1886+
1. Let |navigable| be the result of [=trying=] to [=get a navigable=] with |context id|.
1887+
1888+
1. If |navigable| is null, continue.
1889+
1890+
1. Let |top-level traversable| be |navigable|'s [=navigable/top-level traversable=].
18751891

1876-
1. Let |newly subscribed navigables| be all [=/navigables=] in the remote end if |context ids| is empty,
1877-
or navigables identified by ids in |context ids|.
1892+
1. [=set/Append=] |top-level traversable| to |newly subscribed navigables| if |top-level traversable| is not null.
18781893

1879-
TODO: clarify the above step.
1894+
1. Otherwise, |newly subscribed navigables| to a [=set=] of all [=navigable/top-level traversables=] in the remote end.
18801895

18811896
1. Set |subscribe step events|[|event name|] to [=set/difference=] of
18821897
|newly subscribed navigables| and |existing navigables|.

0 commit comments

Comments
 (0)