1 // Copyright 2014 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_BROWSER_DEVTOOLS_CHROME_DEVTOOLS_MANAGER_DELEGATE_H_ 6 #define CHROME_BROWSER_DEVTOOLS_CHROME_DEVTOOLS_MANAGER_DELEGATE_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/macros.h" 10 #include "base/memory/scoped_ptr.h" 11 #include "chrome/browser/devtools/devtools_protocol.h" 12 #include "content/public/browser/devtools_manager_delegate.h" 13 14 class DevToolsNetworkConditions; 15 class Profile; 16 17 class ChromeDevToolsManagerDelegate : public content::DevToolsManagerDelegate { 18 public: 19 ChromeDevToolsManagerDelegate(); 20 virtual ~ChromeDevToolsManagerDelegate(); 21 22 // content::DevToolsManagerDelegate overrides: 23 virtual void Inspect(content::BrowserContext* browser_context, 24 content::DevToolsAgentHost* agent_host) OVERRIDE; 25 virtual void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host, 26 bool attached) OVERRIDE; 27 virtual base::DictionaryValue* HandleCommand( 28 content::DevToolsAgentHost* agent_host, 29 base::DictionaryValue* command_dict) OVERRIDE; 30 31 private: 32 Profile* GetProfile(content::DevToolsAgentHost* agent_host); 33 34 scoped_ptr<DevToolsProtocol::Response> EmulateNetworkConditions( 35 content::DevToolsAgentHost* agent_host, 36 DevToolsProtocol::Command* command); 37 38 void UpdateNetworkState( 39 content::DevToolsAgentHost* agent_host, 40 scoped_ptr<DevToolsNetworkConditions> conditions); 41 42 DISALLOW_COPY_AND_ASSIGN(ChromeDevToolsManagerDelegate); 43 }; 44 45 #endif // CHROME_BROWSER_DEVTOOLS_CHROME_DEVTOOLS_MANAGER_DELEGATE_H_ 46