OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/ozone/common/stub_client_native_pixmap_factory.h" | 5 #include "ui/ozone/common/stub_client_native_pixmap_factory.h" |
6 | 6 |
7 #include "base/file_descriptor_posix.h" | 7 #include "base/file_descriptor_posix.h" |
8 | 8 |
9 namespace ui { | 9 namespace ui { |
10 | 10 |
11 namespace { | 11 namespace { |
12 | 12 |
13 class StubClientNativePixmapFactory : public ClientNativePixmapFactory { | 13 class StubClientNativePixmapFactory : public ClientNativePixmapFactory { |
14 public: | 14 public: |
15 StubClientNativePixmapFactory() {} | 15 StubClientNativePixmapFactory() {} |
16 ~StubClientNativePixmapFactory() override {} | 16 ~StubClientNativePixmapFactory() override { |
| 17 if (virtual_device_.auto_close) { |
| 18 base::ScopedFD closing_fd(virtual_device_.fd); |
| 19 } |
| 20 } |
17 | 21 |
18 // ClientNativePixmapFactory: | 22 // ClientNativePixmapFactory: |
19 std::vector<Configuration> GetSupportedConfigurations() const override { | 23 std::vector<Configuration> GetSupportedConfigurations() const override { |
20 return std::vector<Configuration>(); | 24 return std::vector<Configuration>(); |
21 } | 25 } |
22 scoped_ptr<ClientNativePixmap> ImportNativePixmap( | 26 scoped_ptr<ClientNativePixmap> ImportNativePixmap( |
23 const base::FileDescriptor& handle, | 27 const base::FileDescriptor& handle, |
24 const gfx::Size& size, | 28 const gfx::Size& size, |
25 gfx::BufferFormat format, | 29 gfx::BufferFormat format, |
26 gfx::BufferUsage usage) override { | 30 gfx::BufferUsage usage) override { |
27 NOTIMPLEMENTED(); | 31 NOTIMPLEMENTED(); |
28 return nullptr; | 32 return nullptr; |
29 } | 33 } |
30 | 34 |
31 private: | 35 private: |
| 36 void Initialize(const base::FileDescriptor& virtual_device) override { |
| 37 DCHECK_EQ(virtual_device_.fd, -1); |
| 38 if (virtual_device.fd >= 0) |
| 39 virtual_device_ = virtual_device; |
| 40 } |
| 41 |
| 42 base::FileDescriptor virtual_device_; |
| 43 |
32 DISALLOW_COPY_AND_ASSIGN(StubClientNativePixmapFactory); | 44 DISALLOW_COPY_AND_ASSIGN(StubClientNativePixmapFactory); |
33 }; | 45 }; |
34 | 46 |
35 } // namespace | 47 } // namespace |
36 | 48 |
37 ClientNativePixmapFactory* CreateStubClientNativePixmapFactory() { | 49 ClientNativePixmapFactory* CreateStubClientNativePixmapFactory() { |
38 return new StubClientNativePixmapFactory; | 50 return new StubClientNativePixmapFactory; |
39 } | 51 } |
40 | 52 |
41 } // namespace ui | 53 } // namespace ui |
OLD | NEW |