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

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

Issue 10831116: Move SessionStorageNamespace entirely into NavigationController and support StoragePartitions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: mac win compile fixes Created 8 years, 4 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_manager.cc
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index c0752a62f7a14efd0a73df3f06046cd42f3e08d4..2a22364d599d970c0ec0ab11774dc3199df02292 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -233,8 +233,14 @@ PrerenderHandle* PrerenderManager::AddPrerenderFromLinkRelPrerender(
RenderViewHost::FromID(process_id, route_id);
if (!source_render_view_host)
return NULL;
+ WebContents* source_web_contents =
+ WebContents::FromRenderViewHost(source_render_view_host);
+ if (!source_web_contents)
+ return NULL;
+ // TODO(ajwong): This does not correctly handle storage for isolated apps.
session_storage_namespace =
- source_render_view_host->GetSessionStorageNamespace();
+ source_web_contents->GetController()
+ .GetSessionStorageNamespaceMap().find("")->second;
}
return AddPrerender(ORIGIN_LINK_REL_PRERENDER,
@@ -276,12 +282,13 @@ bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents,
DCHECK(CalledOnValidThread());
DCHECK(!IsWebContentsPrerendering(web_contents));
- RenderViewHost* old_render_view_host = web_contents->GetRenderViewHost();
-
DeleteOldEntries();
DeletePendingDeleteEntries();
+ // TODO(ajwong): This doesn't handle isolated apps correctly.
PrerenderData* prerender_data = FindPrerenderData(
- url, old_render_view_host->GetSessionStorageNamespace());
+ url,
+ web_contents->GetController().GetSessionStorageNamespaceMap()
+ .find("")->second);
if (!prerender_data)
return false;
DCHECK(prerender_data->contents_);

Powered by Google App Engine
This is Rietveld 408576698