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

Side by Side Diff: chrome/browser/ui/webui/about_ui.cc

Issue 12767006: [Cleanup] Remove StringPrintf from global namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, once more Created 7 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 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 "chrome/browser/ui/webui/about_ui.h" 5 #include "chrome/browser/ui/webui/about_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // redirects you to the final page. This avoids the problem where typing 101 // redirects you to the final page. This avoids the problem where typing
102 // "about:memory" on the new tab page or any other page where a process 102 // "about:memory" on the new tab page or any other page where a process
103 // transition would occur to the about URL will cause some confusion. 103 // transition would occur to the about URL will cause some confusion.
104 // 104 //
105 // The problem is that during the processing of the memory page, there are two 105 // The problem is that during the processing of the memory page, there are two
106 // processes active, the original and the destination one. This can create the 106 // processes active, the original and the destination one. This can create the
107 // impression that we're using more resources than we actually are. This 107 // impression that we're using more resources than we actually are. This
108 // redirect solves the problem by eliminating the process transition during the 108 // redirect solves the problem by eliminating the process transition during the
109 // time that about memory is being computed. 109 // time that about memory is being computed.
110 std::string GetAboutMemoryRedirectResponse(Profile* profile) { 110 std::string GetAboutMemoryRedirectResponse(Profile* profile) {
111 return StringPrintf("<meta http-equiv=\"refresh\" content=\"0;%s\">", 111 return base::StringPrintf("<meta http-equiv=\"refresh\" content=\"0;%s\">",
112 chrome::kChromeUIMemoryRedirectURL); 112 chrome::kChromeUIMemoryRedirectURL);
113 } 113 }
114 114
115 // Handling about:memory is complicated enough to encapsulate its related 115 // Handling about:memory is complicated enough to encapsulate its related
116 // methods into a single class. The user should create it (on the heap) and call 116 // methods into a single class. The user should create it (on the heap) and call
117 // its |StartFetch()| method. 117 // its |StartFetch()| method.
118 class AboutMemoryHandler : public MemoryDetails { 118 class AboutMemoryHandler : public MemoryDetails {
119 public: 119 public:
120 explicit AboutMemoryHandler( 120 explicit AboutMemoryHandler(
121 const content::URLDataSource::GotDataCallback& callback) 121 const content::URLDataSource::GotDataCallback& callback)
122 : callback_(callback) { 122 : callback_(callback) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 base::FilePath oem_eula_file_path; 176 base::FilePath oem_eula_file_path;
177 if (net::FileURLToFilePath(GURL(customization->GetEULAPage(locale_)), 177 if (net::FileURLToFilePath(GURL(customization->GetEULAPage(locale_)),
178 &oem_eula_file_path)) { 178 &oem_eula_file_path)) {
179 if (!file_util::ReadFileToString(oem_eula_file_path, &contents_)) { 179 if (!file_util::ReadFileToString(oem_eula_file_path, &contents_)) {
180 contents_.clear(); 180 contents_.clear();
181 } 181 }
182 } 182 }
183 } 183 }
184 } else { 184 } else {
185 std::string file_path = 185 std::string file_path =
186 StringPrintf(chrome::kEULAPathFormat, locale_.c_str()); 186 base::StringPrintf(chrome::kEULAPathFormat, locale_.c_str());
187 if (!file_util::ReadFileToString(base::FilePath(file_path), &contents_)) { 187 if (!file_util::ReadFileToString(base::FilePath(file_path), &contents_)) {
188 // No EULA for given language - try en-US as default. 188 // No EULA for given language - try en-US as default.
189 file_path = StringPrintf(chrome::kEULAPathFormat, "en-US"); 189 file_path = base::StringPrintf(chrome::kEULAPathFormat, "en-US");
190 if (!file_util::ReadFileToString(base::FilePath(file_path), 190 if (!file_util::ReadFileToString(base::FilePath(file_path),
191 &contents_)) { 191 &contents_)) {
192 // File with EULA not found, ResponseOnUIThread will load EULA from 192 // File with EULA not found, ResponseOnUIThread will load EULA from
193 // resources if contents_ is empty. 193 // resources if contents_ is empty.
194 contents_.clear(); 194 contents_.clear();
195 } 195 }
196 } 196 }
197 } 197 }
198 BrowserThread::PostTask( 198 BrowserThread::PostTask(
199 BrowserThread::UI, FROM_HERE, 199 BrowserThread::UI, FROM_HERE,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 row.append(WrapWithTD(name)); 308 row.append(WrapWithTD(name));
309 row.append(WrapWithTD(value)); 309 row.append(WrapWithTD(value));
310 return WrapWithTR(row); 310 return WrapWithTR(row);
311 } 311 }
312 312
313 // TODO(stevenjb): L10N AboutDiscards. 313 // TODO(stevenjb): L10N AboutDiscards.
314 314
315 std::string AboutDiscardsRun() { 315 std::string AboutDiscardsRun() {
316 std::string output; 316 std::string output;
317 AppendHeader(&output, 0, "About discards"); 317 AppendHeader(&output, 0, "About discards");
318 output.append(StringPrintf("<meta http-equiv=\"refresh\" content=\"2;%s\">", 318 output.append(
319 chrome::kChromeUIDiscardsURL)); 319 base::StringPrintf("<meta http-equiv=\"refresh\" content=\"2;%s\">",
320 chrome::kChromeUIDiscardsURL));
320 output.append(WrapWithTag("p", "Discarding a tab...")); 321 output.append(WrapWithTag("p", "Discarding a tab..."));
321 g_browser_process->oom_priority_manager()->LogMemoryAndDiscardTab(); 322 g_browser_process->oom_priority_manager()->LogMemoryAndDiscardTab();
322 AppendFooter(&output); 323 AppendFooter(&output);
323 return output; 324 return output;
324 } 325 }
325 326
326 std::string AboutDiscards(const std::string& path) { 327 std::string AboutDiscards(const std::string& path) {
327 std::string output; 328 std::string output;
328 const char kRunCommand[] = "run"; 329 const char kRunCommand[] = "run";
329 if (path == kRunCommand) 330 if (path == kRunCommand)
(...skipping 11 matching lines...) Expand all
341 output.append("<ul>"); 342 output.append("<ul>");
342 std::vector<string16>::iterator it = titles.begin(); 343 std::vector<string16>::iterator it = titles.begin();
343 for ( ; it != titles.end(); ++it) { 344 for ( ; it != titles.end(); ++it) {
344 std::string title = UTF16ToUTF8(*it); 345 std::string title = UTF16ToUTF8(*it);
345 output.append(WrapWithTag("li", title)); 346 output.append(WrapWithTag("li", title));
346 } 347 }
347 output.append("</ul>"); 348 output.append("</ul>");
348 } else { 349 } else {
349 output.append("<p>None found. Wait 10 seconds, then refresh.</p>"); 350 output.append("<p>None found. Wait 10 seconds, then refresh.</p>");
350 } 351 }
351 output.append(StringPrintf("%d discards this session. ", 352 output.append(base::StringPrintf("%d discards this session. ",
352 oom->discard_count())); 353 oom->discard_count()));
353 output.append(StringPrintf("<a href='%s%s'>Discard tab now</a>", 354 output.append(base::StringPrintf("<a href='%s%s'>Discard tab now</a>",
354 chrome::kChromeUIDiscardsURL, 355 chrome::kChromeUIDiscardsURL,
355 kRunCommand)); 356 kRunCommand));
356 357
357 base::SystemMemoryInfoKB meminfo; 358 base::SystemMemoryInfoKB meminfo;
358 base::GetSystemMemoryInfo(&meminfo); 359 base::GetSystemMemoryInfo(&meminfo);
359 output.append("<h3>System memory information in MB</h3>"); 360 output.append("<h3>System memory information in MB</h3>");
360 output.append("<table>"); 361 output.append("<table>");
361 // Start with summary statistics. 362 // Start with summary statistics.
362 output.append(AddStringRow( 363 output.append(AddStringRow(
363 "Total", base::IntToString(meminfo.total / 1024))); 364 "Total", base::IntToString(meminfo.total / 1024)));
364 output.append(AddStringRow( 365 output.append(AddStringRow(
365 "Free", base::IntToString(meminfo.free / 1024))); 366 "Free", base::IntToString(meminfo.free / 1024)));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 398
398 // Adds an entry to the chrome://transparency page, with the format: 399 // Adds an entry to the chrome://transparency page, with the format:
399 // |label|: 400 // |label|:
400 // -- - |value|% + ++ 401 // -- - |value|% + ++
401 // where --, -, +, and ++ are links to change the appropriate |key|. 402 // where --, -, +, and ++ are links to change the appropriate |key|.
402 // TODO(jamescook): Remove this temporary tool when we decide what the window 403 // TODO(jamescook): Remove this temporary tool when we decide what the window
403 // header opacity should be for Ash. 404 // header opacity should be for Ash.
404 std::string TransparencyLink(const std::string& label, 405 std::string TransparencyLink(const std::string& label,
405 int value, 406 int value,
406 const std::string& key) { 407 const std::string& key) {
407 return StringPrintf("<p>%s</p>" 408 return base::StringPrintf("<p>%s</p>"
408 "<p>" 409 "<p>"
409 "<a href='%s%s=%d'>--</a> " 410 "<a href='%s%s=%d'>--</a> "
410 "<a href='%s%s=%d'>-</a> " 411 "<a href='%s%s=%d'>-</a> "
411 "%d%% " 412 "%d%% "
412 "<a href='%s%s=%d'>+</a> " 413 "<a href='%s%s=%d'>+</a> "
413 "<a href='%s%s=%d'>++</a>" 414 "<a href='%s%s=%d'>++</a>"
414 "</p>", 415 "</p>",
415 label.c_str(), 416 label.c_str(),
416 chrome::kChromeUITransparencyURL, key.c_str(), value - 5, 417 chrome::kChromeUITransparencyURL, key.c_str(), value - 5,
417 chrome::kChromeUITransparencyURL, key.c_str(), value - 1, 418 chrome::kChromeUITransparencyURL, key.c_str(), value - 1,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 output.append("<h3>Window header transparency</h3>"); 467 output.append("<h3>Window header transparency</h3>");
467 output.append(TransparencyLink("Active window:", 468 output.append(TransparencyLink("Active window:",
468 TransparencyFromOpacity(ash::FramePainter::kActiveWindowOpacity), 469 TransparencyFromOpacity(ash::FramePainter::kActiveWindowOpacity),
469 kActive)); 470 kActive));
470 output.append(TransparencyLink("Inactive window:", 471 output.append(TransparencyLink("Inactive window:",
471 TransparencyFromOpacity(ash::FramePainter::kInactiveWindowOpacity), 472 TransparencyFromOpacity(ash::FramePainter::kInactiveWindowOpacity),
472 kInactive)); 473 kInactive));
473 output.append(TransparencyLink("Solo window:", 474 output.append(TransparencyLink("Solo window:",
474 TransparencyFromOpacity(ash::FramePainter::kSoloWindowOpacity), 475 TransparencyFromOpacity(ash::FramePainter::kSoloWindowOpacity),
475 kSolo)); 476 kSolo));
476 output.append(StringPrintf( 477 output.append(base::StringPrintf(
477 "<p>Share: %s%s=%d&%s=%d&%s=%d</p>", 478 "<p>Share: %s%s=%d&%s=%d&%s=%d</p>",
478 chrome::kChromeUITransparencyURL, 479 chrome::kChromeUITransparencyURL,
479 kActive, 480 kActive,
480 TransparencyFromOpacity(ash::FramePainter::kActiveWindowOpacity), 481 TransparencyFromOpacity(ash::FramePainter::kActiveWindowOpacity),
481 kInactive, 482 kInactive,
482 TransparencyFromOpacity(ash::FramePainter::kInactiveWindowOpacity), 483 TransparencyFromOpacity(ash::FramePainter::kInactiveWindowOpacity),
483 kSolo, 484 kSolo,
484 TransparencyFromOpacity(ash::FramePainter::kSoloWindowOpacity))); 485 TransparencyFromOpacity(ash::FramePainter::kSoloWindowOpacity)));
485 output.append("<p>Reshape window to force a redraw.</p>"); 486 output.append("<p>Reshape window to force a redraw.</p>");
486 AppendFooter(&output); 487 AppendFooter(&output);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 base::JSONWriter::WriteWithOptions( 682 base::JSONWriter::WriteWithOptions(
682 &root, 683 &root,
683 base::JSONWriter::OPTIONS_DO_NOT_ESCAPE | 684 base::JSONWriter::OPTIONS_DO_NOT_ESCAPE |
684 base::JSONWriter::OPTIONS_PRETTY_PRINT, 685 base::JSONWriter::OPTIONS_PRETTY_PRINT,
685 &data); 686 &data);
686 if (query == kStringsJsPath) 687 if (query == kStringsJsPath)
687 data = "var templateData = " + data + ";"; 688 data = "var templateData = " + data + ";";
688 } else if (query == "raw") { 689 } else if (query == "raw") {
689 // Dump the raw counters which have changed in text format. 690 // Dump the raw counters which have changed in text format.
690 data = "<pre>"; 691 data = "<pre>";
691 data.append(StringPrintf("Counter changes in the last %ldms\n", 692 data.append(base::StringPrintf("Counter changes in the last %ldms\n",
692 static_cast<long int>(time_since_last_sample.InMilliseconds()))); 693 static_cast<long int>(time_since_last_sample.InMilliseconds())));
693 for (size_t i = 0; i < counters->GetSize(); ++i) { 694 for (size_t i = 0; i < counters->GetSize(); ++i) {
694 Value* entry = NULL; 695 Value* entry = NULL;
695 bool rv = counters->Get(i, &entry); 696 bool rv = counters->Get(i, &entry);
696 if (!rv) 697 if (!rv)
697 continue; // None of these should fail. 698 continue; // None of these should fail.
698 DictionaryValue* counter = static_cast<DictionaryValue*>(entry); 699 DictionaryValue* counter = static_cast<DictionaryValue*>(entry);
699 int delta; 700 int delta;
700 rv = counter->GetInteger("delta", &delta); 701 rv = counter->GetInteger("delta", &delta);
701 if (!rv) 702 if (!rv)
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
1060 Profile* profile = Profile::FromWebUI(web_ui); 1061 Profile* profile = Profile::FromWebUI(web_ui);
1061 1062
1062 #if defined(ENABLE_THEMES) 1063 #if defined(ENABLE_THEMES)
1063 // Set up the chrome://theme/ source. 1064 // Set up the chrome://theme/ source.
1064 ThemeSource* theme = new ThemeSource(profile); 1065 ThemeSource* theme = new ThemeSource(profile);
1065 content::URLDataSource::Add(profile, theme); 1066 content::URLDataSource::Add(profile, theme);
1066 #endif 1067 #endif
1067 1068
1068 content::URLDataSource::Add(profile, new AboutUIHTMLSource(name, profile)); 1069 content::URLDataSource::Add(profile, new AboutUIHTMLSource(name, profile));
1069 } 1070 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698