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 |