Changeset 161610 in webkit


Ignore:
Timestamp:
Jan 9, 2014 5:38:46 PM (10 years ago)
Author:
Simon Fraser
Message:

Enable async scrolling for iOS
https://bugs.webkit.org/show_bug.cgi?id=126730

Source/WebCore:

Reviewed by Tim Horton.

Turn on ENABLE_ASYNC_SCROLLING for iOS.

Disable rubber-banding and scrollbar-related Mac code for PLATFORM(IOS),
provide stubs for scrolling nodes and scrolling state nodes, and an
iOS scrolling tree, and scrolling coordinator.

Move crollingCoordinator::create() into the platform implementation file.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::create):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::isScrollingTreeIOS):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.h: Copied from Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h.
  • page/scrolling/ios/ScrollingCoordinatorIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.

(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
(WebCore::ScrollingCoordinatorIOS::~ScrollingCoordinatorIOS):
(WebCore::ScrollingCoordinatorIOS::pageDestroyed):
(WebCore::ScrollingCoordinatorIOS::commitTreeStateIfNeeded):
(WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
(WebCore::ScrollingCoordinatorIOS::commitTreeState):
(WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):

  • page/scrolling/ios/ScrollingTreeIOS.cpp: Added.

(WebCore::ScrollingTreeIOS::create):
(WebCore::ScrollingTreeIOS::ScrollingTreeIOS):
(WebCore::ScrollingTreeIOS::~ScrollingTreeIOS):
(WebCore::derefScrollingCoordinator):
(WebCore::ScrollingTreeIOS::invalidate):
(WebCore::ScrollingTreeIOS::commitNewTreeState):
(WebCore::ScrollingTreeIOS::updateMainFrameScrollPosition):
(WebCore::ScrollingTreeIOS::createNode):

  • page/scrolling/ios/ScrollingTreeIOS.h: Copied from Source/WebCore/page/scrolling/ThreadedScrollingTree.h.
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Added.
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm: Added.

(WebCore::ScrollingTreeScrollingNodeIOS::create):
(WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
(WebCore::ScrollingTreeScrollingNodeIOS::~ScrollingTreeScrollingNodeIOS):
(WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeIOS::updateAfterChildren):
(WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
(WebCore::ScrollingTreeScrollingNodeIOS::scrollBy):
(WebCore::ScrollingTreeScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinator::create):

  • page/scrolling/mac/ScrollingTreeFixedNode.mm:
  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

Source/WebKit2:

Reviewed by Tim Horton.

Turn on ENABLE_ASYNC_SCROLLING for iOS.

On iOS, create ScrollingTreeScrollingNodeIOS nodes.

  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::createNode):

  • UIProcess/Scrolling/RemoteScrollingTree.h:

Source/WTF:

Reviewed by Tim Horton.

Turn on ENABLE_ASYNC_SCROLLING for iOS.

  • wtf/FeatureDefines.h:
Location:
trunk/Source
Files:
3 added
16 edited
4 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r161601 r161610  
     12014-01-09  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Enable async scrolling for iOS
     4        https://bugs.webkit.org/show_bug.cgi?id=126730
     5
     6        Reviewed by Tim Horton.
     7       
     8        Turn on ENABLE_ASYNC_SCROLLING for iOS.
     9
     10        * wtf/FeatureDefines.h:
     11
    1122014-01-09  Anders Carlsson  <andersca@apple.com>
    213
  • trunk/Source/WTF/wtf/FeatureDefines.h

    r161601 r161610  
    5757#if PLATFORM(IOS)
    5858
     59#if !defined(ENABLE_ASYNC_SCROLLING)
     60#define ENABLE_ASYNC_SCROLLING 1
     61#endif
     62
    5963#if !defined(ENABLE_8BIT_TEXTRUN)
    6064#define ENABLE_8BIT_TEXTRUN 1
  • trunk/Source/WebCore/ChangeLog

    r161609 r161610  
     12014-01-09  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Enable async scrolling for iOS
     4        https://bugs.webkit.org/show_bug.cgi?id=126730
     5
     6        Reviewed by Tim Horton.
     7
     8        Turn on ENABLE_ASYNC_SCROLLING for iOS.
     9       
     10        Disable rubber-banding and scrollbar-related Mac code for PLATFORM(IOS),
     11        provide stubs for scrolling nodes and scrolling state nodes, and an
     12        iOS scrolling tree, and scrolling coordinator.
     13       
     14        Move crollingCoordinator::create() into the platform implementation file.
     15
     16        * page/scrolling/ScrollingCoordinator.cpp:
     17        (WebCore::ScrollingCoordinator::create):
     18        * page/scrolling/ScrollingStateScrollingNode.cpp:
     19        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
     20        (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
     21        * page/scrolling/ScrollingStateScrollingNode.h:
     22        * page/scrolling/ScrollingTree.h:
     23        (WebCore::ScrollingTree::isScrollingTreeIOS):
     24        * page/scrolling/ThreadedScrollingTree.h:
     25        * page/scrolling/ios/ScrollingCoordinatorIOS.h: Copied from Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h.
     26        * page/scrolling/ios/ScrollingCoordinatorIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
     27        (WebCore::ScrollingCoordinator::create):
     28        (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
     29        (WebCore::ScrollingCoordinatorIOS::~ScrollingCoordinatorIOS):
     30        (WebCore::ScrollingCoordinatorIOS::pageDestroyed):
     31        (WebCore::ScrollingCoordinatorIOS::commitTreeStateIfNeeded):
     32        (WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):
     33        (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
     34        (WebCore::ScrollingCoordinatorIOS::commitTreeState):
     35        (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
     36        * page/scrolling/ios/ScrollingTreeIOS.cpp: Added.
     37        (WebCore::ScrollingTreeIOS::create):
     38        (WebCore::ScrollingTreeIOS::ScrollingTreeIOS):
     39        (WebCore::ScrollingTreeIOS::~ScrollingTreeIOS):
     40        (WebCore::derefScrollingCoordinator):
     41        (WebCore::ScrollingTreeIOS::invalidate):
     42        (WebCore::ScrollingTreeIOS::commitNewTreeState):
     43        (WebCore::ScrollingTreeIOS::updateMainFrameScrollPosition):
     44        (WebCore::ScrollingTreeIOS::createNode):
     45        * page/scrolling/ios/ScrollingTreeIOS.h: Copied from Source/WebCore/page/scrolling/ThreadedScrollingTree.h.
     46        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Added.
     47        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm: Added.
     48        (WebCore::ScrollingTreeScrollingNodeIOS::create):
     49        (WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
     50        (WebCore::ScrollingTreeScrollingNodeIOS::~ScrollingTreeScrollingNodeIOS):
     51        (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
     52        (WebCore::ScrollingTreeScrollingNodeIOS::updateAfterChildren):
     53        (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
     54        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
     55        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
     56        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
     57        (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
     58        (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
     59        (WebCore::ScrollingTreeScrollingNodeIOS::scrollBy):
     60        (WebCore::ScrollingTreeScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):
     61        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
     62        (WebCore::ScrollingCoordinator::create):
     63        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
     64        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
     65
    1662014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
    267
  • trunk/Source/WebCore/Configurations/WebCore.xcconfig

    r161603 r161610  
    107107
    108108EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
    109 EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png Cursor.cpp CursorMac.mm EventHandlerMac.mm HTMLConverter.mm KillRingMac.mm PlatformEventFactoryMac.mm SSLKeyGeneratorMac.cpp SearchPopupMenuMac.mm SharedTimerMac.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm;
     109EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.tiff *Cursor.png Cursor.cpp CursorMac.mm EventHandlerMac.mm HTMLConverter.mm KillRingMac.mm PlatformEventFactoryMac.mm SSLKeyGeneratorMac.cpp SearchPopupMenuMac.mm ScrollingCoordinatorMac.mm ScrollingStateScrollingNodeMac.mm ScrollingTreeScrollingNodeMac.mm SharedTimerMac.mm WebVideoFullscreenController.mm WebVideoFullscreenHUDWindowController.mm WebWindowAnimation.mm;
    110110EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
    111111EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.h *IOS.cpp *IOS.mm KillRingNone.cpp WAKAppKitStubs.h WAKClipView.h WAKResponder.h WAKScrollView.h WAKView.h WAKViewPrivate.h WAKWindow.h WKContentObservation.h WKGraphics.h WKTypes.h WKUtilities.h WKView.h WKViewPrivate.h WebCoreThread.h WebCoreThreadMessage.h WebCoreThreadRun.h WebCoreThreadSystemInterface.h;
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r161603 r161610  
    490490                0FB8890E167D30160010CDA5 /* ScrollingStateStickyNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FB8890C167D30160010CDA5 /* ScrollingStateStickyNode.cpp */; };
    491491                0FB8890F167D30160010CDA5 /* ScrollingStateStickyNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB8890D167D30160010CDA5 /* ScrollingStateStickyNode.h */; settings = {ATTRIBUTES = (Private, ); }; };
     492                0FC4E40D187F82E10045882C /* ScrollingCoordinatorIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC4E407187F82E10045882C /* ScrollingCoordinatorIOS.h */; };
     493                0FC4E40E187F82E10045882C /* ScrollingCoordinatorIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FC4E408187F82E10045882C /* ScrollingCoordinatorIOS.mm */; };
     494                0FC4E40F187F82E10045882C /* ScrollingTreeIOS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC4E409187F82E10045882C /* ScrollingTreeIOS.cpp */; };
     495                0FC4E410187F82E10045882C /* ScrollingTreeIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC4E40A187F82E10045882C /* ScrollingTreeIOS.h */; };
     496                0FC4E411187F82E10045882C /* ScrollingTreeScrollingNodeIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC4E40B187F82E10045882C /* ScrollingTreeScrollingNodeIOS.h */; };
     497                0FC4E412187F82E10045882C /* ScrollingTreeScrollingNodeIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FC4E40C187F82E10045882C /* ScrollingTreeScrollingNodeIOS.mm */; };
    492498                0FCF33240F2B9715004B6795 /* ColorCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCF33230F2B9715004B6795 /* ColorCG.cpp */; };
    493499                0FCF332E0F2B9A25004B6795 /* WebLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FCF332A0F2B9A25004B6795 /* WebLayer.mm */; };
     
    72187224                0FB8890C167D30160010CDA5 /* ScrollingStateStickyNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollingStateStickyNode.cpp; sourceTree = "<group>"; };
    72197225                0FB8890D167D30160010CDA5 /* ScrollingStateStickyNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingStateStickyNode.h; sourceTree = "<group>"; };
     7226                0FC4E407187F82E10045882C /* ScrollingCoordinatorIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScrollingCoordinatorIOS.h; path = ios/ScrollingCoordinatorIOS.h; sourceTree = "<group>"; };
     7227                0FC4E408187F82E10045882C /* ScrollingCoordinatorIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ScrollingCoordinatorIOS.mm; path = ios/ScrollingCoordinatorIOS.mm; sourceTree = "<group>"; };
     7228                0FC4E409187F82E10045882C /* ScrollingTreeIOS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScrollingTreeIOS.cpp; path = ios/ScrollingTreeIOS.cpp; sourceTree = "<group>"; };
     7229                0FC4E40A187F82E10045882C /* ScrollingTreeIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScrollingTreeIOS.h; path = ios/ScrollingTreeIOS.h; sourceTree = "<group>"; };
     7230                0FC4E40B187F82E10045882C /* ScrollingTreeScrollingNodeIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScrollingTreeScrollingNodeIOS.h; path = ios/ScrollingTreeScrollingNodeIOS.h; sourceTree = "<group>"; };
     7231                0FC4E40C187F82E10045882C /* ScrollingTreeScrollingNodeIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ScrollingTreeScrollingNodeIOS.mm; path = ios/ScrollingTreeScrollingNodeIOS.mm; sourceTree = "<group>"; };
    72207232                0FCF33230F2B9715004B6795 /* ColorCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorCG.cpp; sourceTree = "<group>"; };
    72217233                0FCF332A0F2B9A25004B6795 /* WebLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebLayer.mm; sourceTree = "<group>"; };
     
    1444114453                        usesTabs = 0;
    1444214454                };
     14455                0FC4E406187F82D30045882C /* ios */ = {
     14456                        isa = PBXGroup;
     14457                        children = (
     14458                                0FC4E407187F82E10045882C /* ScrollingCoordinatorIOS.h */,
     14459                                0FC4E408187F82E10045882C /* ScrollingCoordinatorIOS.mm */,
     14460                                0FC4E409187F82E10045882C /* ScrollingTreeIOS.cpp */,
     14461                                0FC4E40A187F82E10045882C /* ScrollingTreeIOS.h */,
     14462                                0FC4E40B187F82E10045882C /* ScrollingTreeScrollingNodeIOS.h */,
     14463                                0FC4E40C187F82E10045882C /* ScrollingTreeScrollingNodeIOS.mm */,
     14464                        );
     14465                        name = ios;
     14466                        sourceTree = "<group>";
     14467                };
    1444314468                14DFB33F0A7DF7630018F769 /* Derived Sources */ = {
    1444414469                        isa = PBXGroup;
     
    1466514690                        isa = PBXGroup;
    1466614691                        children = (
     14692                                0FC4E406187F82D30045882C /* ios */,
    1466714693                                0FFD4D5E18651FA300512F6E /* AsyncScrollingCoordinator.cpp */,
    1466814694                                0FFD4D5F18651FA300512F6E /* AsyncScrollingCoordinator.h */,
     
    2372823754                                A8EA7D2B0A19385500A8EF5F /* HTMLImageLoader.h in Headers */,
    2372923755                                A81369CC097374F600D74463 /* HTMLInputElement.h in Headers */,
     23756                                0FC4E410187F82E10045882C /* ScrollingTreeIOS.h in Headers */,
    2373023757                                97BC849B12370A4B000C6161 /* HTMLInputStream.h in Headers */,
    2373123758                                93309DE6099E64920056E581 /* HTMLInterchange.h in Headers */,
     
    2374023767                                A8EA79F40A1916DF00A8EF5F /* HTMLMenuElement.h in Headers */,
    2374123768                                2BE8E2C712A589EC00FAD550 /* HTMLMetaCharsetParser.h in Headers */,
     23769                                0FC4E40D187F82E10045882C /* ScrollingCoordinatorIOS.h in Headers */,
    2374223770                                A871DC240A15205700B12A68 /* HTMLMetaElement.h in Headers */,
    2374323771                                A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */,
     
    2567125699                                BEF29EEC1715DD0900C4B4C9 /* VideoTrackPrivate.h in Headers */,
    2567225700                                0705851B17FB44B4005F2BCB /* JSAllAudioCapabilities.h in Headers */,
     25701                                0FC4E411187F82E10045882C /* ScrollingTreeScrollingNodeIOS.h in Headers */,
    2567325702                                CEF418CF1179678C009D112C /* ViewportArguments.h in Headers */,
    2567425703                                3FFFF9AE159D9B060020BBD5 /* ViewportStyleResolver.h in Headers */,
     
    2720127230                                F33F053D120B0DA500E5743A /* InspectorDebuggerAgent.cpp in Sources */,
    2720227231                                7A24587B1021EAF4000A00AA /* InspectorDOMAgent.cpp in Sources */,
     27232                                0FC4E40F187F82E10045882C /* ScrollingTreeIOS.cpp in Sources */,
    2720327233                                F3D4C47812E07663003DA150 /* InspectorDOMDebuggerAgent.cpp in Sources */,
    2720427234                                7A74ECBA101839A600BF939E /* InspectorDOMStorageAgent.cpp in Sources */,
     
    2822128251                                50D10D991545F5760096D288 /* RenderLayerFilterInfo.cpp in Sources */,
    2822228252                                3C244FEBA375AC633F88BE6F /* RenderLayerModelObject.cpp in Sources */,
     28253                                0FC4E40E187F82E10045882C /* ScrollingCoordinatorIOS.mm in Sources */,
    2822328254                                BC33FB1B0F30EE85002CDD7C /* RenderLineBoxList.cpp in Sources */,
    2822428255                                ABB5419E0ACDDFE4002820EB /* RenderListBox.cpp in Sources */,
     
    2890728938                                6E3FAE8E14733FDB00E42307 /* WebGLDepthTexture.cpp in Sources */,
    2890828939                                6EBF0E5412A8929800DB1709 /* WebGLExtension.cpp in Sources */,
     28940                                0FC4E412187F82E10045882C /* ScrollingTreeScrollingNodeIOS.mm in Sources */,
    2890928941                                49C7B9CE1042D32F0009D447 /* WebGLFramebuffer.cpp in Sources */,
    2891028942                                6E47E66010B7944B00B186C8 /* WebGLGetInfo.cpp in Sources */,
  • trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp

    r161373 r161610  
    4646#endif
    4747
    48 #if ENABLE(ASYNC_SCROLLING)
    49 #include "ScrollingCoordinatorMac.h"
    50 #endif
    51 
    5248#if USE(COORDINATED_GRAPHICS)
    5349#include "ScrollingCoordinatorCoordinatedGraphics.h"
     
    6056namespace WebCore {
    6157
     58#if !PLATFORM(MAC)
    6259PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page)
    6360{
    64 #if USE(ACCELERATED_COMPOSITING) && ENABLE(ASYNC_SCROLLING)
    65     return adoptRef(new ScrollingCoordinatorMac(page));
    66 #endif
    67 
    6861#if USE(COORDINATED_GRAPHICS)
    6962    return adoptRef(new ScrollingCoordinatorCoordinatedGraphics(page));
     
    7669    return adoptRef(new ScrollingCoordinator(page));
    7770}
     71#endif
    7872
    7973ScrollingCoordinator::ScrollingCoordinator(Page* page)
  • trunk/Source/WebCore/page/scrolling/ScrollingStateScrollingNode.cpp

    r161315 r161610  
    4242ScrollingStateScrollingNode::ScrollingStateScrollingNode(ScrollingStateTree& stateTree, ScrollingNodeID nodeID)
    4343    : ScrollingStateNode(ScrollingNode, stateTree, nodeID)
    44 #if PLATFORM(MAC)
     44#if PLATFORM(MAC) && !PLATFORM(IOS)
    4545    , m_verticalScrollbarPainter(0)
    4646    , m_horizontalScrollbarPainter(0)
     
    5858ScrollingStateScrollingNode::ScrollingStateScrollingNode(const ScrollingStateScrollingNode& stateNode, ScrollingStateTree& adoptiveTree)
    5959    : ScrollingStateNode(stateNode, adoptiveTree)
    60 #if PLATFORM(MAC)
     60#if PLATFORM(MAC) && !PLATFORM(IOS)
    6161    , m_verticalScrollbarPainter(stateNode.verticalScrollbarPainter())
    6262    , m_horizontalScrollbarPainter(stateNode.horizontalScrollbarPainter())
     
    233233}
    234234
     235#if !(PLATFORM(MAC) && !PLATFORM(IOS))
     236void ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars(Scrollbar*, Scrollbar*)
     237{
     238}
     239#endif
     240
    235241void ScrollingStateScrollingNode::dumpProperties(TextStream& ts, int indent) const
    236242{
  • trunk/Source/WebCore/page/scrolling/ScrollingStateScrollingNode.h

    r161303 r161610  
    117117    void setFooterLayer(const LayerRepresentation&);
    118118
    119 #if PLATFORM(MAC)
     119#if PLATFORM(MAC) && !PLATFORM(IOS)
    120120    ScrollbarPainter verticalScrollbarPainter() const { return m_verticalScrollbarPainter; }
    121121    ScrollbarPainter horizontalScrollbarPainter() const { return m_horizontalScrollbarPainter; }
     
    135135    LayerRepresentation m_footerLayer;
    136136
    137 #if PLATFORM(MAC)
     137#if PLATFORM(MAC) && !PLATFORM(IOS)
    138138    ScrollbarPainter m_verticalScrollbarPainter;
    139139    ScrollbarPainter m_horizontalScrollbarPainter;
  • trunk/Source/WebCore/page/scrolling/ScrollingTree.h

    r161373 r161610  
    5959    virtual bool isThreadedScrollingTree() const { return false; }
    6060    virtual bool isRemoteScrollingTree() const { return false; }
     61    virtual bool isScrollingTreeIOS() const { return false; }
    6162
    6263    virtual EventResult tryToHandleWheelEvent(const PlatformWheelEvent&) = 0;
  • trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h

    r161276 r161610  
    4848    virtual ~ThreadedScrollingTree();
    4949
    50     virtual bool isThreadedScrollingTree() const { return true; }
    51 
    5250    virtual void commitNewTreeState(PassOwnPtr<ScrollingStateTree>) OVERRIDE;
    5351
     
    6361private:
    6462    explicit ThreadedScrollingTree(AsyncScrollingCoordinator*);
     63    virtual bool isThreadedScrollingTree() const OVERRIDE { return true; }
    6564
    6665    virtual PassOwnPtr<ScrollingTreeNode> createNode(ScrollingNodeType, ScrollingNodeID) OVERRIDE;
  • trunk/Source/WebCore/page/scrolling/ios/ScrollingCoordinatorIOS.h

    r161609 r161610  
    2424 */
    2525
    26 #ifndef RemoteScrollingTree_h
    27 #define RemoteScrollingTree_h
     26#ifndef ScrollingCoordinatorIOS_h
     27#define ScrollingCoordinatorIOS_h
    2828
    2929#if ENABLE(ASYNC_SCROLLING)
    3030
    31 #include "RemoteScrollingCoordinator.h"
    32 #include <WebCore/ScrollElasticityController.h>
    33 #include <WebCore/ScrollingConstraints.h>
    34 #include <WebCore/ScrollingTree.h>
     31#include "AsyncScrollingCoordinator.h"
    3532
    36 namespace WebKit {
     33namespace WebCore {
    3734
    38 class RemoteScrollingCoordinatorProxy;
     35class Scrollbar;
     36class ScrollingStateNode;
     37class ScrollingStateScrollingNode;
     38class ScrollingStateTree;
     39class ThreadedScrollingTree;
    3940
    40 class RemoteScrollingTree : public WebCore::ScrollingTree {
     41class ScrollingCoordinatorIOS : public AsyncScrollingCoordinator {
    4142public:
    42     static RefPtr<RemoteScrollingTree> create(RemoteScrollingCoordinatorProxy&);
    43     virtual ~RemoteScrollingTree();
     43    explicit ScrollingCoordinatorIOS(Page*);
     44    virtual ~ScrollingCoordinatorIOS();
    4445
    45     virtual bool isRemoteScrollingTree() const OVERRIDE { return true; }
    46     virtual EventResult tryToHandleWheelEvent(const WebCore::PlatformWheelEvent&) OVERRIDE;
     46    virtual void pageDestroyed();
    4747
    48     const RemoteScrollingCoordinatorProxy& scrollingCoordinatorProxy() const { return m_scrollingCoordinatorProxy; }
     48    virtual void commitTreeStateIfNeeded() OVERRIDE;
     49
     50    // Handle the wheel event on the scrolling thread. Returns whether the event was handled or not.
     51    virtual bool handleWheelEvent(FrameView*, const PlatformWheelEvent&) OVERRIDE { return false; }
    4952
    5053private:
    51     explicit RemoteScrollingTree(RemoteScrollingCoordinatorProxy&);
     54    virtual PassOwnPtr<ScrollingTreeNode> createScrollingTreeNode(ScrollingNodeType, ScrollingNodeID) OVERRIDE;
     55    virtual void scheduleTreeStateCommit() OVERRIDE;
    5256
    53 #if PLATFORM(MAC)
    54     virtual void handleWheelEventPhase(WebCore::PlatformWheelEventPhase) OVERRIDE;
    55 #endif
    56     virtual void updateMainFrameScrollPosition(const WebCore::IntPoint& scrollPosition, WebCore::SetOrSyncScrollingLayerPosition = WebCore::SyncScrollingLayerPosition) OVERRIDE;
     57    void scrollingStateTreeCommitterTimerFired(Timer<ScrollingCoordinatorIOS>*);
     58    void commitTreeState();
    5759
    58     virtual PassOwnPtr<WebCore::ScrollingTreeNode> createNode(WebCore::ScrollingNodeType, WebCore::ScrollingNodeID);
    59    
    60     RemoteScrollingCoordinatorProxy& m_scrollingCoordinatorProxy;
     60    Timer<ScrollingCoordinatorIOS> m_scrollingStateTreeCommitterTimer;
    6161};
    6262
    63 SCROLLING_TREE_TYPE_CASTS(RemoteScrollingTree, isRemoteScrollingTree());
    64 
    65 } // namespace WebKit
     63} // namespace WebCore
    6664
    6765#endif // ENABLE(ASYNC_SCROLLING)
    6866
    69 #endif // RemoteScrollingTree_h
     67#endif // ScrollingCoordinatorIOS_h
  • trunk/Source/WebCore/page/scrolling/ios/ScrollingCoordinatorIOS.mm

    r161609 r161610  
    11/*
    2  * Copyright (C) 2011 Apple Inc. All rights reserved.
     2 * Copyright (C) 2014 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2828#if ENABLE(ASYNC_SCROLLING)
    2929
    30 #import "ScrollingCoordinatorMac.h"
     30#import "ScrollingCoordinatorIOS.h"
    3131
    3232#include "FrameView.h"
    3333#include "MainFrame.h"
    3434#include "Page.h"
    35 #include "PlatformWheelEvent.h"
    3635#include "Region.h"
    3736#include "ScrollingStateTree.h"
    3837#include "ScrollingThread.h"
    3938#include "ScrollingTreeFixedNode.h"
    40 #include "ScrollingTreeScrollingNodeMac.h"
     39#include "ScrollingTreeScrollingNodeIOS.h"
    4140#include "ScrollingTreeStickyNode.h"
    42 #include "ThreadedScrollingTree.h"
    43 #include "TiledBacking.h"
     41#include "ScrollingTreeIOS.h"
    4442#include <wtf/Functional.h>
    4543#include <wtf/MainThread.h>
     
    4846namespace WebCore {
    4947
    50 ScrollingCoordinatorMac::ScrollingCoordinatorMac(Page* page)
    51     : AsyncScrollingCoordinator(page)
    52     , m_scrollingStateTreeCommitterTimer(this, &ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired)
     48PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page)
    5349{
    54     setScrollingTree(ThreadedScrollingTree::create(this));
     50    return adoptRef(new ScrollingCoordinatorIOS(page));
    5551}
    5652
    57 ScrollingCoordinatorMac::~ScrollingCoordinatorMac()
     53ScrollingCoordinatorIOS::ScrollingCoordinatorIOS(Page* page)
     54    : AsyncScrollingCoordinator(page)
     55    , m_scrollingStateTreeCommitterTimer(this, &ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired)
     56{
     57    setScrollingTree(ScrollingTreeIOS::create(this));
     58}
     59
     60ScrollingCoordinatorIOS::~ScrollingCoordinatorIOS()
    5861{
    5962    ASSERT(!scrollingTree());
    6063}
    6164
    62 void ScrollingCoordinatorMac::pageDestroyed()
     65void ScrollingCoordinatorIOS::pageDestroyed()
    6366{
    6467    AsyncScrollingCoordinator::pageDestroyed();
     
    6770
    6871    // Invalidating the scrolling tree will break the reference cycle between the ScrollingCoordinator and ScrollingTree objects.
    69     RefPtr<ThreadedScrollingTree> scrollingTree = static_pointer_cast<ThreadedScrollingTree>(releaseScrollingTree());
    70     ScrollingThread::dispatch(bind(&ThreadedScrollingTree::invalidate, scrollingTree));
     72    releaseScrollingTree();
    7173}
    7274
    73 void ScrollingCoordinatorMac::commitTreeStateIfNeeded()
     75void ScrollingCoordinatorIOS::commitTreeStateIfNeeded()
    7476{
    7577    if (!scrollingStateTree()->hasChangedProperties())
     
    8082}
    8183
    82 bool ScrollingCoordinatorMac::handleWheelEvent(FrameView*, const PlatformWheelEvent& wheelEvent)
    83 {
    84     ASSERT(isMainThread());
    85     ASSERT(m_page);
    86 
    87     if (scrollingTree()->willWheelEventStartSwipeGesture(wheelEvent))
    88         return false;
    89 
    90     ScrollingThread::dispatch(bind(&ThreadedScrollingTree::handleWheelEvent, toThreadedScrollingTree(scrollingTree()), wheelEvent));
    91     return true;
    92 }
    93 
    94 void ScrollingCoordinatorMac::scheduleTreeStateCommit()
     84void ScrollingCoordinatorIOS::scheduleTreeStateCommit()
    9585{
    9686    ASSERT(scrollingStateTree()->hasChangedProperties());
     
    10292}
    10393
    104 void ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired(Timer<ScrollingCoordinatorMac>*)
     94void ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired(Timer<ScrollingCoordinatorIOS>*)
    10595{
    10696    commitTreeState();
    10797}
    10898
    109 void ScrollingCoordinatorMac::commitTreeState()
     99void ScrollingCoordinatorIOS::commitTreeState()
    110100{
    111101    ASSERT(scrollingStateTree()->hasChangedProperties());
    112102
    113103    OwnPtr<ScrollingStateTree> treeState = scrollingStateTree()->commit(LayerRepresentation::PlatformLayerRepresentation);
    114     ScrollingThread::dispatch(bind(&ThreadedScrollingTree::commitNewTreeState, toThreadedScrollingTree(scrollingTree()), treeState.release()));
    115 
    116     updateTiledScrollingIndicator();
     104    // FIXME: figure out how to commit.
    117105}
    118106
    119 void ScrollingCoordinatorMac::updateTiledScrollingIndicator()
    120 {
    121     FrameView* frameView = m_page->mainFrame().view();
    122     if (!frameView)
    123         return;
    124    
    125     TiledBacking* tiledBacking = frameView->tiledBacking();
    126     if (!tiledBacking)
    127         return;
    128 
    129     ScrollingModeIndication indicatorMode;
    130     if (shouldUpdateScrollLayerPositionSynchronously())
    131         indicatorMode = SynchronousScrollingBecauseOfStyleIndication;
    132     else if (scrollingStateTree()->rootStateNode() && scrollingStateTree()->rootStateNode()->wheelEventHandlerCount())
    133         indicatorMode =  SynchronousScrollingBecauseOfEventHandlersIndication;
    134     else
    135         indicatorMode = AsyncScrollingIndication;
    136    
    137     tiledBacking->setScrollingModeIndication(indicatorMode);
    138 }
    139 
    140 PassOwnPtr<ScrollingTreeNode> ScrollingCoordinatorMac::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
     107PassOwnPtr<ScrollingTreeNode> ScrollingCoordinatorIOS::createScrollingTreeNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
    141108{
    142109    ASSERT(scrollingTree());
     
    144111    switch (nodeType) {
    145112    case ScrollingNode:
    146         return ScrollingTreeScrollingNodeMac::create(*scrollingTree(), nodeID);
     113        return ScrollingTreeScrollingNodeIOS::create(*scrollingTree(), nodeID);
    147114    case FixedNode:
    148115        return ScrollingTreeFixedNode::create(*scrollingTree(), nodeID);
  • trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h

    r161609 r161610  
    2424 */
    2525
    26 #ifndef ThreadedScrollingTree_h
    27 #define ThreadedScrollingTree_h
     26#ifndef ScrollingTreeIOS_h
     27#define ScrollingTreeIOS_h
    2828
    2929#if ENABLE(ASYNC_SCROLLING)
     
    3838class AsyncScrollingCoordinator;
    3939
    40 // The ThreadedScrollingTree class lives almost exclusively on the scrolling thread and manages the
    41 // hierarchy of scrollable regions on the page. It's also responsible for dispatching events
    42 // to the correct scrolling tree nodes or dispatching events back to the ScrollingCoordinator
    43 // object on the main thread if they can't be handled on the scrolling thread for various reasons.
    44 class ThreadedScrollingTree : public ScrollingTree {
     40class ScrollingTreeIOS : public ScrollingTree {
    4541public:
    46     static RefPtr<ThreadedScrollingTree> create(AsyncScrollingCoordinator*);
    47 
    48     virtual ~ThreadedScrollingTree();
    49 
    50     virtual bool isThreadedScrollingTree() const { return true; }
     42    static RefPtr<ScrollingTreeIOS> create(AsyncScrollingCoordinator*);
     43    virtual ~ScrollingTreeIOS();
    5144
    5245    virtual void commitNewTreeState(PassOwnPtr<ScrollingStateTree>) OVERRIDE;
    5346
    54     virtual void handleWheelEvent(const PlatformWheelEvent&) OVERRIDE;
    55 
    56     // Can be called from any thread. Will try to handle the wheel event on the scrolling thread.
    57     // Returns true if the wheel event can be handled on the scrolling thread and false if the
    58     // event must be sent again to the WebCore event handler.
    59     virtual EventResult tryToHandleWheelEvent(const PlatformWheelEvent&) OVERRIDE;
     47    // No wheel events on iOS
     48    virtual void handleWheelEvent(const PlatformWheelEvent&) OVERRIDE { }
     49    virtual EventResult tryToHandleWheelEvent(const PlatformWheelEvent&) OVERRIDE { return DidNotHandleEvent; }
    6050
    6151    virtual void invalidate() OVERRIDE;
    6252
    6353private:
    64     explicit ThreadedScrollingTree(AsyncScrollingCoordinator*);
     54    explicit ScrollingTreeIOS(AsyncScrollingCoordinator*);
     55    virtual bool isScrollingTreeIOS() const OVERRIDE { return true; }
    6556
    6657    virtual PassOwnPtr<ScrollingTreeNode> createNode(ScrollingNodeType, ScrollingNodeID) OVERRIDE;
     
    6859    virtual void updateMainFrameScrollPosition(const IntPoint& scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) OVERRIDE;
    6960#if PLATFORM(MAC)
    70     virtual void handleWheelEventPhase(PlatformWheelEventPhase) OVERRIDE;
     61    virtual void handleWheelEventPhase(PlatformWheelEventPhase) OVERRIDE { }
    7162#endif
    7263
     
    7465};
    7566
    76 SCROLLING_TREE_TYPE_CASTS(ThreadedScrollingTree, isThreadedScrollingTree());
     67SCROLLING_TREE_TYPE_CASTS(ScrollingTreeIOS, isScrollingTreeIOS());
    7768
    7869} // namespace WebCore
     
    8071#endif // ENABLE(ASYNC_SCROLLING)
    8172
    82 #endif // ThreadedScrollingTree_h
     73#endif // ScrollingTreeIOS_h
  • trunk/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h

    r161609 r161610  
    2424 */
    2525
    26 #ifndef RemoteScrollingTree_h
    27 #define RemoteScrollingTree_h
     26#ifndef ScrollingTreeScrollingNodeIOS_h
     27#define ScrollingTreeScrollingNodeIOS_h
    2828
    2929#if ENABLE(ASYNC_SCROLLING)
    3030
    31 #include "RemoteScrollingCoordinator.h"
    32 #include <WebCore/ScrollElasticityController.h>
    33 #include <WebCore/ScrollingConstraints.h>
    34 #include <WebCore/ScrollingTree.h>
     31#include "ScrollingTreeScrollingNode.h"
     32#include <wtf/RetainPtr.h>
    3533
    36 namespace WebKit {
     34OBJC_CLASS CALayer;
    3735
    38 class RemoteScrollingCoordinatorProxy;
     36namespace WebCore {
    3937
    40 class RemoteScrollingTree : public WebCore::ScrollingTree {
     38class ScrollingTreeScrollingNodeIOS : public ScrollingTreeScrollingNode {
    4139public:
    42     static RefPtr<RemoteScrollingTree> create(RemoteScrollingCoordinatorProxy&);
    43     virtual ~RemoteScrollingTree();
    44 
    45     virtual bool isRemoteScrollingTree() const OVERRIDE { return true; }
    46     virtual EventResult tryToHandleWheelEvent(const WebCore::PlatformWheelEvent&) OVERRIDE;
    47 
    48     const RemoteScrollingCoordinatorProxy& scrollingCoordinatorProxy() const { return m_scrollingCoordinatorProxy; }
     40    static PassOwnPtr<ScrollingTreeScrollingNode> create(ScrollingTree&, ScrollingNodeID);
     41    virtual ~ScrollingTreeScrollingNodeIOS();
    4942
    5043private:
    51     explicit RemoteScrollingTree(RemoteScrollingCoordinatorProxy&);
     44    ScrollingTreeScrollingNodeIOS(ScrollingTree&, ScrollingNodeID);
    5245
    53 #if PLATFORM(MAC)
    54     virtual void handleWheelEventPhase(WebCore::PlatformWheelEventPhase) OVERRIDE;
    55 #endif
    56     virtual void updateMainFrameScrollPosition(const WebCore::IntPoint& scrollPosition, WebCore::SetOrSyncScrollingLayerPosition = WebCore::SyncScrollingLayerPosition) OVERRIDE;
     46    // ScrollingTreeNode member functions.
     47    virtual void updateBeforeChildren(const ScrollingStateNode&) OVERRIDE;
     48    virtual void updateAfterChildren(const ScrollingStateNode&) OVERRIDE;
     49    virtual void handleWheelEvent(const PlatformWheelEvent&) OVERRIDE { }
    5750
    58     virtual PassOwnPtr<WebCore::ScrollingTreeNode> createNode(WebCore::ScrollingNodeType, WebCore::ScrollingNodeID);
    59    
    60     RemoteScrollingCoordinatorProxy& m_scrollingCoordinatorProxy;
     51    IntPoint scrollPosition() const;
     52    void setScrollPosition(const IntPoint&);
     53    void setScrollPositionWithoutContentEdgeConstraints(const IntPoint&);
     54
     55    void setScrollLayerPosition(const IntPoint&);
     56
     57    IntPoint minimumScrollPosition() const;
     58    IntPoint maximumScrollPosition() const;
     59
     60    void scrollBy(const IntSize&);
     61    void scrollByWithoutContentEdgeConstraints(const IntSize&);
     62
     63    RetainPtr<CALayer> m_scrollLayer;
     64    RetainPtr<CALayer> m_counterScrollingLayer;
     65    RetainPtr<CALayer> m_headerLayer;
     66    RetainPtr<CALayer> m_footerLayer;
     67    IntPoint m_probableMainThreadScrollPosition;
    6168};
    6269
    63 SCROLLING_TREE_TYPE_CASTS(RemoteScrollingTree, isRemoteScrollingTree());
    64 
    65 } // namespace WebKit
     70} // namespace WebCore
    6671
    6772#endif // ENABLE(ASYNC_SCROLLING)
    6873
    69 #endif // RemoteScrollingTree_h
     74#endif // ScrollingTreeScrollingNodeIOS_h
  • trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm

    r161315 r161610  
    4747
    4848namespace WebCore {
     49
     50PassRefPtr<ScrollingCoordinator> ScrollingCoordinator::create(Page* page)
     51{
     52    return adoptRef(new ScrollingCoordinatorMac(page));
     53}
    4954
    5055ScrollingCoordinatorMac::ScrollingCoordinatorMac(Page* page)
     
    153158}
    154159
    155 
    156160} // namespace WebCore
    157161
  • trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm

    r161303 r161610  
    3131#include "ScrollingStateFixedNode.h"
    3232#include "ScrollingTree.h"
     33#include <QuartzCore/CALayer.h>
    3334
    3435namespace WebCore {
  • trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm

    r161303 r161610  
    3131#include "ScrollingStateStickyNode.h"
    3232#include "ScrollingTree.h"
     33#include <QuartzCore/CALayer.h>
    3334
    3435namespace WebCore {
  • trunk/Source/WebKit2/ChangeLog

    r161609 r161610  
     12014-01-09  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Enable async scrolling for iOS
     4        https://bugs.webkit.org/show_bug.cgi?id=126730
     5
     6        Reviewed by Tim Horton.
     7       
     8        Turn on ENABLE_ASYNC_SCROLLING for iOS.
     9       
     10        On iOS, create ScrollingTreeScrollingNodeIOS nodes.
     11
     12        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
     13        (WebKit::RemoteScrollingTree::createNode):
     14        * UIProcess/Scrolling/RemoteScrollingTree.h:
     15
    1162014-01-06  Gavin Barraclough  <barraclough@apple.com>
    217
  • trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp

    r161529 r161610  
    3232#include "RemoteScrollingCoordinatorProxy.h"
    3333#include <WebCore/ScrollingTreeFixedNode.h>
     34#include <WebCore/ScrollingTreeStickyNode.h>
     35
     36#if PLATFORM(IOS)
     37#include <WebCore/ScrollingTreeScrollingNodeIOS.h>
     38#else
    3439#include <WebCore/ScrollingTreeScrollingNodeMac.h>
    35 #include <WebCore/ScrollingTreeStickyNode.h>
     40#endif
    3641
    3742using namespace WebCore;
     
    8287    switch (nodeType) {
    8388    case ScrollingNode:
     89#if PLATFORM(IOS)
     90        return ScrollingTreeScrollingNodeIOS::create(*this, nodeID);
     91#else
    8492        return ScrollingTreeScrollingNodeMac::create(*this, nodeID);
     93#endif
    8594    case FixedNode:
    8695        return ScrollingTreeFixedNode::create(*this, nodeID);
  • trunk/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h

    r161529 r161610  
    3030
    3131#include "RemoteScrollingCoordinator.h"
    32 #include <WebCore/ScrollElasticityController.h>
    3332#include <WebCore/ScrollingConstraints.h>
    3433#include <WebCore/ScrollingTree.h>
Note: See TracChangeset for help on using the changeset viewer.