Comments (6)
One really large issue here, is that this suddenly creates a communication channel back to the main thread. This API will be abused to check if for example something has been painted (except that if an exception was thrown -- it wasn't painted).
Is there a good way to mitigate this, and still provide error reporting?
from css-houdini-drafts.
There need to be communication channels back to the main thread regardless, is that not planned ?
from css-houdini-drafts.
For style/layout/paint in particular if you expose a communication channel from isolatedWorker -> mainJavascript you have exposed additional information which isn't currently exposed to developers.
For example for custom paint, you can now determine which items the UA has actually* painted. Is this a bad thing? Not sure.
At TPAC I want to talk to a bunch of people about this issue, and see if its ok or not.
Other specs, I.e. audio worker could extend IsolatedWorkerGlobalScope to incorporate a postMessage interface.
I.e.
AudioGlobalScope : IsolatedWorkerGlobalScope {
void postMessage(Object message);
void registerAudioNode(DOMString name, Function nodeCtor);
};
[*] for some definition of actually.
from css-houdini-drafts.
Right. Sorry I was not aware of this particularity of style/layout/paint, we totally can implement that down the inheritance tree, hopefully having an interface that share the very common task of sending back info to the main thread.
from css-houdini-drafts.
No worries. I'm not sure if it's a real issue yet, but my gut feeling is that it probably is.
With feedback from other vendors we'll be able to decide if back communication channel is able to happen or low-bandwidth back communication channel.
from css-houdini-drafts.
So I'm going to close this as it doesn't seem needed at the moment - audio have set up their communication channel. We may want an out-of-band channel for the houdini worklets (something similar to report-uri for CSP) at some point - so we'll revisit once needed.
At the moment errors will just be logged to the console.
from css-houdini-drafts.
Related Issues (20)
- [css-typed-om] "Add two types" algorithm seems overly complicated? HOT 2
- [css-properties-values-api] Rule validity doesn't match implementations HOT 9
- [css-properties-values-api] JS API should use CSSOMString
- [css-typed-om] structuredClone for typed-om objects
- [css-properties-values-api] Add <string> as a supported syntax name HOT 3
- [css-properties-values-api] Clarify whether lengths using viewport units are "computationally independent"
- [css-typed-om] Add missing font units to CSSNumericFactory HOT 1
- [css-properties-values-api] Providing a way for @property to be opinionated about its usage
- [css-properties-values-api] Make `initial-value` descriptor optional
- [css-properties-values-api] `<transform-function>` interpolation between different function types
- [css-properties-values-api] Clarify parsing of duplicate descriptor declarations
- [css-properties-values-api-1] Multiple custom `@property` with the same name
- [css-properties-values-api-1] `CSSPropertyRule.initialValue` should not be nullable HOT 1
- [css-typed-om-1] Combining a number and the division of two dimensions of the same type HOT 2
- [scroll-customization-api] is there still interest/ongoing discussions for scroll customization? HOT 5
- [css-properties-values-api] `initial-value` for `*` with arbitrary substitution values HOT 1
- [css-typed-om-1] Broken references in CSS Typed OM Level 1 HOT 1
- [css-animation-worklet-1] how to enable CSS.animationWorklet
- [css-typed-om-1] Republish WD HOT 4
- [css-typed-om-1] `currentColor` is not the only non-absolute color HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from css-houdini-drafts.