Chromium Code Reviews| Index: content/browser/renderer_host/render_view_host_impl.cc |
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc |
| index 436cd68bb0f005c53cf277783177235d997f8ee9..cc58d7f233bd1fd26cb181707603193083ac6800 100644 |
| --- a/content/browser/renderer_host/render_view_host_impl.cc |
| +++ b/content/browser/renderer_host/render_view_host_impl.cc |
| @@ -292,7 +292,7 @@ bool RenderViewHostImpl::CreateRenderView( |
| ViewMsg_New_Params params; |
| params.renderer_preferences = |
| delegate_->GetRendererPrefs(GetProcess()->GetBrowserContext()); |
| - params.web_preferences = delegate_->GetWebkitPrefs(); |
| + params.web_preferences = GetWebkitPreferences(); |
| params.view_id = GetRoutingID(); |
| params.main_frame_routing_id = main_frame_routing_id_; |
| params.surface_id = surface_id(); |
| @@ -333,7 +333,7 @@ void RenderViewHostImpl::SyncRendererPrefs() { |
| GetProcess()->GetBrowserContext()))); |
| } |
| -WebPreferences RenderViewHostImpl::GetWebkitPrefs(const GURL& url) { |
| +WebPreferences RenderViewHostImpl::ComputeWebkitPrefs(const GURL& url) { |
| TRACE_EVENT0("browser", "RenderViewHostImpl::GetWebkitPrefs"); |
| WebPreferences prefs; |
| @@ -1430,7 +1430,10 @@ void RenderViewHostImpl::ExitFullscreen() { |
| } |
| WebPreferences RenderViewHostImpl::GetWebkitPreferences() { |
| - return delegate_->GetWebkitPrefs(); |
| + if (!web_preferences_.get()) { |
| + OnWebkitPreferencesChanged(); |
| + } |
| + return *web_preferences_; |
|
jam
2014/07/21 17:40:33
nit: indentation
chrishtr
2014/07/21 18:16:07
Done.
|
| } |
| void RenderViewHostImpl::DisownOpener() { |
| @@ -1446,9 +1449,14 @@ void RenderViewHostImpl::SetAccessibilityCallbackForTesting( |
| } |
| void RenderViewHostImpl::UpdateWebkitPreferences(const WebPreferences& prefs) { |
| + web_preferences_.reset(new WebPreferences(prefs)); |
| Send(new ViewMsg_UpdateWebPreferences(GetRoutingID(), prefs)); |
| } |
| +void RenderViewHostImpl::OnWebkitPreferencesChanged() { |
| + UpdateWebkitPreferences(delegate_->ComputeWebkitPrefs()); |
| +} |
| + |
| void RenderViewHostImpl::GetAudioOutputControllers( |
| const GetAudioOutputControllersCallback& callback) const { |
| AudioRendererHost* audio_host = |