OLD | NEW |
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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 // to be painted on top of everything. Hardware accelerated overlay scrollbars | 97 // to be painted on top of everything. Hardware accelerated overlay scrollbars |
98 // are painted by their associated GraphicsLayer that sets the paint flag | 98 // are painted by their associated GraphicsLayer that sets the paint flag |
99 // PaintLayerPaintingOverlayScrollbars. | 99 // PaintLayerPaintingOverlayScrollbars. |
100 class CORE_EXPORT PaintLayerScrollableArea final : public NoBaseWillBeGarbageCol
lectedFinalized<PaintLayerScrollableArea>, public ScrollableArea { | 100 class CORE_EXPORT PaintLayerScrollableArea final : public NoBaseWillBeGarbageCol
lectedFinalized<PaintLayerScrollableArea>, public ScrollableArea { |
101 USING_FAST_MALLOC_WILL_BE_REMOVED(PaintLayerScrollableArea); | 101 USING_FAST_MALLOC_WILL_BE_REMOVED(PaintLayerScrollableArea); |
102 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PaintLayerScrollableArea); | 102 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(PaintLayerScrollableArea); |
103 friend class Internals; | 103 friend class Internals; |
104 | 104 |
105 private: | 105 private: |
106 class ScrollbarManager { | 106 class ScrollbarManager { |
107 DISALLOW_ALLOCATION(); | 107 DISALLOW_NEW(); |
108 | 108 |
109 // Helper class to manage the life cycle of Scrollbar objects. Some lay
out containers | 109 // Helper class to manage the life cycle of Scrollbar objects. Some lay
out containers |
110 // (e.g., flexbox, table) run multi-pass layout on their children, apply
ing different | 110 // (e.g., flexbox, table) run multi-pass layout on their children, apply
ing different |
111 // constraints. If a child has overflow:auto, it may gain and lose scro
llbars multiple | 111 // constraints. If a child has overflow:auto, it may gain and lose scro
llbars multiple |
112 // times during multi-pass layout, causing pointless allocation/dealloca
tion thrashing, | 112 // times during multi-pass layout, causing pointless allocation/dealloca
tion thrashing, |
113 // and potentially leading to other problems (crbug.com/528940). | 113 // and potentially leading to other problems (crbug.com/528940). |
114 | 114 |
115 // ScrollbarManager allows a ScrollableArea to delay the destruction of
a scrollbar that | 115 // ScrollbarManager allows a ScrollableArea to delay the destruction of
a scrollbar that |
116 // is no longer needed, until the end of multi-pass layout. If the scro
llbar is then | 116 // is no longer needed, until the end of multi-pass layout. If the scro
llbar is then |
117 // re-added before multi-pass layout finishes, the previously "deleted"
scrollbar will | 117 // re-added before multi-pass layout finishes, the previously "deleted"
scrollbar will |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 LayoutScrollbarPart* m_resizer; | 401 LayoutScrollbarPart* m_resizer; |
402 | 402 |
403 #if ENABLE(ASSERT) | 403 #if ENABLE(ASSERT) |
404 bool m_hasBeenDisposed; | 404 bool m_hasBeenDisposed; |
405 #endif | 405 #endif |
406 }; | 406 }; |
407 | 407 |
408 } // namespace blink | 408 } // namespace blink |
409 | 409 |
410 #endif // LayerScrollableArea_h | 410 #endif // LayerScrollableArea_h |
OLD | NEW |