| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions are | 5  * modification, are permitted provided that the following conditions are | 
| 6  * met: | 6  * met: | 
| 7  * | 7  * | 
| 8  *     * Redistributions of source code must retain the above copyright | 8  *     * Redistributions of source code must retain the above copyright | 
| 9  * notice, this list of conditions and the following disclaimer. | 9  * notice, this list of conditions and the following disclaimer. | 
| 10  *     * Redistributions in binary form must reproduce the above | 10  *     * Redistributions in binary form must reproduce the above | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 49 #include "core/page/FrameView.h" | 49 #include "core/page/FrameView.h" | 
| 50 #include "core/page/Page.h" | 50 #include "core/page/Page.h" | 
| 51 #include "core/page/PagePopupClient.h" | 51 #include "core/page/PagePopupClient.h" | 
| 52 #include "core/page/Settings.h" | 52 #include "core/page/Settings.h" | 
| 53 | 53 | 
| 54 using namespace WebCore; | 54 using namespace WebCore; | 
| 55 using namespace std; | 55 using namespace std; | 
| 56 | 56 | 
| 57 namespace WebKit { | 57 namespace WebKit { | 
| 58 | 58 | 
| 59 #if ENABLE(PAGE_POPUP) |  | 
| 60 |  | 
| 61 class PagePopupChromeClient : public EmptyChromeClient { | 59 class PagePopupChromeClient : public EmptyChromeClient { | 
| 62     WTF_MAKE_NONCOPYABLE(PagePopupChromeClient); | 60     WTF_MAKE_NONCOPYABLE(PagePopupChromeClient); | 
| 63     WTF_MAKE_FAST_ALLOCATED; | 61     WTF_MAKE_FAST_ALLOCATED; | 
| 64 | 62 | 
| 65 public: | 63 public: | 
| 66     explicit PagePopupChromeClient(WebPagePopupImpl* popup) | 64     explicit PagePopupChromeClient(WebPagePopupImpl* popup) | 
| 67         : m_popup(popup) | 65         : m_popup(popup) | 
| 68     { | 66     { | 
| 69         ASSERT(m_popup->widgetClient()); | 67         ASSERT(m_popup->widgetClient()); | 
| 70     } | 68     } | 
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 334 | 332 | 
| 335     // m_widgetClient might be 0 because this widget might be already closed. | 333     // m_widgetClient might be 0 because this widget might be already closed. | 
| 336     if (m_widgetClient) { | 334     if (m_widgetClient) { | 
| 337         // closeWidgetSoon() will call this->close() later. | 335         // closeWidgetSoon() will call this->close() later. | 
| 338         m_widgetClient->closeWidgetSoon(); | 336         m_widgetClient->closeWidgetSoon(); | 
| 339     } | 337     } | 
| 340 | 338 | 
| 341     m_popupClient->didClosePopup(); | 339     m_popupClient->didClosePopup(); | 
| 342 } | 340 } | 
| 343 | 341 | 
| 344 #endif // ENABLE(PAGE_POPUP) |  | 
| 345 |  | 
| 346 // WebPagePopup ---------------------------------------------------------------- | 342 // WebPagePopup ---------------------------------------------------------------- | 
| 347 | 343 | 
| 348 WebPagePopup* WebPagePopup::create(WebWidgetClient* client) | 344 WebPagePopup* WebPagePopup::create(WebWidgetClient* client) | 
| 349 { | 345 { | 
| 350 #if ENABLE(PAGE_POPUP) |  | 
| 351     if (!client) | 346     if (!client) | 
| 352         CRASH(); | 347         CRASH(); | 
| 353     // A WebPagePopupImpl instance usually has two references. | 348     // A WebPagePopupImpl instance usually has two references. | 
| 354     //  - One owned by the instance itself. It represents the visible widget. | 349     //  - One owned by the instance itself. It represents the visible widget. | 
| 355     //  - One owned by a WebViewImpl. It's released when the WebViewImpl ask the | 350     //  - One owned by a WebViewImpl. It's released when the WebViewImpl ask the | 
| 356     //    WebPagePopupImpl to close. | 351     //    WebPagePopupImpl to close. | 
| 357     // We need them because the closing operation is asynchronous and the widget | 352     // We need them because the closing operation is asynchronous and the widget | 
| 358     // can be closed while the WebViewImpl is unaware of it. | 353     // can be closed while the WebViewImpl is unaware of it. | 
| 359     return adoptRef(new WebPagePopupImpl(client)).leakRef(); | 354     return adoptRef(new WebPagePopupImpl(client)).leakRef(); | 
| 360 #else |  | 
| 361     UNUSED_PARAM(client); |  | 
| 362     return 0; |  | 
| 363 #endif |  | 
| 364 } | 355 } | 
| 365 | 356 | 
| 366 } // namespace WebKit | 357 } // namespace WebKit | 
| OLD | NEW | 
|---|