Index: Source/core/page/DOMWindowPagePopup.cpp |
diff --git a/Source/core/page/DOMWindowPagePopup.cpp b/Source/core/page/DOMWindowPagePopup.cpp |
index beea8d9c248fcbc94252aca9a8567fc3b3348a04..e81eaeb1e0bd64cdd47235963a008462edbb49c9 100644 |
--- a/Source/core/page/DOMWindowPagePopup.cpp |
+++ b/Source/core/page/DOMWindowPagePopup.cpp |
@@ -44,7 +44,6 @@ DOMWindowPagePopup::DOMWindowPagePopup(PagePopupClient* popupClient) |
DOMWindowPagePopup::~DOMWindowPagePopup() |
{ |
- m_controller->clearPagePopupClient(); |
} |
const char* DOMWindowPagePopup::supplementName() |
@@ -62,12 +61,20 @@ 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) |
{ |
+ DOMWindowPagePopup* supplement = static_cast<DOMWindowPagePopup*>(from(&window, supplementName())); |
+ if (supplement) |
haraken
2014/03/27 00:59:03
Is it possible that supplement is 0 ?
If no, I'd
sof
2014/03/27 07:25:51
Much better that way; done.
|
+ supplement->m_controller->clearPagePopupClient(); |
window.removeSupplement(supplementName()); |
} |
+void DOMWindowPagePopup::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_controller); |
+} |
+ |
} |