Chromium Code Reviews| 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); |
| +} |
| + |
| } |