Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: ui/ozone/platform/drm/host/drm_display_host_manager.h

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_ 5 #ifndef UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_
6 #define UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_ 6 #define UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
11 #include <memory>
11 #include <queue> 12 #include <queue>
12 13
13 #include "base/file_descriptor_posix.h" 14 #include "base/file_descriptor_posix.h"
14 #include "base/files/scoped_file.h" 15 #include "base/files/scoped_file.h"
15 #include "base/macros.h" 16 #include "base/macros.h"
16 #include "base/memory/scoped_ptr.h"
17 #include "base/memory/scoped_vector.h" 17 #include "base/memory/scoped_vector.h"
18 #include "base/memory/weak_ptr.h" 18 #include "base/memory/weak_ptr.h"
19 #include "ui/display/types/native_display_delegate.h" 19 #include "ui/display/types/native_display_delegate.h"
20 #include "ui/events/ozone/device/device_event.h" 20 #include "ui/events/ozone/device/device_event.h"
21 #include "ui/events/ozone/device/device_event_observer.h" 21 #include "ui/events/ozone/device/device_event_observer.h"
22 #include "ui/events/ozone/evdev/event_factory_evdev.h" 22 #include "ui/events/ozone/evdev/event_factory_evdev.h"
23 #include "ui/ozone/platform/drm/host/gpu_thread_observer.h" 23 #include "ui/ozone/platform/drm/host/gpu_thread_observer.h"
24 24
25 namespace ui { 25 namespace ui {
26 26
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 base::FilePath path; 80 base::FilePath path;
81 }; 81 };
82 82
83 // Handle hotplug events sequentially. 83 // Handle hotplug events sequentially.
84 void ProcessEvent(); 84 void ProcessEvent();
85 85
86 // Called as a result of finishing to process the display hotplug event. These 86 // Called as a result of finishing to process the display hotplug event. These
87 // are responsible for dequing the event and scheduling the next event. 87 // are responsible for dequing the event and scheduling the next event.
88 void OnAddGraphicsDevice(const base::FilePath& path, 88 void OnAddGraphicsDevice(const base::FilePath& path,
89 const base::FilePath& sysfs_path, 89 const base::FilePath& sysfs_path,
90 scoped_ptr<DrmDeviceHandle> handle); 90 std::unique_ptr<DrmDeviceHandle> handle);
91 void OnUpdateGraphicsDevice(); 91 void OnUpdateGraphicsDevice();
92 void OnRemoveGraphicsDevice(const base::FilePath& path); 92 void OnRemoveGraphicsDevice(const base::FilePath& path);
93 93
94 void RunUpdateDisplaysCallback(const GetDisplaysCallback& callback) const; 94 void RunUpdateDisplaysCallback(const GetDisplaysCallback& callback) const;
95 95
96 void NotifyDisplayDelegate() const; 96 void NotifyDisplayDelegate() const;
97 97
98 GpuThreadAdapter* proxy_; // Not owned. 98 GpuThreadAdapter* proxy_; // Not owned.
99 DeviceManager* device_manager_; // Not owned. 99 DeviceManager* device_manager_; // Not owned.
100 InputControllerEvdev* input_controller_; // Not owned. 100 InputControllerEvdev* input_controller_; // Not owned.
101 101
102 DrmNativeDisplayDelegate* delegate_ = nullptr; // Not owned. 102 DrmNativeDisplayDelegate* delegate_ = nullptr; // Not owned.
103 103
104 // File path for the primary graphics card which is opened by default in the 104 // File path for the primary graphics card which is opened by default in the
105 // GPU process. We'll avoid opening this in hotplug events since it will race 105 // GPU process. We'll avoid opening this in hotplug events since it will race
106 // with the GPU process trying to open it and aquire DRM master. 106 // with the GPU process trying to open it and aquire DRM master.
107 base::FilePath primary_graphics_card_path_; 107 base::FilePath primary_graphics_card_path_;
108 108
109 // Keeps track if there is a dummy display. This happens on initialization 109 // Keeps track if there is a dummy display. This happens on initialization
110 // when there is no connection to the GPU to update the displays. 110 // when there is no connection to the GPU to update the displays.
111 bool has_dummy_display_ = false; 111 bool has_dummy_display_ = false;
112 112
113 std::vector<scoped_ptr<DrmDisplayHost>> displays_; 113 std::vector<std::unique_ptr<DrmDisplayHost>> displays_;
114 114
115 GetDisplaysCallback get_displays_callback_; 115 GetDisplaysCallback get_displays_callback_;
116 116
117 bool display_externally_controlled_ = false; 117 bool display_externally_controlled_ = false;
118 bool display_control_change_pending_ = false; 118 bool display_control_change_pending_ = false;
119 DisplayControlCallback take_display_control_callback_; 119 DisplayControlCallback take_display_control_callback_;
120 DisplayControlCallback relinquish_display_control_callback_; 120 DisplayControlCallback relinquish_display_control_callback_;
121 121
122 // Used to serialize display event processing. This is done since 122 // Used to serialize display event processing. This is done since
123 // opening/closing DRM devices cannot be done on the UI thread and are handled 123 // opening/closing DRM devices cannot be done on the UI thread and are handled
124 // on a worker thread. Thus, we need to queue events in order to process them 124 // on a worker thread. Thus, we need to queue events in order to process them
125 // in the correct order. 125 // in the correct order.
126 std::queue<DisplayEvent> event_queue_; 126 std::queue<DisplayEvent> event_queue_;
127 127
128 // True if a display event is currently being processed on a worker thread. 128 // True if a display event is currently being processed on a worker thread.
129 bool task_pending_ = false; 129 bool task_pending_ = false;
130 130
131 // Keeps track of all the active DRM devices. The key is the device path, the 131 // Keeps track of all the active DRM devices. The key is the device path, the
132 // value is the sysfs path which has been resolved from the device path. 132 // value is the sysfs path which has been resolved from the device path.
133 std::map<base::FilePath, base::FilePath> drm_devices_; 133 std::map<base::FilePath, base::FilePath> drm_devices_;
134 134
135 // This is used to cache the primary DRM device until the channel is 135 // This is used to cache the primary DRM device until the channel is
136 // established. 136 // established.
137 scoped_ptr<DrmDeviceHandle> primary_drm_device_handle_; 137 std::unique_ptr<DrmDeviceHandle> primary_drm_device_handle_;
138 138
139 base::WeakPtrFactory<DrmDisplayHostManager> weak_ptr_factory_; 139 base::WeakPtrFactory<DrmDisplayHostManager> weak_ptr_factory_;
140 140
141 DISALLOW_COPY_AND_ASSIGN(DrmDisplayHostManager); 141 DISALLOW_COPY_AND_ASSIGN(DrmDisplayHostManager);
142 }; 142 };
143 143
144 } // namespace ui 144 } // namespace ui
145 145
146 #endif // UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_ 146 #endif // UI_OZONE_PLATFORM_DRM_HOST_DRM_DISPLAY_HOST_MANAGER_H_
OLDNEW
« no previous file with comments | « ui/ozone/platform/drm/host/drm_display_host.cc ('k') | ui/ozone/platform/drm/host/drm_display_host_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698