 Chromium Code Reviews
 Chromium Code Reviews Issue 189233008:
  DevTools: remove the --remote-debugging-frontend flag.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 189233008:
  DevTools: remove the --remote-debugging-frontend flag.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| 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 1d0fca1e2824f007b7d5856b5be6e696d113b25c..87a5d8e3a408aa205e6ae0698920b8249677ec69 100644 | 
| --- a/content/browser/devtools/devtools_http_handler_impl.cc | 
| +++ b/content/browser/devtools/devtools_http_handler_impl.cc | 
| @@ -216,7 +216,7 @@ GURL DevToolsHttpHandlerImpl::GetFrontendURL() { | 
| if (server_->GetLocalAddress(&ip_address)) | 
| return GURL(); | 
| return GURL(std::string("http://") + ip_address.ToString() + | 
| - overridden_frontend_url_); | 
| + frontend_url_); | 
| } | 
| static std::string PathWithoutParams(const std::string& path) { | 
| @@ -387,11 +387,12 @@ void DevToolsHttpHandlerImpl::OnClose(int connection_id) { | 
| std::string DevToolsHttpHandlerImpl::GetFrontendURLInternal( | 
| const std::string id, | 
| - const std::string& host) { | 
| + const std::string& host, | 
| + const std::string& frontend_url) { | 
| return base::StringPrintf( | 
| "%s%sws=%s%s%s", | 
| - overridden_frontend_url_.c_str(), | 
| - overridden_frontend_url_.find("?") == std::string::npos ? "?" : "&", | 
| + frontend_url.c_str(), | 
| + frontend_url.find("?") == std::string::npos ? "?" : "&", | 
| host.c_str(), | 
| kPageUrlPrefix, | 
| id.c_str()); | 
| @@ -429,11 +430,14 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI( | 
| std::string path = info.path.substr(5); | 
| // Trim fragment and query | 
| - std::string query; | 
| + GURL aux_url; | 
| size_t query_pos = path.find("?"); | 
| if (query_pos != std::string::npos) { | 
| - query = path.substr(query_pos + 1); | 
| + std::string query = path.substr(query_pos + 1); | 
| path = path.substr(0, query_pos); | 
| + | 
| + aux_url = GURL(net::UnescapeURLComponent( | 
| + query, net::UnescapeRule::URL_SPECIAL_CHARS)); | 
| } | 
| size_t fragment_pos = path.find("#"); | 
| @@ -470,16 +474,14 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI( | 
| AddRef(); // Balanced in OnTargetListReceived. | 
| delegate_->EnumerateTargets( | 
| base::Bind(&DevToolsHttpHandlerImpl::OnTargetListReceived, | 
| - this, connection_id, host)); | 
| + this, connection_id, host, aux_url)); | 
| return; | 
| } | 
| if (command == "new") { | 
| - GURL url(net::UnescapeURLComponent( | 
| - query, net::UnescapeRule::URL_SPECIAL_CHARS)); | 
| - if (!url.is_valid()) | 
| - url = GURL(kAboutBlankURL); | 
| - scoped_ptr<DevToolsTarget> target(delegate_->CreateNewTarget(url)); | 
| + if (!aux_url.is_valid()) | 
| + aux_url = GURL(kAboutBlankURL); | 
| + scoped_ptr<DevToolsTarget> target(delegate_->CreateNewTarget(aux_url)); | 
| if (!target) { | 
| SendJson(connection_id, | 
| net::HTTP_INTERNAL_SERVER_ERROR, | 
| @@ -489,7 +491,7 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI( | 
| } | 
| std::string host = info.headers["host"]; | 
| scoped_ptr<base::DictionaryValue> dictionary( | 
| - SerializeTarget(*target.get(), host)); | 
| + SerializeTarget(*target.get(), host, aux_url)); | 
| SendJson(connection_id, net::HTTP_OK, dictionary.get(), std::string()); | 
| const std::string target_id = target->GetId(); | 
| target_map_[target_id] = target.release(); | 
| @@ -540,6 +542,7 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI( | 
| void DevToolsHttpHandlerImpl::OnTargetListReceived( | 
| int connection_id, | 
| const std::string& host, | 
| + const GURL& aux_url, | 
| const DevToolsHttpHandlerDelegate::TargetList& targets) { | 
| DevToolsHttpHandlerDelegate::TargetList sorted_targets = targets; | 
| std::sort(sorted_targets.begin(), sorted_targets.end(), TimeComparator); | 
| @@ -550,7 +553,7 @@ void DevToolsHttpHandlerImpl::OnTargetListReceived( | 
| sorted_targets.begin(); it != sorted_targets.end(); ++it) { | 
| DevToolsTarget* target = *it; | 
| target_map_[target->GetId()] = target; | 
| - list_value.Append(SerializeTarget(*target, host)); | 
| + list_value.Append(SerializeTarget(*target, host, aux_url)); | 
| } | 
| SendJson(connection_id, net::HTTP_OK, &list_value, std::string()); | 
| Release(); // Balanced in OnJsonRequestUI. | 
| @@ -642,11 +645,11 @@ DevToolsHttpHandlerImpl::DevToolsHttpHandlerImpl( | 
| const net::StreamListenSocketFactory* socket_factory, | 
| const std::string& frontend_url, | 
| DevToolsHttpHandlerDelegate* delegate) | 
| - : overridden_frontend_url_(frontend_url), | 
| + : frontend_url_(frontend_url), | 
| socket_factory_(socket_factory), | 
| delegate_(delegate) { | 
| - if (overridden_frontend_url_.empty()) | 
| - overridden_frontend_url_ = "/devtools/devtools.html"; | 
| + if (frontend_url_.empty()) | 
| + frontend_url_ = "/devtools/devtools.html"; | 
| // Balanced in ResetHandlerThreadAndRelease(). | 
| AddRef(); | 
| @@ -748,7 +751,8 @@ void DevToolsHttpHandlerImpl::AcceptWebSocket( | 
| base::DictionaryValue* DevToolsHttpHandlerImpl::SerializeTarget( | 
| const DevToolsTarget& target, | 
| - const std::string& host) { | 
| + const std::string& host, | 
| + const GURL& aux_url) { | 
| base::DictionaryValue* dictionary = new base::DictionaryValue; | 
| std::string id = target.GetId(); | 
| @@ -776,9 +780,13 @@ base::DictionaryValue* DevToolsHttpHandlerImpl::SerializeTarget( | 
| host.c_str(), | 
| kPageUrlPrefix, | 
| id.c_str())); | 
| + std::string overridden_frontend_url = | 
| + aux_url.is_valid() ? aux_url.spec() : frontend_url_; | 
| 
vsevik
2014/03/11 10:50:44
Is this is the only place where this field is used
 | 
| + | 
| std::string devtools_frontend_url = GetFrontendURLInternal( | 
| id.c_str(), | 
| - host); | 
| + host, | 
| + overridden_frontend_url); | 
| dictionary->SetString( | 
| kTargetDevtoolsFrontendUrlField, devtools_frontend_url); | 
| } |