Add drag and drop support for Windows (issue #140).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@194 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-02-28 00:33:11 +00:00
parent 7684d7442e
commit 14f2536b27
28 changed files with 1442 additions and 226 deletions

View File

@@ -32,8 +32,8 @@
#endif
#if defined(OS_WIN)
#include "browser_drag_delegate.h"
#include "browser_drop_delegate.h"
class BrowserDragDelegate;
class WebDropTarget;
#endif
#if defined(TOOLKIT_USES_GTK)
@@ -211,8 +211,8 @@ class BrowserWebViewDelegate : public WebKit::WebViewClient,
// Additional accessors
WebKit::WebFrame* top_loading_frame() { return top_loading_frame_; }
#if defined(OS_WIN)
IDropTarget* drop_delegate() { return drop_delegate_.get(); }
IDropSource* drag_delegate() { return drag_delegate_.get(); }
BrowserDragDelegate* drag_delegate() { return drag_delegate_.get(); }
WebDropTarget* drop_target() { return drop_target_.get(); }
#endif
void set_pending_extra_data(BrowserExtraData* extra_data) {
@@ -251,6 +251,9 @@ class BrowserWebViewDelegate : public WebKit::WebViewClient,
void SetPopupMenuInfo(const WebKit::WebPopupMenuInfo& info);
#endif
// Called after dragging has finished.
void EndDragging();
protected:
// Default handling of JavaScript messages.
void ShowJavaScriptAlert(WebKit::WebFrame* webframe,
@@ -314,7 +317,7 @@ class BrowserWebViewDelegate : public WebKit::WebViewClient,
#if defined(OS_WIN)
// Classes needed by drag and drop.
scoped_refptr<BrowserDragDelegate> drag_delegate_;
scoped_refptr<BrowserDropDelegate> drop_delegate_;
scoped_refptr<WebDropTarget> drop_target_;
#endif
#if defined(OS_LINUX)