Index: public/platform/WebDragData.h |
diff --git a/public/platform/WebDragData.h b/public/platform/WebDragData.h |
index 4a63bb0e6c49e448a0b0952f34afebec7d46bcad..bc5200afde98ded17f9a70586d4b0ad5e367da74 100644 |
--- a/public/platform/WebDragData.h |
+++ b/public/platform/WebDragData.h |
@@ -35,10 +35,10 @@ |
#include "WebData.h" |
#include "WebString.h" |
#include "WebURL.h" |
+#include "WebVector.h" |
namespace blink { |
-class DataObject; |
template <typename T> class WebVector; |
// Holds data that may be exchanged through a drag-n-drop operation. It is |
@@ -84,37 +84,58 @@ public: |
WebURL baseURL; |
}; |
- WebDragData() { } |
- WebDragData(const WebDragData& object) { assign(object); } |
+ WebDragData() |
+ : m_valid(false) |
+ , m_modifierKeyState(0) |
+ { } |
+ |
+ WebDragData(const WebDragData& object) |
+ : m_valid(object.m_valid) |
+ , m_itemList(object.m_itemList) |
+ , m_modifierKeyState(object.m_modifierKeyState) |
+ , m_filesystemId(object.m_filesystemId) |
+ { } |
+ |
WebDragData& operator=(const WebDragData& object) |
{ |
- assign(object); |
+ m_valid = object.m_valid; |
+ m_itemList = object.m_itemList; |
+ m_modifierKeyState = object.m_modifierKeyState; |
+ m_filesystemId = object.m_filesystemId; |
return *this; |
} |
- ~WebDragData() { reset(); } |
- bool isNull() const { return m_private.isNull(); } |
+ ~WebDragData() { } |
+ |
+ WebVector<Item> items() const |
+ { |
+ return m_itemList; |
+ } |
- BLINK_EXPORT void initialize(); |
- BLINK_EXPORT void reset(); |
- BLINK_EXPORT void assign(const WebDragData&); |
+ BLINK_PLATFORM_EXPORT void setItems(const WebVector<Item>& itemList); |
- BLINK_EXPORT WebVector<Item> items() const; |
- BLINK_EXPORT void setItems(const WebVector<Item>&); |
- BLINK_EXPORT void addItem(const Item&); |
+ void initialize() { m_valid = true; } |
+ bool isNull() const { return !m_valid; } |
+ void reset() { m_itemList = WebVector<Item>(); m_valid = false; } |
- BLINK_EXPORT WebString filesystemId() const; |
- BLINK_EXPORT void setFilesystemId(const WebString&); |
+ BLINK_PLATFORM_EXPORT void addItem(const Item&); |
-#if BLINK_IMPLEMENTATION |
- explicit WebDragData(const PassRefPtrWillBeRawPtr<DataObject>&); |
- WebDragData& operator=(const PassRefPtrWillBeRawPtr<DataObject>&); |
- DataObject* getValue() const; |
-#endif |
+ WebString filesystemId() const |
+ { |
+ return m_filesystemId; |
+ } |
+ |
+ void setFilesystemId(const WebString& filesystemId) |
+ { |
+ // The ID is an opaque string, given by and validated by chromium port. |
+ m_filesystemId = filesystemId; |
+ } |
private: |
- void ensureMutable(); |
- WebPrivatePtr<DataObject> m_private; |
+ bool m_valid; |
+ WebVector<Item> m_itemList; |
+ int m_modifierKeyState; // State of Shift/Ctrl/Alt/Meta keys. |
+ WebString m_filesystemId; |
}; |
} // namespace blink |