Chromium Code Reviews| 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..9f24d0873884c770f13328365ee23d7641d7584c |
| --- /dev/null |
| +++ b/ui/ozone/gpu/gpu_platform_support_host.cc |
| @@ -0,0 +1,70 @@ |
| +// 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, |
| + int32 route_id, |
| + IPC::Sender* sender) OVERRIDE {} |
| + virtual void OnHostDestroyed(int host_id) OVERRIDE {} |
| + virtual bool OnMessageReceived(const IPC::Message&) OVERRIDE { return false; } |
| +}; |
| + |
| +} // namespace |
| + |
| +// static |
| +GpuPlatformSupportHost* GpuPlatformSupportHost::Initialize() { |
| + TRACE_EVENT0("ozone", "GpuPlatformSupportHost::Initialize"); |
| + |
| + CHECK(!instance_); |
|
piman
2014/06/16 23:53:14
DCHECK instead.
|
| + 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 |