OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |