diff options
author | spang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-20 21:00:36 +0000 |
---|---|---|
committer | spang@chromium.org <spang@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-20 21:00:36 +0000 |
commit | 929881f735050603822a005454317614e2d28476 (patch) | |
tree | 0b5e26e2b2ed25dee71b7956f2f9c941a3a68fef /content/gpu/gpu_child_thread.cc | |
parent | 824237bae766a87c7812bd2f28544301fd106c2a (diff) | |
download | chromium_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.cc | 18 |
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() { |