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 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
219 params->transition = entry.GetTransitionType(); | 219 params->transition = entry.GetTransitionType(); |
220 params->state = entry.GetContentState(); | 220 params->state = entry.GetContentState(); |
221 params->navigation_type = | 221 params->navigation_type = |
222 GetNavigationType(controller.GetBrowserContext(), entry, reload_type); | 222 GetNavigationType(controller.GetBrowserContext(), entry, reload_type); |
223 params->request_time = base::Time::Now(); | 223 params->request_time = base::Time::Now(); |
224 params->extra_headers = entry.extra_headers(); | 224 params->extra_headers = entry.extra_headers(); |
225 params->transferred_request_child_id = | 225 params->transferred_request_child_id = |
226 entry.transferred_global_request_id().child_id; | 226 entry.transferred_global_request_id().child_id; |
227 params->transferred_request_request_id = | 227 params->transferred_request_request_id = |
228 entry.transferred_global_request_id().request_id; | 228 entry.transferred_global_request_id().request_id; |
229 params->is_overriding_user_agent = entry.GetIsOverridingUserAgent(); | |
229 // Avoid downloading when in view-source mode. | 230 // Avoid downloading when in view-source mode. |
230 params->allow_download = !entry.IsViewSourceMode(); | 231 params->allow_download = !entry.IsViewSourceMode(); |
231 params->embedder_channel_name = embedder_channel_name; | 232 params->embedder_channel_name = embedder_channel_name; |
232 params->embedder_container_id = embedder_container_id; | 233 params->embedder_container_id = embedder_container_id; |
233 | 234 |
234 if (delegate) | 235 if (delegate) |
235 delegate->AddNavigationHeaders(params->url, ¶ms->extra_headers); | 236 delegate->AddNavigationHeaders(params->url, ¶ms->extra_headers); |
236 } | 237 } |
237 | 238 |
238 int GetSwitchValueAsInt( | 239 int GetSwitchValueAsInt( |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
739 content::WebUI* WebContentsImpl::GetWebUI() const { | 740 content::WebUI* WebContentsImpl::GetWebUI() const { |
740 return render_manager_.web_ui() ? render_manager_.web_ui() | 741 return render_manager_.web_ui() ? render_manager_.web_ui() |
741 : render_manager_.pending_web_ui(); | 742 : render_manager_.pending_web_ui(); |
742 } | 743 } |
743 | 744 |
744 content::WebUI* WebContentsImpl::GetCommittedWebUI() const { | 745 content::WebUI* WebContentsImpl::GetCommittedWebUI() const { |
745 return render_manager_.web_ui(); | 746 return render_manager_.web_ui(); |
746 } | 747 } |
747 | 748 |
748 void WebContentsImpl::SetUserAgentOverride(const std::string& override) { | 749 void WebContentsImpl::SetUserAgentOverride(const std::string& override) { |
749 user_agent_override_ = override; | 750 if (GetUserAgentOverride() == override) { |
Charlie Reis
2012/06/19 22:47:59
nit: No braces needed on a one-line if. (Ditto be
gone
2012/06/20 00:01:10
Done.
| |
751 return; | |
752 } | |
753 renderer_preferences_.user_agent_override = override; | |
754 | |
755 // Send the new override string to the renderer. | |
756 RenderViewHost* host = GetRenderViewHost(); | |
757 if (host) { | |
758 host->SyncRendererPrefs(); | |
759 } | |
760 | |
761 // Reload the page if a load is currently in progress to avoid having | |
762 // different parts of the page loaded using different user agents. | |
763 NavigationEntry* entry = controller_.GetActiveEntry(); | |
764 if (is_loading_ && entry != NULL && entry->GetIsOverridingUserAgent()) { | |
765 controller_.ReloadIgnoringCache(true); | |
766 } | |
750 } | 767 } |
751 | 768 |
752 const std::string& WebContentsImpl::GetUserAgentOverride() const { | 769 const std::string& WebContentsImpl::GetUserAgentOverride() const { |
753 return user_agent_override_; | 770 return renderer_preferences_.user_agent_override; |
754 } | 771 } |
755 | 772 |
756 const string16& WebContentsImpl::GetTitle() const { | 773 const string16& WebContentsImpl::GetTitle() const { |
757 // Transient entries take precedence. They are used for interstitial pages | 774 // Transient entries take precedence. They are used for interstitial pages |
758 // that are shown on top of existing pages. | 775 // that are shown on top of existing pages. |
759 NavigationEntry* entry = controller_.GetTransientEntry(); | 776 NavigationEntry* entry = controller_.GetTransientEntry(); |
760 std::string accept_languages = | 777 std::string accept_languages = |
761 content::GetContentClient()->browser()->GetAcceptLangs( | 778 content::GetContentClient()->browser()->GetAcceptLangs( |
762 GetBrowserContext()); | 779 GetBrowserContext()); |
763 if (entry) { | 780 if (entry) { |
(...skipping 2270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3034 browser_plugin_host()->embedder_render_process_host(); | 3051 browser_plugin_host()->embedder_render_process_host(); |
3035 *embedder_container_id = browser_plugin_host()->instance_id(); | 3052 *embedder_container_id = browser_plugin_host()->instance_id(); |
3036 int embedder_process_id = | 3053 int embedder_process_id = |
3037 embedder_render_process_host ? embedder_render_process_host->GetID() : -1; | 3054 embedder_render_process_host ? embedder_render_process_host->GetID() : -1; |
3038 if (embedder_process_id != -1) { | 3055 if (embedder_process_id != -1) { |
3039 *embedder_channel_name = | 3056 *embedder_channel_name = |
3040 StringPrintf("%d.r%d", render_view_host->GetProcess()->GetID(), | 3057 StringPrintf("%d.r%d", render_view_host->GetProcess()->GetID(), |
3041 embedder_process_id); | 3058 embedder_process_id); |
3042 } | 3059 } |
3043 } | 3060 } |
OLD | NEW |