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

Side by Side Diff: views/widget/drop_target_gtk.cc

Issue 6250014: Move more dnd related files to ui/base (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « views/widget/drop_helper.cc ('k') | views/widget/drop_target_win.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "views/widget/drop_target_gtk.h" 5 #include "views/widget/drop_target_gtk.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <iterator> 8 #include <iterator>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "app/drag_drop_types.h"
13 #include "app/gtk_dnd_util.h"
14 #include "base/file_path.h" 12 #include "base/file_path.h"
15 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
16 #include "gfx/point.h" 14 #include "gfx/point.h"
17 #include "net/base/net_util.h" 15 #include "net/base/net_util.h"
16 #include "ui/base/dragdrop/drag_drop_types.h"
17 #include "ui/base/dragdrop/gtk_dnd_util.h"
18 #include "ui/base/dragdrop/os_exchange_data_provider_gtk.h" 18 #include "ui/base/dragdrop/os_exchange_data_provider_gtk.h"
19 #include "views/widget/root_view.h" 19 #include "views/widget/root_view.h"
20 #include "views/widget/widget_gtk.h" 20 #include "views/widget/widget_gtk.h"
21 21
22 using ui::OSExchangeData; 22 using ui::OSExchangeData;
23 23
24 namespace { 24 namespace {
25 25
26 std::string GdkAtomToString(GdkAtom atom) { 26 std::string GdkAtomToString(GdkAtom atom) {
27 gchar* c_name = gdk_atom_name(atom); 27 gchar* c_name = gdk_atom_name(atom);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 // Consumers of OSExchangeData will see this as an invalid URL. That is, 136 // Consumers of OSExchangeData will see this as an invalid URL. That is,
137 // when GetURL is invoked on the OSExchangeData this triggers false to 137 // when GetURL is invoked on the OSExchangeData this triggers false to
138 // be returned. 138 // be returned.
139 data_provider().SetURL(GURL(), std::wstring()); 139 data_provider().SetURL(GURL(), std::wstring());
140 } 140 }
141 } 141 }
142 142
143 if (!data_->HasAllFormats(requested_formats_, requested_custom_formats_)) 143 if (!data_->HasAllFormats(requested_formats_, requested_custom_formats_))
144 return; // Waiting on more data. 144 return; // Waiting on more data.
145 145
146 int drag_operation = DragDropTypes::GdkDragActionToDragOperation( 146 int drag_operation = ui::DragDropTypes::GdkDragActionToDragOperation(
147 context->actions); 147 context->actions);
148 gfx::Point root_view_location(x, y); 148 gfx::Point root_view_location(x, y);
149 drag_operation = helper_.OnDragOver(*data_, root_view_location, 149 drag_operation = helper_.OnDragOver(*data_, root_view_location,
150 drag_operation); 150 drag_operation);
151 GdkDragAction gdk_action = static_cast<GdkDragAction>( 151 GdkDragAction gdk_action = static_cast<GdkDragAction>(
152 DragDropTypes::DragOperationToGdkDragAction(drag_operation)); 152 ui::DragDropTypes::DragOperationToGdkDragAction(drag_operation));
153 if (!received_drop_) 153 if (!received_drop_)
154 gdk_drag_status(context, gdk_action, time); 154 gdk_drag_status(context, gdk_action, time);
155 155
156 waiting_for_data_ = false; 156 waiting_for_data_ = false;
157 157
158 if (pending_view_ && received_drop_) { 158 if (pending_view_ && received_drop_) {
159 FinishDrop(context, x, y, time); 159 FinishDrop(context, x, y, time);
160 // WARNING: we've been deleted. 160 // WARNING: we've been deleted.
161 return; 161 return;
162 } 162 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 // drop is valid, but we don't have all the data. Request the data 217 // drop is valid, but we don't have all the data. Request the data
218 // now. When we get back the data we'll update the target. 218 // now. When we get back the data we'll update the target.
219 RequestFormats(context, formats, custom_formats, time); 219 RequestFormats(context, formats, custom_formats, time);
220 220
221 waiting_for_data_ = true; 221 waiting_for_data_ = true;
222 222
223 return TRUE; 223 return TRUE;
224 } 224 }
225 } 225 }
226 226
227 int drag_operation = DragDropTypes::GdkDragActionToDragOperation( 227 int drag_operation = ui::DragDropTypes::GdkDragActionToDragOperation(
228 context->actions); 228 context->actions);
229 drag_operation = helper_.OnDragOver(*data_, root_view_location, 229 drag_operation = helper_.OnDragOver(*data_, root_view_location,
230 drag_operation); 230 drag_operation);
231 if (!received_drop_) { 231 if (!received_drop_) {
232 GdkDragAction gdk_action = 232 GdkDragAction gdk_action =
233 static_cast<GdkDragAction>( 233 static_cast<GdkDragAction>(
234 DragDropTypes::DragOperationToGdkDragAction(drag_operation)); 234 ui::DragDropTypes::DragOperationToGdkDragAction(drag_operation));
235 gdk_drag_status(context, gdk_action, time); 235 gdk_drag_status(context, gdk_action, time);
236 } 236 }
237 return TRUE; 237 return TRUE;
238 } 238 }
239 239
240 void DropTargetGtk::FinishDrop(GdkDragContext* context, 240 void DropTargetGtk::FinishDrop(GdkDragContext* context,
241 gint x, gint y, guint time) { 241 gint x, gint y, guint time) {
242 gfx::Point root_view_location(x, y); 242 gfx::Point root_view_location(x, y);
243 int drag_operation = DragDropTypes::GdkDragActionToDragOperation( 243 int drag_operation = ui::DragDropTypes::GdkDragActionToDragOperation(
244 context->actions); 244 context->actions);
245 drag_operation = helper_.OnDrop(*data_, root_view_location, 245 drag_operation = helper_.OnDrop(*data_, root_view_location,
246 drag_operation); 246 drag_operation);
247 GdkDragAction gdk_action = 247 GdkDragAction gdk_action =
248 static_cast<GdkDragAction>( 248 static_cast<GdkDragAction>(
249 DragDropTypes::DragOperationToGdkDragAction(drag_operation)); 249 ui::DragDropTypes::DragOperationToGdkDragAction(drag_operation));
250 gtk_drag_finish(context, gdk_action != 0, (gdk_action & GDK_ACTION_MOVE), 250 gtk_drag_finish(context, gdk_action != 0, (gdk_action & GDK_ACTION_MOVE),
251 time); 251 time);
252 252
253 static_cast<WidgetGtk*>(helper_.root_view()->GetWidget())->ResetDropTarget(); 253 static_cast<WidgetGtk*>(helper_.root_view()->GetWidget())->ResetDropTarget();
254 // WARNING: we've been deleted. 254 // WARNING: we've been deleted.
255 } 255 }
256 256
257 void DropTargetGtk::IntersectFormats(int f1, const std::set<GdkAtom>& cf1, 257 void DropTargetGtk::IntersectFormats(int f1, const std::set<GdkAtom>& cf1,
258 int* f2, std::set<GdkAtom>* cf2) { 258 int* f2, std::set<GdkAtom>* cf2) {
259 *f2 = (*f2 & f1); 259 *f2 = (*f2 & f1);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 gtk_drag_get_data(widget, context, *i, time); 329 gtk_drag_get_data(widget, context, *i, time);
330 } 330 }
331 } 331 }
332 } 332 }
333 333
334 OSExchangeDataProviderGtk& DropTargetGtk::data_provider() const { 334 OSExchangeDataProviderGtk& DropTargetGtk::data_provider() const {
335 return static_cast<OSExchangeDataProviderGtk&>(data_->provider()); 335 return static_cast<OSExchangeDataProviderGtk&>(data_->provider());
336 } 336 }
337 337
338 } // namespace views 338 } // namespace views
OLDNEW
« no previous file with comments | « views/widget/drop_helper.cc ('k') | views/widget/drop_target_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698