| 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 <limits> | 7 #include <limits> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 } | 60 } |
| 61 } | 61 } |
| 62 } | 62 } |
| 63 | 63 |
| 64 void PrerenderLinkManager::OnAddPrerender(int launcher_child_id, | 64 void PrerenderLinkManager::OnAddPrerender(int launcher_child_id, |
| 65 int prerender_id, | 65 int prerender_id, |
| 66 const GURL& url, | 66 const GURL& url, |
| 67 const content::Referrer& referrer, | 67 const content::Referrer& referrer, |
| 68 const gfx::Size& size, | 68 const gfx::Size& size, |
| 69 int render_view_route_id) { | 69 int render_view_route_id) { |
| 70 DCHECK_EQ(static_cast<LinkPrerender*>(NULL), | 70 // TODO(gavinp): Determine why WebKit appears to be sending duplicate adds, |
| 71 FindByLauncherChildIdAndPrerenderId(launcher_child_id, | 71 // and prevent it. |
| 72 prerender_id)); | 72 if (FindByLauncherChildIdAndPrerenderId(launcher_child_id, prerender_id)) |
| 73 return; |
| 74 |
| 73 content::RenderProcessHost* rph = | 75 content::RenderProcessHost* rph = |
| 74 content::RenderProcessHost::FromID(launcher_child_id); | 76 content::RenderProcessHost::FromID(launcher_child_id); |
| 75 // Guests inside <webview> do not support cross-process navigation and so we | 77 // Guests inside <webview> do not support cross-process navigation and so we |
| 76 // do not allow guests to prerender content. | 78 // do not allow guests to prerender content. |
| 77 if (rph && rph->IsGuest()) | 79 if (rph && rph->IsGuest()) |
| 78 return; | 80 return; |
| 79 | 81 |
| 80 LinkPrerender | 82 LinkPrerender |
| 81 prerender(launcher_child_id, prerender_id, url, referrer, size, | 83 prerender(launcher_child_id, prerender_id, url, referrer, size, |
| 82 render_view_route_id, manager_->GetCurrentTimeTicks()); | 84 render_view_route_id, manager_->GetCurrentTimeTicks()); |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 LinkPrerender* prerender = FindByPrerenderHandle(prerender_handle); | 346 LinkPrerender* prerender = FindByPrerenderHandle(prerender_handle); |
| 345 if (!prerender) | 347 if (!prerender) |
| 346 return; | 348 return; |
| 347 | 349 |
| 348 Send(prerender->launcher_child_id, | 350 Send(prerender->launcher_child_id, |
| 349 new PrerenderMsg_OnPrerenderAddAlias(prerender->prerender_id, | 351 new PrerenderMsg_OnPrerenderAddAlias(prerender->prerender_id, |
| 350 alias_url)); | 352 alias_url)); |
| 351 } | 353 } |
| 352 | 354 |
| 353 } // namespace prerender | 355 } // namespace prerender |
| OLD | NEW |