2009-11-09 Nate Chapin <japhet@chromium.org>
authorjaphet@chromium.org <japhet@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Nov 2009 21:19:51 +0000 (21:19 +0000)
committerjaphet@chromium.org <japhet@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Nov 2009 21:19:51 +0000 (21:19 +0000)
        Reviewed by Dimitri Glazkov.

        Upstream WebDevTools*.h and WebDrag*.h Chromium API headers.

        https://bugs.webkit.org/show_bug.cgi?id=28394

        * public/WebDevToolsAgent.h: Added.
        (WebKit::WebDevToolsAgent::~WebDevToolsAgent):
        * public/WebDevToolsAgentClient.h: Added.
        (WebKit::WebDevToolsAgentClient::~WebDevToolsAgentClient):
        * public/WebDevToolsFrontend.h: Added.
        (WebKit::WebDevToolsFrontend::~WebDevToolsFrontend):
        * public/WebDevToolsFrontendClient.h: Added.
        (WebKit::WebDevToolsFrontendClient::WebDevToolsFrontendClient):
        (WebKit::WebDevToolsFrontendClient::~WebDevToolsFrontendClient):
        * public/WebDragData.h: Added.
        (WebKit::WebDragData::~WebDragData):
        (WebKit::WebDragData::WebDragData):
        (WebKit::WebDragData::operator=):
        (WebKit::WebDragData::isNull):
        * public/WebDragOperation.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@50683 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/chromium/ChangeLog
WebKit/chromium/public/WebDevToolsAgent.h [new file with mode: 0644]
WebKit/chromium/public/WebDevToolsAgentClient.h [new file with mode: 0644]
WebKit/chromium/public/WebDevToolsFrontend.h [new file with mode: 0644]
WebKit/chromium/public/WebDevToolsFrontendClient.h [new file with mode: 0644]
WebKit/chromium/public/WebDragData.h [new file with mode: 0644]
WebKit/chromium/public/WebDragOperation.h [new file with mode: 0644]

index f6abe03d73d40a39ac1a8a4841b063d7646d6922..9f3a6488cda1060e9b52f8863c612f87de7b5752 100644 (file)
@@ -1,3 +1,28 @@
+2009-11-09  Nate Chapin  <japhet@chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        Upstream WebDevTools*.h and WebDrag*.h Chromium API headers.
+
+        https://bugs.webkit.org/show_bug.cgi?id=28394
+
+        * public/WebDevToolsAgent.h: Added.
+        (WebKit::WebDevToolsAgent::~WebDevToolsAgent):
+        * public/WebDevToolsAgentClient.h: Added.
+        (WebKit::WebDevToolsAgentClient::~WebDevToolsAgentClient):
+        * public/WebDevToolsFrontend.h: Added.
+        (WebKit::WebDevToolsFrontend::~WebDevToolsFrontend):
+        * public/WebDevToolsFrontendClient.h: Added.
+        (WebKit::WebDevToolsFrontendClient::WebDevToolsFrontendClient):
+        (WebKit::WebDevToolsFrontendClient::~WebDevToolsFrontendClient):
+        * public/WebDragData.h: Added.
+        (WebKit::WebDragData::~WebDragData):
+        (WebKit::WebDragData::WebDragData):
+        (WebKit::WebDragData::operator=):
+        (WebKit::WebDragData::isNull):
+        * public/WebDragOperation.h: Added.
+        (WebKit::):
+
 2009-11-09  Yaar Schnitman  <yaar@chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/WebKit/chromium/public/WebDevToolsAgent.h b/WebKit/chromium/public/WebDevToolsAgent.h
