| Index: Source/core/paint/DeprecatedPaintLayerScrollableArea.cpp
|
| diff --git a/Source/core/paint/DeprecatedPaintLayerScrollableArea.cpp b/Source/core/paint/DeprecatedPaintLayerScrollableArea.cpp
|
| index bb3d55ce33746ecf121ab814f27c981cc85ba63f..efd7abba32930d53bc37bbb1fbd6ad93efa8aa23 100644
|
| --- a/Source/core/paint/DeprecatedPaintLayerScrollableArea.cpp
|
| +++ b/Source/core/paint/DeprecatedPaintLayerScrollableArea.cpp
|
| @@ -90,6 +90,9 @@ DeprecatedPaintLayerScrollableArea::DeprecatedPaintLayerScrollableArea(Deprecate
|
| , m_needsCompositedScrolling(false)
|
| , m_scrollCorner(nullptr)
|
| , m_resizer(nullptr)
|
| +#if ENABLE(ASSERT)
|
| + , m_hasBeenDisposed(false)
|
| +#endif
|
| {
|
| Node* node = box().node();
|
| if (node && node->isElementNode()) {
|
| @@ -106,6 +109,11 @@ DeprecatedPaintLayerScrollableArea::DeprecatedPaintLayerScrollableArea(Deprecate
|
|
|
| DeprecatedPaintLayerScrollableArea::~DeprecatedPaintLayerScrollableArea()
|
| {
|
| + ASSERT(m_hasBeenDisposed);
|
| +}
|
| +
|
| +void DeprecatedPaintLayerScrollableArea::dispose()
|
| +{
|
| if (inResizeMode() && !box().documentBeingDestroyed()) {
|
| if (LocalFrame* frame = box().frame())
|
| frame->eventHandler().resizeScrollableAreaDestroyed();
|
| @@ -142,6 +150,19 @@ DeprecatedPaintLayerScrollableArea::~DeprecatedPaintLayerScrollableArea()
|
| m_scrollCorner->destroy();
|
| if (m_resizer)
|
| m_resizer->destroy();
|
| +
|
| + clearScrollAnimators();
|
| +
|
| +#if ENABLE(ASSERT)
|
| + m_hasBeenDisposed = true;
|
| +#endif
|
| +}
|
| +
|
| +DEFINE_TRACE(DeprecatedPaintLayerScrollableArea)
|
| +{
|
| + visitor->trace(m_hBar);
|
| + visitor->trace(m_vBar);
|
| + ScrollableArea::trace(visitor);
|
| }
|
|
|
| HostWindow* DeprecatedPaintLayerScrollableArea::hostWindow() const
|
| @@ -935,7 +956,7 @@ PassRefPtrWillBeRawPtr<Scrollbar> DeprecatedPaintLayerScrollableArea::createScro
|
|
|
| void DeprecatedPaintLayerScrollableArea::destroyScrollbar(ScrollbarOrientation orientation)
|
| {
|
| - RefPtrWillBePersistent<Scrollbar>& scrollbar = orientation == HorizontalScrollbar ? m_hBar : m_vBar;
|
| + RefPtrWillBeMember<Scrollbar>& scrollbar = orientation == HorizontalScrollbar ? m_hBar : m_vBar;
|
| if (!scrollbar)
|
| return;
|
|
|
|
|