Index: content/public/browser/navigation_controller.h |
diff --git a/content/public/browser/navigation_controller.h b/content/public/browser/navigation_controller.h |
index a1bed25ed1a09ae810c7a95b36fb3041860f6cd5..19c2fa939f6a7ac317a88378d80720b32674b87c 100644 |
--- a/content/public/browser/navigation_controller.h |
+++ b/content/public/browser/navigation_controller.h |
@@ -5,9 +5,11 @@ |
#ifndef CONTENT_PUBLIC_BROWSER_NAVIGATION_CONTROLLER_H_ |
#define CONTENT_PUBLIC_BROWSER_NAVIGATION_CONTROLLER_H_ |
+#include <map> |
#include <string> |
#include <vector> |
+#include "base/memory/ref_counted.h" |
#include "base/string16.h" |
#include "content/common/content_export.h" |
#include "content/public/browser/global_request_id.h" |
@@ -23,6 +25,11 @@ class SessionStorageNamespace; |
class WebContents; |
struct Referrer; |
+// Used to store the mapping of a StoragePartition id to |
+// SessionStorageNamespace. |
+typedef std::map<std::string, scoped_refptr<SessionStorageNamespace> > |
+ SessionStorageNamespaceMap; |
+ |
// A NavigationController maintains the back-forward list for a WebContents and |
// manages all navigation within that list. |
// |
@@ -228,8 +235,14 @@ class NavigationController { |
// Random -------------------------------------------------------------------- |
- // The session storage namespace that all child render views should use. |
- virtual SessionStorageNamespace* GetSessionStorageNamespace() const = 0; |
+ // Returns all the SessionStorageNamespace objects that this |
+ // NavigationController knows about. |
+ virtual const SessionStorageNamespaceMap& |
+ GetSessionStorageNamespaceMap() const = 0; |
+ |
+ // TODO(ajwong): Remove this once prerendering, instant, and session restore |
+ // are migrated. |
+ virtual SessionStorageNamespace* GetDefaultSessionStorageNamespace() = 0; |
// Sets the max restored page ID this NavigationController has seen, if it |
// was restored from a previous session. |