new file mode 100644 (file)
index 0000000..cf4d7ea
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDevToolsAgent_h
+#define WebDevToolsAgent_h
+
+#include "WebCommon.h"
+
+namespace WebKit {
+class WebDevToolsAgentClient;
+class WebString;
+class WebView;
+struct WebPoint;
+
+class WebDevToolsAgent {
+public:
+    WEBKIT_API static WebDevToolsAgent* create(WebView*, WebDevToolsAgentClient*);
+
+    virtual ~WebDevToolsAgent() {}
+
+    virtual void attach() = 0;
+    virtual void detach() = 0;
+
+    virtual void didNavigate() = 0;
+
+    virtual void dispatchMessageFromFrontend(const WebString& className,
+                                             const WebString& methodName,
+                                             const WebString& param1,
+                                             const WebString& param2,
+                                             const WebString& param3) = 0;
+
+    virtual void inspectElementAt(const WebPoint&) = 0;
+
+    virtual void setRuntimeFeatureEnabled(const WebString& feature, bool enabled) = 0;
+
+    // Asynchronously executes debugger command in the render thread.
+    // |callerIdentifier| will be used for sending response.
+    WEBKIT_API static void executeDebuggerCommand(
+        const WebString& command, int callerIdentifier);
+
+    typedef void (*MessageLoopDispatchHandler)();
+
+    // Installs dispatch handle that is going to be called periodically
+    // while on a breakpoint.
+    WEBKIT_API static void setMessageLoopDispatchHandler(MessageLoopDispatchHandler);
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDevToolsAgentClient.h b/WebKit/chromium/public/WebDevToolsAgentClient.h
new file mode 100644 (file)
index 0000000..d3c48c7
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDevToolsAgentClient_h
+#define WebDevToolsAgentClient_h
+
+#include "WebCommon.h"
+
+namespace WebKit {
+class WebString;
+
+class WebDevToolsAgentClient {
+public:
+    virtual void sendMessageToFrontend(const WebString& className,
+                                       const WebString& methodName,
+                                       const WebString& param1,
+                                       const WebString& param2,
+                                       const WebString& param3) = 0;
+
+    // Invalidates widget which leads to the repaint.
+    virtual void forceRepaint() = 0;
+
+    // Returns the identifier of the entity hosting this agent.
+    virtual int hostIdentifier() = 0;
+
+    // Notifies host upon runtime feature being enabled/disabled.
+    virtual void runtimeFeatureStateChanged(const WebString& feature, bool enabled) = 0;
+
+protected:
+    ~WebDevToolsAgentClient() {}
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDevToolsFrontend.h b/WebKit/chromium/public/WebDevToolsFrontend.h
new file mode 100644 (file)
index 0000000..a816b12
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDevToolsFrontend_h
+#define WebDevToolsFrontend_h
+
+#include "WebCommon.h"
+
+namespace WebKit {
+
+class WebDevToolsFrontendClient;
+class WebString;
+class WebView;
+
+// WebDevToolsFrontend represents DevTools client sitting in the Glue. It provides
+// direct and delegate Apis to the host.
+class WebDevToolsFrontend {
+public:
+    WEBKIT_API static WebDevToolsFrontend* create(WebView* view,
+                                                  WebDevToolsFrontendClient* client,
+                                                  const WebString& applicationLocale);
+
+    virtual ~WebDevToolsFrontend() {}
+
+    virtual void dispatchMessageFromAgent(const WebString& className,
+                                          const WebString& methodName,
+                                          const WebString& param1,
+                                          const WebString& param2,
+                                          const WebString& param3) = 0;
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDevToolsFrontendClient.h b/WebKit/chromium/public/WebDevToolsFrontendClient.h
new file mode 100644 (file)
index 0000000..f2a6c4c
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDevToolsFrontendClient_h
+#define WebDevToolsFrontendClient_h
+
+namespace WebKit {
+
+class WebString;
+
+class WebDevToolsFrontendClient {
+public:
+    WebDevToolsFrontendClient() {}
+
+    virtual void sendMessageToAgent(const WebString& className,
+                                    const WebString& methodName,
+                                    const WebString& param1,
+                                    const WebString& param2,
+                                    const WebString& param3) = 0;
+    virtual void sendDebuggerCommandToAgent(const WebString& command) = 0;
+
+    virtual void activateWindow() = 0;
+    virtual void closeWindow() = 0;
+    virtual void dockWindow() = 0;
+    virtual void undockWindow() = 0;
+
+protected:
+    virtual ~WebDevToolsFrontendClient() {}
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDragData.h b/WebKit/chromium/public/WebDragData.h
new file mode 100644 (file)
index 0000000..f7a165d
--- /dev/null
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebDragData_h
+#define WebDragData_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+namespace WebCore { class ChromiumDataObject; }
+namespace WTF { template <typename T> class PassRefPtr; }
+#endif
+
+namespace WebKit {
+
+class WebData;
+class WebDragDataPrivate;
+class WebString;
+class WebURL;
+template <typename T> class WebVector;
+
+// Holds data that may be exchanged through a drag-n-drop operation.  It is
+// inexpensive to copy a WebDragData object.
+class WebDragData {
+public:
+    ~WebDragData() { reset(); }
+
+    WebDragData() : m_private(0) { }
+    WebDragData(const WebDragData& d) : m_private(0) { assign(d); }
+    WebDragData& operator=(const WebDragData& d)
+    {
+        assign(d);
+        return *this;
+    }
+
+    WEBKIT_API void initialize();
+    WEBKIT_API void reset();
+    WEBKIT_API void assign(const WebDragData&);
+
+    bool isNull() const { return !m_private; }
+
+    WEBKIT_API WebURL url() const;
+    WEBKIT_API void setURL(const WebURL&);
+
+    WEBKIT_API WebString urlTitle() const;
+    WEBKIT_API void setURLTitle(const WebString&);
+
+    WEBKIT_API WebString fileExtension() const;
+    WEBKIT_API void setFileExtension(const WebString&);
+
+    WEBKIT_API bool hasFileNames() const;
+    WEBKIT_API void fileNames(WebVector<WebString>&) const;
+    WEBKIT_API void setFileNames(const WebVector<WebString>&);
+    WEBKIT_API void appendToFileNames(const WebString&);
+
+    WEBKIT_API WebString plainText() const;
+    WEBKIT_API void setPlainText(const WebString&);
+
+    WEBKIT_API WebString htmlText() const;
+    WEBKIT_API void setHTMLText(const WebString&);
+
+    WEBKIT_API WebURL htmlBaseURL() const;
+    WEBKIT_API void setHTMLBaseURL(const WebURL&);
+
+    WEBKIT_API WebString fileContentFileName() const;
+    WEBKIT_API void setFileContentFileName(const WebString&);
+
+    WEBKIT_API WebData fileContent() const;
+    WEBKIT_API void setFileContent(const WebData&);
+
+#if WEBKIT_IMPLEMENTATION
+    WebDragData(const WTF::PassRefPtr<WebCore::ChromiumDataObject>&);
+    WebDragData& operator=(const WTF::PassRefPtr<WebCore::ChromiumDataObject>&);
+    operator WTF::PassRefPtr<WebCore::ChromiumDataObject>() const;
+#endif
+
+private:
+    void assign(WebDragDataPrivate*);
+    void ensureMutable();
+    WebDragDataPrivate* m_private;
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebDragOperation.h b/WebKit/chromium/public/WebDragOperation.h
new file mode 100644 (file)
index 0000000..050b74f
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+* Copyright (C) 2009 Google Inc. All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are
+* met:
+*
+*     * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*     * Redistributions in binary form must reproduce the above
+* copyright notice, this list of conditions and the following disclaimer
+* in the documentation and/or other materials provided with the
+* distribution.
+*     * Neither the name of Google Inc. nor the names of its
+* contributors may be used to endorse or promote products derived from
+* this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef WebDragOperation_h
+#define WebDragOperation_h
+
+#include <limits.h>
+
+namespace WebKit {
+
+// "Verb" of a drag-and-drop operation as negotiated between the source and
+// destination.
+// (These constants match their equivalents in WebCore's DragActions.h and
+// should not be renumbered.)
+enum WebDragOperation {
+    WebDragOperationNone    = 0,
+    WebDragOperationCopy    = 1,
+    WebDragOperationLink    = 2,
+    WebDragOperationGeneric = 4,
+    WebDragOperationPrivate = 8,
+    WebDragOperationMove    = 16,
+    WebDragOperationDelete  = 32,
+    WebDragOperationEvery   = UINT_MAX
+};
+
+// Alternate typedef to make it clear when this is being used as a mask
+// with potentially multiple value bits set.
+typedef WebDragOperation WebDragOperationsMask;
+
+} // namespace WebKit
+
+#endif