| OLD | NEW |
| 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/chromeos/memory/oom_priority_manager.h" | 5 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 } | 130 } |
| 131 | 131 |
| 132 void OomMemoryDetails::OnDetailsAvailable() { | 132 void OomMemoryDetails::OnDetailsAvailable() { |
| 133 TimeDelta delta = TimeTicks::Now() - start_time_; | 133 TimeDelta delta = TimeTicks::Now() - start_time_; |
| 134 // These logs are collected by user feedback reports. We want them to help | 134 // These logs are collected by user feedback reports. We want them to help |
| 135 // diagnose user-reported problems with frequently discarded tabs. | 135 // diagnose user-reported problems with frequently discarded tabs. |
| 136 std::string log_string = ToLogString(); | 136 std::string log_string = ToLogString(); |
| 137 base::SystemMemoryInfoKB memory; | 137 base::SystemMemoryInfoKB memory; |
| 138 if (base::GetSystemMemoryInfo(&memory) && memory.gem_size != -1) { | 138 if (base::GetSystemMemoryInfo(&memory) && memory.gem_size != -1) { |
| 139 log_string += "Graphics "; | 139 log_string += "Graphics "; |
| 140 log_string += UTF16ToASCII(ui::FormatBytes(memory.gem_size)); | 140 log_string += base::UTF16ToASCII(ui::FormatBytes(memory.gem_size)); |
| 141 } | 141 } |
| 142 LOG(WARNING) << "OOM details (" << delta.InMilliseconds() << " ms):\n" | 142 LOG(WARNING) << "OOM details (" << delta.InMilliseconds() << " ms):\n" |
| 143 << log_string; | 143 << log_string; |
| 144 if (g_browser_process && | 144 if (g_browser_process && |
| 145 g_browser_process->platform_part()->oom_priority_manager()) { | 145 g_browser_process->platform_part()->oom_priority_manager()) { |
| 146 OomPriorityManager* manager = | 146 OomPriorityManager* manager = |
| 147 g_browser_process->platform_part()->oom_priority_manager(); | 147 g_browser_process->platform_part()->oom_priority_manager(); |
| 148 manager->PurgeBrowserMemory(); | 148 manager->PurgeBrowserMemory(); |
| 149 manager->DiscardTab(); | 149 manager->DiscardTab(); |
| 150 } | 150 } |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 priority += priority_increment; | 649 priority += priority_increment; |
| 650 } | 650 } |
| 651 } | 651 } |
| 652 | 652 |
| 653 void OomPriorityManager::OnMemoryLow() { | 653 void OomPriorityManager::OnMemoryLow() { |
| 654 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 654 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 655 LogMemoryAndDiscardTab(); | 655 LogMemoryAndDiscardTab(); |
| 656 } | 656 } |
| 657 | 657 |
| 658 } // namespace chromeos | 658 } // namespace chromeos |
| OLD | NEW |