• 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_PREFERENCES_HELPER_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
7 
8 #include "base/files/file_path.h"
9 #include "base/values.h"
10 
11 #include <string>
12 
13 class PrefService;
14 
15 namespace preferences_helper {
16 
17 // Used to access the preferences within a particular sync profile.
18 PrefService* GetPrefs(int index);
19 
20 // Used to access the preferences within the verifier sync profile.
21 PrefService* GetVerifierPrefs();
22 
23 // Inverts the value of the boolean preference with name |pref_name| in the
24 // profile with index |index|. Also inverts its value in |verifier| if
25 // DisableVerifier() hasn't been called.
26 void ChangeBooleanPref(int index, const char* pref_name);
27 
28 // Changes the value of the integer preference with name |pref_name| in the
29 // profile with index |index| to |new_value|. Also changes its value in
30 // |verifier| if DisableVerifier() hasn't been called.
31 void ChangeIntegerPref(int index, const char* pref_name, int new_value);
32 
33 // Changes the value of the int64 preference with name |pref_name| in the
34 // profile with index |index| to |new_value|. Also changes its value in
35 // |verifier| if DisableVerifier() hasn't been called.
36 void ChangeInt64Pref(int index, const char* pref_name, int64 new_value);
37 
38 // Changes the value of the double preference with name |pref_name| in the
39 // profile with index |index| to |new_value|. Also changes its value in
40 // |verifier| if DisableVerifier() hasn't been called.
41 void ChangeDoublePref(int index, const char* pref_name, double new_value);
42 
43 // Changes the value of the string preference with name |pref_name| in the
44 // profile with index |index| to |new_value|. Also changes its value in
45 // |verifier| if DisableVerifier() hasn't been called.
46 void ChangeStringPref(int index,
47                       const char* pref_name,
48                       const std::string& new_value);
49 
50 // Modifies the value of the string preference with name |pref_name| in the
51 // profile with index |index| by appending |append_value| to its current
52 // value. Also changes its value in |verifier| if DisableVerifier() hasn't
53 // been called.
54 void AppendStringPref(int index,
55                       const char* pref_name,
56                       const std::string& append_value);
57 
58 // Changes the value of the file path preference with name |pref_name| in the
59 // profile with index |index| to |new_value|. Also changes its value in
60 // |verifier| if DisableVerifier() hasn't been called.
61 void ChangeFilePathPref(int index,
62                         const char* pref_name,
63                         const base::FilePath& new_value);
64 
65 // Changes the value of the list preference with name |pref_name| in the
66 // profile with index |index| to |new_value|. Also changes its value in
67 // |verifier| if DisableVerifier() hasn't been called.
68 void ChangeListPref(int index,
69                     const char* pref_name,
70                     const base::ListValue& new_value);
71 
72 // Used to verify that the boolean preference with name |pref_name| has the
73 // same value across all profiles. Also checks |verifier| if DisableVerifier()
74 // hasn't been called.
75 bool BooleanPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
76 
77 // Used to verify that the integer preference with name |pref_name| has the
78 // same value across all profiles. Also checks |verifier| if DisableVerifier()
79 // hasn't been called.
80 bool IntegerPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
81 
82 // Used to verify that the int64 preference with name |pref_name| has the
83 // same value across all profiles. Also checks |verifier| if DisableVerifier()
84 // hasn't been called.
85 bool Int64PrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
86 
87 // Used to verify that the double preference with name |pref_name| has the
88 // same value across all profiles. Also checks |verifier| if DisableVerifier()
89 // hasn't been called.
90 bool DoublePrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
91 
92 // Used to verify that the string preference with name |pref_name| has the
93 // same value across all profiles. Also checks |verifier| if DisableVerifier()
94 // hasn't been called.
95 bool StringPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
96 
97 // Used to verify that the file path preference with name |pref_name| has the
98 // same value across all profiles. Also checks |verifier| if DisableVerifier()
99 // hasn't been called.
100 bool FilePathPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
101 
102 // Used to verify that the list preference with name |pref_name| has the
103 // same value across all profiles. Also checks |verifier| if DisableVerifier()
104 // hasn't been called.
105 bool ListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
106 
107 // This is the version of ListPrefMatches that waits for the preference list
108 // to match in all profiles. Returns false if this operation times out.
109 bool AwaitListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
110 
111 }  // namespace preferences_helper
112 
113 #endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
114