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

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

Issue 8392041: Prerendered tabs use the same SessionStorage namespace as the tab that triggered the prerender. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Indent fixes Created 9 years, 2 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 b1a841429f91f2021f5d68c045fd09c2418ee971..2047cc58c3941e416e7bf797da37dbbe15e9dd37 100644
--- a/chrome/browser/prerender/prerender_contents.cc
+++ b/chrome/browser/prerender/prerender_contents.cc
@@ -24,6 +24,7 @@
#include "chrome/common/icon_messages.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/url_constants.h"
+#include "content/browser/in_process_webkit/session_storage_namespace.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/renderer_host/resource_request_details.h"
#include "content/browser/tab_contents/tab_contents_delegate.h"
@@ -63,9 +64,11 @@ class PrerenderContentsFactoryImpl : public PrerenderContents::Factory {
public:
virtual PrerenderContents* CreatePrerenderContents(
PrerenderManager* prerender_manager, PrerenderTracker* prerender_tracker,
- Profile* profile, const GURL& url, const GURL& referrer,
+ SessionStorageNamespace* session_storage_namespace, Profile* profile,
+ const GURL& url, const GURL& referrer,
Origin origin, uint8 experiment_id) OVERRIDE {
- return new PrerenderContents(prerender_manager, prerender_tracker, profile,
+ return new PrerenderContents(prerender_manager, prerender_tracker,
+ session_storage_namespace, profile,
url, referrer, origin, experiment_id);
}
};
@@ -170,19 +173,23 @@ void PrerenderContents::StartPendingPrerenders() {
prerender_manager_->AddPrerender(it->origin,
std::make_pair(child_id_, route_id_),
it->url,
- it->referrer);
+ it->referrer,
+ NULL);
}
}
-PrerenderContents::PrerenderContents(PrerenderManager* prerender_manager,
- PrerenderTracker* prerender_tracker,
- Profile* profile,
- const GURL& url,
- const GURL& referrer,
- Origin origin,
- uint8 experiment_id)
+PrerenderContents::PrerenderContents(
+ PrerenderManager* prerender_manager,
+ PrerenderTracker* prerender_tracker,
+ SessionStorageNamespace* session_storage_namespace,
+ Profile* profile,
+ const GURL& url,
+ const GURL& referrer,
+ Origin origin,
+ uint8 experiment_id)
: prerender_manager_(prerender_manager),
prerender_tracker_(prerender_tracker),
+ session_storage_namespace_(session_storage_namespace),
prerender_url_(url),
referrer_(referrer),
profile_(profile),
@@ -216,7 +223,7 @@ void PrerenderContents::StartPrerendering(
prerendering_has_started_ = true;
TabContents* new_contents = new TabContents(profile_, NULL, MSG_ROUTING_NONE,
- NULL, NULL);
+ NULL, session_storage_namespace_);
prerender_contents_.reset(new TabContentsWrapper(new_contents));
TabContentsObserver::Observe(new_contents);

Powered by Google App Engine
This is Rietveld 408576698