Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: chrome/test/webdriver/webdriver_automation.h

Issue 8890026: Allow chromedriver to set local state preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ 5 #ifndef CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_
6 #define CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ 6 #define CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/command_line.h" 12 #include "base/command_line.h"
13 #include "base/file_path.h" 13 #include "base/file_path.h"
14 #include "base/memory/ref_counted.h" 14 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/task.h" 16 #include "base/task.h"
17 #include "chrome/common/automation_constants.h" 17 #include "chrome/common/automation_constants.h"
18 #include "ui/base/keycodes/keyboard_codes.h" 18 #include "ui/base/keycodes/keyboard_codes.h"
19 19
20 class AutomationProxy; 20 class AutomationProxy;
21 class ProxyLauncher; 21 class ProxyLauncher;
22 struct WebKeyEvent; 22 struct WebKeyEvent;
23 23
24 namespace base { 24 namespace base {
25 class DictionaryValue; 25 class DictionaryValue;
26 class ListValue; 26 class ListValue;
27 class Value;
27 } 28 }
28 29
29 namespace webdriver { 30 namespace webdriver {
30 31
31 class Error; 32 class Error;
32 class FramePath; 33 class FramePath;
33 class Point; 34 class Point;
34 35
35 // Creates and controls the Chrome instance. 36 // Creates and controls the Chrome instance.
36 // This class should be created and accessed on a single thread. 37 // This class should be created and accessed on a single thread.
(...skipping 14 matching lines...) Expand all
51 FilePath user_data_dir; 52 FilePath user_data_dir;
52 53
53 // The channel ID of an already running browser to connect to. If empty, 54 // The channel ID of an already running browser to connect to. If empty,
54 // the browser will be launched with an anonymous channel. 55 // the browser will be launched with an anonymous channel.
55 std::string channel_id; 56 std::string channel_id;
56 57
57 // True if the Chrome process should only be terminated if quit is called. 58 // True if the Chrome process should only be terminated if quit is called.
58 // If false, Chrome will also be terminated if this process is killed or 59 // If false, Chrome will also be terminated if this process is killed or
59 // shutdown. 60 // shutdown.
60 bool detach_process; 61 bool detach_process;
62
63 // True if Chrome should perform SSL certification revocation checking.
64 // In some test environments, these checks can take a long time.
65 bool cert_revocation_checking;
61 }; 66 };
62 67
63 Automation(); 68 Automation();
64 virtual ~Automation(); 69 virtual ~Automation();
65 70
66 // Start the system's default Chrome binary. 71 // Start the system's default Chrome binary.
67 void Init(const BrowserOptions& options, Error** error); 72 void Init(const BrowserOptions& options, Error** error);
68 73
69 // Terminates this session and disconnects its automation proxy. After 74 // Terminates this session and disconnects its automation proxy. After
70 // invoking this method, the Automation can safely be deleted. 75 // invoking this method, the Automation can safely be deleted.
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 171
167 // Gets all installed extension IDs. 172 // Gets all installed extension IDs.
168 void GetInstalledExtensions(std::vector<std::string>* extension_ids, 173 void GetInstalledExtensions(std::vector<std::string>* extension_ids,
169 Error** error); 174 Error** error);
170 175
171 // Install a packed or unpacked extension. If the path ends with '.crx', 176 // Install a packed or unpacked extension. If the path ends with '.crx',
172 // the extension is assumed to be packed. 177 // the extension is assumed to be packed.
173 void InstallExtension(const FilePath& path, std::string* extension_id, 178 void InstallExtension(const FilePath& path, std::string* extension_id,
174 Error** error); 179 Error** error);
175 180
181 // Set a local state preference, which is not associated with any profile.
182 // Ownership of |value| is taken by this function.
183 void SetLocalStatePreference(const std::string& pref,
184 base::Value* value,
185 Error** error);
186
187 // Set a user preference, which is associated with the current profile.
188 // Ownership of |value| is taken by this fucntion.
189 void SetPreference(const std::string& pref,
190 base::Value* value,
191 Error** error);
192
176 private: 193 private:
177 AutomationProxy* automation() const; 194 AutomationProxy* automation() const;
178 Error* GetIndicesForTab(int tab_id, int* browser_index, int* tab_index); 195 Error* GetIndicesForTab(int tab_id, int* browser_index, int* tab_index);
179 Error* CompareVersion(int client_build_no, 196 Error* CompareVersion(int client_build_no,
180 int client_patch_no, 197 int client_patch_no,
181 bool* is_newer_or_equal); 198 bool* is_newer_or_equal);
182 Error* CheckVersion(int client_build_no, 199 Error* CheckVersion(int client_build_no,
183 int client_patch_no, 200 int client_patch_no,
184 const std::string& error_msg); 201 const std::string& error_msg);
185 Error* CheckAlertsSupported(); 202 Error* CheckAlertsSupported();
186 Error* CheckAdvancedInteractionsSupported(); 203 Error* CheckAdvancedInteractionsSupported();
187 Error* CheckNewExtensionInterfaceSupported(); 204 Error* CheckNewExtensionInterfaceSupported();
188 205
189 scoped_ptr<ProxyLauncher> launcher_; 206 scoped_ptr<ProxyLauncher> launcher_;
190 207
191 DISALLOW_COPY_AND_ASSIGN(Automation); 208 DISALLOW_COPY_AND_ASSIGN(Automation);
192 }; 209 };
193 210
194 } // namespace webdriver 211 } // namespace webdriver
195 212
196 DISABLE_RUNNABLE_METHOD_REFCOUNT(webdriver::Automation); 213 DISABLE_RUNNABLE_METHOD_REFCOUNT(webdriver::Automation);
197 214
198 #endif // CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_ 215 #endif // CHROME_TEST_WEBDRIVER_WEBDRIVER_AUTOMATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698