Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: content/browser/web_contents/web_contents_impl.cc

Issue 10450002: Transfer user agent override info between browser and renderer (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Diff shows what we do downstream Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "content/browser/web_contents/web_contents_impl.h" 5 #include "content/browser/web_contents/web_contents_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 params->transition = entry.GetTransitionType(); 208 params->transition = entry.GetTransitionType();
209 params->state = entry.GetContentState(); 209 params->state = entry.GetContentState();
210 params->navigation_type = 210 params->navigation_type =
211 GetNavigationType(controller.GetBrowserContext(), entry, reload_type); 211 GetNavigationType(controller.GetBrowserContext(), entry, reload_type);
212 params->request_time = base::Time::Now(); 212 params->request_time = base::Time::Now();
213 params->extra_headers = entry.extra_headers(); 213 params->extra_headers = entry.extra_headers();
214 params->transferred_request_child_id = 214 params->transferred_request_child_id =
215 entry.transferred_global_request_id().child_id; 215 entry.transferred_global_request_id().child_id;
216 params->transferred_request_request_id = 216 params->transferred_request_request_id =
217 entry.transferred_global_request_id().request_id; 217 entry.transferred_global_request_id().request_id;
218 params->is_overriding_user_agent = entry.GetIsOverridingUserAgent();
218 // Avoid downloading when in view-source mode. 219 // Avoid downloading when in view-source mode.
219 params->allow_download = !entry.IsViewSourceMode(); 220 params->allow_download = !entry.IsViewSourceMode();
220 221
221 if (delegate) 222 if (delegate)
222 delegate->AddNavigationHeaders(params->url, &params->extra_headers); 223 delegate->AddNavigationHeaders(params->url, &params->extra_headers);
223 } 224 }
224 225
225 int GetSwitchValueAsInt( 226 int GetSwitchValueAsInt(
226 const CommandLine& command_line, 227 const CommandLine& command_line,
227 const std::string& switch_string, 228 const std::string& switch_string,
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 return render_manager_.web_ui() ? render_manager_.web_ui() 713 return render_manager_.web_ui() ? render_manager_.web_ui()
713 : render_manager_.pending_web_ui(); 714 : render_manager_.pending_web_ui();
714 } 715 }
715 716
716 content::WebUI* WebContentsImpl::GetCommittedWebUI() const { 717 content::WebUI* WebContentsImpl::GetCommittedWebUI() const {
717 return render_manager_.web_ui(); 718 return render_manager_.web_ui();
718 } 719 }
719 720
720 void WebContentsImpl::SetUserAgentOverride(const std::string& override) { 721 void WebContentsImpl::SetUserAgentOverride(const std::string& override) {
721 user_agent_override_ = override; 722 user_agent_override_ = override;
723
724 // Send the override to the renderer.
725 RenderViewHost* host = GetRenderViewHost();
726 if (host)
727 host->Send(new ViewMsg_SetUserAgentOverride(host->GetRoutingID(),
728 override));
722 } 729 }
723 730
724 const std::string& WebContentsImpl::GetUserAgentOverride() const { 731 const std::string& WebContentsImpl::GetUserAgentOverride() const {
725 return user_agent_override_; 732 return user_agent_override_;
726 } 733 }
727 734
728 const string16& WebContentsImpl::GetTitle() const { 735 const string16& WebContentsImpl::GetTitle() const {
729 // Transient entries take precedence. They are used for interstitial pages 736 // Transient entries take precedence. They are used for interstitial pages
730 // that are shown on top of existing pages. 737 // that are shown on top of existing pages.
731 NavigationEntry* entry = controller_.GetTransientEntry(); 738 NavigationEntry* entry = controller_.GetTransientEntry();
(...skipping 2019 matching lines...) Expand 10 before | Expand all | Expand 10 after
2751 GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance()); 2758 GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance());
2752 2759
2753 content::RenderProcessHost* embedder_render_process_host = 2760 content::RenderProcessHost* embedder_render_process_host =
2754 browser_plugin_host()->embedder_render_process_host(); 2761 browser_plugin_host()->embedder_render_process_host();
2755 int embedder_process_id = 2762 int embedder_process_id =
2756 embedder_render_process_host ? embedder_render_process_host->GetID() : -1; 2763 embedder_render_process_host ? embedder_render_process_host->GetID() : -1;
2757 if (!static_cast<RenderViewHostImpl*>( 2764 if (!static_cast<RenderViewHostImpl*>(
2758 render_view_host)->CreateRenderView(string16(), 2765 render_view_host)->CreateRenderView(string16(),
2759 opener_route_id, 2766 opener_route_id,
2760 max_page_id, 2767 max_page_id,
2761 embedder_process_id)) { 2768 embedder_process_id,
2769 GetUserAgentOverride())) {
2762 return false; 2770 return false;
2763 } 2771 }
2764 2772
2765 #if defined(OS_LINUX) || defined(OS_OPENBSD) 2773 #if defined(OS_LINUX) || defined(OS_OPENBSD)
2766 // Force a ViewMsg_Resize to be sent, needed to make plugins show up on 2774 // Force a ViewMsg_Resize to be sent, needed to make plugins show up on
2767 // linux. See crbug.com/83941. 2775 // linux. See crbug.com/83941.
2768 if (rwh_view) { 2776 if (rwh_view) {
2769 if (RenderWidgetHost* render_widget_host = rwh_view->GetRenderWidgetHost()) 2777 if (RenderWidgetHost* render_widget_host = rwh_view->GetRenderWidgetHost())
2770 render_widget_host->WasResized(); 2778 render_widget_host->WasResized();
2771 } 2779 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2823 void WebContentsImpl::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 2831 void WebContentsImpl::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
2824 RenderWidgetHostView* rwh_view = GetView()->CreateViewForWidget(rvh); 2832 RenderWidgetHostView* rwh_view = GetView()->CreateViewForWidget(rvh);
2825 // Can be NULL during tests. 2833 // Can be NULL during tests.
2826 if (rwh_view) 2834 if (rwh_view)
2827 rwh_view->SetSize(GetView()->GetContainerSize()); 2835 rwh_view->SetSize(GetView()->GetContainerSize());
2828 } 2836 }
2829 2837
2830 RenderViewHostImpl* WebContentsImpl::GetRenderViewHostImpl() { 2838 RenderViewHostImpl* WebContentsImpl::GetRenderViewHostImpl() {
2831 return static_cast<RenderViewHostImpl*>(GetRenderViewHost()); 2839 return static_cast<RenderViewHostImpl*>(GetRenderViewHost());
2832 } 2840 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698