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

Side by Side Diff: chrome/browser/chromeos/boot_times_loader.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
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 #include "chrome/browser/chromeos/boot_times_loader.h" 5 #include "chrome/browser/chromeos/boot_times_loader.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 13 matching lines...) Expand all
24 #include "chrome/browser/chromeos/login/authentication_notification_details.h" 24 #include "chrome/browser/chromeos/login/authentication_notification_details.h"
25 #include "chrome/browser/chromeos/login/user_manager.h" 25 #include "chrome/browser/chromeos/login/user_manager.h"
26 #include "chrome/browser/ui/browser_list.h" 26 #include "chrome/browser/ui/browser_list.h"
27 #include "chrome/browser/ui/browser.h" 27 #include "chrome/browser/ui/browser.h"
28 #include "chrome/common/chrome_notification_types.h" 28 #include "chrome/common/chrome_notification_types.h"
29 #include "chrome/common/chrome_switches.h" 29 #include "chrome/common/chrome_switches.h"
30 #include "content/browser/browser_thread.h" 30 #include "content/browser/browser_thread.h"
31 #include "content/browser/renderer_host/render_widget_host_view.h" 31 #include "content/browser/renderer_host/render_widget_host_view.h"
32 #include "content/browser/tab_contents/navigation_controller.h" 32 #include "content/browser/tab_contents/navigation_controller.h"
33 #include "content/browser/tab_contents/tab_contents.h" 33 #include "content/browser/tab_contents/tab_contents.h"
34 #include "content/common/notification_service.h" 34 #include "content/public/browser/notification_service.h"
35 35
36 namespace { 36 namespace {
37 37
38 RenderWidgetHost* GetRenderWidgetHost(NavigationController* tab) { 38 RenderWidgetHost* GetRenderWidgetHost(NavigationController* tab) {
39 TabContents* tab_contents = tab->tab_contents(); 39 TabContents* tab_contents = tab->tab_contents();
40 if (tab_contents) { 40 if (tab_contents) {
41 RenderWidgetHostView* render_widget_host_view = 41 RenderWidgetHostView* render_widget_host_view =
42 tab_contents->GetRenderWidgetHostView(); 42 tab_contents->GetRenderWidgetHostView();
43 if (render_widget_host_view) 43 if (render_widget_host_view)
44 return render_widget_host_view->GetRenderWidgetHost(); 44 return render_widget_host_view->GetRenderWidgetHost();
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 output += '\n'; 338 output += '\n';
339 339
340 file_util::WriteFile( 340 file_util::WriteFile(
341 log_path.Append(base_name), output.data(), output.size()); 341 log_path.Append(base_name), output.data(), output.size());
342 } 342 }
343 343
344 void BootTimesLoader::LoginDone() { 344 void BootTimesLoader::LoginDone() {
345 AddLoginTimeMarker("LoginDone", true); 345 AddLoginTimeMarker("LoginDone", true);
346 RecordCurrentStats(kChromeFirstRender); 346 RecordCurrentStats(kChromeFirstRender);
347 registrar_.Remove(this, content::NOTIFICATION_LOAD_START, 347 registrar_.Remove(this, content::NOTIFICATION_LOAD_START,
348 NotificationService::AllSources()); 348 content::NotificationService::AllSources());
349 registrar_.Remove(this, content::NOTIFICATION_LOAD_STOP, 349 registrar_.Remove(this, content::NOTIFICATION_LOAD_STOP,
350 NotificationService::AllSources()); 350 content::NotificationService::AllSources());
351 registrar_.Remove(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED, 351 registrar_.Remove(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
352 NotificationService::AllSources()); 352 content::NotificationService::AllSources());
353 registrar_.Remove(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT, 353 registrar_.Remove(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT,
354 NotificationService::AllSources()); 354 content::NotificationService::AllSources());
355 // Don't swamp the FILE thread right away. 355 // Don't swamp the FILE thread right away.
356 BrowserThread::PostDelayedTask( 356 BrowserThread::PostDelayedTask(
357 BrowserThread::FILE, FROM_HERE, 357 BrowserThread::FILE, FROM_HERE,
358 // This doesn't compile without std::string(...), as 358 // This doesn't compile without std::string(...), as
359 // NewRunnableFunction doesn't accept arrays. 359 // NewRunnableFunction doesn't accept arrays.
360 base::Bind(WriteTimes, 360 base::Bind(WriteTimes,
361 std::string(kLoginTimes), 361 std::string(kLoginTimes),
362 std::string(kUmaLogin), 362 std::string(kUmaLogin),
363 std::string(kUmaLoginPrefix), 363 std::string(kUmaLoginPrefix),
364 login_time_markers_), 364 login_time_markers_),
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 void BootTimesLoader::RecordChromeMainStats() { 399 void BootTimesLoader::RecordChromeMainStats() {
400 RecordStats(kChromeMain, chrome_main_stats_); 400 RecordStats(kChromeMain, chrome_main_stats_);
401 } 401 }
402 402
403 void BootTimesLoader::RecordLoginAttempted() { 403 void BootTimesLoader::RecordLoginAttempted() {
404 login_time_markers_.clear(); 404 login_time_markers_.clear();
405 AddLoginTimeMarker("LoginStarted", false); 405 AddLoginTimeMarker("LoginStarted", false);
406 if (!have_registered_) { 406 if (!have_registered_) {
407 have_registered_ = true; 407 have_registered_ = true;
408 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_AUTHENTICATION, 408 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_AUTHENTICATION,
409 NotificationService::AllSources()); 409 content::NotificationService::AllSources());
410 registrar_.Add(this, content::NOTIFICATION_LOAD_START, 410 registrar_.Add(this, content::NOTIFICATION_LOAD_START,
411 NotificationService::AllSources()); 411 content::NotificationService::AllSources());
412 registrar_.Add(this, content::NOTIFICATION_LOAD_STOP, 412 registrar_.Add(this, content::NOTIFICATION_LOAD_STOP,
413 NotificationService::AllSources()); 413 content::NotificationService::AllSources());
414 registrar_.Add(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED, 414 registrar_.Add(this, content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
415 NotificationService::AllSources()); 415 content::NotificationService::AllSources());
416 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT, 416 registrar_.Add(this, content::NOTIFICATION_RENDER_WIDGET_HOST_DID_PAINT,
417 NotificationService::AllSources()); 417 content::NotificationService::AllSources());
418 } 418 }
419 } 419 }
420 420
421 void BootTimesLoader::AddLoginTimeMarker( 421 void BootTimesLoader::AddLoginTimeMarker(
422 const std::string& marker_name, bool send_to_uma) { 422 const std::string& marker_name, bool send_to_uma) {
423 login_time_markers_.push_back(TimeMarker(marker_name, send_to_uma)); 423 login_time_markers_.push_back(TimeMarker(marker_name, send_to_uma));
424 } 424 }
425 425
426 void BootTimesLoader::AddLogoutTimeMarker( 426 void BootTimesLoader::AddLogoutTimeMarker(
427 const std::string& marker_name, bool send_to_uma) { 427 const std::string& marker_name, bool send_to_uma) {
428 logout_time_markers_.push_back(TimeMarker(marker_name, send_to_uma)); 428 logout_time_markers_.push_back(TimeMarker(marker_name, send_to_uma));
429 } 429 }
430 430
431 void BootTimesLoader::Observe( 431 void BootTimesLoader::Observe(
432 int type, 432 int type,
433 const content::NotificationSource& source, 433 const content::NotificationSource& source,
434 const content::NotificationDetails& details) { 434 const content::NotificationDetails& details) {
435 switch (type) { 435 switch (type) {
436 case chrome::NOTIFICATION_LOGIN_AUTHENTICATION: { 436 case chrome::NOTIFICATION_LOGIN_AUTHENTICATION: {
437 content::Details<AuthenticationNotificationDetails> auth_details(details); 437 content::Details<AuthenticationNotificationDetails> auth_details(details);
438 if (auth_details->success()) { 438 if (auth_details->success()) {
439 AddLoginTimeMarker("Authenticate", true); 439 AddLoginTimeMarker("Authenticate", true);
440 RecordCurrentStats(kLoginSuccess); 440 RecordCurrentStats(kLoginSuccess);
441 registrar_.Remove(this, chrome::NOTIFICATION_LOGIN_AUTHENTICATION, 441 registrar_.Remove(this, chrome::NOTIFICATION_LOGIN_AUTHENTICATION,
442 NotificationService::AllSources()); 442 content::NotificationService::AllSources());
443 } 443 }
444 break; 444 break;
445 } 445 }
446 case content::NOTIFICATION_LOAD_START: { 446 case content::NOTIFICATION_LOAD_START: {
447 NavigationController* tab = 447 NavigationController* tab =
448 content::Source<NavigationController>(source).ptr(); 448 content::Source<NavigationController>(source).ptr();
449 RenderWidgetHost* rwh = GetRenderWidgetHost(tab); 449 RenderWidgetHost* rwh = GetRenderWidgetHost(tab);
450 DCHECK(rwh); 450 DCHECK(rwh);
451 AddLoginTimeMarker("TabLoad-Start: " + GetTabUrl(rwh), false); 451 AddLoginTimeMarker("TabLoad-Start: " + GetTabUrl(rwh), false);
452 render_widget_hosts_loading_.insert(rwh); 452 render_widget_hosts_loading_.insert(rwh);
(...skipping 24 matching lines...) Expand all
477 GetRenderWidgetHost(&tab_contents->controller()); 477 GetRenderWidgetHost(&tab_contents->controller());
478 render_widget_hosts_loading_.erase(render_widget_host); 478 render_widget_hosts_loading_.erase(render_widget_host);
479 break; 479 break;
480 } 480 }
481 default: 481 default:
482 break; 482 break;
483 } 483 }
484 } 484 }
485 485
486 } // namespace chromeos 486 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chrome_plugin_service_filter.cc ('k') | chrome/browser/chromeos/cros/login_library.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698