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 12 matching lines...) Expand all Loading... |
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "core/loader/FrameLoadRequest.h" | 31 #include "core/loader/FrameLoadRequest.h" |
32 #include "core/page/Page.h" | 32 #include "core/page/Page.h" |
| 33 #include "core/page/ScopedPageSuspender.h" |
33 #include "public/platform/WebInputEvent.h" | 34 #include "public/platform/WebInputEvent.h" |
34 #include "public/web/WebFrameClient.h" | 35 #include "public/web/WebFrameClient.h" |
35 #include "public/web/WebLocalFrame.h" | 36 #include "public/web/WebLocalFrame.h" |
36 #include "public/web/WebView.h" | 37 #include "public/web/WebView.h" |
37 #include "public/web/WebViewClient.h" | 38 #include "public/web/WebViewClient.h" |
38 #include "testing/gtest/include/gtest/gtest.h" | 39 #include "testing/gtest/include/gtest/gtest.h" |
39 #include "web/WebLocalFrameImpl.h" | 40 #include "web/WebLocalFrameImpl.h" |
40 #include "web/WebViewImpl.h" | 41 #include "web/WebViewImpl.h" |
41 #include "web/tests/FrameTestHelpers.h" | 42 #include "web/tests/FrameTestHelpers.h" |
42 | 43 |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 void TearDown() override { m_webView->close(); } | 262 void TearDown() override { m_webView->close(); } |
262 | 263 |
263 ViewCreatingClient m_webViewClient; | 264 ViewCreatingClient m_webViewClient; |
264 WebViewImpl* m_webView; | 265 WebViewImpl* m_webView; |
265 WebLocalFrame* m_mainFrame; | 266 WebLocalFrame* m_mainFrame; |
266 FrameTestHelpers::TestWebFrameClient m_webFrameClient; | 267 FrameTestHelpers::TestWebFrameClient m_webFrameClient; |
267 Persistent<ChromeClientImpl> m_chromeClientImpl; | 268 Persistent<ChromeClientImpl> m_chromeClientImpl; |
268 }; | 269 }; |
269 | 270 |
270 TEST_F(CreateWindowTest, CreateWindowFromSuspendedPage) { | 271 TEST_F(CreateWindowTest, CreateWindowFromSuspendedPage) { |
271 m_webView->page()->setSuspended(true); | 272 ScopedPageSuspender suspender; |
272 LocalFrame* frame = toWebLocalFrameImpl(m_mainFrame)->frame(); | 273 LocalFrame* frame = toWebLocalFrameImpl(m_mainFrame)->frame(); |
273 FrameLoadRequest request(frame->document()); | 274 FrameLoadRequest request(frame->document()); |
274 WindowFeatures features; | 275 WindowFeatures features; |
275 EXPECT_EQ(nullptr, | 276 EXPECT_EQ(nullptr, |
276 m_chromeClientImpl->createWindow(frame, request, features, | 277 m_chromeClientImpl->createWindow(frame, request, features, |
277 NavigationPolicyNewForegroundTab)); | 278 NavigationPolicyNewForegroundTab)); |
278 m_webView->page()->setSuspended(false); | |
279 } | 279 } |
280 | 280 |
281 } // namespace blink | 281 } // namespace blink |
OLD | NEW |