Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move worklets into the HTML Standard
Closes w3c/css-houdini-drafts#1000. This provides a baseline by porting over all the existing text from https://drafts.css-houdini.org/worklets/, modernizing and restructuring it along the way. It does not yet fix many of the open logged issues (although it does fix some; see below). Notable changes from that document: * Rearranged sections to better match workers, and my sense of flow. * Moved worklet script fetching to be siblings with all the other script fetching algorithms. * Improved clarity and guidance on what specifications that define worklets should do, including fleshing out the fake worklet example. * Changed "create a WorkletGlobalScope", which took one set of arguments, to "create a worklet global scope", which just takes a Worklet instance. This appears to match better how the algorithm is used, e.g. in https://drafts.css-houdini.org/css-paint-api/#draw-a-paint-image step 10. * Updated "report an error" to bail out for non-EventTarget globals, like WorkletGlobalScope. Closes whatwg#2611. * Updated worklets to only be exposed in secure contexts. Closes w3c/css-houdini-drafts#505. * Makes the lifetime of creating and terminating WorkletGlobalScopes more explicit. Closes w3c/css-houdini-drafts#224. Closes w3c/css-houdini-drafts#389. * Explicitly start and stop the event loop for a given WorkletGlobalScope upon creation/termination. Closes w3c/css-houdini-drafts#843. Closes w3c/css-houdini-drafts#318 for real. * Fixes creation of new worklet global scopes to only run the top-level module scripts added via addModule(), which will automatically run their dependencies. Previously it would run all module scripts loaded into the worklet, so dependencies would be run in the order they were fetched, not as part of the top-down module evaluation process. Closes w3c/css-houdini-drafts#264.
- Loading branch information