Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: chrome/browser/ui/exclusive_access/fullscreen_controller_browsertest.cc

Issue 1570443008: Fix FullscreenController tests with simplified-fullscreen-ui flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: FullscreenControllerInteractiveTest: Further fixes for ChromeOS-only tests. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "chrome/browser/content_settings/host_content_settings_map_factory.h" 5 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
6 #include "chrome/browser/ui/browser.h" 6 #include "chrome/browser/ui/browser.h"
7 #include "chrome/browser/ui/browser_commands.h" 7 #include "chrome/browser/ui/browser_commands.h"
8 #include "chrome/browser/ui/browser_tabstrip.h" 8 #include "chrome/browser/ui/browser_tabstrip.h"
9 #include "chrome/browser/ui/browser_window.h" 9 #include "chrome/browser/ui/browser_window.h"
10 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h" 10 #include "chrome/browser/ui/exclusive_access/fullscreen_controller.h"
11 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h" 11 #include "chrome/browser/ui/exclusive_access/fullscreen_controller_test.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/test/base/ui_test_utils.h" 13 #include "chrome/test/base/ui_test_utils.h"
14 #include "components/content_settings/core/browser/host_content_settings_map.h" 14 #include "components/content_settings/core/browser/host_content_settings_map.h"
15 #include "content/public/browser/web_contents.h" 15 #include "content/public/browser/web_contents.h"
16 #include "content/public/common/url_constants.h" 16 #include "content/public/common/url_constants.h"
17 #include "net/test/embedded_test_server/embedded_test_server.h" 17 #include "net/test/embedded_test_server/embedded_test_server.h"
18 18
19 using content::WebContents; 19 using content::WebContents;
20 using ui::PAGE_TRANSITION_TYPED; 20 using ui::PAGE_TRANSITION_TYPED;
21 21
22 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, 22 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
23 PendingMouseLockExitsOnTabSwitch) { 23 PendingMouseLockExitsOnTabSwitch) {
24 // This test doesn't make sense in simplified mode, since we never prompt for
25 // mouse lock.
26 if (ExclusiveAccessManager::IsSimplifiedFullscreenUIEnabled())
27 return;
28
24 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 29 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
25 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 30 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
26 WebContents* tab1 = browser()->tab_strip_model()->GetActiveWebContents(); 31 WebContents* tab1 = browser()->tab_strip_model()->GetActiveWebContents();
27 32
28 // Request mouse lock. Bubble is displayed. 33 // Request mouse lock. Bubble is displayed.
29 RequestToLockMouse(true, false); 34 RequestToLockMouse(true, false);
30 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 35 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
31 36
32 // Activate current tab. Mouse lock bubble remains. 37 // Activate current tab. Mouse lock bubble remains.
33 browser()->tab_strip_model()->ActivateTabAt(0, true); 38 browser()->tab_strip_model()->ActivateTabAt(0, true);
(...skipping 13 matching lines...) Expand all
47 RequestToLockMouse(true, false); 52 RequestToLockMouse(true, false);
48 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 53 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
49 54
50 // Close first tab while second active. Mouse lock bubble remains. 55 // Close first tab while second active. Mouse lock bubble remains.
51 chrome::CloseWebContents(browser(), tab1, false); 56 chrome::CloseWebContents(browser(), tab1, false);
52 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 57 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
53 } 58 }
54 59
55 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, 60 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest,
56 PendingMouseLockExitsOnTabClose) { 61 PendingMouseLockExitsOnTabClose) {
62 // This test doesn't make sense in simplified mode, since we never prompt for
63 // mouse lock.
64 if (ExclusiveAccessManager::IsSimplifiedFullscreenUIEnabled())
65 return;
66
57 // Add more tabs. 67 // Add more tabs.
58 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 68 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
59 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED); 69 AddTabAtIndex(0, GURL(url::kAboutBlankURL), PAGE_TRANSITION_TYPED);
60 70
61 // Request mouse lock. Bubble is displayed. 71 // Request mouse lock. Bubble is displayed.
62 RequestToLockMouse(true, false); 72 RequestToLockMouse(true, false);
63 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 73 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
64 74
65 // Close tab. Bubble is cleared. 75 // Close tab. Bubble is cleared.
66 { 76 {
67 MouseLockNotificationObserver mouse_lock_observer; 77 MouseLockNotificationObserver mouse_lock_observer;
68 chrome::CloseTab(browser()); 78 chrome::CloseTab(browser());
69 mouse_lock_observer.Wait(); 79 mouse_lock_observer.Wait();
70 } 80 }
71 ASSERT_FALSE(IsFullscreenBubbleDisplayed()); 81 ASSERT_FALSE(IsFullscreenBubbleDisplayed());
72 } 82 }
73 83
74 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, MouseLockOnFileURL) { 84 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, MouseLockOnFileURL) {
75 static const base::FilePath::CharType* kEmptyFile = 85 static const base::FilePath::CharType* kEmptyFile =
76 FILE_PATH_LITERAL("empty.html"); 86 FILE_PATH_LITERAL("empty.html");
77 GURL file_url(ui_test_utils::GetTestUrl( 87 GURL file_url(ui_test_utils::GetTestUrl(
78 base::FilePath(base::FilePath::kCurrentDirectory), 88 base::FilePath(base::FilePath::kCurrentDirectory),
79 base::FilePath(kEmptyFile))); 89 base::FilePath(kEmptyFile)));
80 AddTabAtIndex(0, file_url, PAGE_TRANSITION_TYPED); 90 AddTabAtIndex(0, file_url, PAGE_TRANSITION_TYPED);
81 RequestToLockMouse(true, false); 91 RequestToLockMouse(true, false);
82 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 92 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
83 ASSERT_TRUE(IsFullscreenBubbleDisplayingButtons()); 93 if (ExclusiveAccessManager::IsSimplifiedFullscreenUIEnabled())
94 ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
95 else
96 ASSERT_TRUE(IsFullscreenBubbleDisplayingButtons());
84 } 97 }
85 98
86 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, FullscreenOnFileURL) { 99 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, FullscreenOnFileURL) {
87 static const base::FilePath::CharType* kEmptyFile = 100 static const base::FilePath::CharType* kEmptyFile =
88 FILE_PATH_LITERAL("empty.html"); 101 FILE_PATH_LITERAL("empty.html");
89 GURL file_url(ui_test_utils::GetTestUrl( 102 GURL file_url(ui_test_utils::GetTestUrl(
90 base::FilePath(base::FilePath::kCurrentDirectory), 103 base::FilePath(base::FilePath::kCurrentDirectory),
91 base::FilePath(kEmptyFile))); 104 base::FilePath(kEmptyFile)));
92 AddTabAtIndex(0, file_url, PAGE_TRANSITION_TYPED); 105 AddTabAtIndex(0, file_url, PAGE_TRANSITION_TYPED);
93 RequestToLockMouse(true, false); 106 GetFullscreenController()->EnterFullscreenModeForTab(
107 browser()->tab_strip_model()->GetActiveWebContents(),
108 file_url.GetOrigin());
94 ASSERT_TRUE(IsFullscreenBubbleDisplayed()); 109 ASSERT_TRUE(IsFullscreenBubbleDisplayed());
95 ASSERT_TRUE(IsFullscreenBubbleDisplayingButtons()); 110 if (ExclusiveAccessManager::IsSimplifiedFullscreenUIEnabled())
111 ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
112 else
113 ASSERT_TRUE(IsFullscreenBubbleDisplayingButtons());
96 } 114 }
97 115
98 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, PermissionContentSettings) { 116 IN_PROC_BROWSER_TEST_F(FullscreenControllerTest, PermissionContentSettings) {
99 ASSERT_TRUE(embedded_test_server()->Start()); 117 ASSERT_TRUE(embedded_test_server()->Start());
100 GURL url = embedded_test_server()->GetURL(kFullscreenMouseLockHTML); 118 GURL url = embedded_test_server()->GetURL(kFullscreenMouseLockHTML);
101 ui_test_utils::NavigateToURL(browser(), url); 119 ui_test_utils::NavigateToURL(browser(), url);
102 120
103 EXPECT_FALSE(browser()->window()->IsFullscreen()); 121 EXPECT_FALSE(browser()->window()->IsFullscreen());
104 122
105 // The content's origin is not allowed to go fullscreen. 123 // The content's origin is not allowed to go fullscreen.
(...skipping 11 matching lines...) Expand all
117 135
118 // The content's origin is still not allowed to go fullscreen. 136 // The content's origin is still not allowed to go fullscreen.
119 EXPECT_EQ( 137 EXPECT_EQ(
120 CONTENT_SETTING_ASK, 138 CONTENT_SETTING_ASK,
121 HostContentSettingsMapFactory::GetForProfile(browser()->profile()) 139 HostContentSettingsMapFactory::GetForProfile(browser()->profile())
122 ->GetContentSetting(url.GetOrigin(), 140 ->GetContentSetting(url.GetOrigin(),
123 url.GetOrigin(), 141 url.GetOrigin(),
124 CONTENT_SETTINGS_TYPE_FULLSCREEN, 142 CONTENT_SETTINGS_TYPE_FULLSCREEN,
125 std::string())); 143 std::string()));
126 144
127 AcceptCurrentFullscreenOrMouseLockRequest(); 145 if (ExclusiveAccessManager::IsSimplifiedFullscreenUIEnabled()) {
146 ASSERT_FALSE(IsFullscreenBubbleDisplayingButtons());
147 } else {
148 ASSERT_TRUE(IsFullscreenBubbleDisplayingButtons());
149 // It only makes sense to test this on the non-simplified mode. In the
150 // simplified mode, you cannot accept the request (as it is auto-accepted)
151 // so you can't set ALLOW.
152 AcceptCurrentFullscreenOrMouseLockRequest();
128 153
129 // The content's origin is allowed to go fullscreen. 154 // The content's origin is allowed to go fullscreen.
130 EXPECT_EQ( 155 EXPECT_EQ(CONTENT_SETTING_ALLOW,
131 CONTENT_SETTING_ALLOW, 156 HostContentSettingsMapFactory::GetForProfile(browser()->profile())
132 HostContentSettingsMapFactory::GetForProfile(browser()->profile()) 157 ->GetContentSetting(url.GetOrigin(), url.GetOrigin(),
133 ->GetContentSetting(url.GetOrigin(), 158 CONTENT_SETTINGS_TYPE_FULLSCREEN,
134 url.GetOrigin(), 159 std::string()));
135 CONTENT_SETTINGS_TYPE_FULLSCREEN, 160 }
136 std::string()));
137 161
138 // The primary and secondary patterns have been set when setting the 162 // The primary and secondary patterns have been set when setting the
139 // permission, thus setting another secondary pattern shouldn't work. 163 // permission, thus setting another secondary pattern shouldn't work.
140 EXPECT_EQ( 164 EXPECT_EQ(
141 CONTENT_SETTING_ASK, 165 CONTENT_SETTING_ASK,
142 HostContentSettingsMapFactory::GetForProfile(browser()->profile()) 166 HostContentSettingsMapFactory::GetForProfile(browser()->profile())
143 ->GetContentSetting(url.GetOrigin(), 167 ->GetContentSetting(url.GetOrigin(),
144 GURL("https://test.com"), 168 GURL("https://test.com"),
145 CONTENT_SETTINGS_TYPE_FULLSCREEN, 169 CONTENT_SETTINGS_TYPE_FULLSCREEN,
146 std::string())); 170 std::string()));
147 171
148 HostContentSettingsMapFactory::GetForProfile(browser()->profile()) 172 HostContentSettingsMapFactory::GetForProfile(browser()->profile())
149 ->ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_FULLSCREEN); 173 ->ClearSettingsForOneType(CONTENT_SETTINGS_TYPE_FULLSCREEN);
150 } 174 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/exclusive_access/fullscreen_controller_interactive_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698