[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
aroben at apple.com
aroben at apple.com
Sun Feb 20 23:27:31 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit 622c8364938366aded6f824af8598b60c9e962d1
Author: aroben at apple.com <aroben at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Jan 20 17:10:34 2011 +0000
Teach WebView::scrollBackingStore about compositing mode
Test:
compositing/scroll-painted-composited-content.html
Fixes <http://webkit.org/b/52720> REGRESSION (r75987): Assertion failure in
WebView::scrollBackingStore when scrolling page with composited content
Reviewed by Anders Carlsson.
Source/WebKit/win:
* WebView.cpp:
(WebView::scrollBackingStore): Do something sensible (though naive) when in compositing
mode, rather than incorrectly asserting that this function is never called in that case. For
now we just repaint the entire scrolled region; someday hopefully we can avoid having to
repaint the areas that have just been moved.
LayoutTests:
Add a test that scrolls composited content that has already been painted
* compositing/scroll-painted-composited-content.html: Added.
* compositing/scroll-painted-composited-content-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 2d78244..36a300b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2011-01-19 Adam Roben <aroben at apple.com>
+
+ Add a test that scrolls composited content that has already been painted
+
+ Test for <http://webkit.org/b/52720> REGRESSION (r75987): Assertion failure in
+ WebView::scrollBackingStore when scrolling page with composited content
+
+ Reviewed by Anders Carlsson.
+
+ * compositing/scroll-painted-composited-content.html: Added.
+ * compositing/scroll-painted-composited-content-expected.txt: Added.
+
2011-01-20 Yury Semikhatsky <yurys at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/LayoutTests/compositing/scroll-painted-composited-content-expected.txt b/LayoutTests/compositing/scroll-painted-composited-content-expected.txt
new file mode 100644
index 0000000..8592fc9
--- /dev/null
+++ b/LayoutTests/compositing/scroll-painted-composited-content-expected.txt
@@ -0,0 +1,3 @@
+Test for Bug 52720 - REGRESSION (r75987): Assertion failure in WebView::scrollBackingStore when scrolling page with composited content. The test passes if it doesn't assert in Debug builds.
+
+
diff --git a/LayoutTests/compositing/scroll-painted-composited-content.html b/LayoutTests/compositing/scroll-painted-composited-content.html
new file mode 100644
index 0000000..7811087
--- /dev/null
+++ b/LayoutTests/compositing/scroll-painted-composited-content.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Test scrolling with composited content that has already been painted</title>
+ <style>
+ body {
+ width: 600px;
+ }
+ div {
+ -webkit-transform: translateZ(0);
+ width: 1000px;
+ height: 800px;
+ }
+ </style>
+</head>
+<body>
+ <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=52720">Bug 52720 - REGRESSION
+ (r75987): Assertion failure in WebView::scrollBackingStore when scrolling page with composited
+ content</a>. The test passes if it doesn't assert in Debug builds.</p>
+
+ <div></div>
+
+ <script>
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ // Force a paint so that the content will be painted at the current scroll offset (0x0)
+ // before we scroll.
+ layoutTestController.display();
+ }
+ window.scrollBy(300, 0);
+ </script>
+</body>
+</html>
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog
index a564330..54eac82 100644
--- a/Source/WebKit/win/ChangeLog
+++ b/Source/WebKit/win/ChangeLog
@@ -1,3 +1,21 @@
+2011-01-19 Adam Roben <aroben at apple.com>
+
+ Teach WebView::scrollBackingStore about compositing mode
+
+ Test:
+ compositing/scroll-painted-composited-content.html
+
+ Fixes <http://webkit.org/b/52720> REGRESSION (r75987): Assertion failure in
+ WebView::scrollBackingStore when scrolling page with composited content
+
+ Reviewed by Anders Carlsson.
+
+ * WebView.cpp:
+ (WebView::scrollBackingStore): Do something sensible (though naive) when in compositing
+ mode, rather than incorrectly asserting that this function is never called in that case. For
+ now we just repaint the entire scrolled region; someday hopefully we can avoid having to
+ repaint the areas that have just been moved.
+
2011-01-19 Simon Fraser <simon.fraser at apple.com>
Reviewed by Sam Weinig.
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
index 4c6a423..bf89ec9 100644
--- a/Source/WebKit/win/WebView.cpp
+++ b/Source/WebKit/win/WebView.cpp
@@ -819,7 +819,12 @@ void WebView::addToDirtyRegion(HRGN newRegion)
void WebView::scrollBackingStore(FrameView* frameView, int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect)
{
#if USE(ACCELERATED_COMPOSITING)
- ASSERT(!isAcceleratedCompositing());
+ if (isAcceleratedCompositing()) {
+ // FIXME: We should be doing something smarter here, like moving tiles around and painting
+ // any newly-exposed tiles. <http://webkit.org/b/52714>
+ m_backingLayer->setNeedsDisplayInRect(scrollViewRect);
+ return;
+ }
#endif
LOCAL_GDI_COUNTER(0, __FUNCTION__);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list