Chromium Code Reviews| Index: chrome/browser/prerender/prerender_manager.cc |
| =================================================================== |
| --- chrome/browser/prerender/prerender_manager.cc (revision 244941) |
| +++ chrome/browser/prerender/prerender_manager.cc (working copy) |
| @@ -1127,20 +1127,14 @@ |
| start_time_(base::TimeTicks::Now()), |
| swap_successful_(false), |
| weak_factory_(this) { |
| - // Record the RFH id in the tracker to install throttles on MAIN_FRAME |
| - // requests from that route. |
| - int render_process_id = |
| - target_contents->GetMainFrame()->GetProcess()->GetID(); |
| - int render_frame_id = target_contents->GetMainFrame()->GetRoutingID(); |
| - render_frame_route_id_pair_ = PrerenderTracker::ChildRouteIdPair( |
| - render_process_id, render_frame_id); |
| - manager_->prerender_tracker()->AddPrerenderPendingSwap( |
| - render_frame_route_id_pair_, url_); |
| + RenderViewCreated(target_contents->GetRenderViewHost()); |
| } |
| PrerenderManager::PendingSwap::~PendingSwap() { |
| - manager_->prerender_tracker()->RemovePrerenderPendingSwap( |
| - render_frame_route_id_pair_, swap_successful_); |
| + for (size_t i = 0; i < main_rfh_ids_.size(); i++) { |
| + manager_->prerender_tracker()->RemovePrerenderPendingSwap( |
| + main_rfh_ids_[i], swap_successful_); |
| + } |
| } |
| void PrerenderManager::PendingSwap::BeginSwap() { |
| @@ -1185,6 +1179,20 @@ |
| prerender_data_->ClearPendingSwap(); |
| } |
| +void PrerenderManager::PendingSwap::RenderViewCreated( |
| + content::RenderViewHost* render_view_host) { |
|
davidben
2014/01/16 18:06:00
Hrm. So, was the goal of this work to get rid of R
jam
2014/01/16 18:12:26
The latter. Eventually RenderViewCreated will be g
davidben
2014/01/16 20:45:38
Ah, okay. Would it be a problem and/or useful for
jam
2014/01/16 20:50:35
np to me, I was just trying to leave things in the
|
| + // Record the RFH id in the tracker to install throttles on MAIN_FRAME |
| + // requests from that route. |
| + int render_process_id = |
| + render_view_host->GetMainFrame()->GetProcess()->GetID(); |
| + int render_frame_id = render_view_host->GetMainFrame()->GetRoutingID(); |
| + PrerenderTracker::ChildRouteIdPair render_frame_route_id_pair( |
| + render_process_id, render_frame_id); |
| + main_rfh_ids_.push_back(render_frame_route_id_pair); |
| + manager_->prerender_tracker()->AddPrerenderPendingSwap( |
| + render_frame_route_id_pair, url_); |
| +} |
| + |
| void PrerenderManager::PendingSwap::DidFailProvisionalLoad( |
| int64 frame_id, |
| const base::string16& frame_unique_name, |