[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 13:37:15 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5a108ce908eae445e11fd5edad257f1fc5577d33
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 21 18:50:16 2010 +0000

    2010-09-21  Daniel Cheng  <dcheng at chromium.org>
    
            Reviewed by Tony Chang.
    
            Change Clipboard to use an enum instead of isForDragging = true/false
            https://bugs.webkit.org/show_bug.cgi?id=46004
    
            No new tests, since it's just a refactoring change.
    
            * bindings/js/JSClipboardCustom.cpp:
            (WebCore::JSClipboard::setDragImage):
            * bindings/v8/custom/V8ClipboardCustom.cpp:
            (WebCore::V8Clipboard::setDragImageCallback):
            * dom/Clipboard.cpp:
            (WebCore::Clipboard::Clipboard):
            (WebCore::Clipboard::setDropEffect):
            (WebCore::Clipboard::setEffectAllowed):
            * dom/Clipboard.h:
            (WebCore::Clipboard::isForCopyAndPaste):
            (WebCore::Clipboard::isForDragAndDrop):
            * editing/android/EditorAndroid.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * editing/brew/EditorBrew.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * editing/chromium/EditorChromium.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * editing/haiku/EditorHaiku.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * editing/mac/EditorMac.mm:
            (WebCore::Editor::newGeneralClipboard):
            * editing/wx/EditorWx.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * page/chromium/EventHandlerChromium.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/efl/EventHandlerEfl.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/gtk/EventHandlerGtk.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/haiku/EventHandlerHaiku.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/mac/EventHandlerMac.mm:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/qt/EventHandlerQt.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/win/EventHandlerWin.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * page/wx/EventHandlerWx.cpp:
            (WebCore::EventHandler::createDraggingClipboard):
            * platform/android/ClipboardAndroid.cpp:
            (WebCore::ClipboardAndroid::ClipboardAndroid):
            (WebCore::ClipboardAndroid::clearData):
            (WebCore::ClipboardAndroid::clearAllData):
            (WebCore::ClipboardAndroid::setData):
            * platform/android/ClipboardAndroid.h:
            * platform/brew/ClipboardBrew.cpp:
            (WebCore::ClipboardBrew::ClipboardBrew):
            (WebCore::ClipboardBrew::clearData):
            (WebCore::ClipboardBrew::clearAllData):
            (WebCore::ClipboardBrew::setData):
            * platform/brew/ClipboardBrew.h:
            * platform/chromium/ClipboardChromium.cpp:
            (WebCore::Clipboard::create):
            (WebCore::ClipboardChromium::ClipboardChromium):
            (WebCore::ClipboardChromium::create):
            (WebCore::ClipboardChromium::getData):
            * platform/chromium/ClipboardChromium.h:
            * platform/efl/ClipboardEfl.cpp:
            (WebCore::Editor::newGeneralClipboard):
            (WebCore::ClipboardEfl::ClipboardEfl):
            * platform/efl/ClipboardEfl.h:
            (WebCore::ClipboardEfl::create):
            * platform/gtk/ClipboardGtk.cpp:
            (WebCore::Editor::newGeneralClipboard):
            (WebCore::Clipboard::create):
            (WebCore::ClipboardGtk::ClipboardGtk):
            (WebCore::dataObjectTypeFromHTMLClipboardType):
            (WebCore::ClipboardGtk::clearData):
            (WebCore::ClipboardGtk::getData):
            (WebCore::ClipboardGtk::setData):
            * platform/gtk/ClipboardGtk.h:
            (WebCore::ClipboardGtk::create):
            * platform/haiku/ClipboardHaiku.cpp:
            (WebCore::Clipboard::create):
            (WebCore::ClipboardHaiku::ClipboardHaiku):
            * platform/haiku/ClipboardHaiku.h:
            (WebCore::ClipboardHaiku::create):
            * platform/mac/ClipboardMac.h:
            (WebCore::ClipboardMac::create):
            * platform/mac/ClipboardMac.mm:
            (WebCore::Clipboard::create):
            (WebCore::ClipboardMac::ClipboardMac):
            * platform/qt/ClipboardQt.cpp:
            (WebCore::ClipboardQt::ClipboardQt):
            (WebCore::ClipboardQt::~ClipboardQt):
            (WebCore::ClipboardQt::clearData):
            (WebCore::ClipboardQt::clearAllData):
            (WebCore::ClipboardQt::setData):
            (WebCore::ClipboardQt::declareAndWriteDragImage):
            (WebCore::ClipboardQt::writeURL):
            (WebCore::ClipboardQt::writeRange):
            (WebCore::ClipboardQt::writePlainText):
            * platform/qt/ClipboardQt.h:
            (WebCore::ClipboardQt::create):
            * platform/win/ClipboardWin.cpp:
            (WebCore::Clipboard::create):
            (WebCore::ClipboardWin::ClipboardWin):
            (WebCore::ClipboardWin::clearData):
            (WebCore::ClipboardWin::clearAllData):
            (WebCore::ClipboardWin::setData):
            (WebCore::ClipboardWin::setExternalDataObject):
            * platform/win/ClipboardWin.h:
            (WebCore::ClipboardWin::create):
            * platform/win/EditorWin.cpp:
            (WebCore::Editor::newGeneralClipboard):
            * platform/wx/ClipboardWx.cpp:
            (WebCore::ClipboardWx::ClipboardWx):
            * platform/wx/ClipboardWx.h:
            (WebCore::ClipboardWx::create):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67973 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index daf2cd3..53a4533 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,122 @@
+2010-09-21  Daniel Cheng  <dcheng at chromium.org>
+
+        Reviewed by Tony Chang.
+
+        Change Clipboard to use an enum instead of isForDragging = true/false
+        https://bugs.webkit.org/show_bug.cgi?id=46004
+
+        No new tests, since it's just a refactoring change.
+
+        * bindings/js/JSClipboardCustom.cpp:
+        (WebCore::JSClipboard::setDragImage):
+        * bindings/v8/custom/V8ClipboardCustom.cpp:
+        (WebCore::V8Clipboard::setDragImageCallback):
+        * dom/Clipboard.cpp:
+        (WebCore::Clipboard::Clipboard):
+        (WebCore::Clipboard::setDropEffect):
+        (WebCore::Clipboard::setEffectAllowed):
+        * dom/Clipboard.h:
+        (WebCore::Clipboard::isForCopyAndPaste):
+        (WebCore::Clipboard::isForDragAndDrop):
+        * editing/android/EditorAndroid.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * editing/brew/EditorBrew.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * editing/chromium/EditorChromium.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * editing/haiku/EditorHaiku.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::newGeneralClipboard):
+        * editing/wx/EditorWx.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * page/chromium/EventHandlerChromium.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/efl/EventHandlerEfl.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/gtk/EventHandlerGtk.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/haiku/EventHandlerHaiku.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/mac/EventHandlerMac.mm:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/qt/EventHandlerQt.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/win/EventHandlerWin.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * page/wx/EventHandlerWx.cpp:
+        (WebCore::EventHandler::createDraggingClipboard):
+        * platform/android/ClipboardAndroid.cpp:
+        (WebCore::ClipboardAndroid::ClipboardAndroid):
+        (WebCore::ClipboardAndroid::clearData):
+        (WebCore::ClipboardAndroid::clearAllData):
+        (WebCore::ClipboardAndroid::setData):
+        * platform/android/ClipboardAndroid.h:
+        * platform/brew/ClipboardBrew.cpp:
+        (WebCore::ClipboardBrew::ClipboardBrew):
+        (WebCore::ClipboardBrew::clearData):
+        (WebCore::ClipboardBrew::clearAllData):
+        (WebCore::ClipboardBrew::setData):
+        * platform/brew/ClipboardBrew.h:
+        * platform/chromium/ClipboardChromium.cpp:
+        (WebCore::Clipboard::create):
+        (WebCore::ClipboardChromium::ClipboardChromium):
+        (WebCore::ClipboardChromium::create):
+        (WebCore::ClipboardChromium::getData):
+        * platform/chromium/ClipboardChromium.h:
+        * platform/efl/ClipboardEfl.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        (WebCore::ClipboardEfl::ClipboardEfl):
+        * platform/efl/ClipboardEfl.h:
+        (WebCore::ClipboardEfl::create):
+        * platform/gtk/ClipboardGtk.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        (WebCore::Clipboard::create):
+        (WebCore::ClipboardGtk::ClipboardGtk):
+        (WebCore::dataObjectTypeFromHTMLClipboardType):
+        (WebCore::ClipboardGtk::clearData):
+        (WebCore::ClipboardGtk::getData):
+        (WebCore::ClipboardGtk::setData):
+        * platform/gtk/ClipboardGtk.h:
+        (WebCore::ClipboardGtk::create):
+        * platform/haiku/ClipboardHaiku.cpp:
+        (WebCore::Clipboard::create):
+        (WebCore::ClipboardHaiku::ClipboardHaiku):
+        * platform/haiku/ClipboardHaiku.h:
+        (WebCore::ClipboardHaiku::create):
+        * platform/mac/ClipboardMac.h:
+        (WebCore::ClipboardMac::create):
+        * platform/mac/ClipboardMac.mm:
+        (WebCore::Clipboard::create):
+        (WebCore::ClipboardMac::ClipboardMac):
+        * platform/qt/ClipboardQt.cpp:
+        (WebCore::ClipboardQt::ClipboardQt):
+        (WebCore::ClipboardQt::~ClipboardQt):
+        (WebCore::ClipboardQt::clearData):
+        (WebCore::ClipboardQt::clearAllData):
+        (WebCore::ClipboardQt::setData):
+        (WebCore::ClipboardQt::declareAndWriteDragImage):
+        (WebCore::ClipboardQt::writeURL):
+        (WebCore::ClipboardQt::writeRange):
+        (WebCore::ClipboardQt::writePlainText):
+        * platform/qt/ClipboardQt.h:
+        (WebCore::ClipboardQt::create):
+        * platform/win/ClipboardWin.cpp:
+        (WebCore::Clipboard::create):
+        (WebCore::ClipboardWin::ClipboardWin):
+        (WebCore::ClipboardWin::clearData):
+        (WebCore::ClipboardWin::clearAllData):
+        (WebCore::ClipboardWin::setData):
+        (WebCore::ClipboardWin::setExternalDataObject):
+        * platform/win/ClipboardWin.h:
+        (WebCore::ClipboardWin::create):
+        * platform/win/EditorWin.cpp:
+        (WebCore::Editor::newGeneralClipboard):
+        * platform/wx/ClipboardWx.cpp:
+        (WebCore::ClipboardWx::ClipboardWx):
+        * platform/wx/ClipboardWx.h:
+        (WebCore::ClipboardWx::create):
+
 2010-09-21  Abhishek Arya  <inferno at chromium.org>
 
         Reviewed by Dave Hyatt.
