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 <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 content::Source<WebContents>(new_contents)); | 362 content::Source<WebContents>(new_contents)); |
363 | 363 |
364 // Register for redirect notifications sourced from |this|. | 364 // Register for redirect notifications sourced from |this|. |
365 notification_registrar_.Add( | 365 notification_registrar_.Add( |
366 this, content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT, | 366 this, content::NOTIFICATION_RESOURCE_RECEIVED_REDIRECT, |
367 content::Source<WebContents>(GetWebContents())); | 367 content::Source<WebContents>(GetWebContents())); |
368 | 368 |
369 DCHECK(load_start_time_.is_null()); | 369 DCHECK(load_start_time_.is_null()); |
370 load_start_time_ = base::TimeTicks::Now(); | 370 load_start_time_ = base::TimeTicks::Now(); |
371 | 371 |
372 new_contents->GetController().LoadURL( | 372 // Transfer over the user agent override. |
| 373 new_contents->SetUserAgentOverride( |
| 374 prerender_manager_->config().user_agent_override); |
| 375 |
| 376 new_contents->GetController().LoadURLWithUserAgentOverride( |
373 prerender_url_, | 377 prerender_url_, |
374 referrer_, | 378 referrer_, |
375 (origin_ == ORIGIN_OMNIBOX ? content::PAGE_TRANSITION_TYPED : | 379 (origin_ == ORIGIN_OMNIBOX ? content::PAGE_TRANSITION_TYPED : |
376 content::PAGE_TRANSITION_LINK), | 380 content::PAGE_TRANSITION_LINK), |
377 std::string()); | 381 false, |
| 382 std::string(), |
| 383 prerender_manager_->config().is_overriding_user_agent); |
378 } | 384 } |
379 | 385 |
380 bool PrerenderContents::GetChildId(int* child_id) const { | 386 bool PrerenderContents::GetChildId(int* child_id) const { |
381 CHECK(child_id); | 387 CHECK(child_id); |
382 DCHECK_GE(child_id_, -1); | 388 DCHECK_GE(child_id_, -1); |
383 *child_id = child_id_; | 389 *child_id = child_id_; |
384 return child_id_ != -1; | 390 return child_id_ != -1; |
385 } | 391 } |
386 | 392 |
387 bool PrerenderContents::GetRouteId(int* route_id) const { | 393 bool PrerenderContents::GetRouteId(int* route_id) const { |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 bool PrerenderContents::IsCrossSiteNavigationPending() const { | 723 bool PrerenderContents::IsCrossSiteNavigationPending() const { |
718 if (!prerender_contents_.get() || !prerender_contents_->web_contents()) | 724 if (!prerender_contents_.get() || !prerender_contents_->web_contents()) |
719 return false; | 725 return false; |
720 const WebContents* web_contents = prerender_contents_->web_contents(); | 726 const WebContents* web_contents = prerender_contents_->web_contents(); |
721 return (web_contents->GetSiteInstance() != | 727 return (web_contents->GetSiteInstance() != |
722 web_contents->GetPendingSiteInstance()); | 728 web_contents->GetPendingSiteInstance()); |
723 } | 729 } |
724 | 730 |
725 | 731 |
726 } // namespace prerender | 732 } // namespace prerender |
OLD | NEW |