diff options
author | Simon Fraser <simon.fraser@apple.com> | 2014-04-14 12:16:32 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-16 05:55:03 +0200 |
commit | 7b1f8c369100f57861ad8054d17a04da8b604203 (patch) | |
tree | 3f667df923823afe1ba27b416bf854398c66574d /Source/JavaScriptCore/parser/Parser.cpp | |
parent | 8fb157f8b7822b62b2df5668f77a67b608b39267 (diff) | |
download | qtwebkit-7b1f8c369100f57861ad8054d17a04da8b604203.tar.gz |
Flash of garbage pixels when playing a show on Hulu
<https://webkit.org/b/119871>
Source/WebCore:
Reviewed by Tim Horton.
When starting a show on Hulu, there's a layer that gets marked as
opaque because it has a child RenderLayer whose background fills the
compositing layer. That child RenderLayer was recently position:fixed
but outside the viewport, so its viewportConstrainedNotCompositedReason
was set to a non-zero value.
However, we failed to clear the viewportConstrainedNotCompositedReason
when the layer became non-fixed. This caused painting the opaque
layer to bail in RenderLayer::paintLayer(), leaving garbage.
Test: compositing/contents-opaque/fixed-to-nonfixed.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer): Add an assertion to catch this error in future.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking): Make sure we clear the
ViewportConstrainedNotCompositedReason if the layer is no longer fixed.
Change-Id: Ie1aa935b8271cd8cc3159f5337d483a77d74b8a0
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Diffstat (limited to 'Source/JavaScriptCore/parser/Parser.cpp')
0 files changed, 0 insertions, 0 deletions