[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