diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index eca55e5a0..933a2bdf8 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -850,9 +850,7 @@ void CefBrowserHostImpl::CloseDevTools() { if (CEF_CURRENTLY_ON_UIT()) { if (!devtools_frontend_) return; - devtools_observer_.reset(); devtools_frontend_->Close(); - devtools_frontend_ = NULL; } else { CEF_POST_TASK(CEF_UIT, base::Bind(&CefBrowserHostImpl::CloseDevTools, this)); diff --git a/libcef/browser/devtools_frontend.cc b/libcef/browser/devtools_frontend.cc index 6ce309ab3..5d1b75cb1 100644 --- a/libcef/browser/devtools_frontend.cc +++ b/libcef/browser/devtools_frontend.cc @@ -7,6 +7,7 @@ #include "libcef/browser/content_browser_client.h" #include "libcef/browser/devtools_delegate.h" #include "libcef/browser/request_context_impl.h" +#include "libcef/browser/thread_util.h" #include "base/command_line.h" #include "base/json/json_reader.h" @@ -73,7 +74,8 @@ void CefDevToolsFrontend::Focus() { } void CefDevToolsFrontend::Close() { - frontend_browser_->CloseBrowser(true); + CEF_POST_TASK(CEF_UIT, + base::Bind(&CefBrowserHostImpl::CloseBrowser, frontend_browser_, true)); } CefDevToolsFrontend::CefDevToolsFrontend( @@ -155,5 +157,6 @@ void CefDevToolsFrontend::DispatchProtocolMessage( void CefDevToolsFrontend::AgentHostClosed( content::DevToolsAgentHost* agent_host, bool replaced) { + DCHECK(agent_host == agent_host_.get()); Close(); }