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

Worklet event loop is not run? #318

Closed
annevk opened this issue Sep 30, 2016 · 0 comments · Fixed by #375 or whatwg/html#6056
Closed

Worklet event loop is not run? #318

annevk opened this issue Sep 30, 2016 · 0 comments · Fixed by #375 or whatwg/html#6056
Assignees

Comments

@annevk
Copy link
Member

annevk commented Sep 30, 2016

Unlike workers, you don't actually define how the event loop is supposed to be run.

bfgeek added a commit that referenced this issue Apr 6, 2017
Instead of relying on "in parallel" this change makes all the thread
hopping explicit via. message passing and queue tasks on the appropriate
event loop.

 - Fixes #372, changes arguments to fetch a module script graph.

 - Fixes #370, running scripts in parallel. Now the script explicitly are
   run within a task queued on the worklet global scope's event loop.

 - Fixes #318, actually runs the event loop.

 - Fixes #230, treats "fetch a module worker script graph" as
   asynchronous.

 - Probably fixes #225 ? I think I'm grabbing the correct state at each
   thread hop.
@tabatkins tabatkins added the ready label Apr 6, 2017
bfgeek added a commit that referenced this issue Apr 11, 2017
* [worklets] Multiple fixes to the {{Worklet/import()}} algorithm.

Instead of relying on "in parallel" this change makes all the thread
hopping explicit via. message passing and queue tasks on the appropriate
event loop.

 - Fixes #372, changes arguments to fetch a module script graph.

 - Fixes #370, running scripts in parallel. Now the script explicitly are
   run within a task queued on the worklet global scope's event loop.

 - Fixes #318, actually runs the event loop.

 - Fixes #230, treats "fetch a module worker script graph" as
   asynchronous.

 - Probably fixes #225 ? I think I'm grabbing the correct state at each
   thread hop.
@tabatkins tabatkins removed the ready label Apr 11, 2017
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants