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

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

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, 1 month 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_CONTENTS_H_ 5 #ifndef CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
6 #define CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ 6 #define CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <list> 9 #include <list>
10 #include <string> 10 #include <string>
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 class Factory { 52 class Factory {
53 public: 53 public:
54 Factory() {} 54 Factory() {}
55 virtual ~Factory() {} 55 virtual ~Factory() {}
56 56
57 // Ownership is not transfered through this interface as prerender_manager, 57 // Ownership is not transfered through this interface as prerender_manager,
58 // prerender_tracker, and profile are stored as weak pointers. 58 // prerender_tracker, and profile are stored as weak pointers.
59 virtual PrerenderContents* CreatePrerenderContents( 59 virtual PrerenderContents* CreatePrerenderContents(
60 PrerenderManager* prerender_manager, 60 PrerenderManager* prerender_manager,
61 PrerenderTracker* prerender_tracker, 61 PrerenderTracker* prerender_tracker,
62 SessionStorageNamespace* session_storage_namespace,
62 Profile* profile, 63 Profile* profile,
63 const GURL& url, 64 const GURL& url,
64 const GURL& referrer, 65 const GURL& referrer,
65 Origin origin, 66 Origin origin,
66 uint8 experiment_id) = 0; 67 uint8 experiment_id) = 0;
67 68
68 private: 69 private:
69 DISALLOW_COPY_AND_ASSIGN(Factory); 70 DISALLOW_COPY_AND_ASSIGN(Factory);
70 }; 71 };
71 72
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 // Returns true if |url| corresponds to a pending prerender. 187 // Returns true if |url| corresponds to a pending prerender.
187 bool IsPendingEntry(const GURL& url) const; 188 bool IsPendingEntry(const GURL& url) const;
188 189
189 // Reissues any pending prerender requests from the prerendered page. Also 190 // Reissues any pending prerender requests from the prerendered page. Also
190 // clears the list of pending requests. 191 // clears the list of pending requests.
191 void StartPendingPrerenders(); 192 void StartPendingPrerenders();
192 193
193 protected: 194 protected:
194 PrerenderContents(PrerenderManager* prerender_manager, 195 PrerenderContents(PrerenderManager* prerender_manager,
195 PrerenderTracker* prerender_tracker, 196 PrerenderTracker* prerender_tracker,
197 SessionStorageNamespace* session_storage_namespace,
196 Profile* profile, 198 Profile* profile,
197 const GURL& url, 199 const GURL& url,
198 const GURL& referrer, 200 const GURL& referrer,
199 Origin origin, 201 Origin origin,
200 uint8 experiment_id); 202 uint8 experiment_id);
201 203
202 // Called whenever a RenderViewHost is created for prerendering. Only called 204 // Called whenever a RenderViewHost is created for prerendering. Only called
203 // once the RenderViewHost has a RenderView and RenderWidgetHostView. 205 // once the RenderViewHost has a RenderView and RenderWidgetHostView.
204 virtual void OnRenderViewHostCreated(RenderViewHost* new_render_view_host); 206 virtual void OnRenderViewHostCreated(RenderViewHost* new_render_view_host);
205 207
(...skipping 21 matching lines...) Expand all
227 229
228 // Returns the ProcessMetrics for the render process, if it exists. 230 // Returns the ProcessMetrics for the render process, if it exists.
229 base::ProcessMetrics* MaybeGetProcessMetrics(); 231 base::ProcessMetrics* MaybeGetProcessMetrics();
230 232
231 // The prerender manager owning this object. 233 // The prerender manager owning this object.
232 PrerenderManager* prerender_manager_; 234 PrerenderManager* prerender_manager_;
233 235
234 // The prerender tracker tracking prerenders. 236 // The prerender tracker tracking prerenders.
235 PrerenderTracker* prerender_tracker_; 237 PrerenderTracker* prerender_tracker_;
236 238
239 // The sessionStorage namespace of the tab that generated this prerender.
240 scoped_refptr<SessionStorageNamespace> session_storage_namespace_;
241
237 // The URL being prerendered. 242 // The URL being prerendered.
238 GURL prerender_url_; 243 GURL prerender_url_;
239 244
240 // The referrer. 245 // The referrer.
241 GURL referrer_; 246 GURL referrer_;
242 247
243 // The NavigationParameters of the finished navigation. 248 // The NavigationParameters of the finished navigation.
244 scoped_ptr<ViewHostMsg_FrameNavigate_Params> navigate_params_; 249 scoped_ptr<ViewHostMsg_FrameNavigate_Params> navigate_params_;
245 250
246 // The profile being used 251 // The profile being used
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 313
309 // Offset by which to offset prerendered pages 314 // Offset by which to offset prerendered pages
310 static const int32 kPrerenderPageIdOffset = 10; 315 static const int32 kPrerenderPageIdOffset = 10;
311 316
312 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); 317 DISALLOW_COPY_AND_ASSIGN(PrerenderContents);
313 }; 318 };
314 319
315 } // namespace prerender 320 } // namespace prerender
316 321
317 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ 322 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698