OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef TopDocumentRootScrollerController_h | 5 #ifndef TopDocumentRootScrollerController_h |
6 #define TopDocumentRootScrollerController_h | 6 #define TopDocumentRootScrollerController_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/page/scrolling/RootScrollerController.h" | 9 #include "core/page/scrolling/RootScrollerController.h" |
10 #include "platform/geometry/IntSize.h" | 10 #include "platform/geometry/IntSize.h" |
11 #include "platform/heap/Handle.h" | 11 #include "platform/heap/Handle.h" |
| 12 #include "platform/scroll/ScrollTypes.h" |
12 | 13 |
13 namespace blink { | 14 namespace blink { |
14 | 15 |
15 class Element; | 16 class Element; |
16 class FrameHost; | 17 class FrameHost; |
17 class GraphicsLayer; | 18 class GraphicsLayer; |
18 class PaintLayer; | 19 class PaintLayer; |
19 class RootFrameViewport; | 20 class RootFrameViewport; |
20 class ScrollStateCallback; | 21 class ScrollStateCallback; |
21 class ScrollableArea; | 22 class ScrollableArea; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 | 68 |
68 void mainFrameViewResized(); | 69 void mainFrameViewResized(); |
69 | 70 |
70 // Returns the ScrollableArea associated with the globalRootScroller(). Note, | 71 // Returns the ScrollableArea associated with the globalRootScroller(). Note, |
71 // this isn't necessarily the PLSA belonging to the root scroller Element's | 72 // this isn't necessarily the PLSA belonging to the root scroller Element's |
72 // LayoutBox. If the root scroller is the documentElement then we use the | 73 // LayoutBox. If the root scroller is the documentElement then we use the |
73 // FrameView (or LayoutView if root-layer-scrolls). | 74 // FrameView (or LayoutView if root-layer-scrolls). |
74 ScrollableArea* rootScrollerArea() const; | 75 ScrollableArea* rootScrollerArea() const; |
75 | 76 |
76 // Returns the size we should use for the root scroller, accounting for top | 77 // Returns the size we should use for the root scroller, accounting for top |
77 // controls adjustment and using the root FrameView. | 78 // controls adjustment and using the root FrameView rect. |
78 IntSize rootScrollerVisibleArea() const; | 79 IntRect visibleContentRect(IncludeScrollbarsInRect) const; |
| 80 |
| 81 // Returns whether node is the root scroller or has it as a descendant. |
| 82 bool isRootScrollerAncestor(const Node&) const; |
79 | 83 |
80 private: | 84 private: |
81 TopDocumentRootScrollerController(FrameHost&); | 85 TopDocumentRootScrollerController(FrameHost&); |
82 | 86 |
83 // Calculates the Element that should be the globalRootScroller. On a | 87 // Calculates the Element that should be the globalRootScroller. On a |
84 // simple page, this will simply the root frame's effectiveRootScroller but | 88 // simple page, this will simply the root frame's effectiveRootScroller but |
85 // if the root scroller is set to an iframe, this will then descend into | 89 // if the root scroller is set to an iframe, this will then descend into |
86 // the iframe to find its effective root scroller. | 90 // the iframe to find its effective root scroller. |
87 Element* findGlobalRootScrollerElement(); | 91 Element* findGlobalRootScrollerElement(); |
88 | 92 |
(...skipping 16 matching lines...) Expand all Loading... |
105 // m_viewportApplyScroll has been created, it will always be set on this | 109 // m_viewportApplyScroll has been created, it will always be set on this |
106 // Element. | 110 // Element. |
107 WeakMember<Element> m_globalRootScroller; | 111 WeakMember<Element> m_globalRootScroller; |
108 | 112 |
109 WeakMember<FrameHost> m_frameHost; | 113 WeakMember<FrameHost> m_frameHost; |
110 }; | 114 }; |
111 | 115 |
112 } // namespace blink | 116 } // namespace blink |
113 | 117 |
114 #endif // RootScrollerController_h | 118 #endif // RootScrollerController_h |
OLD | NEW |