[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

japhet at chromium.org japhet at chromium.org
Wed Apr 7 23:27:06 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 3e0921f2681fe99df6d7f7126082d9ba169c76f1
Author: japhet at chromium.org <japhet at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Nov 9 19:08:37 2009 +0000

    2009-11-09  Nate Chapin  <japhet at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            WebKit Chromium API upstreaming, WebBindings.h through WebColor.h.
    
            * public/WebBindings.h: Added.
            * public/WebCache.h: Added.
            * public/WebCanvas.h: Added.
            * public/WebClipboard.h: Added.
            (WebKit::WebClipboard::):
            (WebKit::WebClipboard::~WebClipboard):
            * public/WebColor.h: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50668 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 6eb4cff..2226fff 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -2,6 +2,20 @@
 
         Reviewed by Dimitri Glazkov.
 
+        WebKit Chromium API upstreaming, WebBindings.h through WebColor.h.
+
+        * public/WebBindings.h: Added.
+        * public/WebCache.h: Added.
+        * public/WebCanvas.h: Added.
+        * public/WebClipboard.h: Added.
+        (WebKit::WebClipboard::):
+        (WebKit::WebClipboard::~WebClipboard):
+        * public/WebColor.h: Added.
+
+2009-11-09  Nate Chapin  <japhet at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
         Starting upstreaming the Chromium WebKit API.  public/ contains header files only.
 
         https://bugs.webkit.org/show_bug.cgi?id=28394
diff --git a/WebKit/chromium/public/WebBindings.h b/WebKit/chromium/public/WebBindings.h
new file mode 100644
index 0000000..4e66a8f
--- /dev/null
+++ b/WebKit/chromium/public/WebBindings.h
@@ -0,0 +1,145 @@
+/*
+ * 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 WebBindings_h
+#define WebBindings_h
+
+#include "WebCommon.h"
+#include <bindings/npruntime.h>
+
+namespace WebKit {
+
+class WebDragData;
+class WebRange;
+
+// A haphazard collection of functions for dealing with plugins.
+class WebBindings {
+public:
+    // NPN Functions ------------------------------------------------------
+    // These are all defined in npruntime.h and are well documented.
+
+    // NPN_Construct
+    WEBKIT_API static bool construct(NPP, NPObject*, const NPVariant* args, uint32_t argCount, NPVariant* result);
+
+    // NPN_CreateObject
+    WEBKIT_API static NPObject* createObject(NPP, NPClass*);
+
+    // NPN_Enumerate
+    WEBKIT_API static bool enumerate(NPP, NPObject*, NPIdentifier**, uint32_t* count);
+
+    // NPN_Evaluate
+    WEBKIT_API static bool evaluate(NPP, NPObject*, NPString* script, NPVariant* result);
+
+    // NPN_EvaluateHelper
+    WEBKIT_API static bool evaluateHelper(NPP, bool popupsAllowed, NPObject*, NPString* script, NPVariant* result);
+
+    // NPN_GetIntIdentifier
+    WEBKIT_API static NPIdentifier getIntIdentifier(int32_t number);
+
+    // NPN_GetProperty
+    WEBKIT_API static bool getProperty(NPP, NPObject*, NPIdentifier propertyName, NPVariant *result);
+
+    // NPN_GetStringIdentifier
+    WEBKIT_API static NPIdentifier getStringIdentifier(const NPUTF8* string);
+
+    // NPN_GetStringIdentifiers
+    WEBKIT_API static void getStringIdentifiers(const NPUTF8** names, int32_t nameCount, NPIdentifier*);
+
+    // NPN_HasMethod
+    WEBKIT_API static bool hasMethod(NPP, NPObject*, NPIdentifier methodName);
+
+    // NPN_HasProperty
+    WEBKIT_API static bool hasProperty(NPP, NPObject*, NPIdentifier propertyName);
+
+    // NPN_IdentifierIsString
+    WEBKIT_API static bool identifierIsString(NPIdentifier);
+
+    // NPN_InitializeVariantWithStringCopy (though sometimes prefixed with an underscore)
+    WEBKIT_API static void initializeVariantWithStringCopy(NPVariant*, const NPString*);
+
+    // NPN_IntFromIdentifier
+    WEBKIT_API static int32_t intFromIdentifier(NPIdentifier);
+
+    // NPN_Invoke
+    WEBKIT_API static bool invoke(NPP, NPObject*, NPIdentifier methodName, const NPVariant* args, uint32_t count, NPVariant* result);
+
+    // NPN_InvokeDefault
+    WEBKIT_API static bool invokeDefault(NPP, NPObject*, const NPVariant* args, uint32_t count, NPVariant* result);
+
+    // NPN_ReleaseObject
+    WEBKIT_API static void releaseObject(NPObject*);
+
+    // NPN_ReleaseVariantValue
+    WEBKIT_API static void releaseVariantValue(NPVariant*);
+
+    // NPN_RemoveProperty
+    WEBKIT_API static bool removeProperty(NPP, NPObject*, NPIdentifier);
+
+    // NPN_RetainObject
+    WEBKIT_API static NPObject* retainObject(NPObject*);
+
+    // NPN_SetException
+    WEBKIT_API static void setException(NPObject*, const NPUTF8* message);
+
+    // NPN_SetProperty
+    WEBKIT_API static bool setProperty(NPP, NPObject*, NPIdentifier, const NPVariant*);
+
+    // _NPN_UnregisterObject
+    WEBKIT_API static void unregisterObject(NPObject*);
+
+    // NPN_UTF8FromIdentifier
+    WEBKIT_API static NPUTF8* utf8FromIdentifier(NPIdentifier);
+
+    // Miscellaneous utility functions ------------------------------------
+
+    // Complement to NPN_Get___Identifier functions.  Extracts data from the NPIdentifier data
+    // structure.  If isString is true upon return, string will be set but number's value is
+    // undefined.  If iString is false, the opposite is true.
+    WEBKIT_API static void extractIdentifierData(const NPIdentifier&, const NPUTF8*& string, int32_t& number, bool& isString);
+
+    // Return true (success) if the given npobj is the current drag event in browser dispatch,
+    // and is accessible based on context execution frames and their security origins and
+    // WebKit clipboard access policy. If so, return the event id and the clipboard data (WebDragData).
+    // This only works with V8.  If compiled without V8, it'll always return false.
+    WEBKIT_API static bool getDragData(NPObject* event, int* eventId, WebDragData*);
+
+    // Invoke the event access policy checks listed above with GetDragData().  No need for clipboard
+    // data or event_id outputs, just confirm the given npobj is the current & accessible drag event.
+    // This only works with V8.  If compiled without V8, it'll always return false.
+    WEBKIT_API static bool isDragEvent(NPObject* event);
+
+    // Return true (success) if the given npobj is a range object.
+    // If so, return that range as a WebRange object.
+    WEBKIT_API static bool getRange(NPObject* range, WebRange*);
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebCache.h b/WebKit/chromium/public/WebCache.h
new file mode 100644
index 0000000..433eb1a
--- /dev/null
+++ b/WebKit/chromium/public/WebCache.h
@@ -0,0 +1,89 @@
+/*
+ * 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 WebCache_h
+#define WebCache_h
+
+#include "WebCommon.h"
+
+namespace WebKit {
+
+// An interface to query and configure WebKit's resource cache.
+class WebCache {
+public:
+    struct UsageStats {
+        // Capacities.
+        size_t minDeadCapacity;
+        size_t maxDeadCapacity;
+        size_t capacity;
+        // Utilization.
+        size_t liveSize;
+        size_t deadSize;
+    };
+
+    // A struct mirroring WebCore::Cache::TypeStatistic.
+    struct ResourceTypeStat {
+        size_t count;
+        size_t size;
+        size_t liveSize;
+        size_t decodedSize;
+    };
+
+    // A struct mirroring WebCore::Cache::Statistics.
+    struct ResourceTypeStats {
+        ResourceTypeStat images;
+        ResourceTypeStat cssStyleSheets;
+        ResourceTypeStat scripts;
+        ResourceTypeStat xslStyleSheets;
+        ResourceTypeStat fonts;
+    };
+
+    // Sets the capacities of the resource cache, evicting objects as necessary.
+    WEBKIT_API static void setCapacities(size_t minDeadCapacity,
+                                         size_t maxDeadCapacity,
+                                         size_t capacity);
+
+    // Clears the cache (as much as possible; some resources may not be
+    // cleared if they are actively referenced).
+    WEBKIT_API static void clear();
+
+    // Gets the usage statistics from the resource cache.
+    WEBKIT_API static void getUsageStats(UsageStats*);
+
+    // Get usage stats about the resource cache.
+    WEBKIT_API static void getResourceTypeStats(ResourceTypeStats*);
+
+private:
+    WebCache();  // Not intended to be instanced.
+};
+
+}  // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebCanvas.h b/WebKit/chromium/public/WebCanvas.h
new file mode 100644
index 0000000..4675487
--- /dev/null
+++ b/WebKit/chromium/public/WebCanvas.h
@@ -0,0 +1,54 @@
+/*
+ * 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 WebCanvas_h
+#define WebCanvas_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_USING_SKIA
+namespace skia { class PlatformCanvas; }
+#elif WEBKIT_USING_CG
+struct CGContext;
+#endif
+
+namespace WebKit {
+
+#if WEBKIT_USING_SKIA
+typedef skia::PlatformCanvas WebCanvas;
+#elif WEBKIT_USING_CG
+typedef struct CGContext WebCanvas;
+#else
+#error "Need to define WebCanvas"
+#endif
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebClipboard.h b/WebKit/chromium/public/WebClipboard.h
new file mode 100644
index 0000000..68e22b5
--- /dev/null
+++ b/WebKit/chromium/public/WebClipboard.h
@@ -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 WebClipboard_h
+#define WebClipboard_h
+
+#include "WebCommon.h"
+
+namespace WebKit {
+
+class WebImage;
+class WebString;
+class WebURL;
+
+class WebClipboard {
+public:
+    enum Format {
+        FormatHTML,
+        FormatBookmark,
+        FormatSmartPaste
+    };
+
+    enum Buffer {
+        BufferStandard,
+        // Used on platforms like the X Window System that treat selection
+        // as a type of clipboard.
+        BufferSelection
+    };
+
+    virtual bool isFormatAvailable(Format, Buffer) = 0;
+
+    virtual WebString readPlainText(Buffer) = 0;
+    virtual WebString readHTML(Buffer, WebURL*) = 0;
+
+    virtual void writePlainText(const WebString&) = 0;
+    virtual void writeHTML(
+        const WebString& htmlText, const WebURL&,
+        const WebString& plainText, bool writeSmartPaste) = 0;
+    virtual void writeURL(
+        const WebURL&, const WebString& title) = 0;
+    virtual void writeImage(
+        const WebImage&, const WebURL&, const WebString& title) = 0;
+
+protected:
+    ~WebClipboard() {}
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebColor.h b/WebKit/chromium/public/WebColor.h
new file mode 100644
index 0000000..034f8db
--- /dev/null
+++ b/WebKit/chromium/public/WebColor.h
@@ -0,0 +1,46 @@
+/*
+ * 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 WebColor_h
+#define WebColor_h
+
+#include "WebColorName.h"
+#include "WebCommon.h"
+
+namespace WebKit {
+
+typedef unsigned WebColor;  // RGBA quad. Equivalent to SkColor.
+
+// Sets the values of a set of named colors.
+WEBKIT_API void setNamedColors(const WebColorName*, const WebColor*, size_t length);
+
+} // namespace WebKit
+
+#endif

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list