summaryrefslogtreecommitdiffstats
path: root/content/browser/devtools
diff options
context:
space:
mode:
authorkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-25 16:52:55 +0000
committerkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-25 16:52:55 +0000
commit296d770a744a554751bca5bdf16e681bb8615589 (patch)
tree504401fccf5378ad7bfbccb027ebd8c1a0debb75 /content/browser/devtools
parentca74711f5188fa335c14d2f0f12aabf163002f0e (diff)
downloadchromium_src-296d770a744a554751bca5bdf16e681bb8615589.zip
chromium_src-296d770a744a554751bca5bdf16e681bb8615589.tar.gz
chromium_src-296d770a744a554751bca5bdf16e681bb8615589.tar.bz2
DevTools: Add URL query parameter to json/new command
TBR=pfeldman,bulach,mnaganov BUG=311014 Review URL: https://codereview.chromium.org/39993002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231043 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/devtools')
-rw-r--r--content/browser/devtools/devtools_http_handler_impl.cc11
-rw-r--r--content/browser/devtools/devtools_http_handler_unittest.cc2
2 files changed, 10 insertions, 3 deletions
diff --git a/content/browser/devtools/devtools_http_handler_impl.cc b/content/browser/devtools/devtools_http_handler_impl.cc
index bdea96f..cd6cf8f 100644
--- a/content/browser/devtools/devtools_http_handler_impl.cc
+++ b/content/browser/devtools/devtools_http_handler_impl.cc
@@ -425,9 +425,12 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI(
std::string path = info.path.substr(5);
// Trim fragment and query
+ std::string query;
size_t query_pos = path.find("?");
- if (query_pos != std::string::npos)
+ if (query_pos != std::string::npos) {
+ query = path.substr(query_pos + 1);
path = path.substr(0, query_pos);
+ }
size_t fragment_pos = path.find("#");
if (fragment_pos != std::string::npos)
@@ -464,7 +467,11 @@ void DevToolsHttpHandlerImpl::OnJsonRequestUI(
}
if (command == "new") {
- scoped_ptr<DevToolsTarget> target(delegate_->CreateNewTarget());
+ 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 (!target) {
SendJson(connection_id,
net::HTTP_INTERNAL_SERVER_ERROR,
diff --git a/content/browser/devtools/devtools_http_handler_unittest.cc b/content/browser/devtools/devtools_http_handler_unittest.cc
index cc751f0..f3179f0 100644
--- a/content/browser/devtools/devtools_http_handler_unittest.cc
+++ b/content/browser/devtools/devtools_http_handler_unittest.cc
@@ -65,7 +65,7 @@ class DummyDelegate : public DevToolsHttpHandlerDelegate {
virtual std::string GetPageThumbnailData(const GURL& url) OVERRIDE {
return std::string();
}
- virtual scoped_ptr<DevToolsTarget> CreateNewTarget() OVERRIDE {
+ virtual scoped_ptr<DevToolsTarget> CreateNewTarget(const GURL& url) OVERRIDE {
return scoped_ptr<DevToolsTarget>();
}
virtual void EnumerateTargets(TargetCallback callback) OVERRIDE {