Make commitStyles use computed values instead of resolved values #22452
Conversation
The review process for this patch is being conducted in the Chromium project. |
de6e384
to
841b0da
3982069
to
b62120e
b62120e
to
2621ace
75e6aa1
to
fe518c1
Add new CSSAnimationUtils class with a static method KeyframeValueFromComputedStyle() which returns the true computed value for all properties. This mostly calls CSSValueForComputedStyle() without a LayoutObject, but the cases where this does not return the computed value (line-height and transform) are handles separately, similarly to the implementation of ComputedStyleMap. This method does take a LayoutObject, but it is only used to resolve matrix interpolation of box-size-dependent transform values, which produces a deferred compilation which cannot be serialized directly in the current spec. Make Animation.commitStyles() use this new function instead of committing the resolved value using CSSValueFromComputedStyle(). Add additional WPT tests for commitStyles() adding tests for special-case properties and splitting the logical properties case. Bug: 1056197, 1057307 Change-Id: Ic823f96f257d4c6b010dfee758d4ac0b5cd4148c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2118765 Commit-Queue: George Steel <gtsteel@chromium.org> Reviewed-by: Robert Flack <flackr@chromium.org> Reviewed-by: Kevin Ellis <kevers@chromium.org> Cr-Commit-Position: refs/heads/master@{#765297}
fe518c1
to
d158ce3
c7c25c1
into
master
13 checks passed
13 checks passed
Azure Pipelines (affected tests without changes: Safari Technology Preview)
affected tests without changes: Safari Technology Preview succeeded
Details
Azure Pipelines (affected tests: Safari Technology Preview)
affected tests: Safari Technology Preview succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests)
wpt.fyi hook: safari-preview-affected-tests succeeded
Details
Azure Pipelines (wpt.fyi hook: safari-preview-affected-tests-without-changes)
wpt.fyi hook: safari-preview-affected-tests-without-changes succeeded
Details
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Add new CSSAnimationUtils class with a static method
KeyframeValueFromComputedStyle() which returns the true computed value
for all properties. This mostly calls CSSValueForComputedStyle() without
a LayoutObject, but the cases where this does not return the computed
value (line-height and transform) are handles separately, similarly
to the implementation of ComputedStyleMap.
This method does take a LayoutObject, but it is only used to resolve
matrix interpolation of box-size-dependent transform values, which
produces a deferred compilation which cannot be serialized directly in
the current spec.
Make Animation.commitStyles() use this new function instead of
committing the resolved value using CSSValueFromComputedStyle().
Add additional WPT tests for commitStyles() adding tests for
special-case properties and splitting the logical properties case.
Bug: 1056197, 1057307
Change-Id: Ic823f96f257d4c6b010dfee758d4ac0b5cd4148c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2118765
Commit-Queue: George Steel <gtsteel@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#765297}