| 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 |