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

Side by Side Diff: chrome/browser/metrics/metrics_service.cc

Issue 8342048: Make NotificationService an interface in the content namespace, and switch callers to use it. Mov... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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
« no previous file with comments | « chrome/browser/memory_purger.cc ('k') | chrome/browser/metrics/metrics_service_uitest.cc » ('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) 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 //------------------------------------------------------------------------------ 5 //------------------------------------------------------------------------------
6 // Description of the life cycle of a instance of MetricsService. 6 // Description of the life cycle of a instance of MetricsService.
7 // 7 //
8 // OVERVIEW 8 // OVERVIEW
9 // 9 //
10 // A MetricsService instance is typically created at application startup. It 10 // A MetricsService instance is typically created at application startup. It
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 #include "chrome/common/chrome_notification_types.h" 172 #include "chrome/common/chrome_notification_types.h"
173 #include "chrome/common/chrome_switches.h" 173 #include "chrome/common/chrome_switches.h"
174 #include "chrome/common/guid.h" 174 #include "chrome/common/guid.h"
175 #include "chrome/common/metrics_log_manager.h" 175 #include "chrome/common/metrics_log_manager.h"
176 #include "chrome/common/pref_names.h" 176 #include "chrome/common/pref_names.h"
177 #include "chrome/common/render_messages.h" 177 #include "chrome/common/render_messages.h"
178 #include "content/browser/load_notification_details.h" 178 #include "content/browser/load_notification_details.h"
179 #include "content/browser/plugin_service.h" 179 #include "content/browser/plugin_service.h"
180 #include "content/browser/renderer_host/render_process_host.h" 180 #include "content/browser/renderer_host/render_process_host.h"
181 #include "content/common/child_process_info.h" 181 #include "content/common/child_process_info.h"
182 #include "content/common/notification_service.h" 182 #include "content/public/browser/notification_service.h"
183 #include "webkit/plugins/npapi/plugin_list.h" 183 #include "webkit/plugins/npapi/plugin_list.h"
184 #include "webkit/plugins/webplugininfo.h" 184 #include "webkit/plugins/webplugininfo.h"
185 185
186 // TODO(port): port browser_distribution.h. 186 // TODO(port): port browser_distribution.h.
187 #if !defined(OS_POSIX) 187 #if !defined(OS_POSIX)
188 #include "chrome/installer/util/browser_distribution.h" 188 #include "chrome/installer/util/browser_distribution.h"
189 #endif 189 #endif
190 190
191 #if defined(OS_CHROMEOS) 191 #if defined(OS_CHROMEOS)
192 #include "chrome/browser/chromeos/cros/cros_library.h" 192 #include "chrome/browser/chromeos/cros/cros_library.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 bool MetricsService::reporting_active() const { 452 bool MetricsService::reporting_active() const {
453 DCHECK(IsSingleThreaded()); 453 DCHECK(IsSingleThreaded());
454 return reporting_active_; 454 return reporting_active_;
455 } 455 }
456 456
457 // static 457 // static
458 void MetricsService::SetUpNotifications( 458 void MetricsService::SetUpNotifications(
459 content::NotificationRegistrar* registrar, 459 content::NotificationRegistrar* registrar,
460 content::NotificationObserver* observer) { 460 content::NotificationObserver* observer) {
461 registrar->Add(observer, chrome::NOTIFICATION_BROWSER_OPENED, 461 registrar->Add(observer, chrome::NOTIFICATION_BROWSER_OPENED,
462 NotificationService::AllBrowserContextsAndSources()); 462 content::NotificationService::AllBrowserContextsAndSources());
463 registrar->Add(observer, chrome::NOTIFICATION_BROWSER_CLOSED, 463 registrar->Add(observer, chrome::NOTIFICATION_BROWSER_CLOSED,
464 NotificationService::AllSources()); 464 content::NotificationService::AllSources());
465 registrar->Add(observer, content::NOTIFICATION_USER_ACTION, 465 registrar->Add(observer, content::NOTIFICATION_USER_ACTION,
466 NotificationService::AllSources()); 466 content::NotificationService::AllSources());
467 registrar->Add(observer, content::NOTIFICATION_TAB_PARENTED, 467 registrar->Add(observer, content::NOTIFICATION_TAB_PARENTED,
468 NotificationService::AllSources()); 468 content::NotificationService::AllSources());
469 registrar->Add(observer, content::NOTIFICATION_TAB_CLOSING, 469 registrar->Add(observer, content::NOTIFICATION_TAB_CLOSING,
470 NotificationService::AllSources()); 470 content::NotificationService::AllSources());
471 registrar->Add(observer, content::NOTIFICATION_LOAD_START, 471 registrar->Add(observer, content::NOTIFICATION_LOAD_START,
472 NotificationService::AllSources()); 472 content::NotificationService::AllSources());
473 registrar->Add(observer, content::NOTIFICATION_LOAD_STOP, 473 registrar->Add(observer, content::NOTIFICATION_LOAD_STOP,
474 NotificationService::AllSources()); 474 content::NotificationService::AllSources());
475 registrar->Add(observer, content::NOTIFICATION_RENDERER_PROCESS_CLOSED, 475 registrar->Add(observer, content::NOTIFICATION_RENDERER_PROCESS_CLOSED,
476 NotificationService::AllSources()); 476 content::NotificationService::AllSources());
477 registrar->Add(observer, content::NOTIFICATION_RENDERER_PROCESS_HANG, 477 registrar->Add(observer, content::NOTIFICATION_RENDERER_PROCESS_HANG,
478 NotificationService::AllSources()); 478 content::NotificationService::AllSources());
479 registrar->Add(observer, content::NOTIFICATION_CHILD_PROCESS_HOST_CONNECTED, 479 registrar->Add(observer, content::NOTIFICATION_CHILD_PROCESS_HOST_CONNECTED,
480 NotificationService::AllSources()); 480 content::NotificationService::AllSources());
481 registrar->Add(observer, content::NOTIFICATION_CHILD_INSTANCE_CREATED, 481 registrar->Add(observer, content::NOTIFICATION_CHILD_INSTANCE_CREATED,
482 NotificationService::AllSources()); 482 content::NotificationService::AllSources());
483 registrar->Add(observer, content::NOTIFICATION_CHILD_PROCESS_CRASHED, 483 registrar->Add(observer, content::NOTIFICATION_CHILD_PROCESS_CRASHED,
484 NotificationService::AllSources()); 484 content::NotificationService::AllSources());
485 registrar->Add(observer, chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED, 485 registrar->Add(observer, chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED,
486 NotificationService::AllSources()); 486 content::NotificationService::AllSources());
487 registrar->Add(observer, chrome::NOTIFICATION_OMNIBOX_OPENED_URL, 487 registrar->Add(observer, chrome::NOTIFICATION_OMNIBOX_OPENED_URL,
488 NotificationService::AllSources()); 488 content::NotificationService::AllSources());
489 registrar->Add(observer, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED, 489 registrar->Add(observer, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
490 NotificationService::AllBrowserContextsAndSources()); 490 content::NotificationService::AllBrowserContextsAndSources());
491 } 491 }
492 492
493 void MetricsService::Observe(int type, 493 void MetricsService::Observe(int type,
494 const content::NotificationSource& source, 494 const content::NotificationSource& source,
495 const content::NotificationDetails& details) { 495 const content::NotificationDetails& details) {
496 DCHECK(log_manager_.current_log()); 496 DCHECK(log_manager_.current_log());
497 DCHECK(IsSingleThreaded()); 497 DCHECK(IsSingleThreaded());
498 498
499 if (!CanLogNotification(type, source, details)) 499 if (!CanLogNotification(type, source, details))
500 return; 500 return;
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 } 1194 }
1195 1195
1196 // TODO(brettw) we should have some kind of ID for the parent. 1196 // TODO(brettw) we should have some kind of ID for the parent.
1197 log_manager_.current_log()->RecordWindowEvent(window_type, controller_id, 0); 1197 log_manager_.current_log()->RecordWindowEvent(window_type, controller_id, 0);
1198 } 1198 }
1199 1199
1200 void MetricsService::LogLoadComplete( 1200 void MetricsService::LogLoadComplete(
1201 int type, 1201 int type,
1202 const content::NotificationSource& source, 1202 const content::NotificationSource& source,
1203 const content::NotificationDetails& details) { 1203 const content::NotificationDetails& details) {
1204 if (details == NotificationService::NoDetails()) 1204 if (details == content::NotificationService::NoDetails())
1205 return; 1205 return;
1206 1206
1207 // TODO(jar): There is a bug causing this to be called too many times, and 1207 // TODO(jar): There is a bug causing this to be called too many times, and
1208 // the log overflows. For now, we won't record these events. 1208 // the log overflows. For now, we won't record these events.
1209 UMA_HISTOGRAM_COUNTS("UMA.LogLoadComplete called", 1); 1209 UMA_HISTOGRAM_COUNTS("UMA.LogLoadComplete called", 1);
1210 return; 1210 return;
1211 1211
1212 const content::Details<LoadNotificationDetails> load_details(details); 1212 const content::Details<LoadNotificationDetails> load_details(details);
1213 int controller_id = window_map_[details.map_key()]; 1213 int controller_id = window_map_[details.map_key()];
1214 log_manager_.current_log()->RecordLoadEvent(controller_id, 1214 log_manager_.current_log()->RecordLoadEvent(controller_id,
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1542 if (local_state) { 1542 if (local_state) {
1543 const PrefService::Preference* uma_pref = 1543 const PrefService::Preference* uma_pref =
1544 local_state->FindPreference(prefs::kMetricsReportingEnabled); 1544 local_state->FindPreference(prefs::kMetricsReportingEnabled);
1545 if (uma_pref) { 1545 if (uma_pref) {
1546 bool success = uma_pref->GetValue()->GetAsBoolean(&result); 1546 bool success = uma_pref->GetValue()->GetAsBoolean(&result);
1547 DCHECK(success); 1547 DCHECK(success);
1548 } 1548 }
1549 } 1549 }
1550 return result; 1550 return result;
1551 } 1551 }
OLDNEW
« no previous file with comments | « chrome/browser/memory_purger.cc ('k') | chrome/browser/metrics/metrics_service_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698