Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1193)

Unified Diff: chrome/browser/devtools/devtools_target_impl.cc

Issue 2263843002: DevTools: merge devtools target with devtools host, part 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: for landing 3 Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/devtools/devtools_target_impl.h ('k') | chrome/browser/devtools/devtools_targets_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/devtools/devtools_target_impl.cc
diff --git a/chrome/browser/devtools/devtools_target_impl.cc b/chrome/browser/devtools/devtools_target_impl.cc
index 269212439e3e2cfa18ea0b6d54611c0e738fe29a..ea81477c4767e65d3a9e1bdcb91c0d390d2f37ea 100644
--- a/chrome/browser/devtools/devtools_target_impl.cc
+++ b/chrome/browser/devtools/devtools_target_impl.cc
@@ -28,151 +28,6 @@ using content::BrowserThread;
using content::DevToolsAgentHost;
using content::WebContents;
-const char DevToolsTargetImpl::kTargetTypeApp[] = "app";
-const char DevToolsTargetImpl::kTargetTypeBackgroundPage[] = "background_page";
-const char DevToolsTargetImpl::kTargetTypePage[] = "page";
-const char DevToolsTargetImpl::kTargetTypeWorker[] = "worker";
-const char DevToolsTargetImpl::kTargetTypeWebView[] = "webview";
-const char DevToolsTargetImpl::kTargetTypeIFrame[] = "iframe";
-const char DevToolsTargetImpl::kTargetTypeNode[] = "node";
-const char DevToolsTargetImpl::kTargetTypeOther[] = "other";
-const char DevToolsTargetImpl::kTargetTypeServiceWorker[] = "service_worker";
-
-namespace {
-
-// WebContentsTarget --------------------------------------------------------
-
-class WebContentsTarget : public DevToolsTargetImpl {
- public:
- WebContentsTarget(WebContents* web_contents, bool is_tab);
-
- // DevToolsTargetImpl overrides.
- int GetTabId() const override;
- std::string GetExtensionId() const override;
- void Inspect(Profile* profile) const override;
-
- private:
- int tab_id_;
- std::string extension_id_;
-};
-
-WebContentsTarget::WebContentsTarget(WebContents* web_contents, bool is_tab)
- : DevToolsTargetImpl(DevToolsAgentHost::GetOrCreateFor(web_contents)),
- tab_id_(-1) {
- set_type(kTargetTypeOther);
-
- guest_view::GuestViewBase* guest =
- guest_view::GuestViewBase::FromWebContents(web_contents);
- WebContents* guest_contents = guest ? guest->embedder_web_contents() : NULL;
- if (guest_contents) {
- set_type(kTargetTypeWebView);
- set_parent_id(DevToolsAgentHost::GetOrCreateFor(guest_contents)->GetId());
- return;
- }
-
- if (is_tab) {
- set_type(kTargetTypePage);
- tab_id_ = extensions::ExtensionTabUtil::GetTabId(web_contents);
- return;
- }
-
- const extensions::Extension* extension = extensions::ExtensionRegistry::Get(
- web_contents->GetBrowserContext())->enabled_extensions().GetByID(
- GetURL().host());
- if (!extension)
- return;
-
- Profile* profile =
- Profile::FromBrowserContext(web_contents->GetBrowserContext());
- if (!profile)
- return;
- set_title(extension->name());
- extensions::ExtensionHost* extension_host =
- extensions::ProcessManager::Get(profile)
- ->GetBackgroundHostForExtension(extension->id());
- if (extension_host &&
- extension_host->host_contents() == web_contents) {
- set_type(kTargetTypeBackgroundPage);
- extension_id_ = extension->id();
- } else if (extension->is_hosted_app()
- || extension->is_legacy_packaged_app()
- || extension->is_platform_app()) {
- set_type(kTargetTypeApp);
- }
- set_favicon_url(extensions::ExtensionIconSource::GetIconURL(
- extension, extension_misc::EXTENSION_ICON_SMALLISH,
- ExtensionIconSet::MATCH_BIGGER, false, NULL));
-}
-
-int WebContentsTarget::GetTabId() const {
- return tab_id_;
-}
-
-std::string WebContentsTarget::GetExtensionId() const {
- return extension_id_;
-}
-
-void WebContentsTarget::Inspect(Profile* profile) const {
- WebContents* web_contents = GetWebContents();
- if (!web_contents)
- return;
- DevToolsWindow::OpenDevToolsWindow(web_contents);
-}
-
-// FrameTarget ----------------------------------------------------------------
-
-class FrameTarget : public DevToolsTargetImpl {
- public:
- explicit FrameTarget(scoped_refptr<DevToolsAgentHost> agent_host);
-
- // DevToolsTargetImpl overrides:
- void Inspect(Profile* profile) const override;
-};
-
-FrameTarget::FrameTarget(scoped_refptr<DevToolsAgentHost> agent_host)
- : DevToolsTargetImpl(agent_host) {
- set_type(kTargetTypeIFrame);
- WebContents* wc = agent_host->GetWebContents();
- DCHECK(DevToolsAgentHost::GetOrCreateFor(wc).get() != agent_host.get());
- set_parent_id(DevToolsAgentHost::GetOrCreateFor(wc)->GetId());
-}
-
-void FrameTarget::Inspect(Profile* profile) const {
- DevToolsWindow::OpenDevToolsWindow(profile, GetAgentHost());
-}
-
-// WorkerTarget ----------------------------------------------------------------
-
-class WorkerTarget : public DevToolsTargetImpl {
- public:
- explicit WorkerTarget(scoped_refptr<DevToolsAgentHost> agent_host);
-
- // DevToolsTargetImpl overrides:
- void Inspect(Profile* profile) const override;
-};
-
-WorkerTarget::WorkerTarget(scoped_refptr<DevToolsAgentHost> agent_host)
- : DevToolsTargetImpl(agent_host) {
- switch (agent_host->GetType()) {
- case DevToolsAgentHost::TYPE_SHARED_WORKER:
- set_type(kTargetTypeWorker);
- break;
- case DevToolsAgentHost::TYPE_SERVICE_WORKER:
- set_type(kTargetTypeServiceWorker);
- break;
- default:
- NOTREACHED();
- }
-}
-
-void WorkerTarget::Inspect(Profile* profile) const {
- DevToolsWindow::OpenDevToolsWindowForWorker(profile, GetAgentHost());
-}
-
-} // namespace
-
-// DevToolsTargetImpl ----------------------------------------------------------
-
DevToolsTargetImpl::~DevToolsTargetImpl() {
}
@@ -181,70 +36,15 @@ DevToolsTargetImpl::DevToolsTargetImpl(
: devtools_discovery::BasicTargetDescriptor(agent_host) {
}
-int DevToolsTargetImpl::GetTabId() const {
- return -1;
-}
-
-WebContents* DevToolsTargetImpl::GetWebContents() const {
- return GetAgentHost()->GetWebContents();
-}
-
-std::string DevToolsTargetImpl::GetExtensionId() const {
- return std::string();
-}
-
-void DevToolsTargetImpl::Inspect(Profile* /*profile*/) const {
-}
-
-void DevToolsTargetImpl::Reload() const {
-}
-
-// static
-std::unique_ptr<DevToolsTargetImpl> DevToolsTargetImpl::CreateForTab(
- content::WebContents* web_contents) {
- // TODO(dgozman): these checks should not be necessary. See
- // http://crbug.com/489664.
- if (!web_contents)
- return nullptr;
- if (!DevToolsAgentHost::GetOrCreateFor(web_contents))
- return nullptr;
- return std::unique_ptr<DevToolsTargetImpl>(
- new WebContentsTarget(web_contents, true));
-}
-
// static
std::vector<DevToolsTargetImpl*> DevToolsTargetImpl::EnumerateAll() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::set<WebContents*> tab_web_contents;
- for (TabContentsIterator it; !it.done(); it.Next())
- tab_web_contents.insert(*it);
-
std::vector<DevToolsTargetImpl*> result;
DevToolsAgentHost::List agents = DevToolsAgentHost::GetOrCreateAll();
for (DevToolsAgentHost::List::iterator it = agents.begin();
it != agents.end(); ++it) {
- DevToolsAgentHost* agent_host = (*it).get();
- switch (agent_host->GetType()) {
- case DevToolsAgentHost::TYPE_WEB_CONTENTS:
- if (WebContents* web_contents = agent_host->GetWebContents()) {
- const bool is_tab =
- tab_web_contents.find(web_contents) != tab_web_contents.end();
- result.push_back(new WebContentsTarget(web_contents, is_tab));
- }
- break;
- case DevToolsAgentHost::TYPE_FRAME:
- result.push_back(new FrameTarget(agent_host));
- break;
- case DevToolsAgentHost::TYPE_SHARED_WORKER:
- result.push_back(new WorkerTarget(agent_host));
- break;
- case DevToolsAgentHost::TYPE_SERVICE_WORKER:
- result.push_back(new WorkerTarget(agent_host));
- break;
- default:
- break;
- }
+ result.push_back(new DevToolsTargetImpl(*it));
}
return result;
}
« no previous file with comments | « chrome/browser/devtools/devtools_target_impl.h ('k') | chrome/browser/devtools/devtools_targets_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698