guest271314 (2019-06-25T15:56:45.000Z)
Chromium has implemented ```TaskWorklet```
https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl
 (see https://github.com/developit/task-worklet/blob/master/README.md)

On Tue, Jun 25, 2019 at 1:51 PM Robert Parham <adelphia at protonmail.ch>
wrote:

>
> Are there any threading proposals? If not, would anyone be interested in
> creating one?
>
> Webworkers are great, but require separate files that just aren't always
> convenient to maintain. I've
> created this wrapper for webworkers that allows users to create in-line
> disposable threads, somewhat
> similar to threads in Java.
>
> https://gist.github.com/Pamblam/683d5ae429448adfa6d6e7fb30de39b2
>
> If we could get something similar implemented natively that would be very
> cool.
>
> Robert "Gordie" Parham
> pamblam.com
> 813.616.0819
>
> [image: ad.png]
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190625/771db49c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ad.png
Type: image/png
Size: 187223 bytes
Desc: not available
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190625/771db49c/attachment-0001.png>
guest271314 at gmail.com (2019-06-25T16:34:22.177Z)
Chromium has implemented ```TaskWorklet``` 

- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill 

- https://github.com/developit/task-worklet/blob/master/README.md. 

Threading and Tasks in Chrome

- https://chromium.googlesource.com/chromium/src/+/master/docs/threading_and_tasks.md


Worklets 

- MDN description https://developer.mozilla.org/en-US/docs/Web/API/Worklet 

> The Worklet interface is a lightweight version of Web Workers and gives developers access to low-level parts of the rendering pipeline. With Worklets, you can run JavaScript and WebAssembly code to do graphics rendering or audio processing where high performance is required.

- Specification Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:34:10.882Z)
Chromium has implemented ```TaskWorklet``` 

- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill 

- https://github.com/developit/task-worklet/blob/master/README.md. 

Threading and Tasks in Chrome

- https://chromium.googlesource.com/chromium/src/+/master/docs/threading_and_tasks.md


#Worklets 

- MDN description https://developer.mozilla.org/en-US/docs/Web/API/Worklet 

> The Worklet interface is a lightweight version of Web Workers and gives developers access to low-level parts of the rendering pipeline. With Worklets, you can run JavaScript and WebAssembly code to do graphics rendering or audio processing where high performance is required.

- Specification Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:33:45.161Z)
Chromium has implemented ```TaskWorklet``` 

- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill 

- https://github.com/developit/task-worklet/blob/master/README.md. 

Threading and Tasks in Chrome

- https://chromium.googlesource.com/chromium/src/+/master/docs/threading_and_tasks.md


Worklets 

MDN description https://developer.mozilla.org/en-US/docs/Web/API/Worklet 

> The Worklet interface is a lightweight version of Web Workers and gives developers access to low-level parts of the rendering pipeline. With Worklets, you can run JavaScript and WebAssembly code to do graphics rendering or audio processing where high performance is required.

- Specification Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:30:41.674Z)
Chromium has implemented ```TaskWorklet``` 

- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill 

- https://github.com/developit/task-worklet/blob/master/README.md. 

Threading and Tasks in Chrome

- https://chromium.googlesource.com/chromium/src/+/master/docs/threading_and_tasks.md


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:26:30.705Z)
Chromium has implemented ```TaskWorklet``` 

- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill https://github.com/developit/task-worklet/blob/master/README.md. 


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:26:16.170Z)
Chromium has implemented ```TaskWorklet``` 

-https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill https://github.com/developit/task-worklet/blob/master/README.md. 


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:26:01.945Z)
Chromium has implemented ```TaskWorklet``` - https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md
- https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. 

Polyfill https://github.com/developit/task-worklet/blob/master/README.md. 


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:25:33.561Z)
Chromium has implemented ```TaskWorklet``` https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/README.md;
https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl. Polyfill https://github.com/developit/task-worklet/blob/master/README.md. 


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.

guest271314 at gmail.com (2019-06-25T16:15:12.733Z)
Chromium has implemented ```TaskWorklet```
https://chromium.googlesource.com/chromium/src/+/cf7ed613af7b01f2e64929f969d3737067e28083/third_party/blink/renderer/core/workers/experimental/task_worklet.idl (polyfill https://github.com/developit/task-worklet/blob/master/README.md). 


See Worklets Level 1 https://drafts.css-houdini.org/worklets/

> The following techniques are used in order to encourage authors to write code in an idempotent way:
>
> - No reference to the global object, e.g. self on a DedicatedWorkerGlobalScope.
> 
> - Code is loaded as a module script [https://html.spec.whatwg.org/multipage/webappapis.html#module-script] which resulting in the code being executed in strict mode code without a shared this. 
 This prevents two different module scripts sharing state by referencing shared objects on the global scope.
>
> - These specifications must require user agents to always have at least two WorkletGlobalScopes per Worklet and randomly assign a method or set of methods on a class to a particular global scope. These specifications can provide an opt-out under memory constraints.
> 
> - User agents can create and destroy WorkletGlobalScopes at any time for these specifications.