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

Side by Side Diff: webkit/glue/dragclient_impl.cc

Issue 174364: Plumb the DragOperation through all the layers between the platform DnD code ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "config.h" 5 #include "config.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 8
9 MSVC_PUSH_WARNING_LEVEL(0); 9 MSVC_PUSH_WARNING_LEVEL(0);
10 #include "ClipboardChromium.h" 10 #include "ClipboardChromium.h"
(...skipping 10 matching lines...) Expand all
21 #include "base/logging.h" 21 #include "base/logging.h"
22 #include "base/string_util.h" 22 #include "base/string_util.h"
23 #include "webkit/api/public/WebDragData.h" 23 #include "webkit/api/public/WebDragData.h"
24 #include "webkit/glue/context_menu.h" 24 #include "webkit/glue/context_menu.h"
25 #include "webkit/glue/glue_util.h" 25 #include "webkit/glue/glue_util.h"
26 #include "webkit/glue/webdropdata.h" 26 #include "webkit/glue/webdropdata.h"
27 #include "webkit/glue/webview_delegate.h" 27 #include "webkit/glue/webview_delegate.h"
28 #include "webkit/glue/webview_impl.h" 28 #include "webkit/glue/webview_impl.h"
29 29
30 using WebKit::WebDragData; 30 using WebKit::WebDragData;
31 using WebKit::WebPoint;
31 32
32 void DragClientImpl::willPerformDragDestinationAction( 33 void DragClientImpl::willPerformDragDestinationAction(
33 WebCore::DragDestinationAction, 34 WebCore::DragDestinationAction,
34 WebCore::DragData*) { 35 WebCore::DragData*) {
35 // FIXME 36 // FIXME
36 } 37 }
37 38
38 void DragClientImpl::willPerformDragSourceAction( 39 void DragClientImpl::willPerformDragSourceAction(
39 WebCore::DragSourceAction, 40 WebCore::DragSourceAction,
40 const WebCore::IntPoint&, 41 const WebCore::IntPoint&,
(...skipping 23 matching lines...) Expand all
64 const WebCore::IntPoint& event_pos, 65 const WebCore::IntPoint& event_pos,
65 WebCore::Clipboard* clipboard, 66 WebCore::Clipboard* clipboard,
66 WebCore::Frame* frame, 67 WebCore::Frame* frame,
67 bool is_link_drag) { 68 bool is_link_drag) {
68 // Add a ref to the frame just in case a load occurs mid-drag. 69 // Add a ref to the frame just in case a load occurs mid-drag.
69 RefPtr<WebCore::Frame> frame_protector = frame; 70 RefPtr<WebCore::Frame> frame_protector = frame;
70 71
71 WebDragData drag_data = webkit_glue::ChromiumDataObjectToWebDragData( 72 WebDragData drag_data = webkit_glue::ChromiumDataObjectToWebDragData(
72 static_cast<WebCore::ClipboardChromium*>(clipboard)->dataObject()); 73 static_cast<WebCore::ClipboardChromium*>(clipboard)->dataObject());
73 74
74 webview_->StartDragging(drag_data); 75 WebCore::DragOperation drag_operation_mask;
76 if (!clipboard->sourceOperation(drag_operation_mask)) {
77 drag_operation_mask = WebCore::DragOperationEvery;
78 }
79
80 webview_->StartDragging(webkit_glue::IntPointToWebPoint(event_pos),
81 drag_data,
82 static_cast<WebKit::WebDragOperationsMask>(drag_operation_mask));
75 } 83 }
76 84
77 WebCore::DragImageRef DragClientImpl::createDragImageForLink( 85 WebCore::DragImageRef DragClientImpl::createDragImageForLink(
78 WebCore::KURL&, 86 WebCore::KURL&,
79 const WebCore::String& label, 87 const WebCore::String& label,
80 WebCore::Frame*) { 88 WebCore::Frame*) {
81 // FIXME 89 // FIXME
82 return 0; 90 return 0;
83 } 91 }
84 92
85 void DragClientImpl::dragControllerDestroyed() { 93 void DragClientImpl::dragControllerDestroyed() {
86 delete this; 94 delete this;
87 } 95 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698