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 "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 Loading... |
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, ¶ms->extra_headers); | 223 delegate->AddNavigationHeaders(params->url, ¶ms->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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |