Title: [86717] trunk/Source/WebKit2
- Revision
- 86717
- Author
- [email protected]
- Date
- 2011-05-17 16:15:06 -0700 (Tue, 17 May 2011)
Log Message
WebKit2: Needs API to set a custom drop target
https://bugs.webkit.org/show_bug.cgi?id=60991
<rdar://problem/9090868>
Reviewed by Adam Roben.
Add API to set a custom drop target on a WKView.
* UIProcess/API/C/win/WKView.cpp:
(WKViewSetCustomDropTarget): Call through to WebView::setCustomDropTarget.
* UIProcess/API/C/win/WKView.h:
* UIProcess/win/WebView.cpp:
(WebKit::WebView::setCustomDropTarget): Revoke the current drop target, and register the
custom one.
* UIProcess/win/WebView.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (86716 => 86717)
--- trunk/Source/WebKit2/ChangeLog 2011-05-17 23:10:14 UTC (rev 86716)
+++ trunk/Source/WebKit2/ChangeLog 2011-05-17 23:15:06 UTC (rev 86717)
@@ -1,3 +1,21 @@
+2011-05-17 Brian Weinstein <[email protected]>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Needs API to set a custom drop target
+ https://bugs.webkit.org/show_bug.cgi?id=60991
+ <rdar://problem/9090868>
+
+ Add API to set a custom drop target on a WKView.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewSetCustomDropTarget): Call through to WebView::setCustomDropTarget.
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setCustomDropTarget): Revoke the current drop target, and register the
+ custom one.
+ * UIProcess/win/WebView.h:
+
2011-05-17 Sam Weinig <[email protected]>
Reviewed by Dan Bernstein.
Modified: trunk/Source/WebKit2/UIProcess/API/C/win/WKView.cpp (86716 => 86717)
--- trunk/Source/WebKit2/UIProcess/API/C/win/WKView.cpp 2011-05-17 23:10:14 UTC (rev 86716)
+++ trunk/Source/WebKit2/UIProcess/API/C/win/WKView.cpp 2011-05-17 23:15:06 UTC (rev 86717)
@@ -119,3 +119,8 @@
return toImpl(viewRef)->page()->drawsTransparentBackground();
}
+void WKViewSetCustomDropTarget(WKViewRef viewRef, IDropTarget* dropTarget)
+{
+ return toImpl(viewRef)->setCustomDropTarget(dropTarget);
+}
+
Modified: trunk/Source/WebKit2/UIProcess/API/C/win/WKView.h (86716 => 86717)
--- trunk/Source/WebKit2/UIProcess/API/C/win/WKView.h 2011-05-17 23:10:14 UTC (rev 86716)
+++ trunk/Source/WebKit2/UIProcess/API/C/win/WKView.h 2011-05-17 23:15:06 UTC (rev 86717)
@@ -83,6 +83,8 @@
WK_EXPORT void WKViewSetDrawsTransparentBackground(WKViewRef view, bool drawsTransparentBackground);
WK_EXPORT bool WKViewDrawsTransparentBackground(WKViewRef view);
+WK_EXPORT void WKViewSetCustomDropTarget(WKViewRef view, IDropTarget*);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/UIProcess/win/WebView.cpp (86716 => 86717)
--- trunk/Source/WebKit2/UIProcess/win/WebView.cpp 2011-05-17 23:10:14 UTC (rev 86716)
+++ trunk/Source/WebKit2/UIProcess/win/WebView.cpp 2011-05-17 23:15:06 UTC (rev 86717)
@@ -1121,6 +1121,19 @@
command->unapply();
}
+void WebView::setCustomDropTarget(IDropTarget* dropTarget)
+{
+ if (!m_page->isValid() || !m_window)
+ return;
+
+ ::RevokeDragDrop(m_window);
+
+ if (dropTarget)
+ ::RegisterDragDrop(m_window, dropTarget);
+ else
+ ::RegisterDragDrop(m_window, this);
+}
+
FloatRect WebView::convertToDeviceSpace(const FloatRect& rect)
{
return rect;
Modified: trunk/Source/WebKit2/UIProcess/win/WebView.h (86716 => 86717)
--- trunk/Source/WebKit2/UIProcess/win/WebView.h 2011-05-17 23:10:14 UTC (rev 86716)
+++ trunk/Source/WebKit2/UIProcess/win/WebView.h 2011-05-17 23:15:06 UTC (rev 86717)
@@ -89,6 +89,8 @@
void reapplyEditCommand(WebEditCommandProxy*);
void unapplyEditCommand(WebEditCommandProxy*);
+ void setCustomDropTarget(IDropTarget*);
+
// IUnknown
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
virtual ULONG STDMETHODCALLTYPE AddRef(void);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes