Title: [161279] trunk/Source/WebCore
- Revision
- 161279
- Author
- [email protected]
- Date
- 2014-01-03 12:45:24 -0800 (Fri, 03 Jan 2014)
Log Message
Allow the ChromeClient to provide a custom ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=126450
Reviewed by Tim Horton.
Some platforms will want to provide a custom ScrollingCoordinator, so let
them do so by asking ChromeClient first for one.
* page/ChromeClient.h:
(WebCore::ChromeClient::createScrollingCoordinator):
* page/Page.cpp:
(WebCore::Page::scrollingCoordinator):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (161278 => 161279)
--- trunk/Source/WebCore/ChangeLog 2014-01-03 20:22:09 UTC (rev 161278)
+++ trunk/Source/WebCore/ChangeLog 2014-01-03 20:45:24 UTC (rev 161279)
@@ -1,3 +1,18 @@
+2014-01-03 Simon Fraser <[email protected]>
+
+ Allow the ChromeClient to provide a custom ScrollingCoordinator
+ https://bugs.webkit.org/show_bug.cgi?id=126450
+
+ Reviewed by Tim Horton.
+
+ Some platforms will want to provide a custom ScrollingCoordinator, so let
+ them do so by asking ChromeClient first for one.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::createScrollingCoordinator):
+ * page/Page.cpp:
+ (WebCore::Page::scrollingCoordinator):
+
2014-01-03 Andreas Kling <[email protected]>
Deploy more child renderer iterators in RenderBlockFlow.
Modified: trunk/Source/WebCore/page/ChromeClient.h (161278 => 161279)
--- trunk/Source/WebCore/page/ChromeClient.h 2014-01-03 20:22:09 UTC (rev 161278)
+++ trunk/Source/WebCore/page/ChromeClient.h 2014-01-03 20:45:24 UTC (rev 161279)
@@ -34,6 +34,7 @@
#include "PopupMenuClient.h"
#include "RenderEmbeddedObject.h"
#include "ScrollTypes.h"
+#include "ScrollingCoordinator.h"
#include "SearchPopupMenu.h"
#include "WebCoreKeyboardUIMode.h"
#include <wtf/Forward.h>
@@ -322,6 +323,8 @@
virtual bool layerTreeStateIsFrozen() const { return false; }
#endif
+ virtual PassRefPtr<ScrollingCoordinator> createScrollingCoordinator(Page*) const { return nullptr; }
+
#if PLATFORM(WIN) && USE(AVFOUNDATION)
virtual GraphicsDeviceAdapter* graphicsDeviceAdapter() const { return 0; }
#endif
Modified: trunk/Source/WebCore/page/Page.cpp (161278 => 161279)
--- trunk/Source/WebCore/page/Page.cpp 2014-01-03 20:22:09 UTC (rev 161278)
+++ trunk/Source/WebCore/page/Page.cpp 2014-01-03 20:45:24 UTC (rev 161279)
@@ -260,8 +260,11 @@
ScrollingCoordinator* Page::scrollingCoordinator()
{
- if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled())
- m_scrollingCoordinator = ScrollingCoordinator::create(this);
+ if (!m_scrollingCoordinator && m_settings->scrollingCoordinatorEnabled()) {
+ m_scrollingCoordinator = chrome().client().createScrollingCoordinator(this);
+ if (!m_scrollingCoordinator)
+ m_scrollingCoordinator = ScrollingCoordinator::create(this);
+ }
return m_scrollingCoordinator.get();
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes