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