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 6131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6142 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalWidth().toInt()); | 6142 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalWidth().toInt()); |
6143 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalHeight().toInt()); | 6143 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalHeight().toInt()); |
6144 | 6144 |
6145 // Verify it's updated after a device rotation. | 6145 // Verify it's updated after a device rotation. |
6146 client.m_screenInfo.rect.width = viewportHeight; | 6146 client.m_screenInfo.rect.width = viewportHeight; |
6147 client.m_screenInfo.rect.height = viewportWidth; | 6147 client.m_screenInfo.rect.height = viewportWidth; |
6148 webViewImpl->resize(WebSize(viewportHeight, viewportWidth)); | 6148 webViewImpl->resize(WebSize(viewportHeight, viewportWidth)); |
6149 webViewImpl->layout(); | 6149 webViewImpl->layout(); |
6150 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalWidth().toInt()); | 6150 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalWidth().toInt()); |
6151 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalHeight().toInt()); | 6151 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalHeight().toInt()); |
6152 | |
6153 } | 6152 } |
6154 | 6153 |
6155 TEST_F(WebFrameTest, FullscreenLayerNonScrollable) | 6154 TEST_F(WebFrameTest, FullscreenLayerNonScrollable) |
6156 { | 6155 { |
6157 FakeCompositingWebViewClient client; | 6156 FakeCompositingWebViewClient client; |
6158 registerMockedHttpURLLoad("fullscreen_div.html"); | 6157 registerMockedHttpURLLoad("fullscreen_div.html"); |
6159 FrameTestHelpers::WebViewHelper webViewHelper; | 6158 FrameTestHelpers::WebViewHelper webViewHelper; |
6160 int viewportWidth = 640; | 6159 int viewportWidth = 640; |
6161 int viewportHeight = 480; | 6160 int viewportHeight = 480; |
6162 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, configurePinchVirtualViewport); | 6161 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, configurePinchVirtualViewport); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6203 webViewImpl->layout(); | 6202 webViewImpl->layout(); |
6204 | 6203 |
6205 // Verify that the main frame is still scrollable. | 6204 // Verify that the main frame is still scrollable. |
6206 ASSERT_TRUE(Fullscreen::isFullScreen(*document)); | 6205 ASSERT_TRUE(Fullscreen::isFullScreen(*document)); |
6207 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); | 6206 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); |
6208 ASSERT_TRUE(webScrollLayer->scrollable()); | 6207 ASSERT_TRUE(webScrollLayer->scrollable()); |
6209 ASSERT_TRUE(webScrollLayer->userScrollableHorizontal()); | 6208 ASSERT_TRUE(webScrollLayer->userScrollableHorizontal()); |
6210 ASSERT_TRUE(webScrollLayer->userScrollableVertical()); | 6209 ASSERT_TRUE(webScrollLayer->userScrollableVertical()); |
6211 } | 6210 } |
6212 | 6211 |
| 6212 TEST_F(WebFrameTest, FullscreenSubframe) |
| 6213 { |
| 6214 FakeCompositingWebViewClient client; |
| 6215 registerMockedHttpURLLoad("fullscreen_iframe.html"); |
| 6216 registerMockedHttpURLLoad("fullscreen_div.html"); |
| 6217 FrameTestHelpers::WebViewHelper webViewHelper; |
| 6218 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_iframe.html", true, 0, &client, configurePinchVirtualViewport); |
| 6219 int viewportWidth = 640; |
| 6220 int viewportHeight = 480; |
| 6221 client.m_screenInfo.rect.width = viewportWidth; |
| 6222 client.m_screenInfo.rect.height = viewportHeight; |
| 6223 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); |
| 6224 webViewImpl->layout(); |
| 6225 |
| 6226 Document* document = toWebLocalFrameImpl(webViewHelper.webView()->mainFrame(
)->firstChild())->frame()->document(); |
| 6227 UserGestureIndicator gesture(DefinitelyProcessingUserGesture); |
| 6228 Element* divFullscreen = document->getElementById("div1"); |
| 6229 Fullscreen::from(*document).requestFullscreen(*divFullscreen, Fullscreen::Pr
efixedRequest); |
| 6230 webViewImpl->didEnterFullScreen(); |
| 6231 webViewImpl->layout(); |
| 6232 |
| 6233 // Verify that the element is sized to the viewport. |
| 6234 RenderFullScreen* fullscreenRenderer = Fullscreen::from(*document).fullScree
nRenderer(); |
| 6235 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalWidth().toInt()); |
| 6236 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalHeight().toInt()); |
| 6237 |
| 6238 // Verify it's updated after a device rotation. |
| 6239 client.m_screenInfo.rect.width = viewportHeight; |
| 6240 client.m_screenInfo.rect.height = viewportWidth; |
| 6241 webViewImpl->resize(WebSize(viewportHeight, viewportWidth)); |
| 6242 webViewImpl->layout(); |
| 6243 EXPECT_EQ(viewportHeight, fullscreenRenderer->logicalWidth().toInt()); |
| 6244 EXPECT_EQ(viewportWidth, fullscreenRenderer->logicalHeight().toInt()); |
| 6245 } |
| 6246 |
6213 TEST_F(WebFrameTest, RenderBlockPercentHeightDescendants) | 6247 TEST_F(WebFrameTest, RenderBlockPercentHeightDescendants) |
6214 { | 6248 { |
6215 registerMockedHttpURLLoad("percent-height-descendants.html"); | 6249 registerMockedHttpURLLoad("percent-height-descendants.html"); |
6216 FrameTestHelpers::WebViewHelper webViewHelper; | 6250 FrameTestHelpers::WebViewHelper webViewHelper; |
6217 webViewHelper.initializeAndLoad(m_baseURL + "percent-height-descendants.html
"); | 6251 webViewHelper.initializeAndLoad(m_baseURL + "percent-height-descendants.html
"); |
6218 | 6252 |
6219 WebView* webView = webViewHelper.webView(); | 6253 WebView* webView = webViewHelper.webView(); |
6220 webView->resize(WebSize(800, 800)); | 6254 webView->resize(WebSize(800, 800)); |
6221 webView->layout(); | 6255 webView->layout(); |
6222 | 6256 |
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6763 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6797 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6764 | 6798 |
6765 // Neither should a page reload. | 6799 // Neither should a page reload. |
6766 localFrame->reload(); | 6800 localFrame->reload(); |
6767 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); | 6801 EXPECT_EQ(4u, frameClient.provisionalLoadCount()); |
6768 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); | 6802 EXPECT_FALSE(frameClient.wasLastProvisionalLoadATransition()); |
6769 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); | 6803 EXPECT_EQ(1u, frameClient.navigationalDataReceivedCount()); |
6770 } | 6804 } |
6771 | 6805 |
6772 } // namespace | 6806 } // namespace |
OLD | NEW |