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_STUB_DEVTOOLS_CLIENT_H_ 6 #define CHROME_TEST_CHROMEDRIVER_CHROME_STUB_DEVTOOLS_CLIENT_H_ 7 8 #include <list> 9 #include <memory> 10 #include <string> 11 12 #include "base/compiler_specific.h" 13 #include "chrome/test/chromedriver/chrome/devtools_client.h" 14 15 namespace base { 16 class DictionaryValue; 17 } 18 19 class Status; 20 21 class StubDevToolsClient : public DevToolsClient { 22 public: 23 explicit StubDevToolsClient(const std::string& id); 24 StubDevToolsClient(); 25 ~StubDevToolsClient() override; 26 27 // Overridden from DevToolsClient: 28 const std::string& GetId() override; 29 bool WasCrashed() override; 30 Status ConnectIfNecessary() override; 31 Status SetUpDevTools() override; 32 Status SendCommand( 33 const std::string& method, 34 const base::DictionaryValue& params) override; 35 Status SendCommandFromWebSocket(const std::string& method, 36 const base::DictionaryValue& params, 37 const int client_command_id) override; 38 Status SendCommandWithTimeout( 39 const std::string& method, 40 const base::DictionaryValue& params, 41 const Timeout* timeout) override; 42 Status SendAsyncCommand( 43 const std::string& method, 44 const base::DictionaryValue& params) override; 45 Status SendCommandAndGetResult( 46 const std::string& method, 47 const base::DictionaryValue& params, 48 std::unique_ptr<base::DictionaryValue>* result) override; 49 Status SendCommandAndGetResultWithTimeout( 50 const std::string& method, 51 const base::DictionaryValue& params, 52 const Timeout* timeout, 53 std::unique_ptr<base::DictionaryValue>* result) override; 54 Status SendCommandAndIgnoreResponse( 55 const std::string& method, 56 const base::DictionaryValue& params) override; 57 void AddListener(DevToolsEventListener* listener) override; 58 Status HandleEventsUntil(const ConditionalFunc& conditional_func, 59 const Timeout& timeout) override; 60 Status HandleReceivedEvents() override; 61 void SetDetached() override; 62 void SetOwner(WebViewImpl* owner) override; 63 DevToolsClient* GetRootClient() override; 64 65 protected: 66 const std::string id_; 67 std::list<DevToolsEventListener*> listeners_; 68 }; 69 70 #endif // CHROME_TEST_CHROMEDRIVER_CHROME_STUB_DEVTOOLS_CLIENT_H_ 71