diff options
author | dgozman <dgozman@chromium.org> | 2014-09-22 05:40:06 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-22 12:40:22 +0000 |
commit | 252e18d2c4116131af20cac7759141ea930dcd28 (patch) | |
tree | 067f8dd6bc0a2be7dbf7d715218b0d08e2128a2c /chrome/browser/devtools | |
parent | 9b46fe6874291e1e50c9230b720293932dea6231 (diff) | |
download | chromium_src-252e18d2c4116131af20cac7759141ea930dcd28.zip chromium_src-252e18d2c4116131af20cac7759141ea930dcd28.tar.gz chromium_src-252e18d2c4116131af20cac7759141ea930dcd28.tar.bz2 |
[DevTools] Move target-related methods from DevToolsHttpHandlerDelegate to DevToolsManagerDelegate.
This decouples targets discovery from remote debugging in preparation
of moving discovery to the protocol.
BUG=398049
Review URL: https://codereview.chromium.org/560323005
Cr-Commit-Position: refs/heads/master@{#295953}
Diffstat (limited to 'chrome/browser/devtools')
5 files changed, 47 insertions, 57 deletions
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn index d1def53..9404d4b 100644 --- a/chrome/browser/devtools/BUILD.gn +++ b/chrome/browser/devtools/BUILD.gn @@ -23,8 +23,6 @@ action("devtools_protocol_constants") { static_library("devtools") { # Note: new sources and deps should be generally added in (!is_android) below. sources = [ - "chrome_devtools_manager_delegate.cc", - "chrome_devtools_manager_delegate.h", "devtools_network_conditions.cc", "devtools_network_conditions.h", "devtools_network_controller.cc", @@ -101,6 +99,8 @@ static_library("devtools") { "device/usb/usb_device_provider.h", "browser_list_tabcontents_provider.cc", "browser_list_tabcontents_provider.h", + "chrome_devtools_manager_delegate.cc", + "chrome_devtools_manager_delegate.h", "devtools_contents_resizing_strategy.cc", "devtools_contents_resizing_strategy.h", "devtools_embedder_message_dispatcher.cc", diff --git a/chrome/browser/devtools/browser_list_tabcontents_provider.cc b/chrome/browser/devtools/browser_list_tabcontents_provider.cc index 4ddb06f..6110231 100644 --- a/chrome/browser/devtools/browser_list_tabcontents_provider.cc +++ b/chrome/browser/devtools/browser_list_tabcontents_provider.cc @@ -6,29 +6,18 @@ #include "base/path_service.h" #include "base/strings/string_number_conversions.h" -#include "chrome/browser/devtools/devtools_target_impl.h" #include "chrome/browser/history/top_sites.h" -#include "chrome/browser/profiles/profile_manager.h" +#include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_iterator.h" -#include "chrome/browser/ui/browser_list.h" -#include "chrome/browser/ui/browser_navigator.h" -#include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/host_desktop.h" -#include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/chrome_paths.h" -#include "content/public/browser/web_contents.h" #include "content/public/common/url_constants.h" #include "grit/browser_resources.h" #include "net/socket/tcp_listen_socket.h" #include "net/url_request/url_request_context_getter.h" #include "ui/base/resource/resource_bundle.h" -using content::DevToolsTarget; -using content::RenderViewHost; -using content::WebContents; - namespace { const int kMinTetheringPort = 9333; @@ -85,38 +74,6 @@ base::FilePath BrowserListTabContentsProvider::GetDebugFrontendDir() { #endif } -std::string BrowserListTabContentsProvider::GetPageThumbnailData( - const GURL& url) { - for (chrome::BrowserIterator it; !it.done(); it.Next()) { - Profile* profile = (*it)->profile(); - history::TopSites* top_sites = profile->GetTopSites(); - if (!top_sites) - continue; - scoped_refptr<base::RefCountedMemory> data; - if (top_sites->GetPageThumbnail(url, false, &data)) - return std::string(data->front_as<char>(), data->size()); - } - - return std::string(); -} - -scoped_ptr<DevToolsTarget> -BrowserListTabContentsProvider::CreateNewTarget(const GURL& url) { - chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(), - url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL); - params.disposition = NEW_FOREGROUND_TAB; - chrome::Navigate(¶ms); - if (!params.target_contents) - return scoped_ptr<DevToolsTarget>(); - return scoped_ptr<DevToolsTarget>( - DevToolsTargetImpl::CreateForWebContents(params.target_contents, true)); -} - -void BrowserListTabContentsProvider::EnumerateTargets(TargetCallback callback) { - DevToolsTargetImpl::EnumerateAllTargets( - *reinterpret_cast<DevToolsTargetImpl::Callback*>(&callback)); -} - scoped_ptr<net::StreamListenSocket> BrowserListTabContentsProvider::CreateSocketForTethering( net::StreamListenSocket::Delegate* delegate, diff --git a/chrome/browser/devtools/browser_list_tabcontents_provider.h b/chrome/browser/devtools/browser_list_tabcontents_provider.h index 3296385..db425d0b 100644 --- a/chrome/browser/devtools/browser_list_tabcontents_provider.h +++ b/chrome/browser/devtools/browser_list_tabcontents_provider.h @@ -26,10 +26,6 @@ class BrowserListTabContentsProvider virtual std::string GetDiscoveryPageHTML() OVERRIDE; virtual bool BundlesFrontendResources() OVERRIDE; virtual base::FilePath GetDebugFrontendDir() OVERRIDE; - virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE; - virtual scoped_ptr<content::DevToolsTarget> CreateNewTarget( - const GURL& url) OVERRIDE; - virtual void EnumerateTargets(TargetCallback callback) OVERRIDE; virtual scoped_ptr<net::StreamListenSocket> CreateSocketForTethering( net::StreamListenSocket::Delegate* delegate, std::string* name) OVERRIDE; diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc index fd9cfed..1bd1a82 100644 --- a/chrome/browser/devtools/chrome_devtools_manager_delegate.cc +++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.cc @@ -5,9 +5,16 @@ #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h" #include "base/values.h" +#include "chrome/browser/devtools/devtools_target_impl.h" #include "chrome/browser/devtools/devtools_window.h" +#include "chrome/browser/history/top_sites.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/browser/profiles/profile_manager.h" +#include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" +#include "content/public/browser/browser_thread.h" #include "content/public/browser/devtools_agent_host.h" +#include "content/public/browser/web_contents.h" ChromeDevToolsManagerDelegate::ChromeDevToolsManagerDelegate() : network_protocol_handler_(new DevToolsNetworkProtocolHandler()) { @@ -23,10 +30,8 @@ void ChromeDevToolsManagerDelegate::Inspect( // TODO(horo): Support other types of DevToolsAgentHost when necessary. NOTREACHED() << "Inspect() only supports workers."; } -#if !defined(OS_ANDROID) if (Profile* profile = Profile::FromBrowserContext(browser_context)) DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host); -#endif } base::DictionaryValue* ChromeDevToolsManagerDelegate::HandleCommand( @@ -40,3 +45,35 @@ void ChromeDevToolsManagerDelegate::DevToolsAgentStateChanged( bool attached) { network_protocol_handler_->DevToolsAgentStateChanged(agent_host, attached); } + +std::string ChromeDevToolsManagerDelegate::GetPageThumbnailData( + const GURL& url) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Profile* profile = (*it)->profile(); + history::TopSites* top_sites = profile->GetTopSites(); + if (!top_sites) + continue; + scoped_refptr<base::RefCountedMemory> data; + if (top_sites->GetPageThumbnail(url, false, &data)) + return std::string(data->front_as<char>(), data->size()); + } + return std::string(); +} + +scoped_ptr<content::DevToolsTarget> +ChromeDevToolsManagerDelegate::CreateNewTarget(const GURL& url) { + chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(), + url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL); + params.disposition = NEW_FOREGROUND_TAB; + chrome::Navigate(¶ms); + if (!params.target_contents) + return scoped_ptr<content::DevToolsTarget>(); + return scoped_ptr<content::DevToolsTarget>( + DevToolsTargetImpl::CreateForWebContents(params.target_contents, true)); +} + +void ChromeDevToolsManagerDelegate::EnumerateTargets(TargetCallback callback) { + DevToolsTargetImpl::EnumerateAllTargets( + *reinterpret_cast<DevToolsTargetImpl::Callback*>(&callback)); +} + diff --git a/chrome/browser/devtools/chrome_devtools_manager_delegate.h b/chrome/browser/devtools/chrome_devtools_manager_delegate.h index 3885e48..08b7e62 100644 --- a/chrome/browser/devtools/chrome_devtools_manager_delegate.h +++ b/chrome/browser/devtools/chrome_devtools_manager_delegate.h @@ -9,18 +9,14 @@ #include "base/macros.h" #include "base/memory/scoped_ptr.h" #include "chrome/browser/devtools/devtools_network_protocol_handler.h" -#include "chrome/browser/devtools/devtools_protocol.h" #include "content/public/browser/devtools_manager_delegate.h" -class DevToolsNetworkConditions; -class Profile; - class ChromeDevToolsManagerDelegate : public content::DevToolsManagerDelegate { public: ChromeDevToolsManagerDelegate(); virtual ~ChromeDevToolsManagerDelegate(); - // content::DevToolsManagerDelegate overrides: + // content::DevToolsManagerDelegate implementation. virtual void Inspect(content::BrowserContext* browser_context, content::DevToolsAgentHost* agent_host) OVERRIDE; virtual void DevToolsAgentStateChanged(content::DevToolsAgentHost* agent_host, @@ -28,6 +24,10 @@ class ChromeDevToolsManagerDelegate : public content::DevToolsManagerDelegate { virtual base::DictionaryValue* HandleCommand( content::DevToolsAgentHost* agent_host, base::DictionaryValue* command_dict) OVERRIDE; + virtual scoped_ptr<content::DevToolsTarget> CreateNewTarget( + const GURL& url) OVERRIDE; + virtual void EnumerateTargets(TargetCallback callback) OVERRIDE; + virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE; private: scoped_ptr<DevToolsNetworkProtocolHandler> network_protocol_handler_; |