summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authorkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-01 13:38:16 +0000
committerkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-01 13:38:16 +0000
commit9b48510b3ebc70aeb0dcc477a57eb2bf1d8f9753 (patch)
tree51bade916c1d2811a7868312fbb5e5d7b935b6a7 /content/browser
parentce5cbed872693ef89bb6e33fa4dd513b1dd7054b (diff)
downloadchromium_src-9b48510b3ebc70aeb0dcc477a57eb2bf1d8f9753.zip
chromium_src-9b48510b3ebc70aeb0dcc477a57eb2bf1d8f9753.tar.gz
chromium_src-9b48510b3ebc70aeb0dcc477a57eb2bf1d8f9753.tar.bz2
Prevent DevTools window from disappearing when interstitial page is displayed
BUG=247631 Review URL: https://chromiumcodereview.appspot.com/16917005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209419 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/devtools/render_view_devtools_agent_host.cc13
-rw-r--r--content/browser/devtools/render_view_devtools_agent_host.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc
index 51cee3c..07ac3f5 100644
--- a/content/browser/devtools/render_view_devtools_agent_host.cc
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc
@@ -256,6 +256,19 @@ void RenderViewDevToolsAgentHost::RenderViewGone(
}
}
+void RenderViewDevToolsAgentHost::DidAttachInterstitialPage() {
+ if (!render_view_host_)
+ return;
+ // The rvh set in AboutToNavigateRenderView turned out to be interstitial.
+ // Connect back to the real one.
+ WebContents* web_contents =
+ WebContents::FromRenderViewHost(render_view_host_);
+ if (!web_contents)
+ return;
+ DisconnectRenderViewHost();
+ ConnectRenderViewHost(web_contents->GetRenderViewHost(), true);
+}
+
void RenderViewDevToolsAgentHost::ConnectRenderViewHost(RenderViewHost* rvh,
bool reattach) {
render_view_host_ = rvh;
diff --git a/content/browser/devtools/render_view_devtools_agent_host.h b/content/browser/devtools/render_view_devtools_agent_host.h
index bac4064..fddd90e 100644
--- a/content/browser/devtools/render_view_devtools_agent_host.h
+++ b/content/browser/devtools/render_view_devtools_agent_host.h
@@ -49,6 +49,7 @@ class CONTENT_EXPORT RenderViewDevToolsAgentHost
// WebContentsObserver overrides.
virtual void AboutToNavigateRenderView(RenderViewHost* dest_rvh) OVERRIDE;
virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE;
+ virtual void DidAttachInterstitialPage() OVERRIDE;
void ConnectRenderViewHost(RenderViewHost* rvh, bool reattach);
void DisconnectRenderViewHost();