Index: Source/core/page/DOMWindowPagePopup.cpp |
diff --git a/Source/core/page/DOMWindowPagePopup.cpp b/Source/core/page/DOMWindowPagePopup.cpp |
index beea8d9c248fcbc94252aca9a8567fc3b3348a04..4c76925765402ff87756a675245b622359cf33dc 100644 |
--- a/Source/core/page/DOMWindowPagePopup.cpp |
+++ b/Source/core/page/DOMWindowPagePopup.cpp |
@@ -42,10 +42,7 @@ DOMWindowPagePopup::DOMWindowPagePopup(PagePopupClient* popupClient) |
ASSERT(popupClient); |
} |
-DOMWindowPagePopup::~DOMWindowPagePopup() |
-{ |
- m_controller->clearPagePopupClient(); |
-} |
+DEFINE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(DOMWindowPagePopup); |
const char* DOMWindowPagePopup::supplementName() |
{ |
@@ -62,12 +59,18 @@ PagePopupController* DOMWindowPagePopup::pagePopupController(DOMWindow& window) |
void DOMWindowPagePopup::install(DOMWindow& window, PagePopupClient* popupClient) |
{ |
ASSERT(popupClient); |
- provideTo(window, supplementName(), adoptPtr(new DOMWindowPagePopup(popupClient))); |
+ provideTo(window, supplementName(), adoptPtrWillBeNoop(new DOMWindowPagePopup(popupClient))); |
} |
void DOMWindowPagePopup::uninstall(DOMWindow& window) |
{ |
+ pagePopupController(window)->clearPagePopupClient(); |
window.removeSupplement(supplementName()); |
} |
+void DOMWindowPagePopup::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_controller); |
+} |
+ |
} |