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 |