| Index: Source/web/PopupListBox.cpp
|
| diff --git a/Source/web/PopupListBox.cpp b/Source/web/PopupListBox.cpp
|
| index da25eacac1a02130cf652b75f5821c715fed51ba..077edd855525ab5c67249c8f83bb4b55993ab3b1 100644
|
| --- a/Source/web/PopupListBox.cpp
|
| +++ b/Source/web/PopupListBox.cpp
|
| @@ -87,7 +87,22 @@ PopupListBox::~PopupListBox()
|
| {
|
| clear();
|
|
|
| + // Oilpan: the scrollbars of the ScrollView are self-sufficient,
|
| + // capable of detaching themselves from their animator on
|
| + // finalization.
|
| +#if !ENABLE(OILPAN)
|
| setHasVerticalScrollbar(false);
|
| +#endif
|
| +}
|
| +
|
| +void PopupListBox::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_capturingScrollbar);
|
| + visitor->trace(m_lastScrollbarUnderMouse);
|
| + visitor->trace(m_focusedElement);
|
| + visitor->trace(m_container);
|
| + visitor->trace(m_verticalScrollbar);
|
| + Widget::trace(visitor);
|
| }
|
|
|
| bool PopupListBox::handleMouseDownEvent(const PlatformMouseEvent& event)
|
| @@ -502,7 +517,7 @@ Font PopupListBox::getRowFont(int rowIndex) const
|
|
|
| void PopupListBox::abandon()
|
| {
|
| - RefPtr<PopupListBox> keepAlive(this);
|
| + RefPtrWillBeRawPtr<PopupListBox> protect(this);
|
|
|
| m_selectedIndex = m_originalIndex;
|
|
|
| @@ -550,7 +565,7 @@ bool PopupListBox::acceptIndex(int index)
|
| }
|
|
|
| if (isSelectableItem(index)) {
|
| - RefPtr<PopupListBox> keepAlive(this);
|
| + RefPtrWillBeRawPtr<PopupListBox> protect(this);
|
|
|
| // Hide ourselves first since valueChanged may have numerous side-effects.
|
| hidePopup();
|
| @@ -835,8 +850,7 @@ void PopupListBox::layout()
|
|
|
| void PopupListBox::clear()
|
| {
|
| - for (Vector<PopupItem*>::iterator it = m_items.begin(); it != m_items.end(); ++it)
|
| - delete *it;
|
| + deleteAllValues(m_items);
|
| m_items.clear();
|
| }
|
|
|
|
|