Index: ui/ozone/gpu/gpu_platform_support_host.cc |
diff --git a/ui/ozone/gpu/gpu_platform_support_host.cc b/ui/ozone/gpu/gpu_platform_support_host.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..58ab81dae28450c7de4b5cf0d4afdae706f5fdbc |
--- /dev/null |
+++ b/ui/ozone/gpu/gpu_platform_support_host.cc |
@@ -0,0 +1,69 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "ui/ozone/gpu/gpu_platform_support_host.h" |
+ |
+#include "base/debug/trace_event.h" |
+#include "base/logging.h" |
+#include "ui/ozone/gpu/ozone_gpu_export.h" |
+#include "ui/ozone/platform_object.h" |
+ |
+namespace ui { |
+ |
+namespace { |
+ |
+// No-op implementations of GpuPlatformSupportHost. |
+class OZONE_GPU_EXPORT StubGpuPlatformSupportHost |
+ : public GpuPlatformSupportHost { |
+ public: |
+ // GpuPlatformSupportHost: |
+ virtual void OnChannelEstablished(int host_id, IPC::Sender* sender) OVERRIDE { |
+ } |
+ virtual void OnChannelDestroyed(int host_id) OVERRIDE {} |
+ virtual bool OnMessageReceived(const IPC::Message&) OVERRIDE { return false; } |
+}; |
+ |
+} // namespace |
+ |
+// static |
+GpuPlatformSupportHost* GpuPlatformSupportHost::Initialize() { |
+ TRACE_EVENT0("ozone", "GpuPlatformSupportHost::Initialize"); |
+ |
+ DCHECK(!instance_); |
+ scoped_ptr<GpuPlatformSupportHost> gpu_platform_support_host = |
+ PlatformObject<GpuPlatformSupportHost>::Create(); |
+ instance_ = gpu_platform_support_host.release(); |
+ return instance_; |
+} |
+ |
+// static |
+GpuPlatformSupportHost* GpuPlatformSupportHost::GetInstance() { |
+ return instance_; |
+} |
+ |
+// static |
+GpuPlatformSupportHost* GpuPlatformSupportHost::instance_; |
+ |
+GpuPlatformSupportHost* CreateStubGpuPlatformSupportHost() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+ |
+// TODO(spang): Stubs for internal platforms |
+OZONE_GPU_EXPORT GpuPlatformSupportHost* CreateGpuPlatformSupportHostCaca() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+OZONE_GPU_EXPORT GpuPlatformSupportHost* CreateGpuPlatformSupportHostDri() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+OZONE_GPU_EXPORT GpuPlatformSupportHost* CreateGpuPlatformSupportHostEgltest() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+OZONE_GPU_EXPORT GpuPlatformSupportHost* CreateGpuPlatformSupportHostGbm() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+OZONE_GPU_EXPORT GpuPlatformSupportHost* CreateGpuPlatformSupportHostTest() { |
+ return new StubGpuPlatformSupportHost; |
+} |
+ |
+} // namespace ui |