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

Side by Side Diff: chrome/browser/prerender/prerender_manager.h

Issue 6915019: Changes to not use the prerendered contents when window.opener needs to be set. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Addressing Chris's comments & fixing a bug in PrerenderManager::MoveEntryToPendingDelete. Created 9 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <list> 9 #include <list>
10 #include <map> 10 #include <map>
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 // Destroy all preloads for the given child route id pair and assign a final 93 // Destroy all preloads for the given child route id pair and assign a final
94 // status to them. 94 // status to them.
95 void DestroyPreloadForChildRouteIdPair( 95 void DestroyPreloadForChildRouteIdPair(
96 const std::pair<int, int>& child_route_id_pair, 96 const std::pair<int, int>& child_route_id_pair,
97 FinalStatus final_status); 97 FinalStatus final_status);
98 98
99 // For a given TabContents that wants to navigate to the URL supplied, 99 // For a given TabContents that wants to navigate to the URL supplied,
100 // determines whether a preloaded version of the URL can be used, 100 // determines whether a preloaded version of the URL can be used,
101 // and substitutes the prerendered RVH into the TabContents. Returns 101 // and substitutes the prerendered RVH into the TabContents. Returns
102 // whether or not a prerendered RVH could be used or not. 102 // whether or not a prerendered RVH could be used or not.
103 bool MaybeUsePreloadedPage(TabContents* tab_contents, const GURL& url); 103 bool MaybeUsePreloadedPage(TabContents* tab_contents,
104 bool MaybeUsePreloadedPageOld(TabContents* tab_contents, const GURL& url); 104 const GURL& url,
105 bool has_opener_set);
106 bool MaybeUsePreloadedPageOld(TabContents* tab_contents,
107 const GURL& url,
108 bool has_opener_set);
105 109
106 // Moves a PrerenderContents to the pending delete list from the list of 110 // Moves a PrerenderContents to the pending delete list from the list of
107 // active prerenders when prerendering should be cancelled. 111 // active prerenders when prerendering should be cancelled.
108 void MoveEntryToPendingDelete(PrerenderContents* entry); 112 void MoveEntryToPendingDelete(PrerenderContents* entry);
109 113
110 // Checks if the PrerenderContents has been added to the pending delete list. 114 // Checks if the PrerenderContents has been added to the pending delete list.
111 bool IsPendingDelete(PrerenderContents* entry) const; 115 bool IsPendingDelete(PrerenderContents* entry) const;
112 116
113 // Retrieves the PrerenderContents object for the specified URL, if it 117 // Retrieves the PrerenderContents object for the specified URL, if it
114 // has been prerendered. The caller will then have ownership of the 118 // has been prerendered. The caller will then have ownership of the
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 base::TimeDelta max_prerender_age_; 261 base::TimeDelta max_prerender_age_;
258 // Maximum amount of memory, in megabytes, that a single PrerenderContents 262 // Maximum amount of memory, in megabytes, that a single PrerenderContents
259 // can use before it's cancelled. 263 // can use before it's cancelled.
260 size_t max_prerender_memory_mb_; 264 size_t max_prerender_memory_mb_;
261 unsigned int max_elements_; 265 unsigned int max_elements_;
262 266
263 // List of prerendered elements. 267 // List of prerendered elements.
264 std::list<PrerenderContentsData> prerender_list_; 268 std::list<PrerenderContentsData> prerender_list_;
265 269
266 // List of prerender elements to be deleted 270 // List of prerender elements to be deleted
267 std::list<PrerenderContentsData> pending_delete_list_; 271 std::list<PrerenderContents*> pending_delete_list_;
268 272
269 // Set of TabContents which are currently displaying a prerendered page. 273 // Set of TabContents which are currently displaying a prerendered page.
270 base::hash_set<TabContents*> prerendered_tab_contents_set_; 274 base::hash_set<TabContents*> prerendered_tab_contents_set_;
271 275
272 // Set of TabContents which would be displaying a prerendered page 276 // Set of TabContents which would be displaying a prerendered page
273 // (for the control group). 277 // (for the control group).
274 base::hash_set<TabContents*> would_be_prerendered_tab_contents_set_; 278 base::hash_set<TabContents*> would_be_prerendered_tab_contents_set_;
275 279
276 // Map of child/route id pairs to pending prerender data. 280 // Map of child/route id pairs to pending prerender data.
277 typedef std::map<std::pair<int, int>, std::vector<PendingContentsData> > 281 typedef std::map<std::pair<int, int>, std::vector<PendingContentsData> >
(...skipping 21 matching lines...) Expand all
299 base::TimeTicks last_prerender_start_time_; 303 base::TimeTicks last_prerender_start_time_;
300 304
301 std::list<TabContentsWrapper*> old_tab_contents_list_; 305 std::list<TabContentsWrapper*> old_tab_contents_list_;
302 306
303 DISALLOW_COPY_AND_ASSIGN(PrerenderManager); 307 DISALLOW_COPY_AND_ASSIGN(PrerenderManager);
304 }; 308 };
305 309
306 } // namespace prerender 310 } // namespace prerender
307 311
308 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_ 312 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698