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

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: Fixed Windows build warning 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 499f1616223036ecf528498a9d3b0b8a08391e9a..e29a7e620aeb6407b3884068ece3adb878fdeb00 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -400,7 +400,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
dummy_shutdown_event_(false, false),
#endif
supports_browser_plugin_(supports_browser_plugin),
- is_guest_(is_guest) {
+ is_guest_(is_guest),
+ gpu_observer_registered_(false) {
widget_helper_ = new RenderWidgetHelper();
ChildProcessSecurityPolicyImpl::GetInstance()->Add(GetID());
@@ -429,6 +430,11 @@ RenderProcessHostImpl::~RenderProcessHostImpl() {
DCHECK(!run_renderer_in_process());
ChildProcessSecurityPolicyImpl::GetInstance()->Remove(GetID());
+ if (gpu_observer_registered_) {
+ GpuDataManagerImpl::GetInstance()->RemoveObserver(this);
+ gpu_observer_registered_ = false;
+ }
+
// We may have some unsent messages at this point, but that's OK.
channel_.reset();
while (!queued_messages_.empty()) {
@@ -552,6 +558,11 @@ bool RenderProcessHostImpl::Init() {
fast_shutdown_started_ = false;
}
+ if (!gpu_observer_registered_) {
+ gpu_observer_registered_ = true;
+ GpuDataManagerImpl::GetInstance()->AddObserver(this);
+ }
+
is_initialized_ = true;
return true;
}
@@ -1773,4 +1784,20 @@ void RenderProcessHostImpl::OnCompositorSurfaceBuffersSwappedNoHost(
ack_params);
}
+void RenderProcessHostImpl::OnGpuSwitching() {
+ 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
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | content/public/browser/gpu_data_manager_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698