diff options
author | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-06 10:46:44 +0000 |
---|---|---|
committer | michaeln@chromium.org <michaeln@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-06 10:46:44 +0000 |
commit | 6de7fc488e8b179cd4b4031510a42ab9d3c82b86 (patch) | |
tree | 6e86e6116209607ff917b2c23a61664889de5565 /content/public/browser/navigation_controller.h | |
parent | 80bc8a08d44568118d4614b61cf942c6e1bc3263 (diff) | |
download | chromium_src-6de7fc488e8b179cd4b4031510a42ab9d3c82b86.zip chromium_src-6de7fc488e8b179cd4b4031510a42ab9d3c82b86.tar.gz chromium_src-6de7fc488e8b179cd4b4031510a42ab9d3c82b86.tar.bz2 |
When deleting a WebContents, keep SessionStorageNamespaces used in the tab alive until we receive an acknowledgment from the renderer that the renderer side constructs have been cleaned up. Otherwise we can receive messages from still executing content referring to sessions that were prematurely deleted.
BUG=371304
Review URL: https://codereview.chromium.org/305103003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275383 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/browser/navigation_controller.h')
-rw-r--r-- | content/public/browser/navigation_controller.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/content/public/browser/navigation_controller.h b/content/public/browser/navigation_controller.h index c883e1e..08ea0b9 100644 --- a/content/public/browser/navigation_controller.h +++ b/content/public/browser/navigation_controller.h @@ -13,6 +13,7 @@ #include "base/strings/string16.h" #include "content/common/content_export.h" #include "content/public/browser/global_request_id.h" +#include "content/public/browser/session_storage_namespace.h" #include "content/public/common/page_transition_types.h" #include "content/public/common/referrer.h" #include "url/gurl.h" @@ -27,14 +28,8 @@ namespace content { class BrowserContext; class NavigationEntry; -class SessionStorageNamespace; class WebContents; -// 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. // @@ -356,7 +351,7 @@ class NavigationController { // which cannot be used on iOS. #if !defined(OS_IOS) // Returns all the SessionStorageNamespace objects that this - // NavigationController knows about. + // NavigationController knows about, the map key is a StoragePartition id. virtual const SessionStorageNamespaceMap& GetSessionStorageNamespaceMap() const = 0; |