| 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 #include "chrome/browser/prerender/prerender_contents.h" | 5 #include "chrome/browser/prerender/prerender_contents.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <functional> | 10 #include <functional> |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 DCHECK(!prerendering_has_started_); | 266 DCHECK(!prerendering_has_started_); |
| 267 DCHECK(!prerender_contents_); | 267 DCHECK(!prerender_contents_); |
| 268 DCHECK_EQ(1U, alias_urls_.size()); | 268 DCHECK_EQ(1U, alias_urls_.size()); |
| 269 | 269 |
| 270 session_storage_namespace_id_ = session_storage_namespace->id(); | 270 session_storage_namespace_id_ = session_storage_namespace->id(); |
| 271 bounds_ = bounds; | 271 bounds_ = bounds; |
| 272 | 272 |
| 273 DCHECK(load_start_time_.is_null()); | 273 DCHECK(load_start_time_.is_null()); |
| 274 load_start_time_ = base::TimeTicks::Now(); | 274 load_start_time_ = base::TimeTicks::Now(); |
| 275 | 275 |
| 276 // Everything after this point sets up the WebContents object and associated | |
| 277 // RenderView for the prerender page. Don't do this for members of the | |
| 278 // control group. | |
| 279 if (prerender_manager_->IsControlGroup()) | |
| 280 return; | |
| 281 | |
| 282 prerendering_has_started_ = true; | 276 prerendering_has_started_ = true; |
| 283 | 277 |
| 284 prerender_contents_.reset(CreateWebContents(session_storage_namespace)); | 278 prerender_contents_.reset(CreateWebContents(session_storage_namespace)); |
| 285 TabHelpers::AttachTabHelpers(prerender_contents_.get()); | 279 TabHelpers::AttachTabHelpers(prerender_contents_.get()); |
| 286 content::WebContentsObserver::Observe(prerender_contents_.get()); | 280 content::WebContentsObserver::Observe(prerender_contents_.get()); |
| 287 | 281 |
| 288 // Tag the prerender contents with the task manager specific prerender tag, so | 282 // Tag the prerender contents with the task manager specific prerender tag, so |
| 289 // that it shows up in the task manager. | 283 // that it shows up in the task manager. |
| 290 task_manager::WebContentsTags::CreateForPrerenderContents( | 284 task_manager::WebContentsTags::CreateForPrerenderContents( |
| 291 prerender_contents_.get()); | 285 prerender_contents_.get()); |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 | 622 |
| 629 if (prerendering_has_been_cancelled_) | 623 if (prerendering_has_been_cancelled_) |
| 630 return; | 624 return; |
| 631 | 625 |
| 632 SetFinalStatus(final_status); | 626 SetFinalStatus(final_status); |
| 633 | 627 |
| 634 prerendering_has_been_cancelled_ = true; | 628 prerendering_has_been_cancelled_ = true; |
| 635 prerender_manager_->AddToHistory(this); | 629 prerender_manager_->AddToHistory(this); |
| 636 prerender_manager_->MoveEntryToPendingDelete(this, final_status); | 630 prerender_manager_->MoveEntryToPendingDelete(this, final_status); |
| 637 | 631 |
| 638 if (!prerender_manager_->IsControlGroup() && prerendering_has_started()) | 632 if (prerendering_has_started()) |
| 639 NotifyPrerenderStop(); | 633 NotifyPrerenderStop(); |
| 640 } | 634 } |
| 641 | 635 |
| 642 base::ProcessMetrics* PrerenderContents::MaybeGetProcessMetrics() { | 636 base::ProcessMetrics* PrerenderContents::MaybeGetProcessMetrics() { |
| 643 if (!process_metrics_) { | 637 if (!process_metrics_) { |
| 644 // If a PrenderContents hasn't started prerending, don't be fully formed. | 638 // If a PrenderContents hasn't started prerending, don't be fully formed. |
| 645 const RenderViewHost* rvh = GetRenderViewHost(); | 639 const RenderViewHost* rvh = GetRenderViewHost(); |
| 646 if (!rvh) | 640 if (!rvh) |
| 647 return nullptr; | 641 return nullptr; |
| 648 | 642 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 void PrerenderContents::AddResourceThrottle( | 745 void PrerenderContents::AddResourceThrottle( |
| 752 const base::WeakPtr<PrerenderResourceThrottle>& throttle) { | 746 const base::WeakPtr<PrerenderResourceThrottle>& throttle) { |
| 753 resource_throttles_.push_back(throttle); | 747 resource_throttles_.push_back(throttle); |
| 754 } | 748 } |
| 755 | 749 |
| 756 void PrerenderContents::AddNetworkBytes(int64_t bytes) { | 750 void PrerenderContents::AddNetworkBytes(int64_t bytes) { |
| 757 network_bytes_ += bytes; | 751 network_bytes_ += bytes; |
| 758 } | 752 } |
| 759 | 753 |
| 760 } // namespace prerender | 754 } // namespace prerender |
| OLD | NEW |