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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h

Issue 2467693002: Implement overlay scrollbar fade out for non-composited scrollers. (Closed)
Patch Set: sigh....git cl format Created 4 years, 1 month 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) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 void scrollbarVisibilityChanged() override; 287 void scrollbarVisibilityChanged() override;
288 IntRect scrollableAreaBoundingBox() const override; 288 IntRect scrollableAreaBoundingBox() const override;
289 void registerForAnimation() override; 289 void registerForAnimation() override;
290 void deregisterForAnimation() override; 290 void deregisterForAnimation() override;
291 bool userInputScrollable(ScrollbarOrientation) const override; 291 bool userInputScrollable(ScrollbarOrientation) const override;
292 bool shouldPlaceVerticalScrollbarOnLeft() const override; 292 bool shouldPlaceVerticalScrollbarOnLeft() const override;
293 int pageStep(ScrollbarOrientation) const override; 293 int pageStep(ScrollbarOrientation) const override;
294 ScrollBehavior scrollBehaviorStyle() const override; 294 ScrollBehavior scrollBehaviorStyle() const override;
295 CompositorAnimationTimeline* compositorAnimationTimeline() const override; 295 CompositorAnimationTimeline* compositorAnimationTimeline() const override;
296 296
297 void visibleSizeChanged();
298
297 // FIXME: We shouldn't allow access to m_overflowRect outside this class. 299 // FIXME: We shouldn't allow access to m_overflowRect outside this class.
298 LayoutRect overflowRect() const { return m_overflowRect; } 300 LayoutRect overflowRect() const { return m_overflowRect; }
299 301
300 void scrollToAbsolutePosition( 302 void scrollToAbsolutePosition(
301 const FloatPoint& position, 303 const FloatPoint& position,
302 ScrollBehavior scrollBehavior = ScrollBehaviorInstant, 304 ScrollBehavior scrollBehavior = ScrollBehaviorInstant,
303 ScrollType scrollType = ProgrammaticScroll) { 305 ScrollType scrollType = ProgrammaticScroll) {
304 setScrollOffset(position - scrollOrigin(), scrollType, scrollBehavior); 306 setScrollOffset(position - scrollOrigin(), scrollType, scrollBehavior);
305 } 307 }
306 308
307 // This will set the scroll position without clamping, and it will do all 309 // This will set the scroll position without clamping, and it will do all
308 // post-update work even if the scroll position didn't change. 310 // post-update work even if the scroll position didn't change.
309 void setScrollOffsetUnconditionally(const ScrollOffset&, 311 void setScrollOffsetUnconditionally(const ScrollOffset&,
310 ScrollType = ProgrammaticScroll); 312 ScrollType = ProgrammaticScroll);
311 313
312 // This will set the scroll position without clamping, and it will do all 314 // This will set the scroll position without clamping, and it will do all
313 // post-update work even if the scroll position didn't change. 315 // post-update work even if the scroll position didn't change.
314 void setScrollPositionUnconditionally(const DoublePoint&, 316 void setScrollPositionUnconditionally(const DoublePoint&,
315 ScrollType = ProgrammaticScroll); 317 ScrollType = ProgrammaticScroll);
316 318
317 // TODO(szager): Actually run these after all of layout is finished. 319 // TODO(szager): Actually run these after all of layout is finished.
318 // Currently, they run at the end of box()'es layout (or after all flexbox 320 // Currently, they run at the end of box()'es layout (or after all flexbox
319 // layout has finished) but while document layout is still happening. 321 // layout has finished) but while document layout is still happening.
320 void updateAfterLayout(); 322 void updateAfterLayout();
321 void clampScrollOffsetsAfterLayout(); 323 void clampScrollOffsetsAfterLayout();
322 324
323 void didChangeScrollbarsHidden() override;
324
325 void updateAfterStyleChange(const ComputedStyle*); 325 void updateAfterStyleChange(const ComputedStyle*);
326 void updateAfterOverflowRecalc(); 326 void updateAfterOverflowRecalc();
327 327
328 bool updateAfterCompositingChange() override; 328 bool updateAfterCompositingChange() override;
329 329
330 bool hasScrollbar() const { 330 bool hasScrollbar() const {
331 return hasHorizontalScrollbar() || hasVerticalScrollbar(); 331 return hasHorizontalScrollbar() || hasVerticalScrollbar();
332 } 332 }
333 bool hasOverflowControls() const { 333 bool hasOverflowControls() const {
334 return hasScrollbar() || scrollCorner() || resizer(); 334 return hasScrollbar() || scrollCorner() || resizer();
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 void invalidateStickyConstraintsFor(PaintLayer*, 473 void invalidateStickyConstraintsFor(PaintLayer*,
474 bool needsCompositingUpdate = true); 474 bool needsCompositingUpdate = true);
475 475
476 uint64_t id() const; 476 uint64_t id() const;
477 477
478 DECLARE_VIRTUAL_TRACE(); 478 DECLARE_VIRTUAL_TRACE();
479 479
480 private: 480 private:
481 explicit PaintLayerScrollableArea(PaintLayer&); 481 explicit PaintLayerScrollableArea(PaintLayer&);
482 482
483 void updateScrollbarsEnabledState();
484
485 bool hasHorizontalOverflow() const; 483 bool hasHorizontalOverflow() const;
486 bool hasVerticalOverflow() const; 484 bool hasVerticalOverflow() const;
487 bool hasScrollableHorizontalOverflow() const; 485 bool hasScrollableHorizontalOverflow() const;
488 bool hasScrollableVerticalOverflow() const; 486 bool hasScrollableVerticalOverflow() const;
489 bool visualViewportSuppliesScrollbars() const; 487 bool visualViewportSuppliesScrollbars() const;
490 488
491 bool needsScrollbarReconstruction() const; 489 bool needsScrollbarReconstruction() const;
492 490
493 void updateScrollOrigin(); 491 void updateScrollOrigin();
494 void updateScrollDimensions(); 492 void updateScrollDimensions();
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 582
585 DEFINE_TYPE_CASTS(PaintLayerScrollableArea, 583 DEFINE_TYPE_CASTS(PaintLayerScrollableArea,
586 ScrollableArea, 584 ScrollableArea,
587 scrollableArea, 585 scrollableArea,
588 scrollableArea->isPaintLayerScrollableArea(), 586 scrollableArea->isPaintLayerScrollableArea(),
589 scrollableArea.isPaintLayerScrollableArea()); 587 scrollableArea.isPaintLayerScrollableArea());
590 588
591 } // namespace blink 589 } // namespace blink
592 590
593 #endif // LayerScrollableArea_h 591 #endif // LayerScrollableArea_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintLayer.cpp ('k') | third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698