Chromium Code Reviews| Index: chrome/renderer/prerender/prerender_dispatcher.cc |
| diff --git a/chrome/renderer/prerender/prerender_dispatcher.cc b/chrome/renderer/prerender/prerender_dispatcher.cc |
| index d9c4b93c3e86c834bee8658608e3293f61e84b6b..b024053af616862a0906ec29af22ec1a3d7e0d7b 100644 |
| --- a/chrome/renderer/prerender/prerender_dispatcher.cc |
| +++ b/chrome/renderer/prerender/prerender_dispatcher.cc |
| @@ -46,6 +46,19 @@ void PrerenderDispatcher::OnPrerenderStart(int prerender_id) { |
| OnPrerenderAddAlias(prerender_id, prerender.url()); |
| } |
| +void PrerenderDispatcher::OnPrerenderStopLoading(int prerender_id) { |
| + DCHECK_NE(0u, prerenders_.count(prerender_id)); |
| + std::map<int, WebPrerender>::iterator it = prerenders_.find(prerender_id); |
| + |
| + WebPrerender& prerender = it->second; |
| + |
| + // The prerender should only be null in unit tests. |
|
mmenke
2012/12/27 19:11:08
Do unit tests actually simulate this event?
gavinp
2012/12/28 13:23:15
Yes. See PrerenderDispatcherTest.PrerenderDispatch
mmenke
2012/12/28 18:48:36
It calls OnPrerenderStop, not OnPrerenderStopLoadi
gavinp
2012/12/28 20:13:16
Right. And since this function is a NOP and untest
|
| + if (prerender.isNull()) |
| + return; |
| + |
| + prerender.didSendLoadForPrerender(); |
| +} |
| + |
| void PrerenderDispatcher::OnPrerenderAddAlias(int prerender_id, |
| const GURL& url) { |
| DCHECK_NE(0u, prerenders_.count(prerender_id)); |
| @@ -84,6 +97,8 @@ bool PrerenderDispatcher::OnControlMessageReceived( |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(PrerenderDispatcher, message) |
| IPC_MESSAGE_HANDLER(PrerenderMsg_OnPrerenderStart, OnPrerenderStart) |
| + IPC_MESSAGE_HANDLER(PrerenderMsg_OnPrerenderStopLoading, |
| + OnPrerenderStopLoading) |
| IPC_MESSAGE_HANDLER(PrerenderMsg_OnPrerenderAddAlias, OnPrerenderAddAlias) |
| IPC_MESSAGE_HANDLER(PrerenderMsg_OnPrerenderStop, OnPrerenderStop) |
| IPC_MESSAGE_UNHANDLED(handled = false) |