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

Side by Side Diff: chrome/test/webdriver/webdriver_capabilities_parser.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_CAPABILITIES_PARSER_H_ 5 #ifndef CHROME_TEST_WEBDRIVER_WEBDRIVER_CAPABILITIES_PARSER_H_
6 #define CHROME_TEST_WEBDRIVER_WEBDRIVER_CAPABILITIES_PARSER_H_ 6 #define CHROME_TEST_WEBDRIVER_WEBDRIVER_CAPABILITIES_PARSER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 10 matching lines...) Expand all
21 namespace webdriver { 21 namespace webdriver {
22 22
23 class Error; 23 class Error;
24 24
25 // Contains all the capabilities that a user may request when starting a 25 // Contains all the capabilities that a user may request when starting a
26 // new session. 26 // new session.
27 struct Capabilities { 27 struct Capabilities {
28 Capabilities(); 28 Capabilities();
29 ~Capabilities(); 29 ~Capabilities();
30 30
31 // Whether Chrome should perform SSL certification revocation checking.
32 // In some test environments, these checks can take a long time.
33 bool cert_revocation_checking;
34
31 // Command line to use for starting Chrome. 35 // Command line to use for starting Chrome.
32 CommandLine command; 36 CommandLine command;
33 37
34 // Channel ID to use for connecting to an already running Chrome. 38 // Channel ID to use for connecting to an already running Chrome.
35 std::string channel; 39 std::string channel;
36 40
37 // Whether the lifetime of the started Chrome browser process should be 41 // Whether the lifetime of the started Chrome browser process should be
38 // bound to ChromeDriver's process. If true, Chrome will not quit if 42 // bound to ChromeDriver's process. If true, Chrome will not quit if
39 // ChromeDriver dies. 43 // ChromeDriver dies.
40 bool detach; 44 bool detach;
41 45
42 // List of paths for extensions to install on startup. 46 // List of paths for extensions to install on startup.
43 std::vector<FilePath> extensions; 47 std::vector<FilePath> extensions;
44 48
45 // Whether Chrome should not block when loading. 49 // Whether Chrome should not block when loading.
46 bool load_async; 50 bool load_async;
47 51
48 // Whether Chrome should simulate input events using OS APIs instead of 52 // Whether Chrome should simulate input events using OS APIs instead of
49 // WebKit APIs. 53 // WebKit APIs.
50 bool native_events; 54 bool native_events;
51 55
52 // Path to a custom profile to use. 56 // Path to a custom profile to use.
53 FilePath profile; 57 FilePath profile;
54 58
59 // If true, ChromeDriver will bypass certain configuration options that
Huyen 2011/12/09 23:56:55 same comment as in webdriver_session.h. Maybe reor
kkania 2011/12/10 00:37:44 Done.
60 // are convenient for normal website testing with WebDriver. E.g., if
61 // false, ChromeDriver will configure Chrome so that websites automatically
62 // can track user location without running into an infobar.
63 bool no_website_testing_defaults;
64
55 // Whether ChromeDriver should log verbosely. 65 // Whether ChromeDriver should log verbosely.
56 bool verbose; 66 bool verbose;
57 }; 67 };
58 68
59 // Parses the given capabilities dictionary to produce a |Capabilities| 69 // Parses the given capabilities dictionary to produce a |Capabilities|
60 // instance. 70 // instance.
61 // See webdriver's desired capabilities for more info. 71 // See webdriver's desired capabilities for more info.
62 class CapabilitiesParser { 72 class CapabilitiesParser {
63 public: 73 public:
64 // Create a new parser. |capabilities_dict| is the dictionary for all 74 // Create a new parser. |capabilities_dict| is the dictionary for all
65 // of the user's desired capabilities. |root_path| is the root directory 75 // of the user's desired capabilities. |root_path| is the root directory
66 // to use for writing any necessary files to disk. This function will not 76 // to use for writing any necessary files to disk. This function will not
67 // create it or delete it. All files written to disk will be placed in 77 // create it or delete it. All files written to disk will be placed in
68 // this directory. 78 // this directory.
69 CapabilitiesParser(const base::DictionaryValue* capabilities_dict, 79 CapabilitiesParser(const base::DictionaryValue* capabilities_dict,
70 const FilePath& root_path, 80 const FilePath& root_path,
71 Capabilities* capabilities); 81 Capabilities* capabilities);
72 ~CapabilitiesParser(); 82 ~CapabilitiesParser();
73 83
74 // Parses the capabilities. May return an error. 84 // Parses the capabilities. May return an error.
75 Error* Parse(); 85 Error* Parse();
76 86
77 private: 87 private:
78 Error* ParseArgs(const base::Value* option); 88 Error* ParseArgs(const base::Value* option);
79 Error* ParseBinary(const base::Value* option); 89 Error* ParseBinary(const base::Value* option);
90 Error* ParseCertRevocationChecking(const base::Value* option);
80 Error* ParseChannel(const base::Value* option); 91 Error* ParseChannel(const base::Value* option);
81 Error* ParseDetach(const base::Value* option); 92 Error* ParseDetach(const base::Value* option);
82 Error* ParseExtensions(const base::Value* option); 93 Error* ParseExtensions(const base::Value* option);
83 Error* ParseLoadAsync(const base::Value* option); 94 Error* ParseLoadAsync(const base::Value* option);
84 Error* ParseNativeEvents(const base::Value* option); 95 Error* ParseNativeEvents(const base::Value* option);
85 Error* ParseProfile(const base::Value* option); 96 Error* ParseProfile(const base::Value* option);
97 Error* ParseNoWebsiteTestingDefaults(const base::Value* option);
86 Error* ParseVerbose(const base::Value* option); 98 Error* ParseVerbose(const base::Value* option);
87 // Decodes the given base64-encoded string, optionally unzips it, and 99 // Decodes the given base64-encoded string, optionally unzips it, and
88 // writes the result to |path|. 100 // writes the result to |path|.
89 // On error, false will be returned and |error_msg| will be set. 101 // On error, false will be returned and |error_msg| will be set.
90 bool DecodeAndWriteFile(const FilePath& path, 102 bool DecodeAndWriteFile(const FilePath& path,
91 const std::string& base64, 103 const std::string& base64,
92 bool unzip, 104 bool unzip,
93 std::string* error_msg); 105 std::string* error_msg);
94 106
95 // The capabilities dictionary to parse. 107 // The capabilities dictionary to parse.
96 const base::DictionaryValue* dict_; 108 const base::DictionaryValue* dict_;
97 109
98 // The root directory under which to write all files. 110 // The root directory under which to write all files.
99 const FilePath root_; 111 const FilePath root_;
100 112
101 // A pointer to the capabilities to modify while parsing. 113 // A pointer to the capabilities to modify while parsing.
102 Capabilities* caps_; 114 Capabilities* caps_;
103 115
104 DISALLOW_COPY_AND_ASSIGN(CapabilitiesParser); 116 DISALLOW_COPY_AND_ASSIGN(CapabilitiesParser);
105 }; 117 };
106 118
107 } // namespace webdriver 119 } // namespace webdriver
108 120
109 #endif // CHROME_TEST_WEBDRIVER_WEBDRIVER_CAPABILITIES_PARSER_H_ 121 #endif // CHROME_TEST_WEBDRIVER_WEBDRIVER_CAPABILITIES_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698