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_manager.h" | 5 #include "chrome/browser/prerender/prerender_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1086 } | 1086 } |
1087 | 1087 |
1088 seen_target_route_id_ = true; | 1088 seen_target_route_id_ = true; |
1089 target_route_id_ = PrerenderTracker::ChildRouteIdPair( | 1089 target_route_id_ = PrerenderTracker::ChildRouteIdPair( |
1090 render_view_host->GetMainFrame()->GetProcess()->GetID(), | 1090 render_view_host->GetMainFrame()->GetProcess()->GetID(), |
1091 render_view_host->GetMainFrame()->GetRoutingID()); | 1091 render_view_host->GetMainFrame()->GetRoutingID()); |
1092 manager_->prerender_tracker()->AddPrerenderPendingSwap( | 1092 manager_->prerender_tracker()->AddPrerenderPendingSwap( |
1093 target_route_id_, url_); | 1093 target_route_id_, url_); |
1094 } | 1094 } |
1095 | 1095 |
1096 void PrerenderManager::PendingSwap::ProvisionalChangeToMainFrameUrl( | |
1097 const GURL& url, | |
1098 content::RenderFrameHost* render_frame_host) { | |
1099 // We must only cancel the pending swap if the |url| navigated to is not | |
1100 // the URL being attempted to be swapped in. That's because in the normal | |
1101 // flow, a ProvisionalChangeToMainFrameUrl will happen for the URL attempted | |
1102 // to be swapped in immediately after the pending swap has issued its merge. | |
1103 if (url != url_) | |
tburkard
2014/09/17 14:19:42
How about this logic here? Why was this removed co
tburkard
2014/09/17 14:21:02
Ah I see that davidben@ mentioned that this may be
davidben
2014/09/17 15:08:30
That logic is actually a pretty good indication th
tburkard
2014/09/18 09:36:04
Saying a certain code path is not needed because i
Avi (use Gerrit)
2014/09/18 21:00:21
OK, I'm putting it back.
davidben
2014/09/18 22:14:21
Heh. Well, the better answer is that DidFailProvis
| |
1104 prerender_data_->ClearPendingSwap(); | |
1105 } | |
1106 | |
1107 void PrerenderManager::PendingSwap::DidCommitProvisionalLoadForFrame( | 1096 void PrerenderManager::PendingSwap::DidCommitProvisionalLoadForFrame( |
1108 content::RenderFrameHost* render_frame_host, | 1097 content::RenderFrameHost* render_frame_host, |
1109 const GURL& validated_url, | 1098 const GURL& validated_url, |
1110 content::PageTransition transition_type) { | 1099 content::PageTransition transition_type) { |
1111 if (render_frame_host->GetParent()) | 1100 if (render_frame_host->GetParent()) |
1112 return; | 1101 return; |
1113 prerender_data_->ClearPendingSwap(); | 1102 prerender_data_->ClearPendingSwap(); |
1114 } | 1103 } |
1115 | 1104 |
1116 void PrerenderManager::PendingSwap::DidFailProvisionalLoad( | 1105 void PrerenderManager::PendingSwap::DidFailProvisionalLoad( |
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1885 content::RenderProcessHost* host) { | 1874 content::RenderProcessHost* host) { |
1886 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1875 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1887 prerender_process_hosts_.erase(host); | 1876 prerender_process_hosts_.erase(host); |
1888 BrowserThread::PostTask( | 1877 BrowserThread::PostTask( |
1889 BrowserThread::IO, FROM_HERE, | 1878 BrowserThread::IO, FROM_HERE, |
1890 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread, | 1879 base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread, |
1891 base::Unretained(prerender_tracker()), host->GetID(), false)); | 1880 base::Unretained(prerender_tracker()), host->GetID(), false)); |
1892 } | 1881 } |
1893 | 1882 |
1894 } // namespace prerender | 1883 } // namespace prerender |
OLD | NEW |