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

Side by Side Diff: ui/views/widget/desktop_aura/desktop_drop_target_win.cc

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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/views/widget/desktop_aura/desktop_drop_target_win.h" 5 #include "ui/views/widget/desktop_aura/desktop_drop_target_win.h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/win/win_util.h" 8 #include "base/win/win_util.h"
9 #include "ui/aura/window.h" 9 #include "ui/aura/window.h"
10 #include "ui/aura/window_tree_host.h" 10 #include "ui/aura/window_tree_host.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 DesktopDropTargetWin::~DesktopDropTargetWin() { 56 DesktopDropTargetWin::~DesktopDropTargetWin() {
57 if (target_window_) 57 if (target_window_)
58 target_window_->RemoveObserver(this); 58 target_window_->RemoveObserver(this);
59 } 59 }
60 60
61 DWORD DesktopDropTargetWin::OnDragEnter(IDataObject* data_object, 61 DWORD DesktopDropTargetWin::OnDragEnter(IDataObject* data_object,
62 DWORD key_state, 62 DWORD key_state,
63 POINT position, 63 POINT position,
64 DWORD effect) { 64 DWORD effect) {
65 scoped_ptr<OSExchangeData> data; 65 std::unique_ptr<OSExchangeData> data;
66 scoped_ptr<ui::DropTargetEvent> event; 66 std::unique_ptr<ui::DropTargetEvent> event;
67 DragDropDelegate* delegate; 67 DragDropDelegate* delegate;
68 // Translate will call OnDragEntered. 68 // Translate will call OnDragEntered.
69 Translate(data_object, key_state, position, effect, &data, &event, &delegate); 69 Translate(data_object, key_state, position, effect, &data, &event, &delegate);
70 return ui::DragDropTypes::DragOperationToDropEffect( 70 return ui::DragDropTypes::DragOperationToDropEffect(
71 ui::DragDropTypes::DRAG_NONE); 71 ui::DragDropTypes::DRAG_NONE);
72 } 72 }
73 73
74 DWORD DesktopDropTargetWin::OnDragOver(IDataObject* data_object, 74 DWORD DesktopDropTargetWin::OnDragOver(IDataObject* data_object,
75 DWORD key_state, 75 DWORD key_state,
76 POINT position, 76 POINT position,
77 DWORD effect) { 77 DWORD effect) {
78 int drag_operation = ui::DragDropTypes::DRAG_NONE; 78 int drag_operation = ui::DragDropTypes::DRAG_NONE;
79 scoped_ptr<OSExchangeData> data; 79 std::unique_ptr<OSExchangeData> data;
80 scoped_ptr<ui::DropTargetEvent> event; 80 std::unique_ptr<ui::DropTargetEvent> event;
81 DragDropDelegate* delegate; 81 DragDropDelegate* delegate;
82 Translate(data_object, key_state, position, effect, &data, &event, &delegate); 82 Translate(data_object, key_state, position, effect, &data, &event, &delegate);
83 if (delegate) 83 if (delegate)
84 drag_operation = delegate->OnDragUpdated(*event); 84 drag_operation = delegate->OnDragUpdated(*event);
85 return ui::DragDropTypes::DragOperationToDropEffect(drag_operation); 85 return ui::DragDropTypes::DragOperationToDropEffect(drag_operation);
86 } 86 }
87 87
88 void DesktopDropTargetWin::OnDragLeave(IDataObject* data_object) { 88 void DesktopDropTargetWin::OnDragLeave(IDataObject* data_object) {
89 NotifyDragLeave(); 89 NotifyDragLeave();
90 } 90 }
91 91
92 DWORD DesktopDropTargetWin::OnDrop(IDataObject* data_object, 92 DWORD DesktopDropTargetWin::OnDrop(IDataObject* data_object,
93 DWORD key_state, 93 DWORD key_state,
94 POINT position, 94 POINT position,
95 DWORD effect) { 95 DWORD effect) {
96 int drag_operation = ui::DragDropTypes::DRAG_NONE; 96 int drag_operation = ui::DragDropTypes::DRAG_NONE;
97 scoped_ptr<OSExchangeData> data; 97 std::unique_ptr<OSExchangeData> data;
98 scoped_ptr<ui::DropTargetEvent> event; 98 std::unique_ptr<ui::DropTargetEvent> event;
99 DragDropDelegate* delegate; 99 DragDropDelegate* delegate;
100 Translate(data_object, key_state, position, effect, &data, &event, &delegate); 100 Translate(data_object, key_state, position, effect, &data, &event, &delegate);
101 if (delegate) { 101 if (delegate) {
102 drag_operation = delegate->OnPerformDrop(*event); 102 drag_operation = delegate->OnPerformDrop(*event);
103 DragDropClient* client = aura::client::GetDragDropClient(root_window_); 103 DragDropClient* client = aura::client::GetDragDropClient(root_window_);
104 if (client && !client->IsDragDropInProgress() && 104 if (client && !client->IsDragDropInProgress() &&
105 drag_operation != ui::DragDropTypes::DRAG_NONE) { 105 drag_operation != ui::DragDropTypes::DRAG_NONE) {
106 UMA_HISTOGRAM_COUNTS("Event.DragDrop.ExternalOriginDrop", 1); 106 UMA_HISTOGRAM_COUNTS("Event.DragDrop.ExternalOriginDrop", 1);
107 } 107 }
108 } 108 }
109 if (target_window_) { 109 if (target_window_) {
110 target_window_->RemoveObserver(this); 110 target_window_->RemoveObserver(this);
111 target_window_ = NULL; 111 target_window_ = NULL;
112 } 112 }
113 return ui::DragDropTypes::DragOperationToDropEffect(drag_operation); 113 return ui::DragDropTypes::DragOperationToDropEffect(drag_operation);
114 } 114 }
115 115
116 void DesktopDropTargetWin::OnWindowDestroyed(aura::Window* window) { 116 void DesktopDropTargetWin::OnWindowDestroyed(aura::Window* window) {
117 DCHECK(window == target_window_); 117 DCHECK(window == target_window_);
118 target_window_ = NULL; 118 target_window_ = NULL;
119 } 119 }
120 120
121 void DesktopDropTargetWin::Translate( 121 void DesktopDropTargetWin::Translate(
122 IDataObject* data_object, 122 IDataObject* data_object,
123 DWORD key_state, 123 DWORD key_state,
124 POINT position, 124 POINT position,
125 DWORD effect, 125 DWORD effect,
126 scoped_ptr<OSExchangeData>* data, 126 std::unique_ptr<OSExchangeData>* data,
127 scoped_ptr<ui::DropTargetEvent>* event, 127 std::unique_ptr<ui::DropTargetEvent>* event,
128 DragDropDelegate** delegate) { 128 DragDropDelegate** delegate) {
129 gfx::Point location(position.x, position.y); 129 gfx::Point location(position.x, position.y);
130 gfx::Point root_location = location; 130 gfx::Point root_location = location;
131 root_window_->GetHost()->ConvertPointFromNativeScreen( 131 root_window_->GetHost()->ConvertPointFromNativeScreen(
132 &root_location); 132 &root_location);
133 aura::Window* target_window = 133 aura::Window* target_window =
134 root_window_->GetEventHandlerForPoint(root_location); 134 root_window_->GetEventHandlerForPoint(root_location);
135 bool target_window_changed = false; 135 bool target_window_changed = false;
136 if (target_window != target_window_) { 136 if (target_window != target_window_) {
137 if (target_window_) 137 if (target_window_)
(...skipping 28 matching lines...) Expand all
166 return; 166 return;
167 DragDropDelegate* delegate = 167 DragDropDelegate* delegate =
168 aura::client::GetDragDropDelegate(target_window_); 168 aura::client::GetDragDropDelegate(target_window_);
169 if (delegate) 169 if (delegate)
170 delegate->OnDragExited(); 170 delegate->OnDragExited();
171 target_window_->RemoveObserver(this); 171 target_window_->RemoveObserver(this);
172 target_window_ = NULL; 172 target_window_ = NULL;
173 } 173 }
174 174
175 } // namespace views 175 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_drop_target_win.h ('k') | ui/views/widget/desktop_aura/desktop_focus_rules_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698