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

Unified Diff: chrome/browser/prerender/prerender_contents.cc

Issue 10831116: Move SessionStorageNamespace entirely into NavigationController and support StoragePartitions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add some rudimentary testing. Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_contents.cc
diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
index c148908ae8bd7b5b1f28d850d4460de8afc90e3d..319e14b9ded99db7b9754dda9e936c3628227f62 100644
--- a/chrome/browser/prerender/prerender_contents.cc
+++ b/chrome/browser/prerender/prerender_contents.cc
@@ -211,8 +211,12 @@ bool PrerenderContents::IsPendingEntry(
void PrerenderContents::StartPendingPrerenders() {
SessionStorageNamespace* session_storage_namespace = NULL;
- if (RenderViewHost* render_view_host = GetRenderViewHostMutable())
- session_storage_namespace = render_view_host->GetSessionStorageNamespace();
+ if (prerender_contents_.get()) {
+ // TODO(ajwong): This does not correctly handle storage for isolated apps.
+ session_storage_namespace =
+ prerender_contents_->web_contents()->GetController()
+ .GetSessionStorageNamespaceMap().find("")->second;
+ }
DCHECK(child_id_ == -1 || session_storage_namespace);
std::vector<PendingPrerenderInfo> pending_prerender_list;
@@ -500,8 +504,12 @@ void PrerenderContents::OnRenderViewHostCreated(
WebContents* PrerenderContents::CreateWebContents(
SessionStorageNamespace* session_storage_namespace) {
- return WebContents::Create(profile_, NULL, MSG_ROUTING_NONE, NULL,
- session_storage_namespace);
+ // TODO(ajwong): Remove the temporary map once prerendering is aware of
+ // multiple session storage namespaces per tab.
+ content::SessionStorageNamespaceMap session_storage_namespace_map;
+ session_storage_namespace_map[""] = session_storage_namespace;
+ return WebContents::CreateWithSessionStorage(
+ profile_, NULL, MSG_ROUTING_NONE, NULL, session_storage_namespace_map);
}
void PrerenderContents::OnUpdateFaviconURL(

Powered by Google App Engine
This is Rietveld 408576698