[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 15:13:38 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 8601a52ead2e427961623bdd64c69700d8f2d198
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 29 04:48:43 2010 +0000
2010-10-28 James Robinson <jamesr at chromium.org>
Reviewed by Simon Fraser.
iframes forced into slow scrolling mode by containing RenderLayer sometimes
https://bugs.webkit.org/show_bug.cgi?id=48570
Adds a test that verifies that the repaint region for a scrolled iframe is not
larger than necessary.
* fast/repaint/iframe-scroll-repaint.html: Added.
* fast/repaint/resources/iframe-scroll-repaint-iframe.html: Added.
* platform/mac/fast/repaint/iframe-scroll-repaint-expected.checksum: Added.
* platform/mac/fast/repaint/iframe-scroll-repaint-expected.png: Added.
* platform/mac/fast/repaint/iframe-scroll-repaint-expected.txt: Added.
2010-10-28 James Robinson <jamesr at chromium.org>
Reviewed by Simon Fraser.
iframes forced into slow scrolling mode by containing RenderLayer sometimes
https://bugs.webkit.org/show_bug.cgi?id=48570
Only performs the overlap test for RenderLayers that paint themselves. This
prevents marking RenderWidgets as being overlapped unnecessarily.
Test: fast/repaint/iframe-scroll-repaint.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 407cdd8..7d80f55 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-10-28 James Robinson <jamesr at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ iframes forced into slow scrolling mode by containing RenderLayer sometimes
+ https://bugs.webkit.org/show_bug.cgi?id=48570
+
+ Adds a test that verifies that the repaint region for a scrolled iframe is not
+ larger than necessary.
+
+ * fast/repaint/iframe-scroll-repaint.html: Added.
+ * fast/repaint/resources/iframe-scroll-repaint-iframe.html: Added.
+ * platform/mac/fast/repaint/iframe-scroll-repaint-expected.checksum: Added.
+ * platform/mac/fast/repaint/iframe-scroll-repaint-expected.png: Added.
+ * platform/mac/fast/repaint/iframe-scroll-repaint-expected.txt: Added.
+
2010-10-28 Dmitry Titov <dimich at chromium.org>
[Chromium] Not reviewed, test_expectations fix.
diff --git a/LayoutTests/fast/repaint/iframe-scroll-repaint.html b/LayoutTests/fast/repaint/iframe-scroll-repaint.html
new file mode 100644
index 0000000..d551c9f
--- /dev/null
+++ b/LayoutTests/fast/repaint/iframe-scroll-repaint.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html style='overflow:hidden'>
+<body style='overflow:hidden'>
+<iframe src="resources/iframe-scroll-repaint-iframe.html">
+
+
diff --git a/LayoutTests/fast/repaint/resources/iframe-scroll-repaint-iframe.html b/LayoutTests/fast/repaint/resources/iframe-scroll-repaint-iframe.html
new file mode 100644
index 0000000..a009c8e
--- /dev/null
+++ b/LayoutTests/fast/repaint/resources/iframe-scroll-repaint-iframe.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html style="background-color:#eeeeee; overflow:hidden">
+<div style="height:500px">
+<script>
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone()
+
+window.setTimeout(function() {
+ if (window.layoutTestController)
+ layoutTestController.display();
+
+ document.body.scrollTop = 20;
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}, 50);
+</script>
diff --git a/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.checksum
new file mode 100644
index 0000000..3d8c495
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.checksum
@@ -0,0 +1 @@
+eead00a6f715a5fe770000f24885db94
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.png
new file mode 100644
index 0000000..fe71b6c
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.txt b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.txt
new file mode 100644
index 0000000..b399efb
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/iframe-scroll-repaint-expected.txt
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x174
+ RenderBlock {HTML} at (0,0) size 800x174
+layer at (8,8) size 784x158
+ RenderBody {BODY} at (8,8) size 784x158
+ RenderPartObject {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
+ layer at (0,0) size 300x516
+ RenderView at (0,0) size 300x150
+ layer at (0,0) size 300x516
+ RenderBlock {HTML} at (0,0) size 300x516 [bgcolor=#EEEEEE]
+ RenderBody {BODY} at (8,8) size 284x500
+ RenderBlock {DIV} at (0,0) size 284x500
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 791b65a..1cd3503 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-10-28 James Robinson <jamesr at chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ iframes forced into slow scrolling mode by containing RenderLayer sometimes
+ https://bugs.webkit.org/show_bug.cgi?id=48570
+
+ Only performs the overlap test for RenderLayers that paint themselves. This
+ prevents marking RenderWidgets as being overlapped unnecessarily.
+
+ Test: fast/repaint/iframe-scroll-repaint.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+
2010-10-28 Sheriff Bot <webkit.review.bot at gmail.com>
Unreviewed, rolling out r70814.
diff --git a/WebCore/rendering/RenderLayer.cpp b/WebCore/rendering/RenderLayer.cpp
index 16e29b2..4e8ceec 100644
--- a/WebCore/rendering/RenderLayer.cpp
+++ b/WebCore/rendering/RenderLayer.cpp
@@ -2444,7 +2444,7 @@ void RenderLayer::paintLayer(RenderLayer* rootLayer, GraphicsContext* p,
if (paintingRoot && !renderer()->isDescendantOf(paintingRoot))
paintingRootForRenderer = paintingRoot;
- if (overlapTestRequests)
+ if (overlapTestRequests && isSelfPaintingLayer())
performOverlapTests(*overlapTestRequests, layerBounds);
// We want to paint our layer, but only if we intersect the damage rect.
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list