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

Side by Side Diff: ash/display/extended_mouse_warp_controller.cc

Issue 1867223004: Convert //ash from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 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 "ash/display/extended_mouse_warp_controller.h" 5 #include "ash/display/extended_mouse_warp_controller.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "ash/display/display_manager.h" 9 #include "ash/display/display_manager.h"
10 #include "ash/display/display_util.h" 10 #include "ash/display/display_util.h"
11 #include "ash/display/shared_display_edge_indicator.h" 11 #include "ash/display/shared_display_edge_indicator.h"
12 #include "ash/display/window_tree_host_manager.h" 12 #include "ash/display/window_tree_host_manager.h"
13 #include "ash/root_window_controller.h" 13 #include "ash/root_window_controller.h"
14 #include "ash/screen_util.h" 14 #include "ash/screen_util.h"
15 #include "ash/shell.h" 15 #include "ash/shell.h"
16 #include "base/memory/ptr_util.h"
16 #include "ui/aura/window.h" 17 #include "ui/aura/window.h"
17 #include "ui/display/manager/display_layout.h" 18 #include "ui/display/manager/display_layout.h"
18 #include "ui/events/event_utils.h" 19 #include "ui/events/event_utils.h"
19 #include "ui/gfx/screen.h" 20 #include "ui/gfx/screen.h"
20 #include "ui/wm/core/coordinate_conversion.h" 21 #include "ui/wm/core/coordinate_conversion.h"
21 22
22 namespace ash { 23 namespace ash {
23 24
24 namespace { 25 namespace {
25 26
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 : gfx::Display::kInvalidDisplayID; 107 : gfx::Display::kInvalidDisplayID;
107 display::DisplayList display_list = display_manager->active_display_list(); 108 display::DisplayList display_list = display_manager->active_display_list();
108 // Try to create a Warp region for all possible two displays combination. 109 // Try to create a Warp region for all possible two displays combination.
109 // The following code does it by poping the last element in the list 110 // The following code does it by poping the last element in the list
110 // and then pairing with remaining displays in the list, until the list 111 // and then pairing with remaining displays in the list, until the list
111 // becomes single element. 112 // becomes single element.
112 while (display_list.size() > 1) { 113 while (display_list.size() > 1) {
113 gfx::Display display = display_list.back(); 114 gfx::Display display = display_list.back();
114 display_list.pop_back(); 115 display_list.pop_back();
115 for (const gfx::Display& peer : display_list) { 116 for (const gfx::Display& peer : display_list) {
116 scoped_ptr<WarpRegion> region = 117 std::unique_ptr<WarpRegion> region =
117 CreateWarpRegion(display, peer, drag_source_id); 118 CreateWarpRegion(display, peer, drag_source_id);
118 if (region) 119 if (region)
119 AddWarpRegion(std::move(region), drag_source != nullptr); 120 AddWarpRegion(std::move(region), drag_source != nullptr);
120 } 121 }
121 } 122 }
122 } 123 }
123 124
124 ExtendedMouseWarpController::~ExtendedMouseWarpController() { 125 ExtendedMouseWarpController::~ExtendedMouseWarpController() {
125 } 126 }
126 127
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 #endif 159 #endif
159 160
160 return WarpMouseCursorInNativeCoords(point_in_native, point_in_screen, false); 161 return WarpMouseCursorInNativeCoords(point_in_native, point_in_screen, false);
161 } 162 }
162 163
163 void ExtendedMouseWarpController::SetEnabled(bool enabled) { 164 void ExtendedMouseWarpController::SetEnabled(bool enabled) {
164 enabled_ = enabled; 165 enabled_ = enabled;
165 } 166 }
166 167
167 void ExtendedMouseWarpController::AddWarpRegion( 168 void ExtendedMouseWarpController::AddWarpRegion(
168 scoped_ptr<WarpRegion> warp_region, 169 std::unique_ptr<WarpRegion> warp_region,
169 bool has_drag_source) { 170 bool has_drag_source) {
170 if (has_drag_source) { 171 if (has_drag_source) {
171 warp_region->shared_display_edge_indicator_.reset( 172 warp_region->shared_display_edge_indicator_.reset(
172 new SharedDisplayEdgeIndicator); 173 new SharedDisplayEdgeIndicator);
173 warp_region->shared_display_edge_indicator_->Show( 174 warp_region->shared_display_edge_indicator_->Show(
174 warp_region->a_indicator_bounds_, warp_region->b_indicator_bounds_); 175 warp_region->a_indicator_bounds_, warp_region->b_indicator_bounds_);
175 } 176 }
176 177
177 warp_regions_.emplace_back(std::move(warp_region)); 178 warp_regions_.emplace_back(std::move(warp_region));
178 } 179 }
179 180
180 bool ExtendedMouseWarpController::WarpMouseCursorInNativeCoords( 181 bool ExtendedMouseWarpController::WarpMouseCursorInNativeCoords(
181 const gfx::Point& point_in_native, 182 const gfx::Point& point_in_native,
182 const gfx::Point& point_in_screen, 183 const gfx::Point& point_in_screen,
183 bool update_mouse_location_now) { 184 bool update_mouse_location_now) {
184 for (const scoped_ptr<WarpRegion>& warp : warp_regions_) { 185 for (const std::unique_ptr<WarpRegion>& warp : warp_regions_) {
185 bool in_a_edge = warp->a_edge_bounds_in_native_.Contains(point_in_native); 186 bool in_a_edge = warp->a_edge_bounds_in_native_.Contains(point_in_native);
186 bool in_b_edge = warp->b_edge_bounds_in_native_.Contains(point_in_native); 187 bool in_b_edge = warp->b_edge_bounds_in_native_.Contains(point_in_native);
187 if (!in_a_edge && !in_b_edge) 188 if (!in_a_edge && !in_b_edge)
188 continue; 189 continue;
189 190
190 // The mouse must move. 191 // The mouse must move.
191 aura::Window* dst_window = GetRootWindowForDisplayId( 192 aura::Window* dst_window = GetRootWindowForDisplayId(
192 in_a_edge ? warp->b_display_id_ : warp->a_display_id_); 193 in_a_edge ? warp->b_display_id_ : warp->a_display_id_);
193 AshWindowTreeHost* target_ash_host = 194 AshWindowTreeHost* target_ash_host =
194 GetRootWindowController(dst_window)->ash_host(); 195 GetRootWindowController(dst_window)->ash_host();
195 196
196 MoveCursorTo(target_ash_host, point_in_screen, update_mouse_location_now); 197 MoveCursorTo(target_ash_host, point_in_screen, update_mouse_location_now);
197 return true; 198 return true;
198 } 199 }
199 200
200 return false; 201 return false;
201 } 202 }
202 203
203 scoped_ptr<ExtendedMouseWarpController::WarpRegion> 204 std::unique_ptr<ExtendedMouseWarpController::WarpRegion>
204 ExtendedMouseWarpController::CreateWarpRegion(const gfx::Display& a, 205 ExtendedMouseWarpController::CreateWarpRegion(const gfx::Display& a,
205 const gfx::Display& b, 206 const gfx::Display& b,
206 int64_t drag_source_id) { 207 int64_t drag_source_id) {
207 gfx::Rect a_edge; 208 gfx::Rect a_edge;
208 gfx::Rect b_edge; 209 gfx::Rect b_edge;
209 int snap_barrier = drag_source_id == gfx::Display::kInvalidDisplayID 210 int snap_barrier = drag_source_id == gfx::Display::kInvalidDisplayID
210 ? 0 211 ? 0
211 : kMaximumSnapHeight; 212 : kMaximumSnapHeight;
212 213
213 if (!ComputeBoundary(a, b, &a_edge, &b_edge)) 214 if (!ComputeBoundary(a, b, &a_edge, &b_edge))
214 return nullptr; 215 return nullptr;
215 216
216 // Creates the snap window barrirer only when horizontally connected. 217 // Creates the snap window barrirer only when horizontally connected.
217 if (a_edge.height() > a_edge.width()) { 218 if (a_edge.height() > a_edge.width()) {
218 if (drag_source_id == a.id()) 219 if (drag_source_id == a.id())
219 AdjustSourceEdgeBounds(a.bounds(), snap_barrier, &a_edge); 220 AdjustSourceEdgeBounds(a.bounds(), snap_barrier, &a_edge);
220 else if (drag_source_id == b.id()) 221 else if (drag_source_id == b.id())
221 AdjustSourceEdgeBounds(b.bounds(), snap_barrier, &b_edge); 222 AdjustSourceEdgeBounds(b.bounds(), snap_barrier, &b_edge);
222 } 223 }
223 224
224 return make_scoped_ptr(new WarpRegion(a.id(), b.id(), a_edge, b_edge)); 225 return base::WrapUnique(new WarpRegion(a.id(), b.id(), a_edge, b_edge));
225 } 226 }
226 227
227 } // namespace ash 228 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698