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 |