| Index: chrome/browser/prerender/prerender_manager.cc | 
| =================================================================== | 
| --- chrome/browser/prerender/prerender_manager.cc	(revision 184822) | 
| +++ chrome/browser/prerender/prerender_manager.cc	(working copy) | 
| @@ -271,6 +271,20 @@ | 
| .GetDefaultSessionStorageNamespace(); | 
| } | 
|  | 
| +  // If the prerender request comes from a recently cancelled prerender that | 
| +  // |this| still owns, then abort the prerender. | 
| +  for (ScopedVector<PrerenderData>::iterator it = to_delete_prerenders_.begin(); | 
| +       it != to_delete_prerenders_.end(); ++it) { | 
| +    PrerenderContents* prerender_contents = (*it)->contents(); | 
| +    int contents_child_id; | 
| +    int contents_route_id; | 
| +    if (prerender_contents->GetChildId(&contents_child_id) && | 
| +        prerender_contents->GetRouteId(&contents_route_id) && | 
| +        contents_child_id == process_id && contents_route_id == route_id) { | 
| +      return NULL; | 
| +    } | 
| +  } | 
| + | 
| if (PrerenderData* parent_prerender_data = | 
| FindPrerenderDataForChildAndRoute(process_id, route_id)) { | 
| // Instead of prerendering from inside of a running prerender, we will defer | 
|  |