-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit f97c3e4
authored
Fix incumbent settings object definition and add examples
As discussed in #473, starting especially from around
#473 (comment), the
definition of incumbent introduced in #401 falls down in certain
important cases. In order to fix this, we introduce several new
concepts, which takes care of these trickier examples. These examples
are now included in the spec, and spell out exactly how exactly
incumbent settings object calculation works in increasingly-complex
scenarios.
The new algorithms "prepare to run a callback" and "clean up after
running a callback" will be used by Web IDL, similarly to how it already
uses "prepare to run script" and "clean up after running script."
Another notable change is that EnqueueJob now correctly tracks the
necessary goings-on in order to make the incumbent settings object work
correctly when promises are used to schedule callbacks. However, we
noticed that it does not correctly track the entry settings object; the
previous text, introduced in #1091, incorrectly referred to
job.[[Realm]], which does not exist. The correct fix is unfortunately
not obvious. So we add a warning there for now, with #1426 tracking
further work.1 parent ffbf252 commit f97c3e4Copy full SHA for f97c3e4
File tree
Expand file treeCollapse file tree
1 file changed
+281
-26
lines changedOpen diff view settings
Filter options
Expand file treeCollapse file tree
1 file changed
+281
-26
lines changedOpen diff view settings
0 commit comments