[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