| Index: services/ui/common/gpu_service.cc
|
| diff --git a/services/ui/common/gpu_service.cc b/services/ui/common/gpu_service.cc
|
| index f8bf9e79e0939d11ced35b5e1313616fe85c0011..9a2f4c561a3e4b28576250d2b1782b026dcdc69e 100644
|
| --- a/services/ui/common/gpu_service.cc
|
| +++ b/services/ui/common/gpu_service.cc
|
| @@ -47,21 +47,18 @@ GpuService::GpuService(shell::Connector* connector)
|
|
|
| GpuService::~GpuService() {
|
| DCHECK(IsMainThread());
|
| + DCHECK_EQ(this, g_gpu_service);
|
| if (gpu_channel_)
|
| gpu_channel_->DestroyChannel();
|
| + g_gpu_service = nullptr;
|
| }
|
|
|
| // static
|
| -void GpuService::Initialize(shell::Connector* connector) {
|
| +std::unique_ptr<GpuService> GpuService::Initialize(
|
| + shell::Connector* connector) {
|
| DCHECK(!g_gpu_service);
|
| g_gpu_service = new GpuService(connector);
|
| -}
|
| -
|
| -// static
|
| -void GpuService::Terminate() {
|
| - DCHECK(g_gpu_service);
|
| - delete g_gpu_service;
|
| - g_gpu_service = nullptr;
|
| + return base::WrapUnique(g_gpu_service);
|
| }
|
|
|
| // static
|
|
|