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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 614343002: Allow override of user agent depending on url. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 3111 matching lines...) Expand 10 before | Expand all | Expand 10 after
3122 params.source_routing_id = source_view->routing_id(); 3122 params.source_routing_id = source_view->routing_id();
3123 } 3123 }
3124 3124
3125 Send(new ViewHostMsg_RouteMessageEvent(render_view_->routing_id_, params)); 3125 Send(new ViewHostMsg_RouteMessageEvent(render_view_->routing_id_, params));
3126 return true; 3126 return true;
3127 } 3127 }
3128 3128
3129 blink::WebString RenderFrameImpl::userAgentOverride(blink::WebLocalFrame* frame, 3129 blink::WebString RenderFrameImpl::userAgentOverride(blink::WebLocalFrame* frame,
3130 const blink::WebURL& url) { 3130 const blink::WebURL& url) {
3131 DCHECK(!frame_ || frame_ == frame); 3131 DCHECK(!frame_ || frame_ == frame);
3132
3133 ObserverListBase<RenderFrameObserver>::Iterator it(observers_);
3134 RenderFrameObserver* observer;
3135 while ((observer = it.GetNext()) != NULL) {
3136 std::string user_agent_override_for_url =
3137 observer->GetUserAgentOverrideForURL(GURL(url));
3138 if (!user_agent_override_for_url.empty())
3139 return WebString::fromUTF8(user_agent_override_for_url);
3140 }
3141
3132 if (!render_view_->webview() || !render_view_->webview()->mainFrame() || 3142 if (!render_view_->webview() || !render_view_->webview()->mainFrame() ||
3133 render_view_->renderer_preferences_.user_agent_override.empty()) { 3143 render_view_->renderer_preferences_.user_agent_override.empty()) {
3134 return blink::WebString(); 3144 return blink::WebString();
3135 } 3145 }
3136 3146
3137 // If we're in the middle of committing a load, the data source we need 3147 // If we're in the middle of committing a load, the data source we need
3138 // will still be provisional. 3148 // will still be provisional.
3139 WebFrame* main_frame = render_view_->webview()->mainFrame(); 3149 WebFrame* main_frame = render_view_->webview()->mainFrame();
3140 WebDataSource* data_source = NULL; 3150 WebDataSource* data_source = NULL;
3141 if (main_frame->provisionalDataSource()) 3151 if (main_frame->provisionalDataSource())
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after
3929 3939
3930 #if defined(ENABLE_BROWSER_CDMS) 3940 #if defined(ENABLE_BROWSER_CDMS)
3931 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 3941 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
3932 if (!cdm_manager_) 3942 if (!cdm_manager_)
3933 cdm_manager_ = new RendererCdmManager(this); 3943 cdm_manager_ = new RendererCdmManager(this);
3934 return cdm_manager_; 3944 return cdm_manager_;
3935 } 3945 }
3936 #endif // defined(ENABLE_BROWSER_CDMS) 3946 #endif // defined(ENABLE_BROWSER_CDMS)
3937 3947
3938 } // namespace content 3948 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698