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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 #include "WebSecurityOrigin.h" | 53 #include "WebSecurityOrigin.h" |
54 #include "WebSecurityPolicy.h" | 54 #include "WebSecurityPolicy.h" |
55 #include "WebSettings.h" | 55 #include "WebSettings.h" |
56 #include "WebSpellCheckClient.h" | 56 #include "WebSpellCheckClient.h" |
57 #include "WebTextCheckingCompletion.h" | 57 #include "WebTextCheckingCompletion.h" |
58 #include "WebTextCheckingResult.h" | 58 #include "WebTextCheckingResult.h" |
59 #include "WebViewClient.h" | 59 #include "WebViewClient.h" |
60 #include "WebViewImpl.h" | 60 #include "WebViewImpl.h" |
61 #include "core/clipboard/Clipboard.h" | 61 #include "core/clipboard/Clipboard.h" |
62 #include "core/dom/DocumentMarkerController.h" | 62 #include "core/dom/DocumentMarkerController.h" |
| 63 #include "core/dom/FullscreenElementStack.h" |
63 #include "core/dom/Range.h" | 64 #include "core/dom/Range.h" |
64 #include "core/editing/Editor.h" | 65 #include "core/editing/Editor.h" |
65 #include "core/editing/FrameSelection.h" | 66 #include "core/editing/FrameSelection.h" |
66 #include "core/editing/SpellChecker.h" | 67 #include "core/editing/SpellChecker.h" |
67 #include "core/editing/VisiblePosition.h" | 68 #include "core/editing/VisiblePosition.h" |
68 #include "core/events/MouseEvent.h" | 69 #include "core/events/MouseEvent.h" |
69 #include "core/frame/FrameView.h" | 70 #include "core/frame/FrameView.h" |
70 #include "core/frame/LocalFrame.h" | 71 #include "core/frame/LocalFrame.h" |
71 #include "core/frame/Settings.h" | 72 #include "core/frame/Settings.h" |
72 #include "core/html/HTMLFormElement.h" | 73 #include "core/html/HTMLFormElement.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 { | 121 { |
121 m_layerTreeView = adoptPtr(Platform::current()->unitTestSupport()->creat
eLayerTreeViewForTesting(WebUnitTestSupport::TestViewTypeUnitTest)); | 122 m_layerTreeView = adoptPtr(Platform::current()->unitTestSupport()->creat
eLayerTreeViewForTesting(WebUnitTestSupport::TestViewTypeUnitTest)); |
122 ASSERT(m_layerTreeView); | 123 ASSERT(m_layerTreeView); |
123 } | 124 } |
124 | 125 |
125 virtual WebLayerTreeView* layerTreeView() OVERRIDE | 126 virtual WebLayerTreeView* layerTreeView() OVERRIDE |
126 { | 127 { |
127 return m_layerTreeView.get(); | 128 return m_layerTreeView.get(); |
128 } | 129 } |
129 | 130 |
| 131 virtual bool enterFullScreen() OVERRIDE { return true; } |
| 132 |
130 private: | 133 private: |
131 OwnPtr<WebLayerTreeView> m_layerTreeView; | 134 OwnPtr<WebLayerTreeView> m_layerTreeView; |
132 }; | 135 }; |
133 | 136 |
134 class WebFrameTest : public testing::Test { | 137 class WebFrameTest : public testing::Test { |
135 protected: | 138 protected: |
136 WebFrameTest() | 139 WebFrameTest() |
137 : m_baseURL("http://www.test.com/") | 140 : m_baseURL("http://www.test.com/") |
138 , m_chromeURL("chrome://") | 141 , m_chromeURL("chrome://") |
139 { | 142 { |
(...skipping 5096 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5236 FrameTestHelpers::WebViewHelper webViewHelper; | 5239 FrameTestHelpers::WebViewHelper webViewHelper; |
5237 webViewHelper.initializeAndLoad("about:blank"); | 5240 webViewHelper.initializeAndLoad("about:blank"); |
5238 | 5241 |
5239 WebCore::FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()
->frameView(); | 5242 WebCore::FrameView* frameView = webViewHelper.webViewImpl()->mainFrameImpl()
->frameView(); |
5240 frameView->setFrameRect(WebCore::IntRect(0, 0, 200, 200)); | 5243 frameView->setFrameRect(WebCore::IntRect(0, 0, 200, 200)); |
5241 EXPECT_EQ_RECT(WebCore::IntRect(0, 0, 200, 200), frameView->frameRect()); | 5244 EXPECT_EQ_RECT(WebCore::IntRect(0, 0, 200, 200), frameView->frameRect()); |
5242 frameView->setFrameRect(WebCore::IntRect(100, 100, 200, 200)); | 5245 frameView->setFrameRect(WebCore::IntRect(100, 100, 200, 200)); |
5243 EXPECT_EQ_RECT(WebCore::IntRect(100, 100, 200, 200), frameView->frameRect())
; | 5246 EXPECT_EQ_RECT(WebCore::IntRect(100, 100, 200, 200), frameView->frameRect())
; |
5244 } | 5247 } |
5245 | 5248 |
| 5249 TEST_F(WebFrameTest, FullscreenLayerNonScrollable) |
| 5250 { |
| 5251 FakeCompositingWebViewClient client; |
| 5252 registerMockedHttpURLLoad("fullscreen_div.html"); |
| 5253 FrameTestHelpers::WebViewHelper webViewHelper; |
| 5254 int viewportWidth = 640; |
| 5255 int viewportHeight = 480; |
| 5256 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, &configueCompositingWebView); |
| 5257 webViewImpl->settings()->setFullScreenEnabled(true); |
| 5258 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); |
| 5259 webViewImpl->layout(); |
| 5260 |
| 5261 Document* document = toWebFrameImpl(webViewImpl->mainFrame())->frame()->docu
ment(); |
| 5262 WebCore::UserGestureIndicator gesture(WebCore::DefinitelyProcessingUserGestu
re); |
| 5263 Element* divFullscreen = document->getElementById("div1"); |
| 5264 divFullscreen->webkitRequestFullscreen(); |
| 5265 webViewImpl->willEnterFullScreen(); |
| 5266 webViewImpl->didEnterFullScreen(); |
| 5267 webViewImpl->layout(); |
| 5268 |
| 5269 // Verify that the main frame is not scrollable. |
| 5270 ASSERT_TRUE(WebCore::FullscreenElementStack::isFullScreen(*document)); |
| 5271 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); |
| 5272 ASSERT_FALSE(webScrollLayer->scrollable()); |
| 5273 |
| 5274 // Verify that the main frame is scrollable upon exiting fullscreen. |
| 5275 webViewImpl->willExitFullScreen(); |
| 5276 webViewImpl->didExitFullScreen(); |
| 5277 webViewImpl->layout(); |
| 5278 ASSERT_FALSE(WebCore::FullscreenElementStack::isFullScreen(*document)); |
| 5279 webScrollLayer = webViewImpl->compositor()->scrollLayer()->platformLayer(); |
| 5280 ASSERT_TRUE(webScrollLayer->scrollable()); |
| 5281 } |
| 5282 |
5246 } // namespace | 5283 } // namespace |
OLD | NEW |