Index: content/browser/devtools/render_view_devtools_agent_host.cc |
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc |
index 0628f7789142b6dfbca09261fa1d6473ea37a903..9f3294cd30965070f6db25df452f8556142f3936 100644 |
--- a/content/browser/devtools/render_view_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc |
@@ -199,6 +199,8 @@ void RenderViewDevToolsAgentHost::OnClientAttached() { |
// extensions::ProcessManager no longer relies on this notification. |
DevToolsManagerImpl::GetInstance()->NotifyObservers(this, true); |
+ UpdateBlockedDomains(blocked_domains_); |
+ |
#if defined(OS_ANDROID) |
power_save_blocker_.reset( |
static_cast<PowerSaveBlockerImpl*>( |
@@ -216,6 +218,10 @@ void RenderViewDevToolsAgentHost::OnClientDetached() { |
#if defined(OS_ANDROID) |
power_save_blocker_.reset(); |
#endif |
+ |
+ const std::vector<std::string> empty_list; |
+ UpdateBlockedDomains(empty_list); |
+ |
overrides_handler_->OnClientDetached(); |
ClientDetachedFromRenderer(); |
} |
@@ -378,6 +384,8 @@ bool RenderViewDevToolsAgentHost::DispatchIPCMessage( |
IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCache, OnClearBrowserCache) |
IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCookies, |
OnClearBrowserCookies) |
+ IPC_MESSAGE_HANDLER(DevToolsHostMsg_SetBlockedDomains, |
+ OnSetBlockedDomains) |
IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame, |
handled = false; OnSwapCompositorFrame(msg)) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -425,4 +433,22 @@ void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { |
GetContentClient()->browser()->ClearCookies(render_view_host_); |
} |
+void RenderViewDevToolsAgentHost::UpdateBlockedDomains( |
+ const std::vector<std::string>& blocked_domains) { |
+ if (render_view_host_) { |
+ GetContentClient()->browser()->SetBlockedDomains( |
+ render_view_host_, GetId(), blocked_domains); |
+ } |
+} |
+ |
+void RenderViewDevToolsAgentHost::OnSetBlockedDomains( |
+ const std::vector<std::string>& blocked_domains) { |
+ std::vector<std::string> items; |
+ blocked_domains_.clear(); |
+ for (size_t i = 0; i < blocked_domains.size(); ++i) |
+ items.push_back(blocked_domains[i]); |
+ blocked_domains_.swap(items); |
+ UpdateBlockedDomains(blocked_domains_); |
+} |
+ |
} // namespace content |