[Mac] Remove call to ClipboardMac::create from EventHandler::createDraggingClipboard
https://bugs.webkit.org/show_bug.cgi?id=116161
Reviewed by Andreas Kling.
* dom/Clipboard.h: Added createForDragAndDrop function.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingClipboard): Changed to use new Clipboard function
instead of ClipboardMac::create.
* platform/mac/ClipboardMac.mm:
(WebCore::Clipboard::createForDragAndDrop): Added. For now it does exactly what the
EventHandler::createDraggingClipboard function did, soon to be refactored better.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 223ac19..8161b43 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,22 @@
2013-05-15 Darin Adler <darin@apple.com>
+ [Mac] Remove call to ClipboardMac::create from EventHandler::createDraggingClipboard
+ https://bugs.webkit.org/show_bug.cgi?id=116161
+
+ Reviewed by Andreas Kling.
+
+ * dom/Clipboard.h: Added createForDragAndDrop function.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::createDraggingClipboard): Changed to use new Clipboard function
+ instead of ClipboardMac::create.
+
+ * platform/mac/ClipboardMac.mm:
+ (WebCore::Clipboard::createForDragAndDrop): Added. For now it does exactly what the
+ EventHandler::createDraggingClipboard function did, soon to be refactored better.
+
+2013-05-15 Darin Adler <darin@apple.com>
+
[Mac] Thin out the ClipboardMac class and header file to prepare for deleting them
https://bugs.webkit.org/show_bug.cgi?id=116159
diff --git a/Source/WebCore/dom/Clipboard.h b/Source/WebCore/dom/Clipboard.h
index c8dcf3f..5f63e58 100644
--- a/Source/WebCore/dom/Clipboard.h
+++ b/Source/WebCore/dom/Clipboard.h
@@ -132,6 +132,8 @@
#endif
#if !USE(LEGACY_STYLE_ABSTRACT_CLIPBOARD_CLASS) && ENABLE(DRAG_SUPPORT)
+ static PassRefPtr<Clipboard> createForDragAndDrop();
+
void updateDragImage();
#endif
diff --git a/Source/WebCore/page/mac/EventHandlerMac.mm b/Source/WebCore/page/mac/EventHandlerMac.mm
index e51d0df..2c56b88 100644
--- a/Source/WebCore/page/mac/EventHandlerMac.mm
+++ b/Source/WebCore/page/mac/EventHandlerMac.mm
@@ -674,10 +674,10 @@
PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
{
// Must be done before ondragstart adds types and data to the pboard,
- // also done for security, as it erases data from the last drag
- Pasteboard pasteboard(NSDragPboard);
- pasteboard.clear();
- return ClipboardMac::create(Clipboard::DragAndDrop, String(NSDragPboard), ClipboardWritable, ClipboardMac::DragAndDropData, m_frame);
+ // also done for security, as it erases data from the last drag.
+ OwnPtr<Pasteboard> pasteboard = Pasteboard::create(NSDragPboard);
+ pasteboard->clear();
+ return Clipboard::createForDragAndDrop();
}
#endif
diff --git a/Source/WebCore/platform/mac/ClipboardMac.mm b/Source/WebCore/platform/mac/ClipboardMac.mm
index 5b0ced0..b1d16b9 100644
--- a/Source/WebCore/platform/mac/ClipboardMac.mm
+++ b/Source/WebCore/platform/mac/ClipboardMac.mm
@@ -46,6 +46,11 @@
}
#endif
+PassRefPtr<Clipboard> Clipboard::createForDragAndDrop()
+{
+ return ClipboardMac::create(Clipboard::DragAndDrop, NSDragPboard, ClipboardWritable, ClipboardMac::DragAndDropData, 0);
+}
+
ClipboardMac::ClipboardMac(ClipboardType clipboardType, const String& pasteboardName, ClipboardAccessPolicy policy, ClipboardContents clipboardContents)
: Clipboard(policy, clipboardType, Pasteboard::create(pasteboardName), clipboardContents == DragAndDropFiles)
{