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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/Scrollbar.h

Issue 2763373002: Overlay scrollbars flush with window edge (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved. 2 * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 // Otherwise, the ScrollableArea may redraw using cached renderings of 191 // Otherwise, the ScrollableArea may redraw using cached renderings of
192 // individual parts. For instance, if the scrollbar is composited, the thumb 192 // individual parts. For instance, if the scrollbar is composited, the thumb
193 // may be cached in a GPU texture (and is only guaranteed to be repainted if 193 // may be cached in a GPU texture (and is only guaranteed to be repainted if
194 // ThumbPart is invalidated). 194 // ThumbPart is invalidated).
195 // 195 //
196 // Even if no parts are invalidated, the scrollbar may need to be redrawn 196 // Even if no parts are invalidated, the scrollbar may need to be redrawn
197 // if, for instance, the thumb moves without changing the appearance of any 197 // if, for instance, the thumb moves without changing the appearance of any
198 // part. 198 // part.
199 void setNeedsPaintInvalidation(ScrollbarPart invalidParts); 199 void setNeedsPaintInvalidation(ScrollbarPart invalidParts);
200 200
201 bool hasScrollCorner() const;
202
201 // Promptly unregister from the theme manager + run finalizers of derived 203 // Promptly unregister from the theme manager + run finalizers of derived
202 // Scrollbars. 204 // Scrollbars.
203 EAGERLY_FINALIZE(); 205 EAGERLY_FINALIZE();
204 DECLARE_EAGER_FINALIZATION_OPERATOR_NEW(); 206 DECLARE_EAGER_FINALIZATION_OPERATOR_NEW();
205 DECLARE_VIRTUAL_TRACE(); 207 DECLARE_VIRTUAL_TRACE();
206 208
207 protected: 209 protected:
208 Scrollbar(ScrollableArea*, 210 Scrollbar(ScrollableArea*,
209 ScrollbarOrientation, 211 ScrollbarOrientation,
210 ScrollbarControlSize, 212 ScrollbarControlSize,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 } 253 }
252 254
253 float scrollableAreaCurrentPos() const; 255 float scrollableAreaCurrentPos() const;
254 float scrollableAreaTargetPos() const; 256 float scrollableAreaTargetPos() const;
255 bool thumbWillBeUnderMouse() const; 257 bool thumbWillBeUnderMouse() const;
256 258
257 int m_themeScrollbarThickness; 259 int m_themeScrollbarThickness;
258 bool m_trackNeedsRepaint; 260 bool m_trackNeedsRepaint;
259 bool m_thumbNeedsRepaint; 261 bool m_thumbNeedsRepaint;
260 LayoutRect m_visualRect; 262 LayoutRect m_visualRect;
263 bool m_hitBeginOrEnd;
261 }; 264 };
262 265
263 DEFINE_TYPE_CASTS(Scrollbar, 266 DEFINE_TYPE_CASTS(Scrollbar,
264 FrameViewBase, 267 FrameViewBase,
265 frameViewBase, 268 frameViewBase,
266 frameViewBase->isScrollbar(), 269 frameViewBase->isScrollbar(),
267 frameViewBase.isScrollbar()); 270 frameViewBase.isScrollbar());
268 271
269 } // namespace blink 272 } // namespace blink
270 273
271 #endif // Scrollbar_h 274 #endif // Scrollbar_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698