| Index: Source/core/paint/DeprecatedPaintLayerScrollableArea.h
|
| diff --git a/Source/core/paint/DeprecatedPaintLayerScrollableArea.h b/Source/core/paint/DeprecatedPaintLayerScrollableArea.h
|
| index b268b8a29b1e4278312ba038ffc2d7b461115080..47e3cdea3df8ac9cb39853ed0a731ddb889e9390 100644
|
| --- a/Source/core/paint/DeprecatedPaintLayerScrollableArea.h
|
| +++ b/Source/core/paint/DeprecatedPaintLayerScrollableArea.h
|
| @@ -47,6 +47,7 @@
|
| #include "core/CoreExport.h"
|
| #include "core/layout/LayoutBox.h"
|
| #include "core/paint/DeprecatedPaintLayerFragment.h"
|
| +#include "platform/heap/Handle.h"
|
| #include "platform/scroll/ScrollableArea.h"
|
|
|
| namespace blink {
|
| @@ -61,14 +62,20 @@ class LayoutBox;
|
| class DeprecatedPaintLayer;
|
| class LayoutScrollbarPart;
|
|
|
| -class CORE_EXPORT DeprecatedPaintLayerScrollableArea final : public ScrollableArea {
|
| +class CORE_EXPORT DeprecatedPaintLayerScrollableArea final : public NoBaseWillBeGarbageCollectedFinalized<DeprecatedPaintLayerScrollableArea>, public ScrollableArea {
|
| + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DeprecatedPaintLayerScrollableArea);
|
| friend class Internals;
|
|
|
| public:
|
| // FIXME: We should pass in the LayoutBox but this opens a window
|
| // for crashers during DeprecatedPaintLayer setup (see crbug.com/368062).
|
| - DeprecatedPaintLayerScrollableArea(DeprecatedPaintLayer&);
|
| + static PassOwnPtrWillBeRawPtr<DeprecatedPaintLayerScrollableArea> create(DeprecatedPaintLayer& layer)
|
| + {
|
| + return adoptPtrWillBeNoop(new DeprecatedPaintLayerScrollableArea(layer));
|
| + }
|
| +
|
| virtual ~DeprecatedPaintLayerScrollableArea();
|
| + void dispose();
|
|
|
| bool hasHorizontalScrollbar() const { return horizontalScrollbar(); }
|
| bool hasVerticalScrollbar() const { return verticalScrollbar(); }
|
| @@ -215,7 +222,11 @@ public:
|
| IntRect rectForHorizontalScrollbar(const IntRect& borderBoxRect) const;
|
| IntRect rectForVerticalScrollbar(const IntRect& borderBoxRect) const;
|
|
|
| + DECLARE_VIRTUAL_TRACE();
|
| +
|
| private:
|
| + explicit DeprecatedPaintLayerScrollableArea(DeprecatedPaintLayer&);
|
| +
|
| bool hasHorizontalOverflow() const;
|
| bool hasVerticalOverflow() const;
|
| bool hasScrollableHorizontalOverflow() const;
|
| @@ -276,14 +287,18 @@ private:
|
| IntPoint m_cachedOverlayScrollbarOffset;
|
|
|
| // For areas with overflow, we have a pair of scrollbars.
|
| - RefPtrWillBePersistent<Scrollbar> m_hBar;
|
| - RefPtrWillBePersistent<Scrollbar> m_vBar;
|
| + RefPtrWillBeMember<Scrollbar> m_hBar;
|
| + RefPtrWillBeMember<Scrollbar> m_vBar;
|
|
|
| // LayoutObject to hold our custom scroll corner.
|
| LayoutScrollbarPart* m_scrollCorner;
|
|
|
| // LayoutObject to hold our custom resizer.
|
| LayoutScrollbarPart* m_resizer;
|
| +
|
| +#if ENABLE(ASSERT)
|
| + bool m_hasBeenDisposed;
|
| +#endif
|
| };
|
|
|
| } // namespace blink
|
|
|