Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Side by Side Diff: chrome/browser/prerender/prerender_link_manager.cc

Issue 324143002: Decouple IPC::MessageFilter from IPC::Channel (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing compilation errors Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698