Web updates

Web IDL 42a9d4b927e2

Editorial: make more iterator-related stuff imperative As part of #467, this moves the installation of @@iterator/@@asyncIterator/forEach/entries/keys/values to an imperative style, for the cases of pair iterators, value iterators, async iterators, and indexed property getters. This does not yet make imperative the same methods for maplikes and setlikes, nor does it make the construction of the iterator-related objects and prototype objects themselves imperative. As part of this, it separates the definitions of the iteration methods for sync iterators and async iterators.

Domenic Denicola

HTML 1529ed1686ff

Correct CrossOriginProperties and callers Having CrossOriginProperties include the document-tree child browsing context name properties was incorrect for all its callers. The IDL object they are defined upon is not accessible across origins. CrossOriginGetOwnPropertyHelper would end up checking the [[Value]] slot of undefined (i.e., a specification error), as they are not own properties of the global object. And CrossOriginOwnPropertyKeys was excluding them deliberately (though then for "then" incorrectly assuming they were included anyway). WPT html/browsers/origin/cross-origin-objects/cross-origin-objects.html seems to be testing all this as expected. Closes #5393.

Anne van Kesteren

HTML cd59059ceeab

Clean up the event loop and agent correspondence This closes #5352, by making event loops and agents 1:1. It also adds an explicit explanation that event loops/agents and implementation threads are not necessarily 1:1, apart from the restrictions imposed by JavaScript's forward progress guarantee. This also closes #4213, as worklet event loops work fine in this architecture. This also closes #4674, as browsing contexts changing event loops is not a problem in this architecture, since they change agents at the same time. Other problems remain around communication between agents (see e.g. #3691), and some of that communication is event-loop mediated, but the specific note discussed there is no longer relevant.

Domenic Denicola