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_link_manager.h" | 5 #include "chrome/browser/prerender/prerender_link_manager.h" |
6 | 6 |
7 #include <functional> | 7 #include <functional> |
8 #include <limits> | 8 #include <limits> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 prerender->handle->OnNavigateAway(); | 224 prerender->handle->OnNavigateAway(); |
225 DCHECK(prerender->handle); | 225 DCHECK(prerender->handle); |
226 | 226 |
227 // If the prerender is not running, remove it from the list so it does not | 227 // If the prerender is not running, remove it from the list so it does not |
228 // leak. If it is running, it will send a cancel event when it stops which | 228 // leak. If it is running, it will send a cancel event when it stops which |
229 // will remove it. | 229 // will remove it. |
230 if (!prerender->handle->IsPrerendering()) | 230 if (!prerender->handle->IsPrerendering()) |
231 RemovePrerender(prerender); | 231 RemovePrerender(prerender); |
232 } | 232 } |
233 | 233 |
234 void PrerenderLinkManager::OnChannelClosing(int child_id) { | 234 void PrerenderLinkManager::OnSenderClosing(int child_id) { |
235 std::list<LinkPrerender>::iterator next = prerenders_.begin(); | 235 std::list<LinkPrerender>::iterator next = prerenders_.begin(); |
236 while (next != prerenders_.end()) { | 236 while (next != prerenders_.end()) { |
237 std::list<LinkPrerender>::iterator it = next; | 237 std::list<LinkPrerender>::iterator it = next; |
238 ++next; | 238 ++next; |
239 | 239 |
240 if (child_id != it->launcher_child_id) | 240 if (child_id != it->launcher_child_id) |
241 continue; | 241 continue; |
242 | 242 |
243 const size_t running_prerender_count = CountRunningPrerenders(); | 243 const size_t running_prerender_count = CountRunningPrerenders(); |
244 OnAbandonPrerender(child_id, it->prerender_id); | 244 OnAbandonPrerender(child_id, it->prerender_id); |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
534 DCHECK(!prerender->is_match_complete_replacement); | 534 DCHECK(!prerender->is_match_complete_replacement); |
535 prerender->is_match_complete_replacement = true; | 535 prerender->is_match_complete_replacement = true; |
536 Send(prerender->launcher_child_id, | 536 Send(prerender->launcher_child_id, |
537 new PrerenderMsg_OnPrerenderStop(prerender->prerender_id)); | 537 new PrerenderMsg_OnPrerenderStop(prerender->prerender_id)); |
538 // Do not call RemovePrerender here. The replacement needs to stay connected | 538 // Do not call RemovePrerender here. The replacement needs to stay connected |
539 // to the HTMLLinkElement in the renderer so it notices renderer-triggered | 539 // to the HTMLLinkElement in the renderer so it notices renderer-triggered |
540 // cancelations. | 540 // cancelations. |
541 } | 541 } |
542 | 542 |
543 } // namespace prerender | 543 } // namespace prerender |
OLD | NEW |