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

Unified Diff: Source/platform/scroll/ScrollView.cpp

Issue 603193005: Move the Widget hierarchy to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add ~Scrollbar assert Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/platform/scroll/ScrollView.cpp
diff --git a/Source/platform/scroll/ScrollView.cpp b/Source/platform/scroll/ScrollView.cpp
index f447873afcd252407dcf492fc30e21f87f8368d5..e8ad52b7232c9631fbde7e8037f5db9b750804cd 100644
--- a/Source/platform/scroll/ScrollView.cpp
+++ b/Source/platform/scroll/ScrollView.cpp
@@ -51,7 +51,17 @@ ScrollView::~ScrollView()
{
}
-void ScrollView::addChild(PassRefPtr<Widget> prpChild)
+void ScrollView::trace(Visitor* visitor)
+{
+#if ENABLE(OILPAN)
+ visitor->trace(m_horizontalScrollbar);
+ visitor->trace(m_verticalScrollbar);
+ visitor->trace(m_children);
+#endif
+ Widget::trace(visitor);
+}
+
+void ScrollView::addChild(PassRefPtrWillBeRawPtr<Widget> prpChild)
{
Widget* child = prpChild.get();
ASSERT(child != this && !child->parent());
@@ -94,7 +104,7 @@ void ScrollView::setHasVerticalScrollbar(bool hasBar)
}
}
-PassRefPtr<Scrollbar> ScrollView::createScrollbar(ScrollbarOrientation orientation)
+PassRefPtrWillBeRawPtr<Scrollbar> ScrollView::createScrollbar(ScrollbarOrientation orientation)
{
return Scrollbar::create(this, orientation, RegularScrollbar);
}
@@ -719,8 +729,8 @@ void ScrollView::setFrameRect(const IntRect& newRect)
void ScrollView::frameRectsChanged()
{
- HashSet<RefPtr<Widget> >::const_iterator end = m_children.end();
- for (HashSet<RefPtr<Widget> >::const_iterator current = m_children.begin(); current != end; ++current)
+ ChildrenWidgetSet::const_iterator end = m_children.end();
+ for (ChildrenWidgetSet::const_iterator current = m_children.begin(); current != end; ++current)
(*current)->frameRectsChanged();
}
@@ -1057,8 +1067,8 @@ void ScrollView::setParentVisible(bool visible)
if (!isSelfVisible())
return;
- HashSet<RefPtr<Widget> >::iterator end = m_children.end();
- for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
+ ChildrenWidgetSet::const_iterator end = m_children.end();
+ for (ChildrenWidgetSet::const_iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(visible);
}
@@ -1067,8 +1077,8 @@ void ScrollView::show()
if (!isSelfVisible()) {
setSelfVisible(true);
if (isParentVisible()) {
- HashSet<RefPtr<Widget> >::iterator end = m_children.end();
- for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
+ ChildrenWidgetSet::const_iterator end = m_children.end();
+ for (ChildrenWidgetSet::const_iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(true);
}
}
@@ -1080,8 +1090,8 @@ void ScrollView::hide()
{
if (isSelfVisible()) {
if (isParentVisible()) {
- HashSet<RefPtr<Widget> >::iterator end = m_children.end();
- for (HashSet<RefPtr<Widget> >::iterator it = m_children.begin(); it != end; ++it)
+ ChildrenWidgetSet::const_iterator end = m_children.end();
+ for (ChildrenWidgetSet::const_iterator it = m_children.begin(); it != end; ++it)
(*it)->setParentVisible(false);
}
setSelfVisible(false);

Powered by Google App Engine
This is Rietveld 408576698