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 CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_ 6 #define CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_ 7 8 #include <string> 9 #include <vector> 10 11 #include "base/callback.h" 12 13 namespace base { 14 class DictionaryValue; 15 } 16 17 class GURL; 18 19 namespace content { 20 21 class BrowserContext; 22 class DevToolsAgentHost; 23 class DevToolsTarget; 24 25 class DevToolsManagerDelegate { 26 public: 27 virtual ~DevToolsManagerDelegate() {} 28 29 // Opens the inspector for |agent_host|. 30 virtual void Inspect(BrowserContext* browser_context, 31 DevToolsAgentHost* agent_host) = 0; 32 33 virtual void DevToolsAgentStateChanged(DevToolsAgentHost* agent_host, 34 bool attached) = 0; 35 36 // Result ownership is passed to the caller. 37 virtual base::DictionaryValue* HandleCommand( 38 DevToolsAgentHost* agent_host, 39 base::DictionaryValue* command) = 0; 40 41 // Creates new inspectable target. 42 virtual scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) = 0; 43 44 typedef std::vector<DevToolsTarget*> TargetList; 45 typedef base::Callback<void(const TargetList&)> TargetCallback; 46 47 // Requests the list of all inspectable targets. 48 // The caller gets the ownership of the returned targets. 49 virtual void EnumerateTargets(TargetCallback callback) = 0; 50 51 // Get a thumbnail for a given page. Returns non-empty string iff we have the 52 // thumbnail. 53 virtual std::string GetPageThumbnailData(const GURL& url) = 0; 54 }; 55 56 } // namespace content 57 58 #endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_MANAGER_DELEGATE_H_ 59