Index: ui/base/dragdrop/os_exchange_data_provider_mac.h |
diff --git a/ui/base/dragdrop/os_exchange_data_provider_mac.h b/ui/base/dragdrop/os_exchange_data_provider_mac.h |
index 378602923a97eeb0f38ccd4c0a2081a6c0a26304..ad16abeec479d523b7cc61169b0ac6aed93373a2 100644 |
--- a/ui/base/dragdrop/os_exchange_data_provider_mac.h |
+++ b/ui/base/dragdrop/os_exchange_data_provider_mac.h |
@@ -5,12 +5,19 @@ |
#ifndef UI_BASE_DRAGDROP_OS_EXCHANGE_DATA_PROVIDER_MAC_H_ |
#define UI_BASE_DRAGDROP_OS_EXCHANGE_DATA_PROVIDER_MAC_H_ |
+#include "base/event_types.h" |
#include "base/macros.h" |
#include "base/memory/ref_counted.h" |
#import "ui/base/clipboard/clipboard_util_mac.h" |
#include "ui/base/dragdrop/os_exchange_data.h" |
+#include "ui/events/event.h" |
+#include "ui/gfx/geometry/vector2d.h" |
+#include "ui/gfx/image/image_skia.h" |
@class NSPasteboard; |
+@class NSArray; |
+@class NSData; |
+@class NSString; |
namespace ui { |
class UniquePasteboard; |
@@ -44,10 +51,33 @@ class UI_BASE_EXPORT OSExchangeDataProviderMac |
bool HasURL(OSExchangeData::FilenameToURLPolicy policy) const override; |
bool HasFile() const override; |
bool HasCustomFormat(const Clipboard::FormatType& format) const override; |
+ void SetDragImage(const gfx::ImageSkia& image, |
+ const gfx::Vector2d& cursor_offset) override; |
+ const gfx::ImageSkia& GetDragImage() const override; |
+ const gfx::Vector2d& GetDragImageOffset() const override; |
+ |
+ // Returns the data for the specified type in the pasteboard. |
+ NSData* GetNSDataForType(NSString* type) const; |
+ |
+ // Returns an array containing the types of data currently contained in |
+ // the pasteboard. |
+ NSArray* GetPasteboardTypes() const; |
+ |
+ // Creates an OSExchangeData object from the given NSPasteboard object. |
+ static std::unique_ptr<OSExchangeData> CreateDataFromPasteboard( |
+ NSPasteboard*); |
+ |
+ // Returns an array of pasteboard types that can be supported by |
+ // OSExchangeData. |
+ static NSArray* SupportedPasteboardTypes(); |
private: |
explicit OSExchangeDataProviderMac(scoped_refptr<ui::UniquePasteboard>); |
scoped_refptr<ui::UniquePasteboard> pasteboard_; |
+ std::unique_ptr<Event> event_; |
+ |
+ gfx::ImageSkia drag_image_; |
+ gfx::Vector2d cursor_offset_; |
DISALLOW_COPY_AND_ASSIGN(OSExchangeDataProviderMac); |
}; |