summaryrefslogtreecommitdiffstats
path: root/webkit/glue/dragclient_impl.cc
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-07 23:25:03 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-07 23:25:03 +0000
commit0bcde72cee05bb587e7069a490081834e6ceac1c (patch)
tree7b5e59f055a1f038ceb7e891a054c26acc6d1d7e /webkit/glue/dragclient_impl.cc
parent4f8b87a4c6d06ebad053160a61fc90492afc8439 (diff)
downloadchromium_src-0bcde72cee05bb587e7069a490081834e6ceac1c.zip
chromium_src-0bcde72cee05bb587e7069a490081834e6ceac1c.tar.gz
chromium_src-0bcde72cee05bb587e7069a490081834e6ceac1c.tar.bz2
Remove windows-isms from drag & drop. This
makes it more portable, fixes some bugs, and removes glue from port. Review URL: http://codereview.chromium.org/9801 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5032 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/dragclient_impl.cc')
-rw-r--r--webkit/glue/dragclient_impl.cc25
1 files changed, 6 insertions, 19 deletions
diff --git a/webkit/glue/dragclient_impl.cc b/webkit/glue/dragclient_impl.cc
index b0f1cf8..25654b0 100644
--- a/webkit/glue/dragclient_impl.cc
+++ b/webkit/glue/dragclient_impl.cc
@@ -6,17 +6,8 @@
#include "base/compiler_specific.h"
-#include "build/build_config.h"
-
-#if defined(OS_WIN)
-#include <objidl.h>
-#endif
-
MSVC_PUSH_WARNING_LEVEL(0);
-#if defined(OS_WIN)
-#include "ClipboardWin.h"
-#include "COMPtr.h"
-#endif
+#include "ClipboardChromium.h"
#include "DragData.h"
#include "Frame.h"
#include "HitTestResult.h"
@@ -29,6 +20,7 @@ MSVC_POP_WARNING();
#include "base/logging.h"
#include "base/string_util.h"
+#include "webkit/glue/clipboard_conversion.h"
#include "webkit/glue/context_node_types.h"
#include "webkit/glue/glue_util.h"
#include "webkit/glue/webdropdata.h"
@@ -68,15 +60,11 @@ void DragClientImpl::startDrag(WebCore::DragImageRef drag_image,
// Add a ref to the frame just in case a load occurs mid-drag.
RefPtr<WebCore::Frame> frame_protector = frame;
-#if defined(OS_WIN)
- COMPtr<IDataObject> data_object(
- static_cast<WebCore::ClipboardWin*>(clipboard)->dataObject());
+ RefPtr<WebCore::ChromiumDataObject> data_object =
+ static_cast<WebCore::ClipboardChromium*>(clipboard)->dataObject();
DCHECK(data_object.get());
- WebDropData drop_data;
- WebDropData::PopulateWebDropData(data_object.get(), &drop_data);
-#elif defined(OS_MACOSX) || defined(OS_LINUX)
- WebDropData drop_data;
-#endif
+ WebDropData drop_data = webkit_glue::ChromiumDataObjectToWebDropData(
+ data_object.get());
webview_->StartDragging(drop_data);
}
@@ -92,4 +80,3 @@ WebCore::DragImageRef DragClientImpl::createDragImageForLink(
void DragClientImpl::dragControllerDestroyed() {
delete this;
}
-