| 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 | |
| 244 // Increments the number of bytes fetched over the network for this prerender. | 238 // Increments the number of bytes fetched over the network for this prerender. |
| 245 void AddNetworkBytes(int64_t bytes); | 239 void AddNetworkBytes(int64_t bytes); |
| 246 | 240 |
| 247 bool prerendering_has_been_cancelled() const { | 241 bool prerendering_has_been_cancelled() const { |
| 248 return prerendering_has_been_cancelled_; | 242 return prerendering_has_been_cancelled_; |
| 249 } | 243 } |
| 250 | 244 |
| 251 // Running byte count. Increased when each resource completes loading. | 245 // Running byte count. Increased when each resource completes loading. |
| 252 int64_t network_bytes() { return network_bytes_; } | 246 int64_t network_bytes() { return network_bytes_; } |
| 253 | 247 |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 gfx::Rect bounds_; | 365 gfx::Rect bounds_; |
| 372 | 366 |
| 373 typedef std::vector<history::HistoryAddPageArgs> AddPageVector; | 367 typedef std::vector<history::HistoryAddPageArgs> AddPageVector; |
| 374 | 368 |
| 375 // Caches pages to be added to the history. | 369 // Caches pages to be added to the history. |
| 376 AddPageVector add_page_vector_; | 370 AddPageVector add_page_vector_; |
| 377 | 371 |
| 378 // Resources that are throttled, pending a prerender use. Can only access a | 372 // Resources that are throttled, pending a prerender use. Can only access a |
| 379 // throttle on the IO thread. | 373 // throttle on the IO thread. |
| 380 std::vector<base::WeakPtr<PrerenderResourceThrottle> > resource_throttles_; | 374 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_; | |
| 383 | 375 |
| 384 // A running tally of the number of bytes this prerender has caused to be | 376 // A running tally of the number of bytes this prerender has caused to be |
| 385 // transferred over the network for resources. Updated with AddNetworkBytes. | 377 // transferred over the network for resources. Updated with AddNetworkBytes. |
| 386 int64_t network_bytes_; | 378 int64_t network_bytes_; |
| 387 | 379 |
| 388 base::WeakPtrFactory<PrerenderContents> weak_factory_; | 380 base::WeakPtrFactory<PrerenderContents> weak_factory_; |
| 389 | 381 |
| 390 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); | 382 DISALLOW_COPY_AND_ASSIGN(PrerenderContents); |
| 391 }; | 383 }; |
| 392 | 384 |
| 393 } // namespace prerender | 385 } // namespace prerender |
| 394 | 386 |
| 395 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ | 387 #endif // CHROME_BROWSER_PRERENDER_PRERENDER_CONTENTS_H_ |
| OLD | NEW |