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

Side by Side Diff: chrome/browser/memory_details.cc

Issue 2821011: Removes phantom tabs. (Closed)
Patch Set: Created 10 years, 6 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
« no previous file with comments | « chrome/browser/gtk/tabs/tab_strip_gtk.cc ('k') | chrome/browser/tab_contents/tab_contents.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/memory_details.h" 5 #include "chrome/browser/memory_details.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/file_version_info.h" 8 #include "base/file_version_info.h"
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 // pages (e.g. "about:xxx" URLs). Iterate the RenderProcessHosts to find 87 // pages (e.g. "about:xxx" URLs). Iterate the RenderProcessHosts to find
88 // the tab contents. 88 // the tab contents.
89 ProcessMemoryInformation& process = 89 ProcessMemoryInformation& process =
90 chrome_browser->processes[index]; 90 chrome_browser->processes[index];
91 91
92 for (RenderProcessHost::iterator renderer_iter( 92 for (RenderProcessHost::iterator renderer_iter(
93 RenderProcessHost::AllHostsIterator()); !renderer_iter.IsAtEnd(); 93 RenderProcessHost::AllHostsIterator()); !renderer_iter.IsAtEnd();
94 renderer_iter.Advance()) { 94 renderer_iter.Advance()) {
95 DCHECK(renderer_iter.GetCurrentValue()); 95 DCHECK(renderer_iter.GetCurrentValue());
96 // Ignore processes that don't have a connection, such as crashed tabs or 96 // Ignore processes that don't have a connection, such as crashed tabs or
97 // phantom tabs. 97 // tabs that need to be reloaded.
98 if (!renderer_iter.GetCurrentValue()->HasConnection() || process.pid != 98 if (!renderer_iter.GetCurrentValue()->HasConnection() || process.pid !=
99 base::GetProcId(renderer_iter.GetCurrentValue()->GetHandle())) { 99 base::GetProcId(renderer_iter.GetCurrentValue()->GetHandle())) {
100 continue; 100 continue;
101 } 101 }
102 process.type = ChildProcessInfo::RENDER_PROCESS; 102 process.type = ChildProcessInfo::RENDER_PROCESS;
103 // The RenderProcessHost may host multiple TabContents. Any 103 // The RenderProcessHost may host multiple TabContents. Any
104 // of them which contain diagnostics information make the whole 104 // of them which contain diagnostics information make the whole
105 // process be considered a diagnostics process. 105 // process be considered a diagnostics process.
106 // 106 //
107 // NOTE: This is a bit dangerous. We know that for now, listeners 107 // NOTE: This is a bit dangerous. We know that for now, listeners
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 UMA_HISTOGRAM_COUNTS_100("Memory.ProcessCount", 228 UMA_HISTOGRAM_COUNTS_100("Memory.ProcessCount",
229 static_cast<int>(browser.processes.size())); 229 static_cast<int>(browser.processes.size()));
230 UMA_HISTOGRAM_COUNTS_100("Memory.PluginProcessCount", plugin_count); 230 UMA_HISTOGRAM_COUNTS_100("Memory.PluginProcessCount", plugin_count);
231 UMA_HISTOGRAM_COUNTS_100("Memory.WorkerProcessCount", worker_count); 231 UMA_HISTOGRAM_COUNTS_100("Memory.WorkerProcessCount", worker_count);
232 // TODO(viettrungluu): Do we want separate counts for the other 232 // TODO(viettrungluu): Do we want separate counts for the other
233 // (platform-specific) process types? 233 // (platform-specific) process types?
234 234
235 int total_sample = static_cast<int>(aggregate_memory / 1000); 235 int total_sample = static_cast<int>(aggregate_memory / 1000);
236 UMA_HISTOGRAM_MEMORY_MB("Memory.Total", total_sample); 236 UMA_HISTOGRAM_MEMORY_MB("Memory.Total", total_sample);
237 } 237 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/tabs/tab_strip_gtk.cc ('k') | chrome/browser/tab_contents/tab_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698