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

Unified Diff: chrome/browser/prerender/prerender_resource_handler.h

Issue 6625066: Add pending preloads indexed by routing id. Start preloading once we navigate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing leak by checking for a valid Prerender source Created 9 years, 9 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_resource_handler.h
diff --git a/chrome/browser/prerender/prerender_resource_handler.h b/chrome/browser/prerender/prerender_resource_handler.h
index a53466ea8932bbb1c006c175b82e05012e18ceb4..452b4bc0d642d47e4722cc931c011cc0fa7e73f1 100644
--- a/chrome/browser/prerender/prerender_resource_handler.h
+++ b/chrome/browser/prerender/prerender_resource_handler.h
@@ -37,7 +37,8 @@ class PrerenderResourceHandler : public ResourceHandler {
static PrerenderResourceHandler* MaybeCreate(
const net::URLRequest& request,
ChromeURLRequestContext* context,
- ResourceHandler* next_handler);
+ ResourceHandler* next_handler,
+ bool is_from_prerender, int child_id, int route_id);
// OnResponseStarted will ask the |prerender_manager_| to start
// prerendering the requested resource if it is of an appropriate
@@ -69,13 +70,16 @@ class PrerenderResourceHandler : public ResourceHandler {
private:
friend class PrerenderResourceHandlerTest;
- typedef Callback3<const GURL&,
+ typedef Callback5<std::pair<int, int>,
+ const GURL&,
const std::vector<GURL>&,
- const GURL&>::Type PrerenderCallback;
+ const GURL&,
+ bool>::Type PrerenderCallback;
PrerenderResourceHandler(const net::URLRequest& request,
ResourceHandler* next_handler,
- PrerenderManager* prerender_manager);
+ PrerenderManager* prerender_manager,
+ bool make_pending, int child_id, int route_id);
// This constructor is only used from unit tests.
PrerenderResourceHandler(const net::URLRequest& request,
@@ -84,12 +88,16 @@ class PrerenderResourceHandler : public ResourceHandler {
virtual ~PrerenderResourceHandler();
- void RunCallbackFromUIThread(const GURL& url,
+ void RunCallbackFromUIThread(std::pair<int, int> child_route_id_pair,
+ const GURL& url,
const std::vector<GURL>& alias_urls,
- const GURL& referrer);
- void StartPrerender(const GURL& url,
+ const GURL& referrer,
+ bool make_pending);
+ void StartPrerender(std::pair<int, int> child_route_id_pair,
+ const GURL& url,
const std::vector<GURL>& alias_urls,
- const GURL& referrer);
+ const GURL& referrer,
+ bool make_pending);
// The set of URLs that are aliases to the URL to be prerendered,
// as a result of redirects, including the final URL.
@@ -103,6 +111,12 @@ class PrerenderResourceHandler : public ResourceHandler {
// can result in the referrer being cleared.
const net::URLRequest& request_;
+ int child_id_;
+ int route_id_;
+
+ // True if we want to make this a pending prerender for later
+ bool make_pending_;
+
DISALLOW_COPY_AND_ASSIGN(PrerenderResourceHandler);
};

Powered by Google App Engine
This is Rietveld 408576698