OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 | 228 |
229 // Marks prerender as used and releases any throttled resource requests. | 229 // Marks prerender as used and releases any throttled resource requests. |
230 void PrepareForUse(); | 230 void PrepareForUse(); |
231 | 231 |
232 // Called when a PrerenderResourceThrottle defers a request. If the prerender | 232 // Called when a PrerenderResourceThrottle defers a request. If the prerender |
233 // is used it'll be resumed on the IO thread, otherwise they will get | 233 // is used it'll be resumed on the IO thread, otherwise they will get |
234 // cancelled automatically if prerendering is cancelled. | 234 // cancelled automatically if prerendering is cancelled. |
235 void AddResourceThrottle( | 235 void AddResourceThrottle( |
236 const base::WeakPtr<PrerenderResourceThrottle>& throttle); | 236 const base::WeakPtr<PrerenderResourceThrottle>& throttle); |
237 | 237 |
| 238 // Called when a PrerenderResourceThrottle changes a resource priority to |
| 239 // net::IDLE. The resources are reset back to their original priorities when |
| 240 // the prerender contents is swapped in. |
| 241 void AddIdleResource( |
| 242 const base::WeakPtr<PrerenderResourceThrottle>& throttle); |
| 243 |
238 // Increments the number of bytes fetched over the network for this prerender. | 244 // Increments the number of bytes fetched over the network for this prerender. |
239 void AddNetworkBytes(int64_t bytes); | 245 void AddNetworkBytes(int64_t bytes); |
240 | 246 |
241 bool prerendering_has_been_cancelled() const { | 247 bool prerendering_has_been_cancelled() const { |
242 return prerendering_has_been_cancelled_; | 248 return prerendering_has_been_cancelled_; |
243 } | 249 } |
244 | 250 |
245 // Running byte count. Increased when each resource completes loading. | 251 // Running byte count. Increased when each resource completes loading. |
246 int64_t network_bytes() { return network_bytes_; } | 252 int64_t network_bytes() { return network_bytes_; } |
247 | 253 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 gfx::Rect bounds_; | 371 gfx::Rect bounds_; |
366 | 372 |
367 typedef std::vector<history::HistoryAddPageArgs> AddPageVector; | 373 typedef std::vector<history::HistoryAddPageArgs> AddPageVector; |
368 | 374 |
369 // Caches pages to be added to the history. | 375 // Caches pages to be added to the history. |
370 AddPageVector add_page_vector_; | 376 AddPageVector add_page_vector_; |
371 | 377 |
372 // Resources that are throttled, pending a prerender use. Can only access a | 378 // Resources that are throttled, pending a prerender use. Can only access a |
373 // throttle on the IO thread. | 379 // throttle on the IO thread. |
374 std::vector<base::WeakPtr<PrerenderResourceThrottle> > resource_throttles_; | 380 std::vector<base::WeakPtr<PrerenderResourceThrottle> > resource_throttles_; |
| 381 // Resources for which the priority was lowered to net::IDLE. |
| 382 std::vector<base::WeakPtr<PrerenderResourceThrottle>> idle_resources_; |
375 | 383 |
376 // A running tally of the number of bytes this prerender has caused to be | 384 // A running tally of the number of bytes this prerender has caused to be |
377 // transferred over the network for resources. Updated with AddNetworkBytes. | 385 // transferred over the network for resources. Updated with AddNetworkBytes. |
378 int64_t network_bytes_; | 386 int64_t network_bytes_; |
379 | 387 |
380 base::WeakPtrFactory<PrerenderContents> weak_factory_; | 388 base::WeakPtrFactory<PrerenderContents> weak_factory_; |
381 | 389 |
382 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); | 390 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); |
383 }; | 391 }; |
384 | 392 |
385 } // namespace prerender | 393 } // namespace prerender |
386 | 394 |
387 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ | 395 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ |
OLD | NEW |