| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/browser_about_handler.h" | 5 #include "chrome/browser/browser_about_handler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 | 669 |
| 670 return output; | 670 return output; |
| 671 } | 671 } |
| 672 | 672 |
| 673 std::string AboutCryptohome(const std::string& query) { | 673 std::string AboutCryptohome(const std::string& query) { |
| 674 int refresh; | 674 int refresh; |
| 675 base::StringToInt(query, &refresh); | 675 base::StringToInt(query, &refresh); |
| 676 return GetCryptohomeHtmlInfo(refresh); | 676 return GetCryptohomeHtmlInfo(refresh); |
| 677 } | 677 } |
| 678 | 678 |
| 679 std::string AboutDiscards() { | 679 std::string AboutDiscards(const std::string& path) { |
| 680 std::string output; | 680 std::string output; |
| 681 const std::string kRunCommand("run"); |
| 682 if (path == kRunCommand) { |
| 683 output.append(WrapWithTag("p", "Discarding a tab...")); |
| 684 g_browser_process->oom_priority_manager()->DiscardTab(); |
| 685 } |
| 681 AppendHeader(&output, 0, "About discards"); | 686 AppendHeader(&output, 0, "About discards"); |
| 682 AppendBody(&output); | 687 AppendBody(&output); |
| 683 output.append("<h3>About discards</h3>"); | 688 output.append("<h3>About discards</h3>"); |
| 684 output.append( | 689 output.append( |
| 685 "<p>Tabs sorted from most interesting to least interesting. The least " | 690 "<p>Tabs sorted from most interesting to least interesting. The least " |
| 686 "interesting tab may be discarded if we run out of physical memory.</p>"); | 691 "interesting tab may be discarded if we run out of physical memory.</p>"); |
| 687 | 692 |
| 688 std::vector<string16> titles = | 693 std::vector<string16> titles = |
| 689 g_browser_process->oom_priority_manager()->GetTabTitles(); | 694 g_browser_process->oom_priority_manager()->GetTabTitles(); |
| 690 if (!titles.empty()) { | 695 if (!titles.empty()) { |
| 691 output.append("<ol>"); | 696 output.append("<ol>"); |
| 692 std::vector<string16>::iterator it = titles.begin(); | 697 std::vector<string16>::iterator it = titles.begin(); |
| 693 for ( ; it != titles.end(); ++it) { | 698 for ( ; it != titles.end(); ++it) { |
| 694 std::string title = UTF16ToUTF8(*it); | 699 std::string title = UTF16ToUTF8(*it); |
| 695 output.append(WrapWithTag("li", title)); | 700 output.append(WrapWithTag("li", title)); |
| 696 } | 701 } |
| 697 output.append("</ol>"); | 702 output.append("</ol>"); |
| 698 } else { | 703 } else { |
| 699 output.append("<p>None found. Wait 10 seconds, then refresh.</p>"); | 704 output.append("<p>None found. Wait 10 seconds, then refresh.</p>"); |
| 700 } | 705 } |
| 706 output.append( |
| 707 "<a href='chrome://discards/" + kRunCommand + "'>Discard tab now</a>"); |
| 701 | 708 |
| 702 base::SystemMemoryInfoKB meminfo; | 709 base::SystemMemoryInfoKB meminfo; |
| 703 base::GetSystemMemoryInfo(&meminfo); | 710 base::GetSystemMemoryInfo(&meminfo); |
| 704 output.append("<h3>System memory information in MB</h3>"); | 711 output.append("<h3>System memory information in MB</h3>"); |
| 705 output.append("<table>"); | 712 output.append("<table>"); |
| 706 output.append(AddStringRow( | 713 output.append(AddStringRow( |
| 707 "Total Memory", base::IntToString(meminfo.total / 1024))); | 714 "Total", base::IntToString(meminfo.total / 1024))); |
| 708 output.append(AddStringRow( | 715 output.append(AddStringRow( |
| 709 "Free Memory", base::IntToString(meminfo.free / 1024))); | 716 "Free", base::IntToString(meminfo.free / 1024))); |
| 710 output.append(AddStringRow( | 717 output.append(AddStringRow( |
| 711 "Buffered Memory", base::IntToString(meminfo.buffers / 1024))); | 718 "Buffered", base::IntToString(meminfo.buffers / 1024))); |
| 712 output.append(AddStringRow( | 719 output.append(AddStringRow( |
| 713 "Cached Memory", base::IntToString(meminfo.cached / 1024))); | 720 "Cached", base::IntToString(meminfo.cached / 1024))); |
| 714 output.append(AddStringRow( | 721 output.append(AddStringRow( |
| 715 "Committed Memory", base::IntToString( | 722 "Committed", base::IntToString( |
| 716 (meminfo.total - meminfo.free - meminfo.buffers - meminfo.cached) / 1024))); | 723 (meminfo.total - meminfo.free - meminfo.buffers - meminfo.cached) / 1024))); |
| 717 output.append(AddStringRow( | 724 output.append(AddStringRow( |
| 718 "Active Anon Memory", base::IntToString(meminfo.active_anon / 1024))); | 725 "Active Anon", base::IntToString(meminfo.active_anon / 1024))); |
| 719 output.append(AddStringRow( | 726 output.append(AddStringRow( |
| 720 "Inactive Anon Memory", base::IntToString(meminfo.inactive_anon / 1024))); | 727 "Inactive Anon", base::IntToString(meminfo.inactive_anon / 1024))); |
| 721 output.append(AddStringRow( | 728 output.append(AddStringRow( |
| 722 "Shared Memory", base::IntToString(meminfo.shmem / 1024))); | 729 "Shared", base::IntToString(meminfo.shmem / 1024))); |
| 723 output.append("</table>"); | 730 output.append("</table>"); |
| 724 | 731 |
| 725 AppendFooter(&output); | 732 AppendFooter(&output); |
| 726 return output; | 733 return output; |
| 727 } | 734 } |
| 728 | 735 |
| 729 #endif // OS_CHROMEOS | 736 #endif // OS_CHROMEOS |
| 730 | 737 |
| 731 // AboutDnsHandler bounces the request back to the IO thread to collect | 738 // AboutDnsHandler bounces the request back to the IO thread to collect |
| 732 // the DNS information. | 739 // the DNS information. |
| (...skipping 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1399 if (host == chrome::kChromeUIChromeURLsHost) { | 1406 if (host == chrome::kChromeUIChromeURLsHost) { |
| 1400 response = ChromeURLs(); | 1407 response = ChromeURLs(); |
| 1401 } else if (host == chrome::kChromeUICreditsHost) { | 1408 } else if (host == chrome::kChromeUICreditsHost) { |
| 1402 int idr = (path == kCreditsJsPath) ? IDR_CREDITS_JS : IDR_CREDITS_HTML; | 1409 int idr = (path == kCreditsJsPath) ? IDR_CREDITS_JS : IDR_CREDITS_HTML; |
| 1403 response = ResourceBundle::GetSharedInstance().GetRawDataResource( | 1410 response = ResourceBundle::GetSharedInstance().GetRawDataResource( |
| 1404 idr).as_string(); | 1411 idr).as_string(); |
| 1405 #if defined(OS_CHROMEOS) | 1412 #if defined(OS_CHROMEOS) |
| 1406 } else if (host == chrome::kChromeUICryptohomeHost) { | 1413 } else if (host == chrome::kChromeUICryptohomeHost) { |
| 1407 response = AboutCryptohome(path); | 1414 response = AboutCryptohome(path); |
| 1408 } else if (host == chrome::kChromeUIDiscardsHost) { | 1415 } else if (host == chrome::kChromeUIDiscardsHost) { |
| 1409 response = AboutDiscards(); | 1416 response = AboutDiscards(path); |
| 1410 #endif | 1417 #endif |
| 1411 } else if (host == chrome::kChromeUIDNSHost) { | 1418 } else if (host == chrome::kChromeUIDNSHost) { |
| 1412 AboutDnsHandler::Start(this, request_id); | 1419 AboutDnsHandler::Start(this, request_id); |
| 1413 return; | 1420 return; |
| 1414 } else if (host == chrome::kChromeUIHistogramsHost) { | 1421 } else if (host == chrome::kChromeUIHistogramsHost) { |
| 1415 response = AboutHistograms(path); | 1422 response = AboutHistograms(path); |
| 1416 #if defined(OS_LINUX) | 1423 #if defined(OS_LINUX) |
| 1417 } else if (host == chrome::kChromeUILinuxProxyConfigHost) { | 1424 } else if (host == chrome::kChromeUILinuxProxyConfigHost) { |
| 1418 response = AboutLinuxProxyConfig(); | 1425 response = AboutLinuxProxyConfig(); |
| 1419 #endif | 1426 #endif |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1600 return false; | 1607 return false; |
| 1601 } | 1608 } |
| 1602 | 1609 |
| 1603 std::vector<std::string> ChromePaths() { | 1610 std::vector<std::string> ChromePaths() { |
| 1604 std::vector<std::string> paths; | 1611 std::vector<std::string> paths; |
| 1605 paths.reserve(arraysize(kChromePaths)); | 1612 paths.reserve(arraysize(kChromePaths)); |
| 1606 for (size_t i = 0; i < arraysize(kChromePaths); i++) | 1613 for (size_t i = 0; i < arraysize(kChromePaths); i++) |
| 1607 paths.push_back(kChromePaths[i]); | 1614 paths.push_back(kChromePaths[i]); |
| 1608 return paths; | 1615 return paths; |
| 1609 } | 1616 } |
| OLD | NEW |