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

Side by Side Diff: content/browser/devtools/devtools_http_handler_impl.cc

Issue 46523002: Fix Telemetry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/devtools/devtools_http_handler_impl.h" 5 #include "content/browser/devtools/devtools_http_handler_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 return true; 418 return true;
419 } 419 }
420 420
421 void DevToolsHttpHandlerImpl::OnJsonRequestUI( 421 void DevToolsHttpHandlerImpl::OnJsonRequestUI(
422 int connection_id, 422 int connection_id,
423 const net::HttpServerRequestInfo& info) { 423 const net::HttpServerRequestInfo& info) {
424 // Trim /json 424 // Trim /json
425 std::string path = info.path.substr(5); 425 std::string path = info.path.substr(5);
426 426
427 // Trim fragment and query 427 // Trim fragment and query
428 std::string query;
429 size_t query_pos = path.find("?"); 428 size_t query_pos = path.find("?");
430 if (query_pos != std::string::npos) { 429 if (query_pos != std::string::npos)
431 query = path.substr(query_pos + 1);
432 path = path.substr(0, query_pos); 430 path = path.substr(0, query_pos);
433 }
434 431
435 size_t fragment_pos = path.find("#"); 432 size_t fragment_pos = path.find("#");
436 if (fragment_pos != std::string::npos) 433 if (fragment_pos != std::string::npos)
437 path = path.substr(0, fragment_pos); 434 path = path.substr(0, fragment_pos);
438 435
439 std::string command; 436 std::string command;
440 std::string target_id; 437 std::string target_id;
441 if (!ParseJsonPath(path, &command, &target_id)) { 438 if (!ParseJsonPath(path, &command, &target_id)) {
442 SendJson(connection_id, 439 SendJson(connection_id,
443 net::HTTP_NOT_FOUND, 440 net::HTTP_NOT_FOUND,
(...skipping 16 matching lines...) Expand all
460 if (command == "list") { 457 if (command == "list") {
461 std::string host = info.headers["host"]; 458 std::string host = info.headers["host"];
462 AddRef(); // Balanced in OnTargetListReceived. 459 AddRef(); // Balanced in OnTargetListReceived.
463 delegate_->EnumerateTargets( 460 delegate_->EnumerateTargets(
464 base::Bind(&DevToolsHttpHandlerImpl::OnTargetListReceived, 461 base::Bind(&DevToolsHttpHandlerImpl::OnTargetListReceived,
465 this, connection_id, host)); 462 this, connection_id, host));
466 return; 463 return;
467 } 464 }
468 465
469 if (command == "new") { 466 if (command == "new") {
470 GURL url(net::UnescapeURLComponent( 467 scoped_ptr<DevToolsTarget> target(delegate_->CreateNewTarget());
471 query, net::UnescapeRule::URL_SPECIAL_CHARS));
472 if (!url.is_valid())
473 url = GURL(kAboutBlankURL);
474 scoped_ptr<DevToolsTarget> target(delegate_->CreateNewTarget(url));
475 if (!target) { 468 if (!target) {
476 SendJson(connection_id, 469 SendJson(connection_id,
477 net::HTTP_INTERNAL_SERVER_ERROR, 470 net::HTTP_INTERNAL_SERVER_ERROR,
478 NULL, 471 NULL,
479 "Could not create new page"); 472 "Could not create new page");
480 return; 473 return;
481 } 474 }
482 std::string host = info.headers["host"]; 475 std::string host = info.headers["host"];
483 scoped_ptr<base::DictionaryValue> dictionary( 476 scoped_ptr<base::DictionaryValue> dictionary(
484 SerializeTarget(*target.get(), host)); 477 SerializeTarget(*target.get(), host));
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 id.c_str(), 765 id.c_str(),
773 host); 766 host);
774 dictionary->SetString( 767 dictionary->SetString(
775 kTargetDevtoolsFrontendUrlField, devtools_frontend_url); 768 kTargetDevtoolsFrontendUrlField, devtools_frontend_url);
776 } 769 }
777 770
778 return dictionary; 771 return dictionary;
779 } 772 }
780 773
781 } // namespace content 774 } // namespace content
OLDNEW
« no previous file with comments | « chrome/test/data/devtools/target_list/background.js ('k') | content/browser/devtools/devtools_http_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698