diff --git a/WebCore/bindings/js/JSClipboardCustom.cpp b/WebCore/bindings/js/JSClipboardCustom.cpp
index 2a8d309..17c6640 100644
--- a/WebCore/bindings/js/JSClipboardCustom.cpp
+++ b/WebCore/bindings/js/JSClipboardCustom.cpp
@@ -101,7 +101,7 @@ JSValue JSClipboard::setDragImage(ExecState* exec)
 {
     Clipboard* clipboard = impl();
 
-    if (!clipboard->isForDragging())
+    if (!clipboard->isForDragAndDrop())
         return jsUndefined();
 
     // FIXME: It does not match the rest of the JS bindings to throw on invalid number of arguments. 
diff --git a/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp b/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
index 69742f8..d85d7a0 100644
--- a/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
+++ b/WebCore/bindings/v8/custom/V8ClipboardCustom.cpp
@@ -101,7 +101,7 @@ v8::Handle<v8::Value> V8Clipboard::setDragImageCallback(const v8::Arguments& arg
     INC_STATS("DOM.Clipboard.setDragImage()");
     Clipboard* clipboard = V8Clipboard::toNative(args.Holder());
 
-    if (!clipboard->isForDragging())
+    if (!clipboard->isForDragAndDrop())
         return v8::Undefined();
 
     if (args.Length() != 3)
diff --git a/WebCore/dom/Clipboard.cpp b/WebCore/dom/Clipboard.cpp
index d644bcc..6956257 100644
--- a/WebCore/dom/Clipboard.cpp
+++ b/WebCore/dom/Clipboard.cpp
@@ -33,12 +33,12 @@
 
 namespace WebCore {
 
-Clipboard::Clipboard(ClipboardAccessPolicy policy, bool isForDragging) 
+Clipboard::Clipboard(ClipboardAccessPolicy policy, ClipboardType clipboardType) 
     : m_policy(policy)
     , m_dropEffect("uninitialized")
     , m_effectAllowed("uninitialized")
     , m_dragStarted(false)
-    , m_forDragging(isForDragging)
+    , m_clipboardType(clipboardType)
     , m_dragImage(0)
 {
 }
@@ -127,7 +127,7 @@ void Clipboard::setDestinationOperation(DragOperation op)
 
 void Clipboard::setDropEffect(const String &effect)
 {
-    if (!m_forDragging)
+    if (!isForDragAndDrop())
         return;
 
     // The attribute must ignore any attempts to set it to a value other than none, copy, link, and move. 
@@ -140,7 +140,7 @@ void Clipboard::setDropEffect(const String &effect)
 
 void Clipboard::setEffectAllowed(const String &effect)
 {
-    if (!m_forDragging)
+    if (!isForDragAndDrop())
         return;
 
     if (dragOpFromIEOp(effect) == DragOperationPrivate) {
diff --git a/WebCore/dom/Clipboard.h b/WebCore/dom/Clipboard.h
index 0562280..b8eadfb 100644
--- a/WebCore/dom/Clipboard.h
+++ b/WebCore/dom/Clipboard.h
@@ -40,12 +40,17 @@ namespace WebCore {
     // State available during IE's events for drag and drop and copy/paste
     class Clipboard : public RefCounted<Clipboard> {
     public:
+        // Whether this clipboard is serving a drag-drop or copy-paste request.
+        enum ClipboardType {
+            CopyAndPaste,
+            DragAndDrop,
+        };
         static PassRefPtr<Clipboard> create(ClipboardAccessPolicy, DragData*, Frame*);
 
         virtual ~Clipboard() { }
 
-        // Is this operation a drag-drop or a copy-paste?
-        bool isForDragging() const { return m_forDragging; }
+        bool isForCopyAndPaste() const { return m_clipboardType == CopyAndPaste; }
+        bool isForDragAndDrop() const { return m_clipboardType == DragAndDrop; }
 
         String dropEffect() const { return dropEffectIsUninitialized() ? "none" : m_dropEffect; }
         void setDropEffect(const String&);
@@ -88,7 +93,7 @@ namespace WebCore {
         void setDragHasStarted() { m_dragStarted = true; }
         
     protected:
-        Clipboard(ClipboardAccessPolicy, bool isForDragging);
+        Clipboard(ClipboardAccessPolicy, ClipboardType);
 
         ClipboardAccessPolicy policy() const { return m_policy; }
         bool dragStarted() const { return m_dragStarted; }
@@ -98,9 +103,9 @@ namespace WebCore {
         String m_dropEffect;
         String m_effectAllowed;
         bool m_dragStarted;
+        ClipboardType m_clipboardType;
         
     protected:
-        bool m_forDragging;
         IntPoint m_dragLoc;
         CachedResourceHandle<CachedImage> m_dragImage;
         RefPtr<Node> m_dragImageElement;
diff --git a/WebCore/editing/android/EditorAndroid.cpp b/WebCore/editing/android/EditorAndroid.cpp
index 61cce01..29c0be5 100644
--- a/WebCore/editing/android/EditorAndroid.cpp
+++ b/WebCore/editing/android/EditorAndroid.cpp
@@ -33,7 +33,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*)
 {
-    return new ClipboardAndroid(policy, false);
+    return new ClipboardAndroid(policy, Clipboard::CopyAndPaste);
 }
 
 } // namespace WebCore
diff --git a/WebCore/editing/brew/EditorBrew.cpp b/WebCore/editing/brew/EditorBrew.cpp
index 4a1f4d7..e609891 100644
--- a/WebCore/editing/brew/EditorBrew.cpp
+++ b/WebCore/editing/brew/EditorBrew.cpp
@@ -33,7 +33,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*)
 {
-    return new ClipboardBrew(policy, false);
+    return new ClipboardBrew(policy, Clipboard::CopyAndPaste);
 }
 
 } // namespace WebCore
diff --git a/WebCore/editing/chromium/EditorChromium.cpp b/WebCore/editing/chromium/EditorChromium.cpp
index 7a13b12..c938a7e 100644
--- a/WebCore/editing/chromium/EditorChromium.cpp
+++ b/WebCore/editing/chromium/EditorChromium.cpp
@@ -39,7 +39,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame* frame)
 {
-    return ClipboardChromium::create(false, ChromiumDataObject::create(), policy, frame);
+    return ClipboardChromium::create(Clipboard::CopyAndPaste, ChromiumDataObject::create(), policy, frame);
 }
 
 } // namespace WebCore
diff --git a/WebCore/editing/haiku/EditorHaiku.cpp b/WebCore/editing/haiku/EditorHaiku.cpp
index 4596c9e..2b3d0ba 100644
--- a/WebCore/editing/haiku/EditorHaiku.cpp
+++ b/WebCore/editing/haiku/EditorHaiku.cpp
@@ -37,7 +37,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*)
 {
-    return ClipboardHaiku::create(policy, false);
+    return ClipboardHaiku::create(policy, Clipboard::CopyAndPaste);
 }
 
 } // namespace WebCore
diff --git a/WebCore/editing/mac/EditorMac.mm b/WebCore/editing/mac/EditorMac.mm
index f010908..b5e3b25 100644
--- a/WebCore/editing/mac/EditorMac.mm
+++ b/WebCore/editing/mac/EditorMac.mm
@@ -42,7 +42,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame* frame)
 {
-    return ClipboardMac::create(false, [NSPasteboard generalPasteboard], policy, frame);
+    return ClipboardMac::create(Clipboard::CopyAndPaste, [NSPasteboard generalPasteboard], policy, frame);
 }
 
 void Editor::showFontPanel()
diff --git a/WebCore/editing/wx/EditorWx.cpp b/WebCore/editing/wx/EditorWx.cpp
index a2ec654..83d6b78 100644
--- a/WebCore/editing/wx/EditorWx.cpp
+++ b/WebCore/editing/wx/EditorWx.cpp
@@ -33,7 +33,7 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*) 
 { 
-    return ClipboardWx::create(policy, true);
+    return ClipboardWx::create(policy, Clipboard::CopyAndPaste);
 }
 
 void Editor::showColorPanel()
