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

Unified Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 14947002: Updated OSX to blacklist multisampling when multiple monitors are connected (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed to more generic SettingsChangedObserver Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_process_host_impl.cc
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 5fdc05b7790632d2ee295ced5e165996501b76ec..6b562d216914642cfb393ccb98b3837ce83df5c3 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -396,7 +396,9 @@ RenderProcessHostImpl::RenderProcessHostImpl(
dummy_shutdown_event_(false, false),
#endif
supports_browser_plugin_(supports_browser_plugin),
- is_guest_(is_guest) {
+ is_guest_(is_guest),
+ gpu_switch_callback_(base::Bind(&RenderProcessHostImpl::OnGpuSwitch,
+ base::Unretained(this))) {
widget_helper_ = new RenderWidgetHelper();
ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID());
@@ -424,6 +426,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
RenderProcessHostImpl::~RenderProcessHostImpl() {
DCHECK(!run_renderer_in_process());
ChildProcessSecurityPolicyImpl::GetInstance()->Remove(GetID());
+ GpuDataManagerImpl::GetInstance()->RemoveGpuSwitchCallback(
+ gpu_switch_callback_);
// We may have some unsent messages at this point, but that's OK.
channel_.reset();
@@ -544,6 +548,8 @@ bool RenderProcessHostImpl::Init() {
fast_shutdown_started_ = false;
}
+ GpuDataManagerImpl::GetInstance()->AddGpuSwitchCallback(gpu_switch_callback_);
+
is_initialized_ = true;
return true;
}
@@ -1748,4 +1754,20 @@ void RenderProcessHostImpl::OnCompositorSurfaceBuffersSwappedNoHost(
ack_params);
}
+void RenderProcessHostImpl::OnGpuSwitch() {
+ for (RenderWidgetHostsIterator iter = GetRenderWidgetHostsIterator();
+ !iter.IsAtEnd();
+ iter.Advance()) {
+ const RenderWidgetHost* widget = iter.GetCurrentValue();
+ DCHECK(widget);
+ if (!widget || !widget->IsRenderView())
+ continue;
+
+ RenderViewHost* rvh =
+ RenderViewHost::From(const_cast<RenderWidgetHost*>(widget));
+
+ rvh->UpdateWebkitPreferences(rvh->GetWebkitPreferences());
+ }
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698