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

Side by Side Diff: chrome/renderer/prerender/prerender_dispatcher.cc

Issue 11551003: Change multi-prerender API to include per launcher slots. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: guh Created 8 years 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/renderer/prerender/prerender_dispatcher.h" 5 #include "chrome/renderer/prerender/prerender_dispatcher.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/common/prerender_messages.h" 8 #include "chrome/common/prerender_messages.h"
9 #include "chrome/renderer/prerender/prerender_extra_data.h" 9 #include "chrome/renderer/prerender/prerender_extra_data.h"
10 #include "content/public/common/referrer.h" 10 #include "content/public/common/referrer.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 DCHECK_NE(0u, prerenders_.count(prerender_id)); 51 DCHECK_NE(0u, prerenders_.count(prerender_id));
52 running_prerender_urls_.insert( 52 running_prerender_urls_.insert(
53 std::multimap<GURL, int>::value_type(url, prerender_id)); 53 std::multimap<GURL, int>::value_type(url, prerender_id));
54 } 54 }
55 55
56 void PrerenderDispatcher::OnPrerenderStop(int prerender_id) { 56 void PrerenderDispatcher::OnPrerenderStop(int prerender_id) {
57 DCHECK_NE(0u, prerenders_.count(prerender_id)); 57 DCHECK_NE(0u, prerenders_.count(prerender_id));
58 WebPrerender& prerender = prerenders_[prerender_id]; 58 WebPrerender& prerender = prerenders_[prerender_id];
59 59
60 // The prerender should only be null in unit tests. 60 // The prerender should only be null in unit tests.
61 if (!prerender.isNull()) 61 if (!prerender.isNull()) {
62 DVLOG(7) << "stopping...";
62 prerender.didStopPrerender(); 63 prerender.didStopPrerender();
64 } else {
65 DVLOG(7) << "but it was null. :(";
66 }
63 67
64 // TODO(cbentzel): We'd also want to send the map of active prerenders when 68 // TODO(cbentzel): We'd also want to send the map of active prerenders when
65 // creating a new render process, so the Add/Remove go relative to that. 69 // creating a new render process, so the Add/Remove go relative to that.
66 // This may not be that big of a deal in practice, since the newly created tab 70 // This may not be that big of a deal in practice, since the newly created tab
67 // is unlikely to go to the prerendered page. 71 // is unlikely to go to the prerendered page.
68 prerenders_.erase(prerender_id); 72 prerenders_.erase(prerender_id);
69 73
70 std::multimap<GURL, int>::iterator it = running_prerender_urls_.begin(); 74 std::multimap<GURL, int>::iterator it = running_prerender_urls_.begin();
71 while (it != running_prerender_urls_.end()) { 75 while (it != running_prerender_urls_.end()) {
72 std::multimap<GURL, int>::iterator next = it; 76 std::multimap<GURL, int>::iterator next = it;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 } 116 }
113 117
114 void PrerenderDispatcher::abandon(const WebPrerender& prerender) { 118 void PrerenderDispatcher::abandon(const WebPrerender& prerender) {
115 const PrerenderExtraData& extra_data = 119 const PrerenderExtraData& extra_data =
116 PrerenderExtraData::FromPrerender(prerender); 120 PrerenderExtraData::FromPrerender(prerender);
117 content::RenderThread::Get()->Send( 121 content::RenderThread::Get()->Send(
118 new PrerenderHostMsg_AbandonLinkRelPrerender(extra_data.prerender_id())); 122 new PrerenderHostMsg_AbandonLinkRelPrerender(extra_data.prerender_id()));
119 } 123 }
120 124
121 } // namespace prerender 125 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698