Bug 192334

Summary: CSS Properties and Values API should support animating registered custom properties without any references
Product: WebKit Reporter: Justin Michaud <justin_michaud>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: REOPENED ---    
Severity: Normal CC: achristensen, bfulgham, ews-watchlist, graouts, rniwa, simon.fraser, zalan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 192828    
Bug Blocks: 192324    
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews100 for mac-sierra
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Archive of layout-test-results from ews116 for mac-sierra
none
Archive of layout-test-results from ews203 for win-future
none
Archive of layout-test-results from ews121 for ios-simulator-wk2
none
Patch none

Description Justin Michaud 2018-12-03 14:56:41 PST
Properties that are not used in substitutions should be able to be transitioned. This blocks 192324.
Comment 1 Justin Michaud 2018-12-05 19:28:23 PST
Created attachment 356699 [details]
Patch
Comment 2 EWS Watchlist 2018-12-05 19:31:13 PST Comment hidden (obsolete)
Comment 3 Justin Michaud 2018-12-05 19:31:26 PST
This patch is not complete yet. In particular, I would like to have the wpt tests for css variables imported first, to make sure nothing breaks.

Right now, I have debug assertions everywhere just to aid in debugging. WebAnimations as well as declarative animations are not implemented yet. 

I am uploading this to get some preliminary feedback while I import the wpt tests and fix those bugs.
Comment 4 Simon Fraser (smfr) 2018-12-05 19:41:19 PST
Comment on attachment 356699 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=356699&action=review

> Source/WebCore/animation/AnimationTimeline.cpp:380
> +void AnimationTimeline::updateCustomPropertyCSSTransitionsForElement(Element& element, const RenderStyle& currentStyle, const RenderStyle& afterChangeStyle)

Holy shit.

> Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1874
> +    return (!aValue && !bValue) || (aValue && bValue && *aValue == *bValue);

We have a thing for this: arePointingToEqualData()
Comment 5 EWS Watchlist 2018-12-05 20:38:03 PST Comment hidden (obsolete)
Comment 6 EWS Watchlist 2018-12-05 20:38:05 PST Comment hidden (obsolete)
Comment 7 EWS Watchlist 2018-12-05 21:04:38 PST Comment hidden (obsolete)
Comment 8 EWS Watchlist 2018-12-05 21:04:40 PST Comment hidden (obsolete)
Comment 9 EWS Watchlist 2018-12-05 21:29:24 PST Comment hidden (obsolete)
Comment 10 EWS Watchlist 2018-12-05 21:29:25 PST Comment hidden (obsolete)
Comment 11 EWS Watchlist 2018-12-05 21:41:26 PST Comment hidden (obsolete)
Comment 12 EWS Watchlist 2018-12-05 21:41:38 PST Comment hidden (obsolete)
Comment 13 EWS Watchlist 2018-12-06 00:29:47 PST Comment hidden (obsolete)
Comment 14 EWS Watchlist 2018-12-06 00:29:49 PST Comment hidden (obsolete)
Comment 15 Justin Michaud 2018-12-10 22:34:16 PST
Created attachment 357034 [details]
Patch
Comment 16 Justin Michaud 2018-12-10 22:35:03 PST
This is beautiful.
Comment 17 Alex Christensen 2021-11-01 12:44:38 PDT
Comment on attachment 357034 [details]
Patch

This has been requesting review for more than one year.  If this is still needed, please rebase and re-request review.
Comment 18 Justin Michaud 2024-04-08 13:37:21 PDT
Closing old bugs assigned to me
Comment 19 Justin Michaud 2024-04-08 13:37:40 PDT
Closing old bugs assigned to me
Comment 20 Simon Fraser (smfr) 2024-04-08 15:13:28 PDT
Reopening.