* Rename Prerender.NetworkBytes.* histograms to Prerender.NetworkBytes*
[chromium-blink-merge.git] / ash / test / test_system_tray_delegate.h
blob9b85d97ea166a5e64fb05f47cf9a6f3ecd898405
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_TEST_TEST_SYSTEM_TRAY_DELEGATE_H_
6 #define ASH_TEST_TEST_SYSTEM_TRAY_DELEGATE_H_
8 #include "ash/system/tray/default_system_tray_delegate.h"
9 #include "base/time/time.h"
11 namespace ash {
12 namespace test {
14 class TestSystemTrayDelegate : public DefaultSystemTrayDelegate {
15 public:
16 TestSystemTrayDelegate();
17 virtual ~TestSystemTrayDelegate();
19 // Changes the login status when initially the delegate is created. This will
20 // be called before AshTestBase::SetUp() to test the case when chrome is
21 // restarted right after the login (such like a flag is set).
22 // This value will be reset in AshTestHelper::TearDown, most test fixtures
23 // don't need to care its lifecycle.
24 static void SetInitialLoginStatus(user::LoginStatus login_status);
26 // Changes the current login status in the test. This also invokes
27 // UpdateAfterLoginStatusChange(). Usually this is called in the test code to
28 // set up a login status. This will fit to most of the test cases, but this
29 // cannot be set during the initialization. To test the initialization,
30 // consider using SetInitialLoginStatus() instead.
31 void SetLoginStatus(user::LoginStatus login_status);
33 void set_should_show_display_notification(bool should_show) {
34 should_show_display_notification_ = should_show;
37 // Updates the session length limit so that the limit will come from now in
38 // |new_limit|.
39 void SetSessionLengthLimitForTest(const base::TimeDelta& new_limit);
41 // Clears the session length limit.
42 void ClearSessionLengthLimit();
44 // Overridden from SystemTrayDelegate:
45 virtual user::LoginStatus GetUserLoginStatus() const OVERRIDE;
46 virtual bool ShouldShowDisplayNotification() OVERRIDE;
47 virtual bool GetSessionStartTime(
48 base::TimeTicks* session_start_time) OVERRIDE;
49 virtual bool GetSessionLengthLimit(
50 base::TimeDelta* session_length_limit) OVERRIDE;
51 virtual void ShutDown() OVERRIDE;
52 virtual void SignOut() OVERRIDE;
54 private:
55 bool should_show_display_notification_;
56 user::LoginStatus login_status_;
57 base::TimeDelta session_length_limit_;
58 bool session_length_limit_set_;
60 DISALLOW_COPY_AND_ASSIGN(TestSystemTrayDelegate);
63 } // namespace test
64 } // namespace ash
66 #endif // ASH_TEST_TEST_SYSTEM_TRAY_DELEGATE_H_