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

[web-animations-1] Add pseudoElement to getAnimations options #11050

Merged
merged 2 commits into from
Oct 21, 2024

Conversation

vmpstr
Copy link
Member

@vmpstr vmpstr commented Oct 18, 2024

[web-animations-1] Add pseudoElement to getAnimations options #9908

@vmpstr vmpstr requested a review from flackr October 18, 2024 17:01

The returned list is sorted using
1. If {{Animatable/getAnimations(options)/options}} is passed
with a non-null {{GetAnimationsOptions/pseudoElement}},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably have a similar SyntaxError exception thrown as we do for trying to create an animation effect targeting an invalid pseudo, e.g. see https://www.w3.org/TR/web-animations-1/#dom-keyframeeffect-pseudoelement

You can see this is also referenced by the KeyframeEffect constructor: https://www.w3.org/TR/web-animations-1/#ref-for-dom-keyframeeffect-pseudoelement, though in this case since we're not setting pseudoElement it probably can't point to the same reference.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. I've tried to define the algorithm in the old spot and reference it, instead of copying the text. But let me know what you prefer. Also, do you think we need a separate resolution for the DOMException, since I don't believe getAnimations can throw prior to this change

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So looking at getComputedStyle which is very similar, it looks like MDN says it can throw on an invalid selector however I'm not sure where this is called out in the spec or how to trigger an exception in chrome, whereas for element.animate it is easy to trigger the exception with elem.animate({}, {pseudoElement: ':invalid-pseudo'});.

So we should probably get a consistent story for when we should throw on invalid pseudo selectors, but maybe this should be a separate issue explaining the current behavior of the APIs we have using pseudoElement selectors.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd propose for now we land this with the exception for self consistency within the same spec, and follow up on this.

@vmpstr vmpstr requested a review from flackr October 18, 2024 20:22
@vmpstr vmpstr merged commit 5b29ce2 into w3c:main Oct 21, 2024
1 check passed
@vmpstr vmpstr deleted the getAnimations-pseudo branch October 21, 2024 14:26
AtkinsSJ added a commit to AtkinsSJ/ladybird that referenced this pull request Nov 8, 2024
This corresponds to: w3c/csswg-drafts#11050

For now, we don't do anything with this parameter, because we don't yet
support animating pseudo-elements.
AtkinsSJ added a commit to AtkinsSJ/ladybird that referenced this pull request Nov 8, 2024
This corresponds to: w3c/csswg-drafts#11050

For now, we don't do anything useful with this parameter, because we
don't yet support animating pseudo-elements.
awesomekling pushed a commit to LadybirdBrowser/ladybird that referenced this pull request Nov 9, 2024
This corresponds to: w3c/csswg-drafts#11050

For now, we don't do anything useful with this parameter, because we
don't yet support animating pseudo-elements.
gotlougit pushed a commit to gotlougit/ladybird that referenced this pull request Nov 21, 2024
This corresponds to: w3c/csswg-drafts#11050

For now, we don't do anything useful with this parameter, because we
don't yet support animating pseudo-elements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants