summaryrefslogtreecommitdiffstats
path: root/content/gpu/gpu_child_thread.cc
diff options
context:
space:
mode:
authorspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-20 21:00:36 +0000
committerspang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-20 21:00:36 +0000
commit929881f735050603822a005454317614e2d28476 (patch)
tree0b5e26e2b2ed25dee71b7956f2f9c941a3a68fef /content/gpu/gpu_child_thread.cc
parent824237bae766a87c7812bd2f28544301fd106c2a (diff)
downloadchromium_src-929881f735050603822a005454317614e2d28476.zip
chromium_src-929881f735050603822a005454317614e2d28476.tar.gz
chromium_src-929881f735050603822a005454317614e2d28476.tar.bz2
ozone: gpu: Add plumbing for platform-specific gpu messaging (reland)
ChromeOS on bare hardware will do display configuration and cursor movement from the GPU process. This is the conduit for the messages needed to make this work. This plumbing also supports other platforms with similar requirements (e.g. wayland's port). X11 does not need any specific messaging here, since we just call the X server from the browser. TBR=piman@chromium.org,rjkroege@chromium.org,alexst@chromium.org,chrishtr@chromium.org NOTRY=true BUG=377497 Review URL: https://codereview.chromium.org/341253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278817 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/gpu/gpu_child_thread.cc')
-rw-r--r--content/gpu/gpu_child_thread.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/content/gpu/gpu_child_thread.cc b/content/gpu/gpu_child_thread.cc
index 74864cb..ab0636d 100644
--- a/content/gpu/gpu_child_thread.cc
+++ b/content/gpu/gpu_child_thread.cc
@@ -19,6 +19,11 @@
#include "ipc/ipc_sync_message_filter.h"
#include "ui/gl/gl_implementation.h"
+#if defined(USE_OZONE)
+#include "ui/ozone/ozone_platform.h"
+#include "ui/ozone/public/gpu_platform_support.h"
+#endif
+
namespace content {
namespace {
@@ -113,6 +118,13 @@ bool GpuChildThread::OnControlMessageReceived(const IPC::Message& msg) {
if (handled)
return true;
+#if defined(USE_OZONE)
+ if (ui::OzonePlatform::GetInstance()
+ ->GetGpuPlatformSupport()
+ ->OnMessageReceived(msg))
+ return true;
+#endif
+
return gpu_channel_manager_.get() &&
gpu_channel_manager_->OnMessageReceived(msg);
}
@@ -152,6 +164,12 @@ void GpuChildThread::OnInitialize() {
watchdog_thread_.get(),
ChildProcess::current()->io_message_loop_proxy(),
ChildProcess::current()->GetShutDownEvent()));
+
+#if defined(USE_OZONE)
+ ui::OzonePlatform::GetInstance()
+ ->GetGpuPlatformSupport()
+ ->OnChannelEstablished(this);
+#endif
}
void GpuChildThread::StopWatchdog() {