• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_THEMES_HELPER_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_THEMES_HELPER_H_
7 
8 #include <string>
9 
10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h"
12 #include "chrome/browser/sync/test/integration/sync_test.h"
13 
14 class Profile;
15 
16 namespace themes_helper {
17 
18 // Gets the unique ID of the custom theme with the given index.
19 std::string GetCustomTheme(int index) WARN_UNUSED_RESULT;
20 
21 // Gets the ID of |profile|'s theme.
22 std::string GetThemeID(Profile* profile) WARN_UNUSED_RESULT;
23 
24 // Returns true iff |profile| is using a custom theme.
25 bool UsingCustomTheme(Profile* profile) WARN_UNUSED_RESULT;
26 
27 // Returns true iff |profile| is using the default theme.
28 bool UsingDefaultTheme(Profile* profile) WARN_UNUSED_RESULT;
29 
30 // Returns true iff |profile| is using the system theme.
31 bool UsingSystemTheme(Profile* profile) WARN_UNUSED_RESULT;
32 
33 // Returns true iff a theme with the given ID is pending install in
34 // |profile|.
35 bool ThemeIsPendingInstall(
36     Profile* profile, const std::string& id) WARN_UNUSED_RESULT;
37 
38 // Sets |profile| to use the custom theme with the given index.
39 void UseCustomTheme(Profile* profile, int index);
40 
41 // Sets |profile| to use the default theme.
42 void UseDefaultTheme(Profile* profile);
43 
44 // Sets |profile| to use the system theme.
45 void UseSystemTheme(Profile* profile);
46 
47 // Waits until |theme| is pending for install on |profile|.
48 // Returns false in case of timeout.
49 bool AwaitThemeIsPendingInstall(Profile* profile, const std::string& theme);
50 
51 // Waits until |profile| is using the system theme.
52 // Returns false in case of timeout.
53 bool AwaitUsingSystemTheme(Profile* profile);
54 
55 // Waits until |profile| is using the default theme.
56 // Returns false in case of timeout.
57 bool AwaitUsingDefaultTheme(Profile* profile);
58 
59 }  // namespace themes_helper
60 
61 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_THEMES_HELPER_H_
62