Chromium Code Reviews| 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_contents.h" | 5 #include "chrome/browser/prerender/prerender_contents.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <functional> | 8 #include <functional> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 183 AddPageVector; | 183 AddPageVector; |
| 184 | 184 |
| 185 // Caches pages to be added to the history. | 185 // Caches pages to be added to the history. |
| 186 AddPageVector add_page_vector_; | 186 AddPageVector add_page_vector_; |
| 187 | 187 |
| 188 PrerenderContents* prerender_contents_; | 188 PrerenderContents* prerender_contents_; |
| 189 }; | 189 }; |
| 190 | 190 |
| 191 void PrerenderContents::AddPendingPrerender( | 191 void PrerenderContents::AddPendingPrerender( |
| 192 const base::WeakPtr<PrerenderHandle> weak_prerender_handle, | 192 const base::WeakPtr<PrerenderHandle> weak_prerender_handle, |
| 193 const Origin origin, | |
|
dominich
2012/09/14 14:40:45
nit: no need for const here
| |
| 193 const GURL& url, | 194 const GURL& url, |
| 194 const content::Referrer& referrer, | 195 const content::Referrer& referrer, |
| 195 const gfx::Size& size) { | 196 const gfx::Size& size) { |
| 196 pending_prerenders_.push_back( | 197 pending_prerenders_.push_back( |
| 197 PendingPrerenderInfo(weak_prerender_handle, url, referrer, size)); | 198 PendingPrerenderInfo(weak_prerender_handle, origin, url, referrer, size)); |
| 198 } | 199 } |
| 199 | 200 |
| 200 bool PrerenderContents::IsPendingEntry( | 201 bool PrerenderContents::IsPendingEntry( |
| 201 const PrerenderHandle& prerender_handle) const { | 202 const PrerenderHandle& prerender_handle) const { |
| 202 for (std::vector<PendingPrerenderInfo>::const_iterator it = | 203 for (std::vector<PendingPrerenderInfo>::const_iterator it = |
| 203 pending_prerenders_.begin(); | 204 pending_prerenders_.begin(); |
| 204 it != pending_prerenders_.end(); | 205 it != pending_prerenders_.end(); |
| 205 ++it) { | 206 ++it) { |
| 206 if (it->weak_prerender_handle.get() == &prerender_handle) | 207 if (it->weak_prerender_handle.get() == &prerender_handle) |
| 207 return true; | 208 return true; |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 220 DCHECK(child_id_ == -1 || session_storage_namespace); | 221 DCHECK(child_id_ == -1 || session_storage_namespace); |
| 221 | 222 |
| 222 std::vector<PendingPrerenderInfo> pending_prerender_list; | 223 std::vector<PendingPrerenderInfo> pending_prerender_list; |
| 223 pending_prerender_list.swap(pending_prerenders_); | 224 pending_prerender_list.swap(pending_prerenders_); |
| 224 for (std::vector<PendingPrerenderInfo>::iterator it = | 225 for (std::vector<PendingPrerenderInfo>::iterator it = |
| 225 pending_prerender_list.begin(); | 226 pending_prerender_list.begin(); |
| 226 it != pending_prerender_list.end(); | 227 it != pending_prerender_list.end(); |
| 227 ++it) { | 228 ++it) { |
| 228 if (it->weak_prerender_handle && it->weak_prerender_handle->IsValid()) { | 229 if (it->weak_prerender_handle && it->weak_prerender_handle->IsValid()) { |
| 229 prerender_manager_->StartPendingPrerender( | 230 prerender_manager_->StartPendingPrerender( |
| 230 it->weak_prerender_handle.get(), ORIGIN_LINK_REL_PRERENDER, child_id_, | 231 it->weak_prerender_handle.get(), it->origin, child_id_, |
| 231 it->url, it->referrer, it->size, session_storage_namespace); | 232 it->url, it->referrer, it->size, session_storage_namespace); |
| 232 } | 233 } |
| 233 } | 234 } |
| 234 } | 235 } |
| 235 | 236 |
| 236 PrerenderContents::PendingPrerenderInfo::PendingPrerenderInfo( | 237 PrerenderContents::PendingPrerenderInfo::PendingPrerenderInfo( |
| 237 const base::WeakPtr<PrerenderHandle> weak_prerender_handle, | 238 const base::WeakPtr<PrerenderHandle> weak_prerender_handle, |
| 239 const Origin origin, | |
| 238 const GURL& url, | 240 const GURL& url, |
| 239 const content::Referrer& referrer, | 241 const content::Referrer& referrer, |
| 240 const gfx::Size& size) | 242 const gfx::Size& size) |
| 241 : weak_prerender_handle(weak_prerender_handle), | 243 : weak_prerender_handle(weak_prerender_handle), |
| 244 origin(origin), | |
| 242 url(url), | 245 url(url), |
| 243 referrer(referrer), | 246 referrer(referrer), |
| 244 size(size) { | 247 size(size) { |
| 245 } | 248 } |
| 246 | 249 |
| 247 PrerenderContents::PendingPrerenderInfo::~PendingPrerenderInfo() { | 250 PrerenderContents::PendingPrerenderInfo::~PendingPrerenderInfo() { |
| 248 } | 251 } |
| 249 | 252 |
| 250 PrerenderContents::PrerenderContents( | 253 PrerenderContents::PrerenderContents( |
| 251 PrerenderManager* prerender_manager, | 254 PrerenderManager* prerender_manager, |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 718 bool PrerenderContents::IsCrossSiteNavigationPending() const { | 721 bool PrerenderContents::IsCrossSiteNavigationPending() const { |
| 719 if (!prerender_contents_.get() || !prerender_contents_->web_contents()) | 722 if (!prerender_contents_.get() || !prerender_contents_->web_contents()) |
| 720 return false; | 723 return false; |
| 721 const WebContents* web_contents = prerender_contents_->web_contents(); | 724 const WebContents* web_contents = prerender_contents_->web_contents(); |
| 722 return (web_contents->GetSiteInstance() != | 725 return (web_contents->GetSiteInstance() != |
| 723 web_contents->GetPendingSiteInstance()); | 726 web_contents->GetPendingSiteInstance()); |
| 724 } | 727 } |
| 725 | 728 |
| 726 | 729 |
| 727 } // namespace prerender | 730 } // namespace prerender |
| OLD | NEW |