| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 273 Element* element = frame->frame()->document()->getElementById(id); | 273 Element* element = frame->frame()->document()->getElementById(id); |
| 274 DCHECK(element); | 274 DCHECK(element); |
| 275 element->remove(); | 275 element->remove(); |
| 276 } | 276 } |
| 277 | 277 |
| 278 std::string m_baseURL; | 278 std::string m_baseURL; |
| 279 std::string m_notBaseURL; | 279 std::string m_notBaseURL; |
| 280 std::string m_chromeURL; | 280 std::string m_chromeURL; |
| 281 }; | 281 }; |
| 282 | 282 |
| 283 enum ParameterizedWebFrameTestConfig { | |
| 284 Default, | |
| 285 RootLayerScrolls | |
| 286 }; | |
| 287 | |
| 288 class ParameterizedWebFrameTest | 283 class ParameterizedWebFrameTest |
| 289 : public WebFrameTest | 284 : public WebFrameTest |
| 290 , public ::testing::WithParamInterface<ParameterizedWebFrameTestConfig> | 285 , public ::testing::WithParamInterface<FrameTestHelpers::SettingOverrideFunc
tion> |
| 291 , public FrameTestHelpers::SettingOverrider { | 286 , public FrameTestHelpers::SettingOverrider { |
| 292 public: | 287 public: |
| 293 | 288 |
| 294 void overrideSettings(WebSettings* settings) | 289 void overrideSettings(WebSettings *settings) override |
| 295 { | 290 { |
| 296 switch (GetParam()) { | 291 GetParam()(settings); |
| 297 case Default: | |
| 298 break; | |
| 299 case RootLayerScrolls: | |
| 300 settings->setRootLayerScrolls(true); | |
| 301 break; | |
| 302 } | |
| 303 } | 292 } |
| 304 }; | 293 }; |
| 305 | 294 |
| 306 // Friendly string for gtest failure messages. | |
| 307 void PrintTo(ParameterizedWebFrameTestConfig config, ::std::ostream* os) | |
| 308 { | |
| 309 switch (config) { | |
| 310 case Default: | |
| 311 *os << "Default"; | |
| 312 break; | |
| 313 case RootLayerScrolls: | |
| 314 *os << "RootLayerScrolls"; | |
| 315 break; | |
| 316 } | |
| 317 } | |
| 318 | |
| 319 INSTANTIATE_TEST_CASE_P(All, ParameterizedWebFrameTest, ::testing::Values( | 295 INSTANTIATE_TEST_CASE_P(All, ParameterizedWebFrameTest, ::testing::Values( |
| 320 ParameterizedWebFrameTestConfig::Default, | 296 FrameTestHelpers::DefaultSettingOverride, |
| 321 ParameterizedWebFrameTestConfig::RootLayerScrolls)); | 297 FrameTestHelpers::RootLayerScrollsSettingOverride)); |
| 322 | 298 |
| 323 TEST_P(ParameterizedWebFrameTest, ContentText) | 299 TEST_P(ParameterizedWebFrameTest, ContentText) |
| 324 { | 300 { |
| 325 registerMockedHttpURLLoad("iframes_test.html"); | 301 registerMockedHttpURLLoad("iframes_test.html"); |
| 326 registerMockedHttpURLLoad("visible_iframe.html"); | 302 registerMockedHttpURLLoad("visible_iframe.html"); |
| 327 registerMockedHttpURLLoad("invisible_iframe.html"); | 303 registerMockedHttpURLLoad("invisible_iframe.html"); |
| 328 registerMockedHttpURLLoad("zero_sized_iframe.html"); | 304 registerMockedHttpURLLoad("zero_sized_iframe.html"); |
| 329 | 305 |
| 330 FrameTestHelpers::WebViewHelper webViewHelper(this); | 306 FrameTestHelpers::WebViewHelper webViewHelper(this); |
| 331 webViewHelper.initializeAndLoad(m_baseURL + "iframes_test.html"); | 307 webViewHelper.initializeAndLoad(m_baseURL + "iframes_test.html"); |
| (...skipping 1987 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2319 EXPECT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); | 2295 EXPECT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); |
| 2320 EXPECT_EQ(expectedScrollOffset, webViewHelper.webViewImpl()->mainFra
me()->scrollOffset()); | 2296 EXPECT_EQ(expectedScrollOffset, webViewHelper.webViewImpl()->mainFra
me()->scrollOffset()); |
| 2321 webViewHelper.resize(WebSize(viewportSize.width, viewportSize.height
* 0.8f)); | 2297 webViewHelper.resize(WebSize(viewportSize.width, viewportSize.height
* 0.8f)); |
| 2322 EXPECT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); | 2298 EXPECT_EQ(initialPageScaleFactor, webViewHelper.webViewImpl()->pageS
caleFactor()); |
| 2323 EXPECT_EQ(expectedScrollOffset, webViewHelper.webViewImpl()->mainFra
me()->scrollOffset()); | 2299 EXPECT_EQ(expectedScrollOffset, webViewHelper.webViewImpl()->mainFra
me()->scrollOffset()); |
| 2324 } | 2300 } |
| 2325 } | 2301 } |
| 2326 }; | 2302 }; |
| 2327 | 2303 |
| 2328 INSTANTIATE_TEST_CASE_P(All, WebFrameResizeTest, ::testing::Values( | 2304 INSTANTIATE_TEST_CASE_P(All, WebFrameResizeTest, ::testing::Values( |
| 2329 ParameterizedWebFrameTestConfig::Default, | 2305 FrameTestHelpers::DefaultSettingOverride, |
| 2330 ParameterizedWebFrameTestConfig::RootLayerScrolls)); | 2306 FrameTestHelpers::RootLayerScrollsSettingOverride)); |
| 2331 | 2307 |
| 2332 TEST_P(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForWidthEqualsDevice
Width) | 2308 TEST_P(WebFrameResizeTest, ResizeYieldsCorrectScrollAndScaleForWidthEqualsDevice
Width) |
| 2333 { | 2309 { |
| 2334 // With width=device-width, pageScaleFactor is preserved across resizes as | 2310 // With width=device-width, pageScaleFactor is preserved across resizes as |
| 2335 // long as the content adjusts according to the device-width. | 2311 // long as the content adjusts according to the device-width. |
| 2336 const char* url = "resize_scroll_mobile.html"; | 2312 const char* url = "resize_scroll_mobile.html"; |
| 2337 const float initialPageScaleFactor = 1; | 2313 const float initialPageScaleFactor = 1; |
| 2338 const WebSize scrollOffset(0, 50); | 2314 const WebSize scrollOffset(0, 50); |
| 2339 const WebSize viewportSize(120, 160); | 2315 const WebSize viewportSize(120, 160); |
| 2340 const bool shouldScaleRelativeToViewportWidth = true; | 2316 const bool shouldScaleRelativeToViewportWidth = true; |
| (...skipping 5673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8014 runPendingTasks(); | 7990 runPendingTasks(); |
| 8015 EXPECT_TRUE(callbackHelper.didComplete()); | 7991 EXPECT_TRUE(callbackHelper.didComplete()); |
| 8016 return callbackHelper.stringValue(); | 7992 return callbackHelper.stringValue(); |
| 8017 } | 7993 } |
| 8018 | 7994 |
| 8019 FixedLayoutTestWebViewClient m_client; | 7995 FixedLayoutTestWebViewClient m_client; |
| 8020 FrameTestHelpers::WebViewHelper m_webViewHelper; | 7996 FrameTestHelpers::WebViewHelper m_webViewHelper; |
| 8021 }; | 7997 }; |
| 8022 | 7998 |
| 8023 INSTANTIATE_TEST_CASE_P(All, DeviceEmulationTest, ::testing::Values( | 7999 INSTANTIATE_TEST_CASE_P(All, DeviceEmulationTest, ::testing::Values( |
| 8024 ParameterizedWebFrameTestConfig::Default, | 8000 FrameTestHelpers::DefaultSettingOverride, |
| 8025 ParameterizedWebFrameTestConfig::RootLayerScrolls)); | 8001 FrameTestHelpers::RootLayerScrollsSettingOverride)); |
| 8026 | 8002 |
| 8027 TEST_P(DeviceEmulationTest, DeviceSizeInvalidatedOnResize) | 8003 TEST_P(DeviceEmulationTest, DeviceSizeInvalidatedOnResize) |
| 8028 { | 8004 { |
| 8029 WebDeviceEmulationParams params; | 8005 WebDeviceEmulationParams params; |
| 8030 params.screenPosition = WebDeviceEmulationParams::Mobile; | 8006 params.screenPosition = WebDeviceEmulationParams::Mobile; |
| 8031 m_webViewHelper.webView()->enableDeviceEmulation(params); | 8007 m_webViewHelper.webView()->enableDeviceEmulation(params); |
| 8032 | 8008 |
| 8033 testResize(WebSize(700, 500), "300x300"); | 8009 testResize(WebSize(700, 500), "300x300"); |
| 8034 testResize(WebSize(710, 500), "400x300"); | 8010 testResize(WebSize(710, 500), "400x300"); |
| 8035 testResize(WebSize(690, 500), "200x300"); | 8011 testResize(WebSize(690, 500), "200x300"); |
| (...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8813 request.setRequestorOrigin(WebSecurityOrigin::createUnique()); | 8789 request.setRequestorOrigin(WebSecurityOrigin::createUnique()); |
| 8814 helper.webViewImpl()->mainFrame()->toWebLocalFrame()->loadRequest(request); | 8790 helper.webViewImpl()->mainFrame()->toWebLocalFrame()->loadRequest(request); |
| 8815 | 8791 |
| 8816 // Normally, the result of the JS url replaces the existing contents on the | 8792 // Normally, the result of the JS url replaces the existing contents on the |
| 8817 // Document. However, if the JS triggers a navigation, the contents should | 8793 // Document. However, if the JS triggers a navigation, the contents should |
| 8818 // not be replaced. | 8794 // not be replaced. |
| 8819 EXPECT_EQ("", toLocalFrame(helper.webViewImpl()->page()->mainFrame())->docum
ent()->documentElement()->innerText()); | 8795 EXPECT_EQ("", toLocalFrame(helper.webViewImpl()->page()->mainFrame())->docum
ent()->documentElement()->innerText()); |
| 8820 } | 8796 } |
| 8821 | 8797 |
| 8822 } // namespace blink | 8798 } // namespace blink |
| OLD | NEW |