| Index: Source/web/ExternalPopupMenu.cpp
|
| diff --git a/Source/web/ExternalPopupMenu.cpp b/Source/web/ExternalPopupMenu.cpp
|
| index 49c2e0fca187c748c16a6fc7afef08dc84ecd208..37944028b1cd0f15433b947baab44feddd216cb3 100644
|
| --- a/Source/web/ExternalPopupMenu.cpp
|
| +++ b/Source/web/ExternalPopupMenu.cpp
|
| @@ -60,6 +60,12 @@ ExternalPopupMenu::~ExternalPopupMenu()
|
| {
|
| }
|
|
|
| +void ExternalPopupMenu::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_localFrame);
|
| + PopupMenu::trace(visitor);
|
| +}
|
| +
|
| void ExternalPopupMenu::show(const FloatQuad& controlPosition, const IntSize&, int index)
|
| {
|
| IntRect rect(controlPosition.enclosingBoundingBox());
|
| @@ -135,7 +141,7 @@ void ExternalPopupMenu::didAcceptIndex(int index)
|
| // derefed. This ensures it does not get deleted while we are running this
|
| // method.
|
| int popupMenuItemIndex = toPopupMenuItemIndex(index, *m_popupMenuClient);
|
| - RefPtr<ExternalPopupMenu> guard(this);
|
| + RefPtrWillBeRawPtr<ExternalPopupMenu> guard(this);
|
|
|
| if (m_popupMenuClient) {
|
| m_popupMenuClient->popupDidHide();
|
| @@ -154,7 +160,7 @@ void ExternalPopupMenu::didAcceptIndices(const WebVector<int>& indices)
|
| // Calling methods on the PopupMenuClient might lead to this object being
|
| // derefed. This ensures it does not get deleted while we are running this
|
| // method.
|
| - RefPtr<ExternalPopupMenu> protect(this);
|
| + RefPtrWillBeRawPtr<ExternalPopupMenu> protect(this);
|
|
|
| if (!indices.size())
|
| m_popupMenuClient->valueChanged(static_cast<unsigned>(-1), true);
|
| @@ -174,7 +180,7 @@ void ExternalPopupMenu::didAcceptIndices(const WebVector<int>& indices)
|
| void ExternalPopupMenu::didCancel()
|
| {
|
| // See comment in didAcceptIndex on why we need this.
|
| - RefPtr<ExternalPopupMenu> guard(this);
|
| + RefPtrWillBeRawPtr<ExternalPopupMenu> guard(this);
|
|
|
| if (m_popupMenuClient)
|
| m_popupMenuClient->popupDidHide();
|
|
|