Index: Source/WebCore/page/scrolling/ScrollingTree.h |
diff --git a/Source/WebCore/page/scrolling/ScrollingTree.h b/Source/WebCore/page/scrolling/ScrollingTree.h |
deleted file mode 100644 |
index ad7bceb229cc241a1775a15006de9646876ded31..0000000000000000000000000000000000000000 |
--- a/Source/WebCore/page/scrolling/ScrollingTree.h |
+++ /dev/null |
@@ -1,149 +0,0 @@ |
-/* |
- * Copyright (C) 2012, 2013 Apple Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
- * THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#ifndef ScrollingTree_h |
-#define ScrollingTree_h |
- |
-#if ENABLE(THREADED_SCROLLING) |
- |
-#include "PlatformWheelEvent.h" |
-#include "Region.h" |
-#include "ScrollingCoordinator.h" |
-#include <wtf/Functional.h> |
-#include <wtf/HashMap.h> |
-#include <wtf/OwnPtr.h> |
-#include <wtf/PassOwnPtr.h> |
-#include <wtf/PassRefPtr.h> |
-#include <wtf/RefPtr.h> |
-#include <wtf/ThreadSafeRefCounted.h> |
- |
-#if PLATFORM(MAC) |
-#include <wtf/RetainPtr.h> |
-OBJC_CLASS CALayer; |
-#endif |
- |
-namespace WebCore { |
- |
-class IntPoint; |
-class ScrollingStateNode; |
-class ScrollingStateTree; |
-class ScrollingTreeNode; |
-class ScrollingTreeScrollingNode; |
- |
-// The ScrollingTree class lives almost exclusively on the scrolling thread and manages the |
-// hierarchy of scrollable regions on the page. It's also responsible for dispatching events |
-// to the correct scrolling tree nodes or dispatching events back to the ScrollingCoordinator |
-// object on the main thread if they can't be handled on the scrolling thread for various reasons. |
-class ScrollingTree : public ThreadSafeRefCounted<ScrollingTree> { |
-public: |
- static PassRefPtr<ScrollingTree> create(ScrollingCoordinator*); |
- ~ScrollingTree(); |
- |
- enum EventResult { |
- DidNotHandleEvent, |
- DidHandleEvent, |
- SendToMainThread |
- }; |
- |
- // Can be called from any thread. Will try to handle the wheel event on the scrolling thread. |
- // Returns true if the wheel event can be handled on the scrolling thread and false if the |
- // event must be sent again to the WebCore event handler. |
- EventResult tryToHandleWheelEvent(const PlatformWheelEvent&); |
- bool hasWheelEventHandlers() const { return m_hasWheelEventHandlers; } |
- |
- // Can be called from any thread. Will update the back forward state of the page, used for rubber-banding. |
- void updateBackForwardState(bool canGoBack, bool canGoForward); |
- |
- // Must be called from the scrolling thread. Handles the wheel event. |
- void handleWheelEvent(const PlatformWheelEvent&); |
- |
- void setMainFrameIsRubberBanding(bool); |
- bool isRubberBandInProgress(); |
- |
- void invalidate(); |
- void commitNewTreeState(PassOwnPtr<ScrollingStateTree>); |
- |
- void setMainFramePinState(bool pinnedToTheLeft, bool pinnedToTheRight, bool pinnedToTheTop, bool pinnedToTheBottom); |
- |
- void updateMainFrameScrollPosition(const IntPoint& scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition); |
- IntPoint mainFrameScrollPosition(); |
- |
-#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN)) |
- void handleWheelEventPhase(PlatformWheelEventPhase); |
-#endif |
- |
- bool canGoBack(); |
- bool canGoForward(); |
- |
- bool rubberBandsAtBottom(); |
- void setRubberBandsAtBottom(bool); |
- bool rubberBandsAtTop(); |
- void setRubberBandsAtTop(bool); |
- |
- bool willWheelEventStartSwipeGesture(const PlatformWheelEvent&); |
- |
- void setScrollingPerformanceLoggingEnabled(bool flag); |
- bool scrollingPerformanceLoggingEnabled(); |
- |
- ScrollingTreeScrollingNode* rootNode() const { return m_rootNode.get(); } |
- |
-private: |
- explicit ScrollingTree(ScrollingCoordinator*); |
- |
- void removeDestroyedNodes(ScrollingStateTree*); |
- void updateTreeFromStateNode(ScrollingStateNode*); |
- |
- RefPtr<ScrollingCoordinator> m_scrollingCoordinator; |
- OwnPtr<ScrollingTreeScrollingNode> m_rootNode; |
- |
- typedef HashMap<ScrollingNodeID, ScrollingTreeNode*> ScrollingTreeNodeMap; |
- ScrollingTreeNodeMap m_nodeMap; |
- |
- Mutex m_mutex; |
- Region m_nonFastScrollableRegion; |
- IntPoint m_mainFrameScrollPosition; |
- bool m_hasWheelEventHandlers; |
- |
- Mutex m_swipeStateMutex; |
- bool m_canGoBack; |
- bool m_canGoForward; |
- bool m_mainFramePinnedToTheLeft; |
- bool m_mainFramePinnedToTheRight; |
- bool m_rubberBandsAtBottom; |
- bool m_rubberBandsAtTop; |
- bool m_mainFramePinnedToTheTop; |
- bool m_mainFramePinnedToTheBottom; |
- bool m_mainFrameIsRubberBanding; |
- |
- bool m_scrollingPerformanceLoggingEnabled; |
- |
- bool m_isHandlingProgrammaticScroll; |
-}; |
- |
-} // namespace WebCore |
- |
-#endif // ENABLE(THREADED_SCROLLING) |
- |
-#endif // ScrollingTree_h |