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

Side by Side Diff: third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.h

Issue 2623213002: Expand PaintLayer clip to account for hidden URL bar with document.rootScroller (Closed)
Patch Set: Rebase Created 3 years, 11 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698