OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/mac/scoped_cftyperef.h" | 8 #include "base/mac/scoped_cftyperef.h" |
9 #include "base/memory/scoped_nsobject.h" | 9 #include "base/mac/scoped_nsobject.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "content/common/content_export.h" | 11 #include "content/common/content_export.h" |
12 #include "googleurl/src/gurl.h" | 12 #include "googleurl/src/gurl.h" |
13 | 13 |
14 struct WebDropData; | 14 struct WebDropData; |
15 namespace content { | 15 namespace content { |
16 class WebContentsImpl; | 16 class WebContentsImpl; |
17 } | 17 } |
18 | 18 |
19 // A class that handles tracking and event processing for a drag and drop | 19 // A class that handles tracking and event processing for a drag and drop |
20 // originating from the content area. | 20 // originating from the content area. |
21 CONTENT_EXPORT | 21 CONTENT_EXPORT |
22 @interface WebDragSource : NSObject { | 22 @interface WebDragSource : NSObject { |
23 @private | 23 @private |
24 // Our contents. Weak reference (owns or co-owns us). | 24 // Our contents. Weak reference (owns or co-owns us). |
25 content::WebContentsImpl* contents_; | 25 content::WebContentsImpl* contents_; |
26 | 26 |
27 // The view from which the drag was initiated. Weak reference. | 27 // The view from which the drag was initiated. Weak reference. |
28 NSView* contentsView_; | 28 NSView* contentsView_; |
29 | 29 |
30 // Our drop data. Should only be initialized once. | 30 // Our drop data. Should only be initialized once. |
31 scoped_ptr<WebDropData> dropData_; | 31 scoped_ptr<WebDropData> dropData_; |
32 | 32 |
33 // The image to show as drag image. Can be nil. | 33 // The image to show as drag image. Can be nil. |
34 scoped_nsobject<NSImage> dragImage_; | 34 base::scoped_nsobject<NSImage> dragImage_; |
35 | 35 |
36 // The offset to draw |dragImage_| at. | 36 // The offset to draw |dragImage_| at. |
37 NSPoint imageOffset_; | 37 NSPoint imageOffset_; |
38 | 38 |
39 // Our pasteboard. | 39 // Our pasteboard. |
40 scoped_nsobject<NSPasteboard> pasteboard_; | 40 base::scoped_nsobject<NSPasteboard> pasteboard_; |
41 | 41 |
42 // A mask of the allowed drag operations. | 42 // A mask of the allowed drag operations. |
43 NSDragOperation dragOperationMask_; | 43 NSDragOperation dragOperationMask_; |
44 | 44 |
45 // The file name to be saved to for a drag-out download. | 45 // The file name to be saved to for a drag-out download. |
46 base::FilePath downloadFileName_; | 46 base::FilePath downloadFileName_; |
47 | 47 |
48 // The URL to download from for a drag-out download. | 48 // The URL to download from for a drag-out download. |
49 GURL downloadURL_; | 49 GURL downloadURL_; |
50 | 50 |
(...skipping 29 matching lines...) Expand all Loading... |
80 | 80 |
81 // End the drag and clear the pasteboard; hook up to | 81 // End the drag and clear the pasteboard; hook up to |
82 // -draggedImage:endedAt:operation:. | 82 // -draggedImage:endedAt:operation:. |
83 - (void)endDragAt:(NSPoint)screenPoint | 83 - (void)endDragAt:(NSPoint)screenPoint |
84 operation:(NSDragOperation)operation; | 84 operation:(NSDragOperation)operation; |
85 | 85 |
86 // Drag moved; hook up to -draggedImage:movedTo:. | 86 // Drag moved; hook up to -draggedImage:movedTo:. |
87 - (void)moveDragTo:(NSPoint)screenPoint; | 87 - (void)moveDragTo:(NSPoint)screenPoint; |
88 | 88 |
89 @end | 89 @end |
OLD | NEW |