Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Unified Diff: content/browser/devtools/devtools_http_handler_impl.cc

Issue 189233008: DevTools: remove the --remote-debugging-frontend flag. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comment addressed. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698