OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/compiler_specific.h" | 5 #include "base/compiler_specific.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/content_settings/host_content_settings_map.h" | 7 #include "chrome/browser/content_settings/host_content_settings_map.h" |
8 #include "chrome/browser/profiles/profile.h" | 8 #include "chrome/browser/profiles/profile.h" |
9 #include "chrome/browser/ui/browser.h" | 9 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/browser_commands.h" | 10 #include "chrome/browser/ui/browser_commands.h" |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
185 // but with the browser initiated in fullscreen mode first. | 185 // but with the browser initiated in fullscreen mode first. |
186 IN_PROC_BROWSER_TEST_F(FullscreenControllerBrowserTest, | 186 IN_PROC_BROWSER_TEST_F(FullscreenControllerBrowserTest, |
187 BrowserFullscreenMouseLockContentSettings) { | 187 BrowserFullscreenMouseLockContentSettings) { |
188 // Enter browser fullscreen first. | 188 // Enter browser fullscreen first. |
189 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); | 189 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
190 TestFullscreenMouseLockContentSettings(); | 190 TestFullscreenMouseLockContentSettings(); |
191 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false)); | 191 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false)); |
192 } | 192 } |
193 | 193 |
194 // Tests Fullscreen entered in Browser, then Tab mode, then exited via Browser. | 194 // Tests Fullscreen entered in Browser, then Tab mode, then exited via Browser. |
195 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, BrowserFullscreenExit) { | 195 #if defined(OS_MACOSX) |
| 196 // http://crbug.com/103912 |
| 197 #define MAYBE_BrowserFullscreenExit DISABLED_BrowserFullscreenExit |
| 198 #else |
| 199 #define MAYBE_BrowserFullscreenExit BrowserFullscreenExit |
| 200 #endif |
| 201 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, MAYBE_BrowserFullscreenExit) { |
196 // Enter browser fullscreen. | 202 // Enter browser fullscreen. |
197 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); | 203 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
198 | 204 |
199 // Enter tab fullscreen. | 205 // Enter tab fullscreen. |
200 AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), | 206 AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), |
201 content::PAGE_TRANSITION_TYPED); | 207 content::PAGE_TRANSITION_TYPED); |
202 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 208 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
203 | 209 |
204 // Exit browser fullscreen. | 210 // Exit browser fullscreen. |
205 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false)); | 211 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(false)); |
206 ASSERT_FALSE(browser()->window()->IsFullscreen()); | 212 ASSERT_FALSE(browser()->window()->IsFullscreen()); |
207 } | 213 } |
208 | 214 |
209 // Tests Browser Fullscreen remains active after Tab mode entered and exited. | 215 // Tests Browser Fullscreen remains active after Tab mode entered and exited. |
| 216 #if defined(OS_MACOSX) |
| 217 // http://crbug.com/103912 |
| 218 #define MAYBE_BrowserFullscreenAfterTabFSExit \ |
| 219 DISABLED_BrowserFullscreenAfterTabFSExit |
| 220 #else |
| 221 #define MAYBE_BrowserFullscreenAfterTabFSExit BrowserFullscreenAfterTabFSExit |
| 222 #endif |
210 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, | 223 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
211 BrowserFullscreenAfterTabFSExit) { | 224 MAYBE_BrowserFullscreenAfterTabFSExit) { |
212 // Enter browser fullscreen. | 225 // Enter browser fullscreen. |
213 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); | 226 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
214 | 227 |
215 // Enter and then exit tab fullscreen. | 228 // Enter and then exit tab fullscreen. |
216 AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), | 229 AddTabAtIndexAndWait(0, GURL(chrome::kAboutBlankURL), |
217 content::PAGE_TRANSITION_TYPED); | 230 content::PAGE_TRANSITION_TYPED); |
218 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 231 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
219 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); | 232 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); |
220 | 233 |
221 // Verify browser fullscreen still active. | 234 // Verify browser fullscreen still active. |
222 ASSERT_TRUE(IsFullscreenForBrowser()); | 235 ASSERT_TRUE(IsFullscreenForBrowser()); |
223 } | 236 } |
224 | 237 |
225 // Tests fullscreen entered without permision prompt for file:// urls. | 238 // Tests fullscreen entered without permision prompt for file:// urls. |
226 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, FullscreenFileURL) { | 239 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, FullscreenFileURL) { |
227 ui_test_utils::NavigateToURL(browser(), | 240 ui_test_utils::NavigateToURL(browser(), |
228 ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), | 241 ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), |
229 FilePath(kSimpleFile))); | 242 FilePath(kSimpleFile))); |
230 | 243 |
231 // Validate that going fullscreen for a file does not ask permision. | 244 // Validate that going fullscreen for a file does not ask permision. |
232 ASSERT_FALSE(IsFullscreenPermissionRequested()); | 245 ASSERT_FALSE(IsFullscreenPermissionRequested()); |
233 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 246 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
234 ASSERT_FALSE(IsFullscreenPermissionRequested()); | 247 ASSERT_FALSE(IsFullscreenPermissionRequested()); |
235 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); | 248 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(false)); |
236 } | 249 } |
237 | 250 |
238 // Tests fullscreen is exited on page navigation. | 251 // Tests fullscreen is exited on page navigation. |
239 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) | 252 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) |
| 253 #if defined(OS_MACOSX) |
| 254 // http://crbug.com/103912 |
| 255 #define MAYBE_TestTabExitsFullscreenOnNavigation \ |
| 256 DISABLED_TestTabExitsFullscreenOnNavigation |
| 257 #else |
| 258 #define MAYBE_TestTabExitsFullscreenOnNavigation \ |
| 259 TestTabExitsFullscreenOnNavigation |
| 260 #endif |
240 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, | 261 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
241 TestTabExitsFullscreenOnNavigation) { | 262 MAYBE_TestTabExitsFullscreenOnNavigation) { |
242 ASSERT_TRUE(test_server()->Start()); | 263 ASSERT_TRUE(test_server()->Start()); |
243 | 264 |
244 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); | 265 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
245 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 266 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
246 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); | 267 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); |
247 | 268 |
248 ASSERT_FALSE(browser()->window()->IsFullscreen()); | 269 ASSERT_FALSE(browser()->window()->IsFullscreen()); |
249 } | 270 } |
250 | 271 |
251 // Tests fullscreen is exited when navigating back. | 272 // Tests fullscreen is exited when navigating back. |
252 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) | 273 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) |
| 274 #if defined(OS_MACOSX) |
| 275 // http://crbug.com/103912 |
| 276 #define MAYBE_TestTabExitsFullscreenOnGoBack \ |
| 277 DISABLED_TestTabExitsFullscreenOnGoBack |
| 278 #else |
| 279 #define MAYBE_TestTabExitsFullscreenOnGoBack TestTabExitsFullscreenOnGoBack |
| 280 #endif |
253 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, | 281 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
254 TestTabExitsFullscreenOnGoBack) { | 282 MAYBE_TestTabExitsFullscreenOnGoBack) { |
255 ASSERT_TRUE(test_server()->Start()); | 283 ASSERT_TRUE(test_server()->Start()); |
256 | 284 |
257 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); | 285 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
258 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); | 286 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); |
259 | 287 |
260 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 288 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
261 | 289 |
262 GoBack(); | 290 GoBack(); |
263 | 291 |
264 ASSERT_FALSE(browser()->window()->IsFullscreen()); | 292 ASSERT_FALSE(browser()->window()->IsFullscreen()); |
265 } | 293 } |
266 | 294 |
267 // Tests fullscreen is not exited on sub frame navigation. | 295 // Tests fullscreen is not exited on sub frame navigation. |
268 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) | 296 // (Similar to mouse lock version in FullscreenControllerInteractiveTest) |
269 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, | 297 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
270 TestTabDoesntExitFullscreenOnSubFrameNavigation) { | 298 TestTabDoesntExitFullscreenOnSubFrameNavigation) { |
271 ASSERT_TRUE(test_server()->Start()); | 299 ASSERT_TRUE(test_server()->Start()); |
272 | 300 |
273 GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), | 301 GURL url(ui_test_utils::GetTestUrl(FilePath(FilePath::kCurrentDirectory), |
274 FilePath(kSimpleFile))); | 302 FilePath(kSimpleFile))); |
275 GURL url_with_fragment(url.spec() + "#fragment"); | 303 GURL url_with_fragment(url.spec() + "#fragment"); |
276 | 304 |
277 ui_test_utils::NavigateToURL(browser(), url); | 305 ui_test_utils::NavigateToURL(browser(), url); |
278 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 306 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
279 ui_test_utils::NavigateToURL(browser(), url_with_fragment); | 307 ui_test_utils::NavigateToURL(browser(), url_with_fragment); |
280 ASSERT_TRUE(IsFullscreenForTabOrPending()); | 308 ASSERT_TRUE(IsFullscreenForTabOrPending()); |
281 } | 309 } |
282 | 310 |
283 // Tests tab fullscreen exits, but browser fullscreen remains, on navigation. | 311 // Tests tab fullscreen exits, but browser fullscreen remains, on navigation. |
| 312 #if defined(OS_MACOSX) |
| 313 // http://crbug.com/103912 |
| 314 #define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \ |
| 315 DISABLED_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks |
| 316 #else |
| 317 #define MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks \ |
| 318 TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks |
| 319 #endif |
284 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, | 320 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, |
285 TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks)
{ | 321 MAYBE_TestFullscreenFromTabWhenAlreadyInBrowserFullscreenWorks) { |
286 ASSERT_TRUE(test_server()->Start()); | 322 ASSERT_TRUE(test_server()->Start()); |
287 | 323 |
288 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); | 324 ui_test_utils::NavigateToURL(browser(), GURL("about:blank")); |
289 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); | 325 ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab")); |
290 | 326 |
291 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); | 327 ASSERT_NO_FATAL_FAILURE(ToggleBrowserFullscreen(true)); |
292 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); | 328 ASSERT_NO_FATAL_FAILURE(ToggleTabFullscreen(true)); |
293 | 329 |
294 GoBack(); | 330 GoBack(); |
295 | 331 |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); | 422 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); |
387 | 423 |
388 // Close tab. Bubble is cleared. | 424 // Close tab. Bubble is cleared. |
389 { | 425 { |
390 MouseLockNotificationObserver mouse_lock_observer; | 426 MouseLockNotificationObserver mouse_lock_observer; |
391 chrome::CloseTab(browser()); | 427 chrome::CloseTab(browser()); |
392 mouse_lock_observer.Wait(); | 428 mouse_lock_observer.Wait(); |
393 } | 429 } |
394 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); | 430 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); |
395 } | 431 } |
OLD | NEW |