Bug 224923

Summary: Add discrete animation support for border-image-repeat
Product: WebKit Reporter: Antoine Quint <graouts>
Component: AnimationsAssignee: Antoine Quint <graouts>
Status: RESOLVED FIXED    
Severity: Normal CC: changseok, dino, esprehn+autocc, ews-watchlist, glenn, graouts, koivisto, kondapallykalyan, pdr, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch for landing none

Description Antoine Quint 2021-04-22 02:23:44 PDT
Add discrete animation support for border-image-repeat
Comment 1 Antoine Quint 2021-04-22 02:24:48 PDT
Created attachment 426793 [details]
Patch
Comment 2 Antti Koivisto 2021-04-22 02:36:18 PDT
Comment on attachment 426793 [details]
Patch

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

> Source/WebCore/animation/CSSPropertyAnimation.cpp:699
> +class BorderImageRepeatWrapper : public AnimationPropertyWrapperBase {

final?

> Source/WebCore/animation/CSSPropertyAnimation.cpp:732
> +    std::unique_ptr<AnimationPropertyWrapperBase> m_horizontalWrapper;
> +    std::unique_ptr<AnimationPropertyWrapperBase> m_verticalWrapper;

These could probably be just 

DiscretePropertyWrapper<NinePieceImageRule> m_horizontalWrapper;

instead of unique_ptr. Even with unique_ptr they could have the actual type instead of the base type.
Comment 3 Antoine Quint 2021-04-22 03:34:35 PDT
(In reply to Antti Koivisto from comment #2)
> Comment on attachment 426793 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=426793&action=review
> 
> > Source/WebCore/animation/CSSPropertyAnimation.cpp:699
> > +class BorderImageRepeatWrapper : public AnimationPropertyWrapperBase {
> 
> final?
> 
> > Source/WebCore/animation/CSSPropertyAnimation.cpp:732
> > +    std::unique_ptr<AnimationPropertyWrapperBase> m_horizontalWrapper;
> > +    std::unique_ptr<AnimationPropertyWrapperBase> m_verticalWrapper;
> 
> These could probably be just 
> 
> DiscretePropertyWrapper<NinePieceImageRule> m_horizontalWrapper;
> 
> instead of unique_ptr. Even with unique_ptr they could have the actual type
> instead of the base type.

The reason I did use AnimationPropertyWrapperBase instead of DiscretePropertyWrapper<NinePieceImageRule> was so that I didn't have to change some of the virtual methods from private to protected on parent classes.
Comment 4 Antoine Quint 2021-04-22 13:11:22 PDT
Created attachment 426844 [details]
Patch for landing
Comment 5 EWS 2021-04-22 15:07:11 PDT
Committed r276465 (236925@main): <https://commits.webkit.org/236925@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426844 [details].
Comment 6 Radar WebKit Bug Importer 2021-04-22 17:04:36 PDT
<rdar://problem/77045712>