diff --git a/WebCore/page/chromium/EventHandlerChromium.cpp b/WebCore/page/chromium/EventHandlerChromium.cpp
index dd6cf99..9e9a79a 100644
--- a/WebCore/page/chromium/EventHandlerChromium.cpp
+++ b/WebCore/page/chromium/EventHandlerChromium.cpp
@@ -129,7 +129,7 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent& event) const
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 {
     RefPtr<ChromiumDataObject> dataObject = ChromiumDataObject::create();
-    return ClipboardChromium::create(true, dataObject.get(), ClipboardWritable, m_frame);
+    return ClipboardChromium::create(Clipboard::DragAndDrop, dataObject.get(), ClipboardWritable, m_frame);
 }
 
 void EventHandler::focusDocumentView()
diff --git a/WebCore/page/efl/EventHandlerEfl.cpp b/WebCore/page/efl/EventHandlerEfl.cpp
index acf4343..33db17e 100644
--- a/WebCore/page/efl/EventHandlerEfl.cpp
+++ b/WebCore/page/efl/EventHandlerEfl.cpp
@@ -110,7 +110,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
 
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 {
-    return ClipboardEfl::create(ClipboardWritable, true);
+    return ClipboardEfl::create(ClipboardWritable, Clipboard::DragAndDrop);
 }
 
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/gtk/EventHandlerGtk.cpp b/WebCore/page/gtk/EventHandlerGtk.cpp
index 429aea6..6e69d9f 100644
--- a/WebCore/page/gtk/EventHandlerGtk.cpp
+++ b/WebCore/page/gtk/EventHandlerGtk.cpp
@@ -96,7 +96,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
 
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 {
-    return ClipboardGtk::create(ClipboardWritable, DataObjectGtk::create(), true, m_frame);
+    return ClipboardGtk::create(ClipboardWritable, DataObjectGtk::create(), Clipboard::DragAndDrop, m_frame);
 }
 
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/haiku/EventHandlerHaiku.cpp b/WebCore/page/haiku/EventHandlerHaiku.cpp
index 450414d..933921a 100644
--- a/WebCore/page/haiku/EventHandlerHaiku.cpp
+++ b/WebCore/page/haiku/EventHandlerHaiku.cpp
@@ -122,7 +122,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
 
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 {
-    return ClipboardHaiku::create(ClipboardWritable, true);
+    return ClipboardHaiku::create(ClipboardWritable, Clipboard::DragAndDrop);
 }
 
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/mac/EventHandlerMac.mm b/WebCore/page/mac/EventHandlerMac.mm
index 584f38f..2db713f 100644
--- a/WebCore/page/mac/EventHandlerMac.mm
+++ b/WebCore/page/mac/EventHandlerMac.mm
@@ -712,7 +712,7 @@ 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 declareTypes:[NSArray array] owner:nil];
-    return ClipboardMac::create(true, pasteboard, ClipboardWritable, m_frame);
+    return ClipboardMac::create(Clipboard::DragAndDrop, pasteboard, ClipboardWritable, m_frame);
 }
 
 #endif
