WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
30501
Flash at end of opacity/transform transition sometimes
https://bugs.webkit.org/show_bug.cgi?id=30501
Summary
Flash at end of opacity/transform transition sometimes
Simon Fraser (smfr)
Reported
2009-10-18 21:10:41 PDT
Created
attachment 41393
[details]
Testcase In some content, there's a noticeable flash sometimes when a transform or opacity transition ends sometimes. I'm having a hard time making a reduced testcase, but the attached shows it sometimes.
Attachments
Testcase
(1.57 KB, text/html)
2009-10-18 21:10 PDT
,
Simon Fraser (smfr)
no flags
Details
Proto patch
(4.46 KB, patch)
2009-10-18 21:12 PDT
,
Simon Fraser (smfr)
no flags
Details
Formatted Diff
Diff
Patch
(5.82 KB, patch)
2009-10-19 17:03 PDT
,
Simon Fraser (smfr)
darin
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Simon Fraser (smfr)
Comment 1
2009-10-18 21:11:55 PDT
The flash happens because we remove the transition on the GraphicsLayer before we set the final opacity/transform style, so there's a window where it renders with the original opacity/transform.
Simon Fraser (smfr)
Comment 2
2009-10-18 21:12:38 PDT
Created
attachment 41394
[details]
Proto patch
Chris Marrin
Comment 3
2009-10-19 07:38:02 PDT
Comment on
attachment 41394
[details]
Proto patch
> diff --git a/WebCore/rendering/RenderLayerBacking.cpp b/WebCore/rendering/RenderLayerBacking.cpp > index 4c82843..d7248d4 100644 > --- a/WebCore/rendering/RenderLayerBacking.cpp > +++ b/WebCore/rendering/RenderLayerBacking.cpp > @@ -89,8 +89,8 @@ void RenderLayerBacking::createGraphicsLayer() > m_graphicsLayer->setName("Anonymous Node"); > #endif // NDEBUG > > - updateLayerOpacity(); > - updateLayerTransform(); > + updateLayerOpacity(renderer()->style()); > + updateLayerTransform(renderer()->style()); > } > > void RenderLayerBacking::destroyGraphicsLayer() > @@ -104,15 +104,13 @@ void RenderLayerBacking::destroyGraphicsLayer() > m_maskLayer = 0; > } > > -void RenderLayerBacking::updateLayerOpacity() > +void RenderLayerBacking::updateLayerOpacity(const RenderStyle* style) > { > - m_graphicsLayer->setOpacity(compositingOpacity(renderer()->opacity())); > + m_graphicsLayer->setOpacity(compositingOpacity(style->opacity())); > }
I don't see how these two are different? How is passing in renderer()->style() and setting the opacity to renderer()->style() is different? What is the fix you're doing here?
Simon Fraser (smfr)
Comment 4
2009-10-19 07:40:07 PDT
I just pass in style there so I can use toStyle lower down. Look at the rest of the patch.
Simon Fraser (smfr)
Comment 5
2009-10-19 17:03:16 PDT
Created
attachment 41462
[details]
Patch
Simon Fraser (smfr)
Comment 6
2009-10-19 17:39:59 PDT
http://trac.webkit.org/changeset/49823
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug