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_CHROME_CHROME_ANDROID_IMPL_H_ 6 #define CHROME_TEST_CHROMEDRIVER_CHROME_CHROME_ANDROID_IMPL_H_ 7 8 #include <memory> 9 #include <string> 10 #include <vector> 11 12 #include "base/compiler_specific.h" 13 #include "chrome/test/chromedriver/chrome/chrome_impl.h" 14 15 class Device; 16 class DevToolsClient; 17 class DevToolsHttpClient; 18 19 class ChromeAndroidImpl : public ChromeImpl { 20 public: 21 ChromeAndroidImpl(std::unique_ptr<DevToolsHttpClient> http_client, 22 std::unique_ptr<DevToolsClient> websocket_client, 23 std::vector<std::unique_ptr<DevToolsEventListener>> 24 devtools_event_listeners, 25 std::string page_load_strategy, 26 std::unique_ptr<Device> device); 27 ~ChromeAndroidImpl() override; 28 29 // Overridden from Chrome: 30 Status GetAsDesktop(ChromeDesktopImpl** desktop) override; 31 std::string GetOperatingSystemName() override; 32 33 // Overridden from ChromeImpl: 34 bool HasTouchScreen() const override; 35 Status QuitImpl() override; 36 37 protected: 38 Status GetWindow(const std::string& target_id, Window* window) override; 39 40 private: 41 std::unique_ptr<Device> device_; 42 }; 43 44 #endif // CHROME_TEST_CHROMEDRIVER_CHROME_CHROME_ANDROID_IMPL_H_ 45