void ScrollbarGroup::scrollbarDestroyed(WebPluginScrollbarImpl* scrollbar) { if (scrollbar == m_horizontalScrollbar) { willRemoveScrollbar(scrollbar->scrollbar(), HorizontalScrollbar); m_horizontalScrollbar = 0; } else { ASSERT(scrollbar == m_verticalScrollbar); willRemoveScrollbar(scrollbar->scrollbar(), VerticalScrollbar); m_verticalScrollbar = 0; } if (!m_horizontalScrollbar && !m_verticalScrollbar) { m_frameView->removeScrollableArea(this); m_frameView->setNeedsLayout(); } }
void RenderLayerScrollableArea::destroyScrollbar(ScrollbarOrientation orientation) { RefPtr<Scrollbar>& scrollbar = orientation == HorizontalScrollbar ? m_hBar : m_vBar; if (!scrollbar) return; willRemoveScrollbar(scrollbar.get(), orientation); scrollbar->disconnectFromScrollableArea(); scrollbar = nullptr; }