Bug 110685

Summary: [Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html shows a red square where it shouldn't
Product: WebKit Reporter: Noam Rosenthal <noam>
Component: Layout and RenderingAssignee: Noam Rosenthal <noam>
Status: RESOLVED FIXED    
Severity: Normal CC: alexander.pashenko, allan.jensen, cmarcelo, dongseong.hwang, jaepark, kbalazs, kenneth, kvserr, luiz, mrobinson, rafael.lobo, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch for landing none

Noam Rosenthal
Reported 2013-02-23 01:26:08 PST
I believe this is a regression since r140825. m_shouldUpdateCurrentTransformFromGraphicsLayer is set to false at some point, but never reset to true. We don't treat end of animations correctly!
Attachments
Patch (4.43 KB, patch)
2013-02-23 01:55 PST, Noam Rosenthal
no flags
Patch for landing (4.41 KB, patch)
2013-02-25 08:41 PST, Noam Rosenthal
no flags
Noam Rosenthal
Comment 1 2013-02-23 01:55:32 PST
Martin Robinson
Comment 2 2013-02-25 08:08:16 PST
Comment on attachment 189916 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=189916&action=review > Source/WebCore/ChangeLog:8 > + Removed m_shouldUpdateTransformm_shouldUpdateCurrentTransformFromGraphicsLayer etc., as they don't do Looks like m_shouldUpdateTransformm_shouldUpdateCurrentTransformFromGraphicsLayer might be missing a space.
Noam Rosenthal
Comment 3 2013-02-25 08:41:26 PST
Created attachment 190069 [details] Patch for landing
WebKit Review Bot
Comment 4 2013-02-25 10:41:04 PST
Comment on attachment 190069 [details] Patch for landing Clearing flags on attachment: 190069 Committed r143947: <http://trac.webkit.org/changeset/143947>
WebKit Review Bot
Comment 5 2013-02-25 10:41:08 PST
All reviewed patches have been landed. Closing bug.
Allan Sandfeld Jensen
Comment 6 2013-02-25 12:21:22 PST
Actually the patch you reverted here made a significant impact on Qt WK1. Has the issues been solved in a different way now?
Noam Rosenthal
Comment 7 2013-02-25 12:40:21 PST
(In reply to comment #6) > Actually the patch you reverted here made a significant impact on Qt WK1. Has the issues been solved in a different way now? This is not a revert. Can you be more specific than "significant impact", and are there tests that cover this?
Allan Sandfeld Jensen
Comment 8 2013-02-25 13:08:03 PST
(In reply to comment #7) > (In reply to comment #6) > > Actually the patch you reverted here made a significant impact on Qt WK1. Has the issues been solved in a different way now? > > This is not a revert. Can you be more specific than "significant impact", and are there tests that cover this? I thought the introduction of these variables was the main part of r140825, so it just look like a revert to me. R140825 solved an annoying flicker issue that was only observable in WK1 and had no tests, I merged it into Qt5.0, so I am trying to understand this patch, to see if merging r140825 was a mistake, or I need this patch too or anything in between.
Noam Rosenthal
Comment 9 2013-02-25 13:09:53 PST
(In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > Actually the patch you reverted here made a significant impact on Qt WK1. Has the issues been solved in a different way now? > > > > This is not a revert. Can you be more specific than "significant impact", and are there tests that cover this? > > I thought the introduction of these variables was the main part of r140825, so it just look like a revert to me. R140825 solved an annoying flicker issue that was only observable in WK1 and had no tests, I merged it into Qt5.0, so I am trying to understand this patch, to see if merging r140825 was a mistake, or I need this patch too or anything in between. In any case those variables were wrong - they are set to false once and then never reset to true, unless I've missed something.
Alexander Paschenko
Comment 10 2013-02-26 03:00:47 PST
> In any case those variables were wrong - they are set to false once and then never reset to true, unless I've missed something. I believe you have because actually they do get set to true inside m_shouldUpdateCurrentTransformFromGraphicsLayer. Please see https://bug-102501-attachments.webkit.org/attachment.cgi?id=184733 it reads, among other things, if (changeMask & TransformChange) m_shouldUpdateCurrentTransformFromGraphicsLayer = true; if (changeMask & OpacityChange) m_shouldUpdateCurrentOpacityFromGraphicsLayer = true; #if ENABLE(CSS_FILTERS) if (changeMask & FilterChange) m_shouldUpdateCurrentFiltersFromGraphicsLayer = true; #endif
Alexander Paschenko
Comment 11 2013-02-26 03:26:19 PST
(In reply to comment #10) > they do get set to true inside m_shouldUpdateCurrentTransformFromGraphicsLayer Sorry, I meant that the patch sets these variables to true inside TextureMapperLayer::flushCompositingStateForThisLayerOnly.
Noam Rosenthal
Comment 12 2013-02-26 04:09:57 PST
(In reply to comment #11) > (In reply to comment #10) > > they do get set to true inside m_shouldUpdateCurrentTransformFromGraphicsLayer > > Sorry, I meant that the patch sets these variables to true inside TextureMapperLayer::flushCompositingStateForThisLayerOnly. OK, I think it got lost at a later patch then, probably in the GLTM refactoring.
Noam Rosenthal
Comment 13 2013-02-26 04:20:46 PST
(In reply to comment #11) > (In reply to comment #10) > > they do get set to true inside m_shouldUpdateCurrentTransformFromGraphicsLayer > > Sorry, I meant that the patch sets these variables to true inside TextureMapperLayer::flushCompositingStateForThisLayerOnly. You're right, but it's still the wrong fix. When an animation doesn't fillForward, it should revert to its original position at end of animation. Your patch makes it so that animations are always considered to have a fillsForward flag.
Note You need to log in before you can comment on or make changes to this bug.