diff options
author | kaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-25 16:52:55 +0000 |
---|---|---|
committer | kaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-25 16:52:55 +0000 |
commit | 296d770a744a554751bca5bdf16e681bb8615589 (patch) | |
tree | 504401fccf5378ad7bfbccb027ebd8c1a0debb75 /content/browser/devtools | |
parent | ca74711f5188fa335c14d2f0f12aabf163002f0e (diff) | |
download | chromium_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.cc | 11 | ||||
-rw-r--r-- | content/browser/devtools/devtools_http_handler_unittest.cc | 2 |
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 { |