Index: ui/ozone/platform/drm/common/client_native_pixmap_manager_gbm.cc |
diff --git a/ui/ozone/platform/drm/common/client_native_pixmap_manager_gbm.cc b/ui/ozone/platform/drm/common/client_native_pixmap_manager_gbm.cc |
index c73c4ddf10dce5c586d30b1d7a9247457d6e6756..cb00494b719771de4bb93d905bfdccc2055c5a86 100644 |
--- a/ui/ozone/platform/drm/common/client_native_pixmap_manager_gbm.cc |
+++ b/ui/ozone/platform/drm/common/client_native_pixmap_manager_gbm.cc |
@@ -14,7 +14,11 @@ namespace { |
class ClientNativePixmapManagerGbm : public ClientNativePixmapManager { |
public: |
ClientNativePixmapManagerGbm() {} |
- ~ClientNativePixmapManagerGbm() override {} |
+ ~ClientNativePixmapManagerGbm() override { |
+ if (vgem_fd_.auto_close) { |
+ base::ScopedFD closing_fd(vgem_fd_.fd); |
+ } |
+ } |
// ClientNativePixmapManager: |
std::vector<Configuration> GetSupportedConfigurations() const override { |
@@ -33,6 +37,14 @@ class ClientNativePixmapManagerGbm : public ClientNativePixmapManager { |
} |
private: |
+ void Initialize(const base::FileDescriptor& virtual_device) override { |
+ DCHECK_EQ(vgem_fd_.fd, -1); |
+ if (virtual_device.fd >= 0) |
+ vgem_fd_ = virtual_device; |
+ } |
+ |
+ base::FileDescriptor vgem_fd_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ClientNativePixmapManagerGbm); |
}; |