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

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

Issue 1647793002: Use ScrollAnchor in FrameView and PaintLayerScrollableArea. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@anchor-skeleton
Patch Set: Created 4 years, 10 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) 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 28 matching lines...) Expand all
39 * other provisions required by the MPL or the GPL, as the case may be. 39 * other provisions required by the MPL or the GPL, as the case may be.
40 * If you do not delete the provisions above, a recipient may use your 40 * If you do not delete the provisions above, a recipient may use your
41 * version of this file under any of the LGPL, the MPL or the GPL. 41 * version of this file under any of the LGPL, the MPL or the GPL.
42 */ 42 */
43 43
44 #ifndef PaintLayerScrollableArea_h 44 #ifndef PaintLayerScrollableArea_h
45 #define PaintLayerScrollableArea_h 45 #define PaintLayerScrollableArea_h
46 46
47 #include "core/CoreExport.h" 47 #include "core/CoreExport.h"
48 #include "core/layout/LayoutBox.h" 48 #include "core/layout/LayoutBox.h"
49 #include "core/layout/ScrollAnchor.h"
49 #include "core/paint/PaintInvalidationCapableScrollableArea.h" 50 #include "core/paint/PaintInvalidationCapableScrollableArea.h"
50 #include "core/paint/PaintLayerFragment.h" 51 #include "core/paint/PaintLayerFragment.h"
51 #include "platform/heap/Handle.h" 52 #include "platform/heap/Handle.h"
52 53
53 namespace blink { 54 namespace blink {
54 55
55 enum ResizerHitTestType { 56 enum ResizerHitTestType {
56 ResizerForPointer, 57 ResizerForPointer,
57 ResizerForTouch 58 ResizerForTouch
58 }; 59 };
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 324
324 LayoutScrollbarPart* resizer() const override { return m_resizer; } 325 LayoutScrollbarPart* resizer() const override { return m_resizer; }
325 326
326 const IntPoint& cachedOverlayScrollbarOffset() { return m_cachedOverlayScrol lbarOffset; } 327 const IntPoint& cachedOverlayScrollbarOffset() { return m_cachedOverlayScrol lbarOffset; }
327 void setCachedOverlayScrollbarOffset(const IntPoint& offset) { m_cachedOverl ayScrollbarOffset = offset; } 328 void setCachedOverlayScrollbarOffset(const IntPoint& offset) { m_cachedOverl ayScrollbarOffset = offset; }
328 329
329 IntRect rectForHorizontalScrollbar(const IntRect& borderBoxRect) const; 330 IntRect rectForHorizontalScrollbar(const IntRect& borderBoxRect) const;
330 IntRect rectForVerticalScrollbar(const IntRect& borderBoxRect) const; 331 IntRect rectForVerticalScrollbar(const IntRect& borderBoxRect) const;
331 332
332 Widget* widget() override; 333 Widget* widget() override;
334 ScrollAnchor& scrollAnchor() { return m_scrollAnchor; }
333 bool isPaintLayerScrollableArea() const override { return true; } 335 bool isPaintLayerScrollableArea() const override { return true; }
334 336
335 DECLARE_VIRTUAL_TRACE(); 337 DECLARE_VIRTUAL_TRACE();
336 338
337 private: 339 private:
338 explicit PaintLayerScrollableArea(PaintLayer&); 340 explicit PaintLayerScrollableArea(PaintLayer&);
339 341
340 bool hasHorizontalOverflow() const; 342 bool hasHorizontalOverflow() const;
341 bool hasVerticalOverflow() const; 343 bool hasVerticalOverflow() const;
342 bool hasScrollableHorizontalOverflow() const; 344 bool hasScrollableHorizontalOverflow() const;
(...skipping 21 matching lines...) Expand all
364 void updateResizerStyle(); 366 void updateResizerStyle();
365 367
366 368
367 void updateScrollableAreaSet(bool hasOverflow); 369 void updateScrollableAreaSet(bool hasOverflow);
368 370
369 void updateCompositingLayersAfterScroll(); 371 void updateCompositingLayersAfterScroll();
370 372
371 // PaintInvalidationCapableScrollableArea 373 // PaintInvalidationCapableScrollableArea
372 LayoutBox& boxForScrollControlPaintInvalidation() const { return box(); } 374 LayoutBox& boxForScrollControlPaintInvalidation() const { return box(); }
373 375
376 bool scrollAnchoringEnabled() const;
377
374 PaintLayer& m_layer; 378 PaintLayer& m_layer;
375 379
376 // Keeps track of whether the layer is currently resizing, so events can cau se resizing to start and stop. 380 // Keeps track of whether the layer is currently resizing, so events can cau se resizing to start and stop.
377 unsigned m_inResizeMode : 1; 381 unsigned m_inResizeMode : 1;
378 unsigned m_scrollsOverflow : 1; 382 unsigned m_scrollsOverflow : 1;
379 383
380 unsigned m_inOverflowRelayout : 1; 384 unsigned m_inOverflowRelayout : 1;
381 385
382 PaintLayer* m_nextTopmostScrollChild; 386 PaintLayer* m_nextTopmostScrollChild;
383 PaintLayer* m_topmostScrollChild; 387 PaintLayer* m_topmostScrollChild;
(...skipping 15 matching lines...) Expand all
399 DoubleSize m_scrollOffset; 403 DoubleSize m_scrollOffset;
400 404
401 IntPoint m_cachedOverlayScrollbarOffset; 405 IntPoint m_cachedOverlayScrollbarOffset;
402 406
403 // LayoutObject to hold our custom scroll corner. 407 // LayoutObject to hold our custom scroll corner.
404 LayoutScrollbarPart* m_scrollCorner; 408 LayoutScrollbarPart* m_scrollCorner;
405 409
406 // LayoutObject to hold our custom resizer. 410 // LayoutObject to hold our custom resizer.
407 LayoutScrollbarPart* m_resizer; 411 LayoutScrollbarPart* m_resizer;
408 412
413 ScrollAnchor m_scrollAnchor;
414
409 #if ENABLE(ASSERT) 415 #if ENABLE(ASSERT)
410 bool m_hasBeenDisposed; 416 bool m_hasBeenDisposed;
411 #endif 417 #endif
412 }; 418 };
413 419
414 DEFINE_TYPE_CASTS(PaintLayerScrollableArea, ScrollableArea, scrollableArea, 420 DEFINE_TYPE_CASTS(PaintLayerScrollableArea, ScrollableArea, scrollableArea,
415 scrollableArea->isPaintLayerScrollableArea(), 421 scrollableArea->isPaintLayerScrollableArea(),
416 scrollableArea.isPaintLayerScrollableArea()); 422 scrollableArea.isPaintLayerScrollableArea());
417 423
418 } // namespace blink 424 } // namespace blink
419 425
420 #endif // LayerScrollableArea_h 426 #endif // LayerScrollableArea_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698