[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
simon.fraser at apple.com
simon.fraser at apple.com
Wed Dec 22 11:34:38 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 55bd53268057cc5b013821893142cf05027c91c2
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jul 29 18:41:56 2010 +0000
2010-07-29 Simon Fraser <simon.fraser at apple.com>
Reviewed by Darin Adler.
SHOULD NEVER BE REACHED assertion when switching tabs with composited content
https://bugs.webkit.org/show_bug.cgi?id=43167
When the root layer becomes unattached (e.g. when switching tabs), don't return
'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
both allocates wasteful backing store, and causes an assertion when we try to
paint the layer.
Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintingGoesToWindow):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0431cfb..ad62d49 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -37,6 +37,23 @@
2010-07-29 Simon Fraser <simon.fraser at apple.com>
+ Reviewed by Darin Adler.
+
+ SHOULD NEVER BE REACHED assertion when switching tabs with composited content
+ https://bugs.webkit.org/show_bug.cgi?id=43167
+
+ When the root layer becomes unattached (e.g. when switching tabs), don't return
+ 'false' from paintingGoesToWindow() because that will cause a -setNeedsDispay, which
+ both allocates wasteful backing store, and causes an assertion when we try to
+ paint the layer.
+
+ Test: manual-tests/compositing/assert-on-tab-switch.html: Added.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::paintingGoesToWindow):
+
+2010-07-29 Simon Fraser <simon.fraser at apple.com>
+
Reviewed by Pavel Feldman.
Crash when computing pseudo-style of a vanished scrollbar in inspector
diff --git a/WebCore/manual-tests/compositing/assert-on-tab-switch.html b/WebCore/manual-tests/compositing/assert-on-tab-switch.html
new file mode 100644
index 0000000..5b82c49
--- /dev/null
+++ b/WebCore/manual-tests/compositing/assert-on-tab-switch.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style type="text/css" media="screen">
+ .box {
+ width: 100px;
+ height: 100px;
+ background-color: blue;
+ -webkit-transform: translateZ(0);
+ }
+
+ </style>
+</head>
+<body>
+ <div class="box"></div>
+ <p><a href="https://bugs.webkit.org/show_bug.cgi?id=43167">https://bugs.webkit.org/show_bug.cgi?id=43167</a><br>
+ You should not hit an assertion if you load this file in a tab, then switch back and forth between other tabs.</p>
+</body>
+</html>
diff --git a/WebCore/rendering/RenderLayerBacking.cpp b/WebCore/rendering/RenderLayerBacking.cpp
index ea7114a..13a8145 100644
--- a/WebCore/rendering/RenderLayerBacking.cpp
+++ b/WebCore/rendering/RenderLayerBacking.cpp
@@ -877,7 +877,7 @@ FloatPoint RenderLayerBacking::contentsToGraphicsLayerCoordinates(const Graphics
bool RenderLayerBacking::paintingGoesToWindow() const
{
if (m_owningLayer->isRootLayer())
- return compositor()->rootLayerAttachment() == RenderLayerCompositor::RootLayerAttachedViaChromeClient;
+ return compositor()->rootLayerAttachment() != RenderLayerCompositor::RootLayerAttachedViaEnclosingIframe;
return false;
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list