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

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

Issue 976313003: [DevTools] Expose DevToolsAgentHost for OOPIF, display it in chrome://inspect. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
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 23c94112b623b8f11e2e37e98f1ef3bfc3f9e709..4a50b349ccf1ff949d69e4e511832235653ec0e9 100644
--- a/chrome/browser/devtools/devtools_target_impl.cc
+++ b/chrome/browser/devtools/devtools_target_impl.cc
@@ -68,7 +68,6 @@ WebContentsTarget::WebContentsTarget(WebContents* web_contents, bool is_tab)
if (rfh->IsCrossProcessSubframe()) {
set_url(rfh->GetLastCommittedURL());
set_type(kTargetTypeIFrame);
- // TODO(pfeldman) Update for out of process iframes.
RenderViewHost* parent_rvh = rfh->GetParent()->GetRenderViewHost();
set_parent_id(DevToolsAgentHost::GetOrCreateFor(
WebContents::FromRenderViewHost(parent_rvh))->GetId());
Charlie Reis 2015/03/05 20:31:14 Please use WebContents::FromRenderFrameHost(rfh->G
@@ -143,6 +142,28 @@ void WebContentsTarget::Inspect(Profile* profile) const {
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(kTargetTypePage);
+ 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 {
@@ -281,6 +302,9 @@ void DevToolsTargetImpl::EnumerateAllTargets(Callback callback) {
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;
« no previous file with comments | « no previous file | chrome/browser/devtools/devtools_window.h » ('j') | content/browser/devtools/render_frame_devtools_agent_host.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698