| Index: content/browser/devtools/devtools_http_handler_impl.cc
|
| diff --git a/content/browser/devtools/devtools_http_handler_impl.cc b/content/browser/devtools/devtools_http_handler_impl.cc
|
| index 90ee8d204942addc1676212df17489f57577c8c6..e228e37f6a9fdde37385f66585829d8594ef4f83 100644
|
| --- a/content/browser/devtools/devtools_http_handler_impl.cc
|
| +++ b/content/browser/devtools/devtools_http_handler_impl.cc
|
| @@ -333,10 +333,9 @@ void DevToolsHttpHandlerImpl::StopWithoutRelease() {
|
| }
|
|
|
| GURL DevToolsHttpHandlerImpl::GetFrontendURL() {
|
| - net::IPEndPoint ip_address;
|
| - if (server_ && server_->GetLocalAddress(&ip_address))
|
| + if (!server_ip_address_)
|
| return GURL();
|
| - return GURL(std::string("http://") + ip_address.ToString() + frontend_url_);
|
| + return GURL(std::string("http://") + server_ip_address_->ToString() + frontend_url_);
|
| }
|
|
|
| static std::string PathWithoutParams(const std::string& path) {
|
| @@ -767,6 +766,15 @@ void DevToolsHttpHandlerImpl::OnCloseUI(int connection_id) {
|
| }
|
| }
|
|
|
| +void DevToolsHttpHandlerImpl::OnHttpServerInitialized(
|
| + const net::IPEndPoint& ip_address) {
|
| + server_ip_address_.reset(new net::IPEndPoint(ip_address));
|
| +}
|
| +
|
| +void DevToolsHttpHandlerImpl::OnHttpServerDeinitialized() {
|
| + server_ip_address_.reset(NULL);
|
| +}
|
| +
|
| DevToolsHttpHandlerImpl::DevToolsHttpHandlerImpl(
|
| scoped_ptr<ServerSocketFactory> server_socket_factory,
|
| const std::string& frontend_url,
|
| @@ -796,6 +804,12 @@ void DevToolsHttpHandlerImpl::Init() {
|
| }
|
|
|
| server_.reset(new net::HttpServer(server_socket.Pass(), this));
|
| + net::IPEndPoint ip_address;
|
| + server_->GetLocalAddress(&ip_address);
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + base::Bind(&DevToolsHttpHandlerImpl::OnHttpServerInitialized,
|
| + this, ip_address));
|
| if (!active_port_output_directory_.empty())
|
| WriteActivePortToUserProfile();
|
| }
|
| @@ -803,6 +817,9 @@ void DevToolsHttpHandlerImpl::Init() {
|
| // Runs on the handler thread
|
| void DevToolsHttpHandlerImpl::Teardown() {
|
| server_.reset(NULL);
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + base::Bind(&DevToolsHttpHandlerImpl::OnHttpServerDeinitialized, this));
|
| }
|
|
|
| // Runs on FILE thread to make sure that it is serialized against
|
|
|