Bug 81363 - [chromium] Transform animation state should be inherited from parents
Summary: [chromium] Transform animation state should be inherited from parents
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dana Jansens
URL:
Keywords:
Depends on:
Blocks: 81354
  Show dependency treegraph
 
Reported: 2012-03-16 10:00 PDT by Dana Jansens
Modified: 2012-03-18 14:59 PDT (History)
10 users (show)

See Also:


Attachments
Patch (28.05 KB, patch)
2012-03-16 10:06 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff
Patch (26.71 KB, patch)
2012-03-16 13:58 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff
Patch (26.78 KB, patch)
2012-03-16 17:38 PDT, Dana Jansens
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dana Jansens 2012-03-16 10:00:50 PDT
[chromium] Transform animation state should be inherited from parents
Comment 1 Dana Jansens 2012-03-16 10:06:25 PDT
Created attachment 132306 [details]
Patch
Comment 2 Dana Jansens 2012-03-16 10:08:42 PDT
I'm not sure if this is something we'll need to worry about being problematic, but which layers have RenderSurfaces may be different between the two threads in the face of animating opacity.
Comment 3 Dana Jansens 2012-03-16 13:58:24 PDT
Created attachment 132371 [details]
Patch

- Renamed the transformIsAnimating() functions based on feedback from Shawn. I think they're more clear and consistent now.
- Moved the bugfix for creation of render surfaces out, as it's a separate issue.
Comment 4 Adrienne Walker 2012-03-16 15:33:01 PDT
Comment on attachment 132371 [details]
Patch

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

Looks good in general.  R=me, with nits.

> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:95
> +    bool targetSurfaceTransformsAreAnimating() const { return m_targetSurfaceTransformsAreAnimating; }
> +    void setTargetSurfaceTransformsAreAnimating(bool animating) { m_targetSurfaceTransformsAreAnimating = animating; }
> +    bool screenSpaceTransformsAreAnimating() const { return m_screenSpaceTransformsAreAnimating; }
> +    void setScreenSpaceTransformsAreAnimating(bool animating) { m_screenSpaceTransformsAreAnimating = animating; }

Why is screen space transform plural here? Isn't there just one?

> Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp:724
> +    EXPECT_TRUE(renderSurface2->renderSurface()->targetSurfaceTransformsAreAnimating());

Can you add a test where renderSurface()->targetSurfaceTransformsAreAnimating() is false?

> Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp:729
> +    // Verify drawTransformsAnimatingInScreen values
> +    //

Can you add a test where screenSpaceTransformIsAnimating ends up being false?
Comment 5 Dana Jansens 2012-03-16 16:52:18 PDT
Comment on attachment 132371 [details]
Patch

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

ty :)

>> Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h:95
>> +    void setScreenSpaceTransformsAreAnimating(bool animating) { m_screenSpaceTransformsAreAnimating = animating; }
> 
> Why is screen space transform plural here? Isn't there just one?

there is going to be one for the surface and one for the replica.

>> Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp:724
>> +    EXPECT_TRUE(renderSurface2->renderSurface()->targetSurfaceTransformsAreAnimating());
> 
> Can you add a test where renderSurface()->targetSurfaceTransformsAreAnimating() is false?

k!

>> Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp:729
>> +    //
> 
> Can you add a test where screenSpaceTransformIsAnimating ends up being false?

k!
Comment 6 Dana Jansens 2012-03-16 17:38:37 PDT
Created attachment 132426 [details]
Patch

Thanks for the input, I made that test a lot better. It tests both cases with the 2 render surfaces, and tests propogation of screen space transforms by setting transforms on 2 of the 3 children of root.
Comment 7 WebKit Review Bot 2012-03-18 14:59:16 PDT
Comment on attachment 132426 [details]
Patch

Clearing flags on attachment: 132426

Committed r111137: <http://trac.webkit.org/changeset/111137>
Comment 8 WebKit Review Bot 2012-03-18 14:59:21 PDT
All reviewed patches have been landed.  Closing bug.