OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <memory> |
5 #include <string> | 6 #include <string> |
6 | 7 |
7 #include "ash/shell.h" | 8 #include "ash/shell.h" |
8 #include "ash/strings/grit/ash_strings.h" | 9 #include "ash/strings/grit/ash_strings.h" |
9 #include "ash/system/date/date_default_view.h" | 10 #include "ash/system/date/date_default_view.h" |
10 #include "ash/system/date/tray_date.h" | 11 #include "ash/system/date/tray_date.h" |
11 #include "ash/system/tray/system_tray.h" | 12 #include "ash/system/tray/system_tray.h" |
12 #include "ash/system/tray/tray_popup_header_button.h" | 13 #include "ash/system/tray/tray_popup_header_button.h" |
13 #include "ash/system/user/login_status.h" | 14 #include "ash/system/user/login_status.h" |
14 #include "base/command_line.h" | 15 #include "base/command_line.h" |
15 #include "base/location.h" | 16 #include "base/location.h" |
16 #include "base/macros.h" | 17 #include "base/macros.h" |
17 #include "base/memory/scoped_ptr.h" | |
18 #include "base/message_loop/message_loop.h" | 18 #include "base/message_loop/message_loop.h" |
19 #include "base/run_loop.h" | 19 #include "base/run_loop.h" |
20 #include "base/strings/stringprintf.h" | 20 #include "base/strings/stringprintf.h" |
21 #include "chrome/browser/chrome_notification_types.h" | 21 #include "chrome/browser/chrome_notification_types.h" |
22 #include "chrome/browser/chromeos/login/lock/screen_locker.h" | 22 #include "chrome/browser/chromeos/login/lock/screen_locker.h" |
23 #include "chrome/browser/chromeos/login/lock/screen_locker_tester.h" | 23 #include "chrome/browser/chromeos/login/lock/screen_locker_tester.h" |
24 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h" | 24 #include "chrome/browser/chromeos/login/lock/webui_screen_locker.h" |
25 #include "chrome/browser/chromeos/login/ui/login_display_host.h" | 25 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
26 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" | 26 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" |
27 #include "chrome/browser/chromeos/policy/device_policy_builder.h" | 27 #include "chrome/browser/chromeos/policy/device_policy_builder.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 void WaitUntilOobeUIIsReady(OobeUI* oobe_ui) { | 128 void WaitUntilOobeUIIsReady(OobeUI* oobe_ui) { |
129 ASSERT_TRUE(oobe_ui); | 129 ASSERT_TRUE(oobe_ui); |
130 base::RunLoop run_loop; | 130 base::RunLoop run_loop; |
131 const bool oobe_ui_ready = oobe_ui->IsJSReady(run_loop.QuitClosure()); | 131 const bool oobe_ui_ready = oobe_ui->IsJSReady(run_loop.QuitClosure()); |
132 if (!oobe_ui_ready) | 132 if (!oobe_ui_ready) |
133 run_loop.Run(); | 133 run_loop.Run(); |
134 } | 134 } |
135 | 135 |
136 content::WebContents* contents_; | 136 content::WebContents* contents_; |
137 bool result_; | 137 bool result_; |
138 scoped_ptr<base::RunLoop> run_loop_; | 138 std::unique_ptr<base::RunLoop> run_loop_; |
139 }; | 139 }; |
140 | 140 |
141 class ShutdownPolicyInSessionTest | 141 class ShutdownPolicyInSessionTest |
142 : public ShutdownPolicyBaseTest { | 142 : public ShutdownPolicyBaseTest { |
143 protected: | 143 protected: |
144 ShutdownPolicyInSessionTest() {} | 144 ShutdownPolicyInSessionTest() {} |
145 ~ShutdownPolicyInSessionTest() override {} | 145 ~ShutdownPolicyInSessionTest() override {} |
146 | 146 |
147 void SetUpOnMainThread() override { | 147 void SetUpOnMainThread() override { |
148 ShutdownPolicyBaseTest::SetUpOnMainThread(); | 148 ShutdownPolicyBaseTest::SetUpOnMainThread(); |
(...skipping 19 matching lines...) Expand all Loading... |
168 } | 168 } |
169 | 169 |
170 bool HasButtonTooltipText(const ash::TrayPopupHeaderButton* button, | 170 bool HasButtonTooltipText(const ash::TrayPopupHeaderButton* button, |
171 int message_id) const { | 171 int message_id) const { |
172 base::string16 actual_tooltip; | 172 base::string16 actual_tooltip; |
173 button->GetTooltipText(gfx::Point(), &actual_tooltip); | 173 button->GetTooltipText(gfx::Point(), &actual_tooltip); |
174 return l10n_util::GetStringUTF16(message_id) == actual_tooltip; | 174 return l10n_util::GetStringUTF16(message_id) == actual_tooltip; |
175 } | 175 } |
176 | 176 |
177 private: | 177 private: |
178 scoped_ptr<ash::DateDefaultView> date_default_view_; | 178 std::unique_ptr<ash::DateDefaultView> date_default_view_; |
179 | 179 |
180 DISALLOW_COPY_AND_ASSIGN(ShutdownPolicyInSessionTest); | 180 DISALLOW_COPY_AND_ASSIGN(ShutdownPolicyInSessionTest); |
181 }; | 181 }; |
182 | 182 |
183 IN_PROC_BROWSER_TEST_F(ShutdownPolicyInSessionTest, TestBasic) { | 183 IN_PROC_BROWSER_TEST_F(ShutdownPolicyInSessionTest, TestBasic) { |
184 const ash::TrayPopupHeaderButton *shutdown_button = GetShutdownButton(); | 184 const ash::TrayPopupHeaderButton *shutdown_button = GetShutdownButton(); |
185 EXPECT_TRUE( | 185 EXPECT_TRUE( |
186 HasButtonTooltipText(shutdown_button, IDS_ASH_STATUS_TRAY_SHUTDOWN)); | 186 HasButtonTooltipText(shutdown_button, IDS_ASH_STATUS_TRAY_SHUTDOWN)); |
187 } | 187 } |
188 | 188 |
(...skipping 12 matching lines...) Expand all Loading... |
201 } | 201 } |
202 | 202 |
203 class ShutdownPolicyLockerTest : public ShutdownPolicyBaseTest { | 203 class ShutdownPolicyLockerTest : public ShutdownPolicyBaseTest { |
204 protected: | 204 protected: |
205 ShutdownPolicyLockerTest() : fake_session_manager_client_(nullptr) {} | 205 ShutdownPolicyLockerTest() : fake_session_manager_client_(nullptr) {} |
206 ~ShutdownPolicyLockerTest() override {} | 206 ~ShutdownPolicyLockerTest() override {} |
207 | 207 |
208 void SetUpInProcessBrowserTestFixture() override { | 208 void SetUpInProcessBrowserTestFixture() override { |
209 fake_session_manager_client_ = new FakeSessionManagerClient; | 209 fake_session_manager_client_ = new FakeSessionManagerClient; |
210 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( | 210 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( |
211 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); | 211 std::unique_ptr<SessionManagerClient>(fake_session_manager_client_)); |
212 | 212 |
213 ShutdownPolicyBaseTest::SetUpInProcessBrowserTestFixture(); | 213 ShutdownPolicyBaseTest::SetUpInProcessBrowserTestFixture(); |
214 zero_duration_mode_.reset(new ui::ScopedAnimationDurationScaleMode( | 214 zero_duration_mode_.reset(new ui::ScopedAnimationDurationScaleMode( |
215 ui::ScopedAnimationDurationScaleMode::ZERO_DURATION)); | 215 ui::ScopedAnimationDurationScaleMode::ZERO_DURATION)); |
216 InstallOwnerKey(); | 216 InstallOwnerKey(); |
217 MarkAsEnterpriseOwned(); | 217 MarkAsEnterpriseOwned(); |
218 } | 218 } |
219 | 219 |
220 void SetUpOnMainThread() override { | 220 void SetUpOnMainThread() override { |
221 ShutdownPolicyBaseTest::SetUpOnMainThread(); | 221 ShutdownPolicyBaseTest::SetUpOnMainThread(); |
222 | 222 |
223 // Bring up the locker screen. | 223 // Bring up the locker screen. |
224 ScreenLocker::Show(); | 224 ScreenLocker::Show(); |
225 scoped_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); | 225 std::unique_ptr<test::ScreenLockerTester> tester(ScreenLocker::GetTester()); |
226 tester->EmulateWindowManagerReady(); | 226 tester->EmulateWindowManagerReady(); |
227 content::WindowedNotificationObserver lock_state_observer( | 227 content::WindowedNotificationObserver lock_state_observer( |
228 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, | 228 chrome::NOTIFICATION_SCREEN_LOCK_STATE_CHANGED, |
229 content::NotificationService::AllSources()); | 229 content::NotificationService::AllSources()); |
230 if (!tester->IsLocked()) | 230 if (!tester->IsLocked()) |
231 lock_state_observer.Wait(); | 231 lock_state_observer.Wait(); |
232 ScreenLocker* screen_locker = ScreenLocker::default_screen_locker(); | 232 ScreenLocker* screen_locker = ScreenLocker::default_screen_locker(); |
233 WebUIScreenLocker* web_ui_screen_locker = | 233 WebUIScreenLocker* web_ui_screen_locker = |
234 static_cast<WebUIScreenLocker*>(screen_locker->delegate()); | 234 static_cast<WebUIScreenLocker*>(screen_locker->delegate()); |
235 ASSERT_TRUE(web_ui_screen_locker); | 235 ASSERT_TRUE(web_ui_screen_locker); |
236 content::WebUI* web_ui = web_ui_screen_locker->GetWebUI(); | 236 content::WebUI* web_ui = web_ui_screen_locker->GetWebUI(); |
237 ASSERT_TRUE(web_ui); | 237 ASSERT_TRUE(web_ui); |
238 contents_ = web_ui->GetWebContents(); | 238 contents_ = web_ui->GetWebContents(); |
239 ASSERT_TRUE(contents_); | 239 ASSERT_TRUE(contents_); |
240 | 240 |
241 // Wait for the login UI to be ready. | 241 // Wait for the login UI to be ready. |
242 WaitUntilOobeUIIsReady( | 242 WaitUntilOobeUIIsReady( |
243 static_cast<OobeUI*>(web_ui->GetController())); | 243 static_cast<OobeUI*>(web_ui->GetController())); |
244 } | 244 } |
245 | 245 |
246 private: | 246 private: |
247 scoped_ptr<ui::ScopedAnimationDurationScaleMode> zero_duration_mode_; | 247 std::unique_ptr<ui::ScopedAnimationDurationScaleMode> zero_duration_mode_; |
248 FakeSessionManagerClient* fake_session_manager_client_; | 248 FakeSessionManagerClient* fake_session_manager_client_; |
249 | 249 |
250 DISALLOW_COPY_AND_ASSIGN(ShutdownPolicyLockerTest); | 250 DISALLOW_COPY_AND_ASSIGN(ShutdownPolicyLockerTest); |
251 }; | 251 }; |
252 | 252 |
253 IN_PROC_BROWSER_TEST_F(ShutdownPolicyLockerTest, TestBasic) { | 253 IN_PROC_BROWSER_TEST_F(ShutdownPolicyLockerTest, TestBasic) { |
254 PrepareAndRunScript("restart-header-bar-item", true); | 254 PrepareAndRunScript("restart-header-bar-item", true); |
255 PrepareAndRunScript("shutdown-header-bar-item", false); | 255 PrepareAndRunScript("shutdown-header-bar-item", false); |
256 } | 256 } |
257 | 257 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 PrepareAndRunScript("restart-header-bar-item", false); | 327 PrepareAndRunScript("restart-header-bar-item", false); |
328 PrepareAndRunScript("shutdown-header-bar-item", true); | 328 PrepareAndRunScript("shutdown-header-bar-item", true); |
329 | 329 |
330 UpdateRebootOnShutdownPolicy(false); | 330 UpdateRebootOnShutdownPolicy(false); |
331 RefreshDevicePolicy(); | 331 RefreshDevicePolicy(); |
332 PrepareAndRunScript("restart-header-bar-item", true); | 332 PrepareAndRunScript("restart-header-bar-item", true); |
333 PrepareAndRunScript("shutdown-header-bar-item", false); | 333 PrepareAndRunScript("shutdown-header-bar-item", false); |
334 } | 334 } |
335 | 335 |
336 } // namespace chromeos | 336 } // namespace chromeos |
OLD | NEW |