Skip to content

[css-paint-api] should normatively require switching between at least 2 worklet global scopes in most cases #327

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

Closed
dbaron opened this issue Oct 26, 2016 · 1 comment

Comments

@dbaron
Copy link
Member

dbaron commented Oct 26, 2016

As recorded at the end of our Lisbon minutes, part I, css-paint-api should:

  RESOLVED: Paint/Layout specs will have normative section that
            implementations must have at least 2 globals with an
            opt-out for memory constraints.

We wanted this (if my memory is correct) to reduce the chance that content will depend on state in the global scope in ways that would break implementations that want to do things like run these worklets at the same time on different threads, which is something that probably won't happen in initial implementations but that we might want to do in the future.

The current wording in the spec appears to be:

Let workletGlobalScope be a PaintWorkletGlobalScope from the list of worklet’s WorkletGlobalScopes from the paint Worklet.

The user agent may also create a WorkletGlobalScope given the paint Worklet and use that.

Note: The user agent may use any policy for which PaintWorkletGlobalScope to select or create. It may use a single PaintWorkletGlobalScope or multiple and randomly assign between them.

which does not express this normative requirement.

(I got here from w3ctag/design-reviews#140 .)

@upsuper
Copy link
Member

upsuper commented Oct 28, 2016

This behavior sounds hard for testing? Probably we can have a test which relies on this behavior and use some statistical approach (simplified BigCrush?) to ensure that its output doesn't have any reliable pattern?

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

2 participants