Index: content/browser/gpu/gpu_process_host_ui_shim.cc |
diff --git a/content/browser/gpu/gpu_process_host_ui_shim.cc b/content/browser/gpu/gpu_process_host_ui_shim.cc |
index 54c1626b6c9cb3921a6f05dbefc64b73bc08e107..a6a6805d176e57333b32d28aa817681a4c9bcca7 100644 |
--- a/content/browser/gpu/gpu_process_host_ui_shim.cc |
+++ b/content/browser/gpu/gpu_process_host_ui_shim.cc |
@@ -20,6 +20,11 @@ |
#include "content/common/gpu/gpu_messages.h" |
#include "content/public/browser/browser_thread.h" |
+#if defined(USE_OZONE) |
+#include "ui/ozone/ozone_platform.h" |
+#include "ui/ozone/public/gpu_platform_support_host.h" |
+#endif |
+ |
namespace content { |
namespace { |
@@ -90,6 +95,11 @@ void RouteToGpuProcessHostUIShimTask(int host_id, const IPC::Message& msg) { |
GpuProcessHostUIShim::GpuProcessHostUIShim(int host_id) |
: host_id_(host_id) { |
g_hosts_by_id.Pointer()->AddWithID(this, host_id_); |
+#if defined(USE_OZONE) |
+ ui::OzonePlatform::GetInstance() |
+ ->GetGpuPlatformSupportHost() |
+ ->OnChannelEstablished(host_id, this); |
+#endif |
} |
// static |
@@ -106,6 +116,12 @@ void GpuProcessHostUIShim::Destroy(int host_id, const std::string& message) { |
logging::LOG_ERROR, "GpuProcessHostUIShim", |
message); |
+#if defined(USE_OZONE) |
+ ui::OzonePlatform::GetInstance() |
+ ->GetGpuPlatformSupportHost() |
+ ->OnChannelDestroyed(host_id); |
+#endif |
+ |
delete FromID(host_id); |
} |
@@ -145,6 +161,13 @@ bool GpuProcessHostUIShim::Send(IPC::Message* msg) { |
bool GpuProcessHostUIShim::OnMessageReceived(const IPC::Message& message) { |
DCHECK(CalledOnValidThread()); |
+#if defined(USE_OZONE) |
+ if (ui::OzonePlatform::GetInstance() |
+ ->GetGpuPlatformSupportHost() |
+ ->OnMessageReceived(message)) |
+ return true; |
+#endif |
+ |
if (message.routing_id() != MSG_ROUTING_CONTROL) |
return false; |