diff --git a/WebCore/page/qt/EventHandlerQt.cpp b/WebCore/page/qt/EventHandlerQt.cpp
index 18d9b73..2c658e7 100644
--- a/WebCore/page/qt/EventHandlerQt.cpp
+++ b/WebCore/page/qt/EventHandlerQt.cpp
@@ -113,7 +113,7 @@ bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* wid
 
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 {
-    return ClipboardQt::create(ClipboardWritable, true);
+    return ClipboardQt::create(ClipboardWritable, Clipboard::DragAndDrop);
 }
 
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
diff --git a/WebCore/page/win/EventHandlerWin.cpp b/WebCore/page/win/EventHandlerWin.cpp
index ee4b360..a1c15c5 100644
--- a/WebCore/page/win/EventHandlerWin.cpp
+++ b/WebCore/page/win/EventHandlerWin.cpp
@@ -98,7 +98,7 @@ PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 #else
     COMPtr<WCDataObject> dataObject;
     WCDataObject::createInstance(&dataObject);
-    return ClipboardWin::create(true, dataObject.get(), ClipboardWritable, m_frame);
+    return ClipboardWin::create(Clipboard::DragAndDrop, dataObject.get(), ClipboardWritable, m_frame);
 #endif
 }
 
diff --git a/WebCore/page/wx/EventHandlerWx.cpp b/WebCore/page/wx/EventHandlerWx.cpp
index f4f6914..fbb1eaa 100644
--- a/WebCore/page/wx/EventHandlerWx.cpp
+++ b/WebCore/page/wx/EventHandlerWx.cpp
@@ -116,7 +116,7 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
 
 PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const 
 {
-    return ClipboardWx::create(ClipboardWritable, true);
+    return ClipboardWx::create(ClipboardWritable, Clipboard::DragAndDrop);
 }
 
 unsigned EventHandler::accessKeyModifiers()
diff --git a/WebCore/platform/android/ClipboardAndroid.cpp b/WebCore/platform/android/ClipboardAndroid.cpp
index d9b2d68..a91fd21 100644
--- a/WebCore/platform/android/ClipboardAndroid.cpp
+++ b/WebCore/platform/android/ClipboardAndroid.cpp
@@ -40,8 +40,8 @@ PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy, DragData*, Frame*
     return 0;
 }
 
-ClipboardAndroid::ClipboardAndroid(ClipboardAccessPolicy policy, bool isForDragging)
-    : Clipboard(policy, isForDragging)
+ClipboardAndroid::ClipboardAndroid(ClipboardAccessPolicy policy, ClipboardType clipboardType)
+    : Clipboard(policy, clipboardType)
 {
 }
 
@@ -51,12 +51,12 @@ ClipboardAndroid::~ClipboardAndroid()
 
 void ClipboardAndroid::clearData(const String&)
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
 }
 
 void ClipboardAndroid::clearAllData()
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
 }
 
 String ClipboardAndroid::getData(const String&, bool& success) const
@@ -67,7 +67,7 @@ String ClipboardAndroid::getData(const String&, bool& success) const
 
 bool ClipboardAndroid::setData(const String&, const String&)
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
     return false;
 }
 
diff --git a/WebCore/platform/android/ClipboardAndroid.h b/WebCore/platform/android/ClipboardAndroid.h
index 23bfdf6..807653b 100644
--- a/WebCore/platform/android/ClipboardAndroid.h
+++ b/WebCore/platform/android/ClipboardAndroid.h
@@ -37,7 +37,7 @@ class CachedImage;
 
 class ClipboardAndroid : public Clipboard, public CachedResourceClient {
 public:
-    ClipboardAndroid(ClipboardAccessPolicy policy, bool isForDragging);
+    ClipboardAndroid(ClipboardAccessPolicy policy, ClipboardType);
     ~ClipboardAndroid();
 
     void clearData(const String&);
diff --git a/WebCore/platform/brew/ClipboardBrew.cpp b/WebCore/platform/brew/ClipboardBrew.cpp
index 720d6a6..10025d6 100644
--- a/WebCore/platform/brew/ClipboardBrew.cpp
+++ b/WebCore/platform/brew/ClipboardBrew.cpp
@@ -41,8 +41,8 @@ PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy, DragData*, Frame*
     return 0;
 }
 
-ClipboardBrew::ClipboardBrew(ClipboardAccessPolicy policy, bool isForDragging)
-    : Clipboard(policy, isForDragging)
+ClipboardBrew::ClipboardBrew(ClipboardAccessPolicy policy, ClipboardType clipboardType)
+    : Clipboard(clipboardType, isForDragging)
 {
 }
 
@@ -52,12 +52,12 @@ ClipboardBrew::~ClipboardBrew()
 
 void ClipboardBrew::clearData(const String&)
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
 }
 
 void ClipboardBrew::clearAllData()
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
 }
 
 String ClipboardBrew::getData(const String&, bool& success) const
@@ -68,7 +68,7 @@ String ClipboardBrew::getData(const String&, bool& success) const
 
 bool ClipboardBrew::setData(const String&, const String&)
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
     return false;
 }
 
diff --git a/WebCore/platform/brew/ClipboardBrew.h b/WebCore/platform/brew/ClipboardBrew.h
index a966db1..1faf031 100644
--- a/WebCore/platform/brew/ClipboardBrew.h
+++ b/WebCore/platform/brew/ClipboardBrew.h
@@ -36,7 +36,7 @@ class CachedImage;
 
 class ClipboardBrew : public Clipboard, public CachedResourceClient {
 public:
-    ClipboardBrew(ClipboardAccessPolicy policy, bool isForDragging);
+    ClipboardBrew(ClipboardAccessPolicy policy, ClipboardType);
     ~ClipboardBrew();
 
     void clearData(const String&);
diff --git a/WebCore/platform/chromium/ClipboardChromium.cpp b/WebCore/platform/chromium/ClipboardChromium.cpp
index 3d82aea..c2ec80c 100644
--- a/WebCore/platform/chromium/ClipboardChromium.cpp
+++ b/WebCore/platform/chromium/ClipboardChromium.cpp
@@ -93,23 +93,23 @@ static ClipboardDataType clipboardTypeFromMIMEType(const String& type)
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* frame)
 {
-    return ClipboardChromium::create(true, dragData->platformData(), policy, frame);
+    return ClipboardChromium::create(DragAndDrop, dragData->platformData(), policy, frame);
 }
 
