summaryrefslogtreecommitdiffstats
path: root/chrome/browser/session_service.h
diff options
context:
space:
mode:
authorbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-13 15:40:09 +0000
committerbrettw@google.com <brettw@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-13 15:40:09 +0000
commit534e54bfc89ebbdbb345c3b643dc20b2643f1fee (patch)
tree5fcb98f948baf24f15b7c4c136a71df6b85cc1bc /chrome/browser/session_service.h
parent8988699d12335b2830dbc4e167244bc0244c97cd (diff)
downloadchromium_src-534e54bfc89ebbdbb345c3b643dc20b2643f1fee.zip
chromium_src-534e54bfc89ebbdbb345c3b643dc20b2643f1fee.tar.gz
chromium_src-534e54bfc89ebbdbb345c3b643dc20b2643f1fee.tar.bz2
First, this removes the dependency of NavigationController on the
SessionService. There were already some notifications that could be used to tell what's going on, and I filled out the rest. I moved some notifications from various places to the NavigationController. In ssl_blocking_page, I removed a notification because it also calls DidNavigateToEntry which does the notification (we got duplicate calls before). In browser.cc I removed the tab parented notification since this is already called by NavigationController::SetWindowID. I removed some obsolete notifications and associated structures, especially in history (like HOST_DELETED that was never issued). I renamed the window_map_ in the MetricsService becuase it was actually a map of controllers and Windows. This also reorders the navigation_types header file to try to bring some order to it. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@807 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/session_service.h')
-rw-r--r--chrome/browser/session_service.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/session_service.h b/chrome/browser/session_service.h
index 3877701..df932f9 100644
--- a/chrome/browser/session_service.h
+++ b/chrome/browser/session_service.h
@@ -38,6 +38,7 @@
#include "base/time.h"
#include "chrome/browser/browser_type.h"
#include "chrome/browser/cancelable_request.h"
+#include "chrome/common/notification_service.h"
#include "chrome/common/page_transition_types.h"
#include "chrome/common/stl_util-inl.h"
#include "googleurl/src/gurl.h"
@@ -220,6 +221,7 @@ struct SessionWindow {
// of the browser.
class SessionService : public CancelableRequestProvider,
+ public NotificationObserver,
public base::RefCountedThreadSafe<SessionService> {
friend class SessionServiceTestHelper;
public:
@@ -373,6 +375,10 @@ class SessionService : public CancelableRequestProvider,
// Various initialization; called from the constructor.
void Init(const std::wstring& path);
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
// Get*Session call into this to schedule the request. The request
// does NOT directly invoke the callback, rather the callback invokes
// OnGotSessionCommands from which we map the SessionCommands to browser