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

Side by Side Diff: chrome/browser/sessions/session_service.cc

Issue 10079023: Move notifications used only in chrome/ out of content/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: six! Created 8 years, 8 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) 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/sessions/session_service.h" 5 #include "chrome/browser/sessions/session_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 &last_updated_save_time_); 496 &last_updated_save_time_);
497 content::NotificationService::current()->Notify( 497 content::NotificationService::current()->Notify(
498 chrome::NOTIFICATION_SESSION_SERVICE_SAVED, 498 chrome::NOTIFICATION_SESSION_SERVICE_SAVED,
499 content::Source<Profile>(profile()), 499 content::Source<Profile>(profile()),
500 content::NotificationService::NoDetails()); 500 content::NotificationService::NoDetails());
501 } 501 }
502 } 502 }
503 503
504 void SessionService::Init() { 504 void SessionService::Init() {
505 // Register for the notifications we're interested in. 505 // Register for the notifications we're interested in.
506 registrar_.Add(this, content::NOTIFICATION_TAB_PARENTED, 506 registrar_.Add(this, chrome::NOTIFICATION_TAB_PARENTED,
507 content::NotificationService::AllSources()); 507 content::NotificationService::AllSources());
508 registrar_.Add(this, content::NOTIFICATION_TAB_CLOSED, 508 registrar_.Add(this, content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
509 content::NotificationService::AllSources()); 509 content::NotificationService::AllSources());
510 registrar_.Add(this, content::NOTIFICATION_NAV_LIST_PRUNED, 510 registrar_.Add(this, content::NOTIFICATION_NAV_LIST_PRUNED,
511 content::NotificationService::AllSources()); 511 content::NotificationService::AllSources());
512 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_CHANGED, 512 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_CHANGED,
513 content::NotificationService::AllSources()); 513 content::NotificationService::AllSources());
514 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED, 514 registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
515 content::NotificationService::AllSources()); 515 content::NotificationService::AllSources());
516 // Wait for NOTIFICATION_BROWSER_WINDOW_READY so that is_app() is set. 516 // Wait for NOTIFICATION_BROWSER_WINDOW_READY so that is_app() is set.
517 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_WINDOW_READY, 517 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_WINDOW_READY,
518 content::NotificationService::AllBrowserContextsAndSources()); 518 content::NotificationService::AllBrowserContextsAndSources());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 if (browser->profile() != profile() || 575 if (browser->profile() != profile() ||
576 !should_track_changes_for_browser_type(browser->type(), app_type)) 576 !should_track_changes_for_browser_type(browser->type(), app_type))
577 return; 577 return;
578 578
579 RestoreIfNecessary(std::vector<GURL>(), browser); 579 RestoreIfNecessary(std::vector<GURL>(), browser);
580 SetWindowType(browser->session_id(), browser->type(), app_type); 580 SetWindowType(browser->session_id(), browser->type(), app_type);
581 SetWindowAppName(browser->session_id(), browser->app_name()); 581 SetWindowAppName(browser->session_id(), browser->app_name());
582 break; 582 break;
583 } 583 }
584 584
585 case content::NOTIFICATION_TAB_PARENTED: { 585 case chrome::NOTIFICATION_TAB_PARENTED: {
586 TabContentsWrapper* tab = 586 TabContentsWrapper* tab =
587 content::Source<TabContentsWrapper>(source).ptr(); 587 content::Source<TabContentsWrapper>(source).ptr();
588 if (tab->profile() != profile()) 588 if (tab->profile() != profile())
589 return; 589 return;
590 SetTabWindow(tab->restore_tab_helper()->window_id(), 590 SetTabWindow(tab->restore_tab_helper()->window_id(),
591 tab->restore_tab_helper()->session_id()); 591 tab->restore_tab_helper()->session_id());
592 if (tab->extension_tab_helper()->extension_app()) { 592 if (tab->extension_tab_helper()->extension_app()) {
593 SetTabExtensionAppID( 593 SetTabExtensionAppID(
594 tab->restore_tab_helper()->window_id(), 594 tab->restore_tab_helper()->window_id(),
595 tab->restore_tab_helper()->session_id(), 595 tab->restore_tab_helper()->session_id(),
596 tab->extension_tab_helper()->extension_app()->id()); 596 tab->extension_tab_helper()->extension_app()->id());
597 } 597 }
598 break; 598 break;
599 } 599 }
600 600
601 case content::NOTIFICATION_TAB_CLOSED: { 601 case content::NOTIFICATION_WEB_CONTENTS_DESTROYED: {
602 TabContentsWrapper* tab = 602 TabContentsWrapper* tab =
603 TabContentsWrapper::GetCurrentWrapperForContents( 603 TabContentsWrapper::GetCurrentWrapperForContents(
604 content::Source<content::NavigationController>( 604 content::Source<content::WebContents>(source).ptr());
605 source).ptr()->GetWebContents());
606 if (!tab || tab->profile() != profile()) 605 if (!tab || tab->profile() != profile())
607 return; 606 return;
608 TabClosed(tab->restore_tab_helper()->window_id(), 607 TabClosed(tab->restore_tab_helper()->window_id(),
609 tab->restore_tab_helper()->session_id(), 608 tab->restore_tab_helper()->session_id(),
610 tab->web_contents()->GetClosedByUserGesture()); 609 tab->web_contents()->GetClosedByUserGesture());
611 RecordSessionUpdateHistogramData(content::NOTIFICATION_TAB_CLOSED, 610 RecordSessionUpdateHistogramData(
611 content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
612 &last_updated_tab_closed_time_); 612 &last_updated_tab_closed_time_);
613 break; 613 break;
614 } 614 }
615 615
616 case content::NOTIFICATION_NAV_LIST_PRUNED: { 616 case content::NOTIFICATION_NAV_LIST_PRUNED: {
617 TabContentsWrapper* tab = 617 TabContentsWrapper* tab =
618 TabContentsWrapper::GetCurrentWrapperForContents( 618 TabContentsWrapper::GetCurrentWrapperForContents(
619 content::Source<content::NavigationController>( 619 content::Source<content::NavigationController>(
620 source).ptr()->GetWebContents()); 620 source).ptr()->GetWebContents());
621 if (!tab || tab->profile() != profile()) 621 if (!tab || tab->profile() != profile())
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1504 // 10 minutes. 1504 // 10 minutes.
1505 bool use_long_period = false; 1505 bool use_long_period = false;
1506 if (delta >= save_delay_in_mins_) { 1506 if (delta >= save_delay_in_mins_) {
1507 use_long_period = true; 1507 use_long_period = true;
1508 } 1508 }
1509 switch (type) { 1509 switch (type) {
1510 case chrome::NOTIFICATION_SESSION_SERVICE_SAVED : 1510 case chrome::NOTIFICATION_SESSION_SERVICE_SAVED :
1511 RecordUpdatedSaveTime(delta, use_long_period); 1511 RecordUpdatedSaveTime(delta, use_long_period);
1512 RecordUpdatedSessionNavigationOrTab(delta, use_long_period); 1512 RecordUpdatedSessionNavigationOrTab(delta, use_long_period);
1513 break; 1513 break;
1514 case content::NOTIFICATION_TAB_CLOSED: 1514 case content::NOTIFICATION_WEB_CONTENTS_DESTROYED:
1515 RecordUpdatedTabClosed(delta, use_long_period); 1515 RecordUpdatedTabClosed(delta, use_long_period);
1516 RecordUpdatedSessionNavigationOrTab(delta, use_long_period); 1516 RecordUpdatedSessionNavigationOrTab(delta, use_long_period);
1517 break; 1517 break;
1518 case content::NOTIFICATION_NAV_LIST_PRUNED: 1518 case content::NOTIFICATION_NAV_LIST_PRUNED:
1519 RecordUpdatedNavListPruned(delta, use_long_period); 1519 RecordUpdatedNavListPruned(delta, use_long_period);
1520 RecordUpdatedSessionNavigationOrTab(delta, use_long_period); 1520 RecordUpdatedSessionNavigationOrTab(delta, use_long_period);
1521 break; 1521 break;
1522 case content::NOTIFICATION_NAV_ENTRY_COMMITTED: 1522 case content::NOTIFICATION_NAV_ENTRY_COMMITTED:
1523 RecordUpdatedNavEntryCommit(delta, use_long_period); 1523 RecordUpdatedNavEntryCommit(delta, use_long_period);
1524 RecordUpdatedSessionNavigationOrTab(delta, use_long_period); 1524 RecordUpdatedSessionNavigationOrTab(delta, use_long_period);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1618 50); 1618 50);
1619 if (use_long_period) { 1619 if (use_long_period) {
1620 std::string long_name_("SessionRestore.SaveLongPeriod"); 1620 std::string long_name_("SessionRestore.SaveLongPeriod");
1621 UMA_HISTOGRAM_CUSTOM_TIMES(long_name_, 1621 UMA_HISTOGRAM_CUSTOM_TIMES(long_name_,
1622 delta, 1622 delta,
1623 save_delay_in_mins_, 1623 save_delay_in_mins_,
1624 save_delay_in_hrs_, 1624 save_delay_in_hrs_,
1625 50); 1625 50);
1626 } 1626 }
1627 } 1627 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698