Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Worklets does not integrate with the event loop #843

Closed
annevk opened this issue Nov 28, 2018 · 1 comment
Closed

Worklets does not integrate with the event loop #843

annevk opened this issue Nov 28, 2018 · 1 comment

Comments

@annevk
Copy link
Member

annevk commented Nov 28, 2018

See whatwg/html#4213.

I also think #318 was never really fixed as I still don't see where the worklet processing model invokes the event loop and waits for it to complete.

domenic added a commit to whatwg/html that referenced this issue Oct 16, 2020
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 #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.
@domenic
Copy link
Contributor

domenic commented Oct 16, 2020

With whatwg/html#6056, we can close this. The event loop handling for worklets is now very explicit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants