| Index: content/browser/web_contents/web_contents_impl.cc | 
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc | 
| index 61d8bf355896c030edd1856e8799235f77226820..488a8ea9f4ca129f80c6c25e35cff1fd90b1dead 100644 | 
| --- a/content/browser/web_contents/web_contents_impl.cc | 
| +++ b/content/browser/web_contents/web_contents_impl.cc | 
| @@ -2186,6 +2186,11 @@ bool WebContentsImpl::IsVirtualKeyboardRequested() { | 
| return virtual_keyboard_requested_; | 
| } | 
|  | 
| +bool WebContentsImpl::IsOverridingUserAgent() { | 
| +  return GetController().GetVisibleEntry() && | 
| +         GetController().GetVisibleEntry()->GetIsOverridingUserAgent(); | 
| +} | 
| + | 
| AccessibilityMode WebContentsImpl::GetAccessibilityMode() const { | 
| return accessibility_mode_; | 
| } | 
| @@ -4890,6 +4895,22 @@ void WebContentsImpl::UpdateWebContentsVisibility(bool visible) { | 
| WasHidden(); | 
| } | 
|  | 
| +void WebContentsImpl::UpdateOverridingUserAgent() { | 
| +  std::set<RenderViewHost*> render_view_host_set; | 
| +  for (FrameTreeNode* node : frame_tree_.Nodes()) { | 
| +    RenderWidgetHost* render_widget_host = | 
| +        node->current_frame_host()->GetRenderWidgetHost(); | 
| +    if (!render_widget_host) | 
| +      continue; | 
| +    RenderViewHost* render_view_host = RenderViewHost::From(render_widget_host); | 
| +    if (!render_view_host) | 
| +      continue; | 
| +    render_view_host_set.insert(render_view_host); | 
| +  } | 
| +  for (RenderViewHost* render_view_host : render_view_host_set) | 
| +    render_view_host->OnWebkitPreferencesChanged(); | 
| +} | 
| + | 
| void WebContentsImpl::SetJavaScriptDialogManagerForTesting( | 
| JavaScriptDialogManager* dialog_manager) { | 
| dialog_manager_ = dialog_manager; | 
|  |