Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm

Issue 13665002: Fold ScrollingCoordinatorChromium into ScrollingCoordinator and devirtualize (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm
diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm b/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm
deleted file mode 100644
index d9e4ce595338e68e6569f6817bf0df4be8cc303b..0000000000000000000000000000000000000000
--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2012 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.
- */
-
-#include "config.h"
-#include "ScrollingTreeFixedNode.h"
-
-#if ENABLE(THREADED_SCROLLING)
-
-#include "ScrollingStateFixedNode.h"
-#include "ScrollingTree.h"
-
-namespace WebCore {
-
-PassOwnPtr<ScrollingTreeFixedNode> ScrollingTreeFixedNode::create(ScrollingTree* scrollingTree, ScrollingNodeID nodeID)
-{
- return adoptPtr(new ScrollingTreeFixedNode(scrollingTree, nodeID));
-}
-
-ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree* scrollingTree, ScrollingNodeID nodeID)
- : ScrollingTreeNode(scrollingTree, nodeID)
-{
-}
-
-ScrollingTreeFixedNode::~ScrollingTreeFixedNode()
-{
-}
-
-void ScrollingTreeFixedNode::updateBeforeChildren(ScrollingStateNode* stateNode)
-{
- ScrollingStateFixedNode* fixedStateNode = toScrollingStateFixedNode(stateNode);
-
- if (fixedStateNode->hasChangedProperty(ScrollingStateNode::ScrollLayer))
- m_layer = fixedStateNode->platformScrollLayer();
-
- if (stateNode->hasChangedProperty(ScrollingStateFixedNode::ViewportConstraints))
- m_constraints = fixedStateNode->viewportConstraints();
-}
-
-static inline CGPoint operator*(CGPoint& a, const CGSize& b)
-{
- return CGPointMake(a.x * b.width, a.y * b.height);
-}
-
-void ScrollingTreeFixedNode::parentScrollPositionDidChange(const IntRect& viewportRect, const FloatSize& cumulativeDelta)
-{
- FloatPoint layerPosition = m_constraints.layerPositionForViewportRect(viewportRect);
- layerPosition -= cumulativeDelta;
-
- CGRect layerBounds = [m_layer.get() bounds];
- CGPoint anchorPoint = [m_layer.get() anchorPoint];
- CGPoint newPosition = layerPosition - m_constraints.alignmentOffset() + anchorPoint * layerBounds.size;
- [m_layer.get() setPosition:newPosition];
-
- if (!m_children)
- return;
-
- FloatSize newDelta = layerPosition - m_constraints.layerPositionAtLastLayout() + cumulativeDelta;
-
- size_t size = m_children->size();
- for (size_t i = 0; i < size; ++i)
- m_children->at(i)->parentScrollPositionDidChange(viewportRect, newDelta);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(THREADED_SCROLLING)

Powered by Google App Engine
This is Rietveld 408576698