[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:25:04 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 89c289fd3f83a487a45c95c435133cd5b67f5c33
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jul 22 20:17:38 2010 +0000

    2010-07-22  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Darin Adler.
    
            Composited layers don't scroll in WebKit2
            https://bugs.webkit.org/show_bug.cgi?id=42771
    
            More prep work: make a single scrollPositionChanged() bottleneck method, and use it to
            send the scroll event, repaint fixed elements, and update compositing layers.
    
            * page/FrameView.cpp:
            (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
            (WebCore::FrameView::scrollPositionChanged):
            (WebCore::FrameView::repaintFixedElementsAfterScrolling):
            (WebCore::FrameView::valueChanged):
            * page/FrameView.h:
            * platform/ScrollView.cpp:
            (WebCore::ScrollView::valueChanged):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b3165d1..1838ff1 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-07-22  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Composited layers don't scroll in WebKit2
+        https://bugs.webkit.org/show_bug.cgi?id=42771
+
+        More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
+        send the scroll event, repaint fixed elements, and update compositing layers.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
+        (WebCore::FrameView::scrollPositionChanged):
+        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
+        (WebCore::FrameView::valueChanged):
+        * page/FrameView.h:
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::valueChanged):
+
 2010-07-22  Sam Weinig  <sam at webkit.org>
 
         Reviewed by Anders Carlsson.
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index 9ff3e54..acd22f0 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -1104,8 +1104,20 @@ void FrameView::setScrollPosition(const IntPoint& scrollPoint)
 
 void FrameView::scrollPositionChangedViaPlatformWidget()
 {
+    scrollPositionChanged();
+}
+
+void FrameView::scrollPositionChanged()
+{
     frame()->eventHandler()->sendScrollEvent();
     repaintFixedElementsAfterScrolling();
+
+#if USE(ACCELERATED_COMPOSITING)
+    if (RenderView* root = m_frame->contentRenderer()) {
+        if (root->usesCompositing())
+            root->compositor()->updateContentLayerScrollPosition(scrollPosition());
+    }
+#endif
 }
 
 void FrameView::repaintFixedElementsAfterScrolling()
@@ -1121,13 +1133,6 @@ void FrameView::repaintFixedElementsAfterScrolling()
 #endif
         }
     }
-
-#if USE(ACCELERATED_COMPOSITING)
-    if (RenderView* root = m_frame->contentRenderer()) {
-        if (root->usesCompositing())
-            root->compositor()->updateContentLayerScrollPosition(scrollPosition());
-    }
-#endif
 }
 
 HostWindow* FrameView::hostWindow() const
@@ -1707,7 +1712,7 @@ void FrameView::valueChanged(Scrollbar* bar)
     IntSize offset = scrollOffset();
     ScrollView::valueChanged(bar);
     if (offset != scrollOffset())
-        frame()->eventHandler()->sendScrollEvent();
+        scrollPositionChanged();
     frame()->loader()->client()->didChangeScrollOffset();
 }
 
diff --git a/WebCore/page/FrameView.h b/WebCore/page/FrameView.h
index 868a15f..b05b078 100644
--- a/WebCore/page/FrameView.h
+++ b/WebCore/page/FrameView.h
@@ -279,6 +279,7 @@ private:
 
     bool updateWidgets();
     void scrollToAnchor();
+    void scrollPositionChanged();
 
 #if ENABLE(INSPECTOR)
     InspectorTimelineAgent* inspectorTimelineAgent() const;
diff --git a/WebCore/platform/ScrollView.cpp b/WebCore/platform/ScrollView.cpp
index b39ddc1..e2d625e 100644
--- a/WebCore/platform/ScrollView.cpp
+++ b/WebCore/platform/ScrollView.cpp
@@ -292,7 +292,6 @@ void ScrollView::valueChanged(Scrollbar* scrollbar)
     if (scrollbarsSuppressed())
         return;
 
-    repaintFixedElementsAfterScrolling();
     scrollContents(scrollDelta);
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list