-ClipboardChromium::ClipboardChromium(bool isForDragging,
+ClipboardChromium::ClipboardChromium(ClipboardType clipboardType,
                                      PassRefPtr<ChromiumDataObject> dataObject,
                                      ClipboardAccessPolicy policy,
                                      Frame* frame)
-    : Clipboard(policy, isForDragging)
+    : Clipboard(policy, clipboardType)
     , m_dataObject(dataObject)
     , m_frame(frame)
 {
 }
 
-PassRefPtr<ClipboardChromium> ClipboardChromium::create(bool isForDragging,
+PassRefPtr<ClipboardChromium> ClipboardChromium::create(ClipboardType clipboardType,
     PassRefPtr<ChromiumDataObject> dataObject, ClipboardAccessPolicy policy, Frame* frame)
 {
-    return adoptRef(new ClipboardChromium(isForDragging, dataObject, policy, frame));
+    return adoptRef(new ClipboardChromium(clipboardType, dataObject, policy, frame));
 }
 
 void ClipboardChromium::clearData(const String& type)
@@ -203,9 +203,7 @@ String ClipboardChromium::getData(const String& type, bool& success) const
         return m_dataObject->downloadMetadata;
     
     case ClipboardDataTypePlainText:
-        if (!isForDragging()) {
-            // If this isn't for a drag, it's for a cut/paste event handler.
-            // In this case, we need to check the clipboard.
+        if (isForCopyAndPaste()) {
             PasteboardPrivate::ClipboardBuffer buffer = 
                 Pasteboard::generalPasteboard()->isSelectionMode() ?
                 PasteboardPrivate::SelectionBuffer : 
@@ -219,9 +217,7 @@ String ClipboardChromium::getData(const String& type, bool& success) const
         return m_dataObject->plainText;
 
     case ClipboardDataTypeHTML:
-        if (!isForDragging()) {
-            // If this isn't for a drag, it's for a cut/paste event handler.
-            // In this case, we need to check the clipboard.
+        if (isForCopyAndPaste()) {
             PasteboardPrivate::ClipboardBuffer buffer = 
                 Pasteboard::generalPasteboard()->isSelectionMode() ?
                 PasteboardPrivate::SelectionBuffer : 
diff --git a/WebCore/platform/chromium/ClipboardChromium.h b/WebCore/platform/chromium/ClipboardChromium.h
index a4150d0..14f59e9 100644
--- a/WebCore/platform/chromium/ClipboardChromium.h
+++ b/WebCore/platform/chromium/ClipboardChromium.h
@@ -46,7 +46,7 @@ namespace WebCore {
         ~ClipboardChromium() {}
 
         static PassRefPtr<ClipboardChromium> create(
-            bool isForDragging, PassRefPtr<ChromiumDataObject>, ClipboardAccessPolicy, Frame*);
+            ClipboardType, PassRefPtr<ChromiumDataObject>, ClipboardAccessPolicy, Frame*);
 
         // Returns the file name (not including the extension). This removes any
         // invalid file system characters as well as making sure the
@@ -80,7 +80,7 @@ namespace WebCore {
         virtual bool hasData();
 
     private:
-        ClipboardChromium(bool, PassRefPtr<ChromiumDataObject>, ClipboardAccessPolicy, Frame*);
+        ClipboardChromium(ClipboardType, PassRefPtr<ChromiumDataObject>, ClipboardAccessPolicy, Frame*);
 
         void resetFromClipboard();
         void setDragImage(CachedImage*, Node*, const IntPoint&);
diff --git a/WebCore/platform/efl/ClipboardEfl.cpp b/WebCore/platform/efl/ClipboardEfl.cpp
index 6fc80dc..fdc3813 100644
--- a/WebCore/platform/efl/ClipboardEfl.cpp
+++ b/WebCore/platform/efl/ClipboardEfl.cpp
@@ -29,7 +29,7 @@
 namespace WebCore {
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame*)
 {
-    return ClipboardEfl::create(policy, false);
+    return ClipboardEfl::create(policy, Clipboard::CopyAndPaste);
 }
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy, DragData*, Frame*)
@@ -37,8 +37,8 @@ PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy, DragData*, Frame*
     return 0;
 }
 
-ClipboardEfl::ClipboardEfl(ClipboardAccessPolicy policy, bool forDragging)
-    : Clipboard(policy, forDragging)
+ClipboardEfl::ClipboardEfl(ClipboardAccessPolicy policy, ClipboardType clipboardType)
+    : Clipboard(clipboardType, forDragging)
 {
     notImplemented();
 }
diff --git a/WebCore/platform/efl/ClipboardEfl.h b/WebCore/platform/efl/ClipboardEfl.h
index 5db2fed..06f4e58 100644
--- a/WebCore/platform/efl/ClipboardEfl.h
+++ b/WebCore/platform/efl/ClipboardEfl.h
@@ -28,9 +28,9 @@ class CachedImage;
 
 class ClipboardEfl : public Clipboard {
 public:
-    static PassRefPtr<ClipboardEfl> create(ClipboardAccessPolicy policy, bool forDragging = false)
+    static PassRefPtr<ClipboardEfl> create(ClipboardAccessPolicy policy, ClipboardType clipboardType = CopyAndPaste)
     {
-        return adoptRef(new ClipboardEfl(policy, forDragging));
+        return adoptRef(new ClipboardEfl(policy, clipboardType));
     }
     ~ClipboardEfl();
 
@@ -58,7 +58,7 @@ public:
     virtual void writePlainText(const WTF::String&);
 
 private:
-    ClipboardEfl(ClipboardAccessPolicy, bool);
+    ClipboardEfl(ClipboardAccessPolicy, ClipboardType);
 };
 }
 
diff --git a/WebCore/platform/gtk/ClipboardGtk.cpp b/WebCore/platform/gtk/ClipboardGtk.cpp
index 327f069..e7ee432 100644
--- a/WebCore/platform/gtk/ClipboardGtk.cpp
+++ b/WebCore/platform/gtk/ClipboardGtk.cpp
@@ -37,27 +37,27 @@
 
 namespace WebCore {
 
-enum ClipboardType {
-    ClipboardTypeText,
-    ClipboardTypeMarkup,
-    ClipboardTypeURIList,
-    ClipboardTypeURL,
-    ClipboardTypeImage,
-    ClipboardTypeUnknown
+enum ClipboardDataType {
+    ClipboardDataTypeText,
+    ClipboardDataTypeMarkup,
+    ClipboardDataTypeURIList,
+    ClipboardDataTypeURL,
+    ClipboardDataTypeImage,
+    ClipboardDataTypeUnknown
 };
 
 PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy, Frame* frame)
 {
-    return ClipboardGtk::create(policy, gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD), false, frame);
+    return ClipboardGtk::create(policy, gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD), frame);
 }
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* frame)
 {
-    return ClipboardGtk::create(policy, dragData->platformData(), true, frame);
+    return ClipboardGtk::create(policy, dragData->platformData(), DragAndDrop, frame);
 }
 
 ClipboardGtk::ClipboardGtk(ClipboardAccessPolicy policy, GtkClipboard* clipboard, Frame* frame)
-    : Clipboard(policy, false)
+    : Clipboard(policy, CopyAndPaste)
     , m_dataObject(DataObjectGtk::forClipboard(clipboard))
     , m_clipboard(clipboard)
     , m_helper(Pasteboard::generalPasteboard()->helper())
@@ -65,8 +65,8 @@ ClipboardGtk::ClipboardGtk(ClipboardAccessPolicy policy, GtkClipboard* clipboard
 {
 }
 
-ClipboardGtk::ClipboardGtk(ClipboardAccessPolicy policy, PassRefPtr<DataObjectGtk> dataObject, bool forDragging, Frame* frame)
-    : Clipboard(policy, forDragging)
+ClipboardGtk::ClipboardGtk(ClipboardAccessPolicy policy, PassRefPtr<DataObjectGtk> dataObject, ClipboardType clipboardType, Frame* frame)
+    : Clipboard(policy, clipboardType)
     , m_dataObject(dataObject)
     , m_clipboard(0)
     , m_helper(Pasteboard::generalPasteboard()->helper())
@@ -78,27 +78,27 @@ ClipboardGtk::~ClipboardGtk()
 {
 }
 
-static ClipboardType dataObjectTypeFromHTMLClipboardType(const String& rawType)
+static ClipboardDataType dataObjectTypeFromHTMLClipboardType(const String& rawType)
 {
     String type(rawType.stripWhiteSpace());
 
     // Two special cases for IE compatibility
     if (type == "Text")
-        return ClipboardTypeText;
+        return ClipboardDataTypeText;
     if (type == "URL")
-        return ClipboardTypeURL;
+        return ClipboardDataTypeURL;
 
     // From the Mac port: Ignore any trailing charset - JS strings are
     // Unicode, which encapsulates the charset issue.
     if (type == "text/plain" || type.startsWith("text/plain;"))
-        return ClipboardTypeText;
+        return ClipboardDataTypeText;
     if (type == "text/html" || type.startsWith("text/html;"))
-        return ClipboardTypeMarkup;
+        return ClipboardDataTypeMarkup;
     if (type == "Files" || type == "text/uri-list" || type.startsWith("text/uri-list;"))
-        return ClipboardTypeURIList;
+        return ClipboardDataTypeURIList;
 
     // Not a known type, so just default to using the text portion.
-    return ClipboardTypeUnknown;
+    return ClipboardDataTypeUnknown;
 }
 
 void ClipboardGtk::clearData(const String& typeString)
@@ -106,19 +106,19 @@ void ClipboardGtk::clearData(const String& typeString)
     if (policy() != ClipboardWritable)
         return;
 
-    ClipboardType type = dataObjectTypeFromHTMLClipboardType(typeString);
+    ClipboardDataType type = dataObjectTypeFromHTMLClipboardType(typeString);
     switch (type) {
-    case ClipboardTypeURIList:
-    case ClipboardTypeURL:
+    case ClipboardDataTypeURIList:
+    case ClipboardDataTypeURL:
         m_dataObject->clearURIList();
         break;
-    case ClipboardTypeMarkup:
+    case ClipboardDataTypeMarkup:
         m_dataObject->clearMarkup();
         break;
-    case ClipboardTypeText:
+    case ClipboardDataTypeText:
         m_dataObject->clearText();
         break;
-    case ClipboardTypeUnknown:
+    case ClipboardDataTypeUnknown:
     default:
         m_dataObject->clear();
     }
@@ -162,29 +162,29 @@ String ClipboardGtk::getData(const String& typeString, bool& success) const
     if (m_clipboard)
         m_helper->getClipboardContents(m_clipboard);
 
-    ClipboardType type = dataObjectTypeFromHTMLClipboardType(typeString);
-    if (type == ClipboardTypeURIList) {
+    ClipboardDataType type = dataObjectTypeFromHTMLClipboardType(typeString);
+    if (type == ClipboardDataTypeURIList) {
         if (!m_dataObject->hasURIList())
             return String();
         success = true;
         return joinURIList(m_dataObject->uriList());
     }
 
-    if (type == ClipboardTypeURL) {
+    if (type == ClipboardDataTypeURL) {
         if (!m_dataObject->hasURL())
             return String();
         success = true;
         return m_dataObject->url();
     }
 
-    if (type == ClipboardTypeMarkup) {
+    if (type == ClipboardDataTypeMarkup) {
         if (!m_dataObject->hasMarkup())
             return String();
         success = true;
         return m_dataObject->markup();
     }
 
-    if (type == ClipboardTypeText) {
+    if (type == ClipboardDataTypeText) {
         if (!m_dataObject->hasText())
                 return String();
         success = true;
@@ -200,8 +200,8 @@ bool ClipboardGtk::setData(const String& typeString, const String& data)
         return false;
 
     bool success = false;
-    ClipboardType type = dataObjectTypeFromHTMLClipboardType(typeString);
-    if (type == ClipboardTypeURIList || type == ClipboardTypeURL) {
+    ClipboardDataType type = dataObjectTypeFromHTMLClipboardType(typeString);
+    if (type == ClipboardDataTypeURIList || type == ClipboardDataTypeURL) {
         Vector<KURL> uriList;
         gchar** uris = g_uri_list_extract_uris(data.utf8().data());
         if (uris) {
@@ -214,10 +214,10 @@ bool ClipboardGtk::setData(const String& typeString, const String& data)
             m_dataObject->setURIList(uriList);
             success = true;
         }
-    } else if (type == ClipboardTypeMarkup) {
+    } else if (type == ClipboardDataTypeMarkup) {
         m_dataObject->setMarkup(data);
         success = true;
-    } else if (type == ClipboardTypeText) {
+    } else if (type == ClipboardDataTypeText) {
         m_dataObject->setText(data);
         success = true;
     }
diff --git a/WebCore/platform/gtk/ClipboardGtk.h b/WebCore/platform/gtk/ClipboardGtk.h
index f0af318..e14a583 100644
--- a/WebCore/platform/gtk/ClipboardGtk.h
+++ b/WebCore/platform/gtk/ClipboardGtk.h
@@ -40,14 +40,14 @@ namespace WebCore {
     // Created from the EventHandlerGtk to be used by the dom
     class ClipboardGtk : public Clipboard, public CachedResourceClient {
     public:
-        static PassRefPtr<ClipboardGtk> create(ClipboardAccessPolicy policy, GtkClipboard* clipboard, bool isForDragging, Frame* frame)
+        static PassRefPtr<ClipboardGtk> create(ClipboardAccessPolicy policy, GtkClipboard* clipboard, Frame* frame)
         {
             return adoptRef(new ClipboardGtk(policy, clipboard, frame));
         }
 
-        static PassRefPtr<ClipboardGtk> create(ClipboardAccessPolicy policy, PassRefPtr<DataObjectGtk> dataObject, bool isForDragging, Frame* frame)
+        static PassRefPtr<ClipboardGtk> create(ClipboardAccessPolicy policy, PassRefPtr<DataObjectGtk> dataObject, ClipboardType clipboardType, Frame* frame)
         {
-            return adoptRef(new ClipboardGtk(policy, dataObject, isForDragging, frame));
+            return adoptRef(new ClipboardGtk(policy, dataObject, clipboardType, frame));
         }
         virtual ~ClipboardGtk();
 
@@ -78,7 +78,7 @@ namespace WebCore {
 
     private:
         ClipboardGtk(ClipboardAccessPolicy, GtkClipboard*, Frame*);
-        ClipboardGtk(ClipboardAccessPolicy, PassRefPtr<DataObjectGtk>, bool, Frame*);
+        ClipboardGtk(ClipboardAccessPolicy, PassRefPtr<DataObjectGtk>, ClipboardType, Frame*);
 
         RefPtr<DataObjectGtk> m_dataObject;
         GtkClipboard* m_clipboard;
diff --git a/WebCore/platform/haiku/ClipboardHaiku.cpp b/WebCore/platform/haiku/ClipboardHaiku.cpp
index da242c1..495f1d2 100644
--- a/WebCore/platform/haiku/ClipboardHaiku.cpp
+++ b/WebCore/platform/haiku/ClipboardHaiku.cpp
@@ -44,11 +44,11 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData*, Frame*)
 {
-    return ClipboardHaiku::create(policy, true);
+    return ClipboardHaiku::create(policy, DragAndDrop);
 }
 
-ClipboardHaiku::ClipboardHaiku(ClipboardAccessPolicy policy, bool forDragging)
-    : Clipboard(policy, forDragging)
+ClipboardHaiku::ClipboardHaiku(ClipboardAccessPolicy policy, ClipboardType clipboardType)
+    : Clipboard(policy, clipboardType)
 {
 }
 
diff --git a/WebCore/platform/haiku/ClipboardHaiku.h b/WebCore/platform/haiku/ClipboardHaiku.h
index 37ffe5c..89dc7bd 100644
--- a/WebCore/platform/haiku/ClipboardHaiku.h
+++ b/WebCore/platform/haiku/ClipboardHaiku.h
@@ -36,9 +36,9 @@ namespace WebCore {
     // State available during IE's events for drag and drop and copy/paste.
     class ClipboardHaiku : public Clipboard {
     public:
-        static PassRefPtr<ClipboardHaiku> create(ClipboardAccessPolicy policy, bool forDragging)
+        static PassRefPtr<ClipboardHaiku> create(ClipboardAccessPolicy policy, ClipboardType clipboardType)
         {
-            return adoptRef(new ClipboardHaiku(policy, forDragging));
+            return adoptRef(new ClipboardHaiku(policy, clipboardType));
         }
         ~ClipboardHaiku() { }
 
@@ -66,7 +66,7 @@ namespace WebCore {
         virtual bool hasData();
 
     private:
-        ClipboardHaiku(ClipboardAccessPolicy, bool forDragging);
+        ClipboardHaiku(ClipboardAccessPolicy, ClipboardType);
     };
 } // namespace WebCore
 
diff --git a/WebCore/platform/mac/ClipboardMac.h b/WebCore/platform/mac/ClipboardMac.h
index adde09c..7187ecf 100644
--- a/WebCore/platform/mac/ClipboardMac.h
+++ b/WebCore/platform/mac/ClipboardMac.h
@@ -45,9 +45,9 @@ class FileList;
 
 class ClipboardMac : public Clipboard, public CachedResourceClient {
 public:
-    static PassRefPtr<ClipboardMac> create(bool forDragging, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, Frame* frame)
+    static PassRefPtr<ClipboardMac> create(ClipboardType clipboardType, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, Frame* frame)
     {
-        return adoptRef(new ClipboardMac(forDragging, pasteboard, policy, frame));
+        return adoptRef(new ClipboardMac(clipboardType, pasteboard, policy, frame));
     }
 
     virtual ~ClipboardMac();
@@ -79,7 +79,7 @@ public:
     NSPasteboard *pasteboard() { return m_pasteboard.get(); }
 
 private:
-    ClipboardMac(bool forDragging, NSPasteboard *, ClipboardAccessPolicy, Frame*);
+    ClipboardMac(ClipboardType, NSPasteboard *, ClipboardAccessPolicy, Frame*);
 
     void setDragImage(CachedImage*, Node*, const IntPoint&);
 
diff --git a/WebCore/platform/mac/ClipboardMac.mm b/WebCore/platform/mac/ClipboardMac.mm
index 74a93b6..85d470c 100644
--- a/WebCore/platform/mac/ClipboardMac.mm
+++ b/WebCore/platform/mac/ClipboardMac.mm
@@ -50,11 +50,11 @@ namespace WebCore {
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* frame)
 {
-    return ClipboardMac::create(true, [dragData->platformData() draggingPasteboard], policy, frame);
+    return ClipboardMac::create(DragAndDrop, [dragData->platformData() draggingPasteboard], policy, frame);
 }
 
-ClipboardMac::ClipboardMac(bool forDragging, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, Frame *frame)
-    : Clipboard(policy, forDragging)
+ClipboardMac::ClipboardMac(ClipboardType clipboardType, NSPasteboard *pasteboard, ClipboardAccessPolicy policy, Frame *frame)
+    : Clipboard(policy, clipboardType)
     , m_pasteboard(pasteboard)
     , m_frame(frame)
 {
diff --git a/WebCore/platform/qt/ClipboardQt.cpp b/WebCore/platform/qt/ClipboardQt.cpp
index 6cbde0c..c87fa6b 100644
--- a/WebCore/platform/qt/ClipboardQt.cpp
+++ b/WebCore/platform/qt/ClipboardQt.cpp
@@ -75,15 +75,15 @@ PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData*
 }
 
 ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, const QMimeData* readableClipboard)
-    : Clipboard(policy, true)
+    : Clipboard(policy, DragAndDrop)
     , m_readableData(readableClipboard)
     , m_writableData(0)
 {
     Q_ASSERT(policy == ClipboardReadable || policy == ClipboardTypesReadable);
 }
 
-ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, bool forDragging)
-    : Clipboard(policy, forDragging)
+ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, ClipboardType clipboardType)
+    : Clipboard(policy, clipboardType)
     , m_readableData(0)
     , m_writableData(0)
 {
@@ -99,7 +99,7 @@ ClipboardQt::ClipboardQt(ClipboardAccessPolicy policy, bool forDragging)
 
 ClipboardQt::~ClipboardQt()
 {
-    if (m_writableData && !isForDragging())
+    if (m_writableData && isForCopyAndPaste())
         m_writableData = 0;
     else
         delete m_writableData;
@@ -114,13 +114,13 @@ void ClipboardQt::clearData(const String& type)
     if (m_writableData) {
         m_writableData->removeFormat(type);
         if (m_writableData->formats().isEmpty()) {
-            if (isForDragging())
+            if (isForDragAndDrop())
                 delete m_writableData;
             m_writableData = 0;
         }
     }
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
 }
@@ -131,7 +131,7 @@ void ClipboardQt::clearAllData()
         return;
 
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(0);
     else
 #endif
@@ -182,7 +182,7 @@ bool ClipboardQt::setData(const String& type, const String& data)
     }
 
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
     return true;
@@ -287,7 +287,7 @@ void ClipboardQt::declareAndWriteDragImage(Element* element, const KURL& url, co
     m_writableData->setText(title);
     m_writableData->setUrls(urls);
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
 }
@@ -303,7 +303,7 @@ void ClipboardQt::writeURL(const KURL& url, const String& title, Frame* frame)
     m_writableData->setUrls(urls);
     m_writableData->setText(title);
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
 }
@@ -320,7 +320,7 @@ void ClipboardQt::writeRange(Range* range, Frame* frame)
     m_writableData->setText(text);
     m_writableData->setHtml(createMarkup(range, 0, AnnotateForInterchange, false, AbsoluteURLs));
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
 }
@@ -333,7 +333,7 @@ void ClipboardQt::writePlainText(const String& str)
     text.replace(QChar(0xa0), QLatin1Char(' '));
     m_writableData->setText(text);
 #ifndef QT_NO_CLIPBOARD
-    if (!isForDragging())
+    if (isForCopyAndPaste())
         QApplication::clipboard()->setMimeData(m_writableData);
 #endif
 }
diff --git a/WebCore/platform/qt/ClipboardQt.h b/WebCore/platform/qt/ClipboardQt.h
index 9b54d5f..5aca1a6 100644
--- a/WebCore/platform/qt/ClipboardQt.h
+++ b/WebCore/platform/qt/ClipboardQt.h
@@ -44,9 +44,9 @@ namespace WebCore {
         {
             return adoptRef(new ClipboardQt(policy, readableClipboard));
         }
-        static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, bool forDragging = false)
+        static PassRefPtr<ClipboardQt> create(ClipboardAccessPolicy policy, ClipboardType clipboardType = CopyAndPaste)
         {
-            return adoptRef(new ClipboardQt(policy, forDragging));
+            return adoptRef(new ClipboardQt(policy, clipboardType));
         }
         virtual ~ClipboardQt();
 
@@ -77,7 +77,7 @@ namespace WebCore {
         ClipboardQt(ClipboardAccessPolicy, const QMimeData* readableClipboard);
 
         // Clipboard is writable so it will create its own QMimeData object
-        ClipboardQt(ClipboardAccessPolicy, bool forDragging);
+        ClipboardQt(ClipboardAccessPolicy, ClipboardType);
 
         void setDragImage(CachedImage*, Node*, const IntPoint& loc);
 
diff --git a/WebCore/platform/win/ClipboardWin.cpp b/WebCore/platform/win/ClipboardWin.cpp
index b13473a..529963f 100644
--- a/WebCore/platform/win/ClipboardWin.cpp
+++ b/WebCore/platform/win/ClipboardWin.cpp
@@ -397,19 +397,19 @@ exit:
 
 PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData* dragData, Frame* frame)
 {
-    return ClipboardWin::create(true, dragData->platformData(), policy, frame);
+    return ClipboardWin::create(DragAndDrop, dragData->platformData(), policy, frame);
 }
 
-ClipboardWin::ClipboardWin(bool isForDragging, IDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
-    : Clipboard(policy, isForDragging)
+ClipboardWin::ClipboardWin(ClipboardType clipboardType, IDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
+    : Clipboard(policy, clipboardType)
     , m_dataObject(dataObject)
     , m_writableDataObject(0)
     , m_frame(frame)
 {
 }
 
-ClipboardWin::ClipboardWin(bool isForDragging, WCDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
-    : Clipboard(policy, isForDragging)
+ClipboardWin::ClipboardWin(ClipboardType clipboardType, WCDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
+    : Clipboard(policy, clipboardType)
     , m_dataObject(dataObject)
     , m_writableDataObject(dataObject)
     , m_frame(frame)
@@ -467,7 +467,7 @@ static bool writeURL(WCDataObject *data, const KURL& url, String title, bool wit
 void ClipboardWin::clearData(const String& type)
 {
     // FIXME: Need to be able to write to the system clipboard <rdar://problem/5015941>
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
     if (policy() != ClipboardWritable || !m_writableDataObject)
         return;
 
@@ -487,7 +487,7 @@ void ClipboardWin::clearData(const String& type)
 void ClipboardWin::clearAllData()
 {
     // FIXME: Need to be able to write to the system clipboard <rdar://problem/5015941>
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
     if (policy() != ClipboardWritable)
         return;
     
@@ -520,7 +520,7 @@ String ClipboardWin::getData(const String& type, bool& success) const
 bool ClipboardWin::setData(const String& type, const String& data)
 {
     // FIXME: Need to be able to write to the system clipboard <rdar://problem/5015941>
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
     if (policy() != ClipboardWritable || !m_writableDataObject)
         return false;
 
@@ -831,7 +831,7 @@ bool ClipboardWin::hasData()
 
 void ClipboardWin::setExternalDataObject(IDataObject *dataObject)
 {
-    ASSERT(isForDragging());
+    ASSERT(isForDragAndDrop());
 
     m_writableDataObject = 0;
     m_dataObject = dataObject;
diff --git a/WebCore/platform/win/ClipboardWin.h b/WebCore/platform/win/ClipboardWin.h
index 6a08087..ce64b85 100644
--- a/WebCore/platform/win/ClipboardWin.h
+++ b/WebCore/platform/win/ClipboardWin.h
@@ -42,13 +42,13 @@ class WCDataObject;
 // State available during IE's events for drag and drop and copy/paste
 class ClipboardWin : public Clipboard, public CachedResourceClient {
 public:
-    static PassRefPtr<ClipboardWin> create(bool isForDragging, IDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
+    static PassRefPtr<ClipboardWin> create(ClipboardType clipboardType, IDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
     {
-        return adoptRef(new ClipboardWin(isForDragging, dataObject, policy, frame));
+        return adoptRef(new ClipboardWin(clipboardType, dataObject, policy, frame));
     }
-    static PassRefPtr<ClipboardWin> create(bool isForDragging, WCDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
+    static PassRefPtr<ClipboardWin> create(ClipboardType clipboardType, WCDataObject* dataObject, ClipboardAccessPolicy policy, Frame* frame)
     {
-        return adoptRef(new ClipboardWin(isForDragging, dataObject, policy, frame));
+        return adoptRef(new ClipboardWin(clipboardType, dataObject, policy, frame));
     }
     ~ClipboardWin();
 
@@ -77,8 +77,8 @@ public:
     void setExternalDataObject(IDataObject *dataObject);
 
 private:
-    ClipboardWin(bool isForDragging, IDataObject*, ClipboardAccessPolicy, Frame*);
-    ClipboardWin(bool isForDragging, WCDataObject*, ClipboardAccessPolicy, Frame*);
+    ClipboardWin(ClipboardType, IDataObject*, ClipboardAccessPolicy, Frame*);
+    ClipboardWin(ClipboardType, WCDataObject*, ClipboardAccessPolicy, Frame*);
 
     void resetFromClipboard();
     void setDragImage(CachedImage*, Node*, const IntPoint&);
diff --git a/WebCore/platform/win/EditorWin.cpp b/WebCore/platform/win/EditorWin.cpp
index 075827d..4965c97 100644
--- a/WebCore/platform/win/EditorWin.cpp
+++ b/WebCore/platform/win/EditorWin.cpp
@@ -45,7 +45,7 @@ PassRefPtr<Clipboard> Editor::newGeneralClipboard(ClipboardAccessPolicy policy,
     if (!SUCCEEDED(OleGetClipboard(&clipboardData)))
         clipboardData = 0;
 
-    return ClipboardWin::create(false, clipboardData.get(), policy, frame);
+    return ClipboardWin::create(Clipboard::CopyAndPaste, clipboardData.get(), policy, frame);
 }
 
 } // namespace WebCore
diff --git a/WebCore/platform/wx/ClipboardWx.cpp b/WebCore/platform/wx/ClipboardWx.cpp
index 2ef943f..32216a6 100644
--- a/WebCore/platform/wx/ClipboardWx.cpp
+++ b/WebCore/platform/wx/ClipboardWx.cpp
@@ -42,8 +42,8 @@ PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy, DragData*, Frame*
     return 0;
 }
 
-ClipboardWx::ClipboardWx(ClipboardAccessPolicy policy, bool forDragging) 
-    : Clipboard(policy, forDragging)
+ClipboardWx::ClipboardWx(ClipboardAccessPolicy policy, ClipboardType clipboardType) 
+    : Clipboard(policy, clipboardType)
 {
 }
 
diff --git a/WebCore/platform/wx/ClipboardWx.h b/WebCore/platform/wx/ClipboardWx.h
index 45d1cf3..138635a 100644
--- a/WebCore/platform/wx/ClipboardWx.h
+++ b/WebCore/platform/wx/ClipboardWx.h
@@ -35,9 +35,9 @@ namespace WebCore {
     // State available during IE's events for drag and drop and copy/paste
     class ClipboardWx : public Clipboard {
     public:
-        static PassRefPtr<ClipboardWx> create(ClipboardAccessPolicy policy, bool forDragging)
+        static PassRefPtr<ClipboardWx> create(ClipboardAccessPolicy policy, ClipboardType clipboardType)
         {
-            return adoptRef(new ClipboardWx(policy, forDragging));
+            return adoptRef(new ClipboardWx(policy, clipboardType));
         }
 
         void clearData(const String& type);
@@ -65,7 +65,7 @@ namespace WebCore {
         virtual bool hasData();
 
     private:
-        ClipboardWx(ClipboardAccessPolicy, bool forDragging);
+        ClipboardWx(ClipboardAccessPolicy, ClipboardType);
     };
 } 
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list