1 // Copyright (c) 2013 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_TEST_CHROMEDRIVER_CAPABILITIES_H_ 6 #define CHROME_TEST_CHROMEDRIVER_CAPABILITIES_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "base/command_line.h" 12 #include "base/files/file_path.h" 13 #include "base/memory/scoped_ptr.h" 14 15 namespace base { 16 class DictionaryValue; 17 } 18 19 class Log; 20 class Status; 21 22 struct Capabilities { 23 Capabilities(); 24 ~Capabilities(); 25 26 // Return true if android package is specified. 27 bool IsAndroid() const; 28 29 Status Parse(const base::DictionaryValue& desired_caps, Log* log); 30 31 // Whether the lifetime of the started Chrome browser process should be 32 // bound to ChromeDriver's process. If true, Chrome will not quit if 33 // ChromeDriver dies. 34 bool detach; 35 36 std::string android_package; 37 std::string android_activity; 38 std::string android_process; 39 std::string android_device_serial; 40 std::string android_args; 41 42 std::string log_path; 43 CommandLine command; 44 scoped_ptr<base::DictionaryValue> prefs; 45 scoped_ptr<base::DictionaryValue> local_state; 46 std::vector<std::string> extensions; 47 scoped_ptr<base::DictionaryValue> logging_prefs; 48 }; 49 50 #endif // CHROME_TEST_CHROMEDRIVER_CAPABILITIES_H_ 51