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

Unified Diff: content/browser/histogram_internals_request_job.cc

Issue 2874623002: Implement chrome://histograms with network service. (Closed)
Patch Set: add comment Created 3 years, 7 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
« no previous file with comments | « content/browser/histogram_internals_request_job.h ('k') | content/browser/histogram_internals_url_loader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/histogram_internals_request_job.cc
diff --git a/content/browser/histogram_internals_request_job.cc b/content/browser/histogram_internals_request_job.cc
index 3dd61a3bda7072a77a8d0af92307146ad915a029..bfd6f24b7e4c551de427213443063cbbb7611030 100644
--- a/content/browser/histogram_internals_request_job.cc
+++ b/content/browser/histogram_internals_request_job.cc
@@ -18,19 +18,22 @@ namespace content {
HistogramInternalsRequestJob::HistogramInternalsRequestJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate)
- : net::URLRequestSimpleJob(request, network_delegate), weak_factory_(this) {
- const std::string& spec = request->url().possibly_invalid_spec();
- const url::Parsed& parsed = request->url().parsed_for_possibly_invalid_spec();
+ : net::URLRequestSimpleJob(request, network_delegate),
+ url_(request->url()),
+ weak_factory_(this) {}
+
+HistogramInternalsRequestJob::~HistogramInternalsRequestJob() {}
+
+std::string HistogramInternalsRequestJob::GenerateHTML(const GURL& url) {
+ const std::string& spec = url.possibly_invalid_spec();
+ const url::Parsed& parsed = url.parsed_for_possibly_invalid_spec();
// + 1 to skip the slash at the beginning of the path.
int offset = parsed.CountCharactersBefore(url::Parsed::PATH, false) + 1;
+ std::string path;
if (offset < static_cast<int>(spec.size()))
- path_.assign(spec.substr(offset));
-}
-
-HistogramInternalsRequestJob::~HistogramInternalsRequestJob() {}
+ path = spec.substr(offset);
-void AboutHistogram(std::string* data, const std::string& path) {
HistogramSynchronizer::FetchHistograms();
std::string unescaped_query;
@@ -41,21 +44,23 @@ void AboutHistogram(std::string* data, const std::string& path) {
unescaped_title += " - " + unescaped_query;
}
- data->append("<!DOCTYPE html>\n<html>\n<head>\n");
- data->append(
+ std::string data;
+ data.append("<!DOCTYPE html>\n<html>\n<head>\n");
+ data.append(
"<meta http-equiv=\"Content-Security-Policy\" "
"content=\"object-src 'none'; script-src 'none'\">");
- data->append("<title>");
- data->append(net::EscapeForHTML(unescaped_title));
- data->append("</title>\n");
- data->append("</head><body>");
+ data.append("<title>");
+ data.append(net::EscapeForHTML(unescaped_title));
+ data.append("</title>\n");
+ data.append("</head><body>");
// Display any stats for which we sent off requests the last time.
- data->append("<p>Stats accumulated from browser startup to previous ");
- data->append("page load; reload to get stats as of this page load.</p>\n");
- data->append("<table width=\"100%\">\n");
+ data.append("<p>Stats accumulated from browser startup to previous ");
+ data.append("page load; reload to get stats as of this page load.</p>\n");
+ data.append("<table width=\"100%\">\n");
- base::StatisticsRecorder::WriteHTMLGraph(unescaped_query, data);
+ base::StatisticsRecorder::WriteHTMLGraph(unescaped_query, &data);
+ return data;
}
void HistogramInternalsRequestJob::Start() {
@@ -77,8 +82,7 @@ int HistogramInternalsRequestJob::GetData(
mime_type->assign("text/html");
charset->assign("UTF8");
- data->clear();
- AboutHistogram(data, path_);
+ *data = GenerateHTML(url_);
return net::OK;
}
« no previous file with comments | « content/browser/histogram_internals_request_job.h ('k') | content/browser/histogram_internals_url_loader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698