| Index: third_party/WebKit/Source/core/page/PagePopupSupplement.cpp
|
| diff --git a/third_party/WebKit/Source/core/page/PagePopupSupplement.cpp b/third_party/WebKit/Source/core/page/PagePopupSupplement.cpp
|
| index 7e4a6c7088e022703f0a791e3e583c9005cfc15c..23e1de63a9604293d6a05f4a8c21f046de54a5a2 100644
|
| --- a/third_party/WebKit/Source/core/page/PagePopupSupplement.cpp
|
| +++ b/third_party/WebKit/Source/core/page/PagePopupSupplement.cpp
|
| @@ -34,22 +34,31 @@
|
|
|
| namespace blink {
|
|
|
| -PagePopupSupplement::PagePopupSupplement(PagePopup& popup,
|
| +PagePopupSupplement::PagePopupSupplement(LocalFrame& frame,
|
| + PagePopup& popup,
|
| PagePopupClient* popupClient)
|
| - : m_controller(PagePopupController::create(popup, popupClient)) {
|
| - ASSERT(popupClient);
|
| + : Supplement<LocalFrame>(frame),
|
| + m_controller(PagePopupController::create(popup, popupClient)) {
|
| + DCHECK(popupClient);
|
| }
|
|
|
| const char* PagePopupSupplement::supplementName() {
|
| return "PagePopupSupplement";
|
| }
|
|
|
| -PagePopupController* PagePopupSupplement::pagePopupController(
|
| - LocalFrame& frame) {
|
| - PagePopupSupplement* supplement =
|
| - static_cast<PagePopupSupplement*>(from(&frame, supplementName()));
|
| - ASSERT(supplement);
|
| - return supplement->m_controller.get();
|
| +PagePopupSupplement& PagePopupSupplement::from(LocalFrame& frame) {
|
| + PagePopupSupplement* supplement = static_cast<PagePopupSupplement*>(
|
| + Supplement<LocalFrame>::from(&frame, supplementName()));
|
| + DCHECK(supplement);
|
| + return *supplement;
|
| +}
|
| +
|
| +PagePopupController* PagePopupSupplement::pagePopupController() const {
|
| + return m_controller;
|
| +}
|
| +
|
| +void PagePopupSupplement::dispose() {
|
| + m_controller->clearPagePopupClient();
|
| }
|
|
|
| void PagePopupSupplement::install(LocalFrame& frame,
|
| @@ -57,11 +66,11 @@ void PagePopupSupplement::install(LocalFrame& frame,
|
| PagePopupClient* popupClient) {
|
| ASSERT(popupClient);
|
| provideTo(frame, supplementName(),
|
| - new PagePopupSupplement(popup, popupClient));
|
| + new PagePopupSupplement(frame, popup, popupClient));
|
| }
|
|
|
| void PagePopupSupplement::uninstall(LocalFrame& frame) {
|
| - pagePopupController(frame)->clearPagePopupClient();
|
| + PagePopupSupplement::from(frame).dispose();
|
| frame.removeSupplement(supplementName());
|
| }
|
|
|
|
|