From 4576aa36e9a9671459299c7963ac95aa94beaea9 Mon Sep 17 00:00:00 2001
From: "Shimeng (Simon) Wang" <swang@google.com>
Date: Tue, 7 Dec 2010 17:22:45 -0800
Subject: Merge WebKit at r73109: Initial merge by git.

Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
---
 WebKit/chromium/public/WebAudioBus.h               | 69 +++++++++++++++++++
 WebKit/chromium/public/WebDevToolsAgent.h          | 11 ++-
 WebKit/chromium/public/WebFrame.h                  |  7 ++
 WebKit/chromium/public/WebFrameClient.h            |  2 +-
 WebKit/chromium/public/WebGeolocationError.h       | 68 +++++++++++++++++++
 WebKit/chromium/public/WebGeolocationPosition.h    | 65 ++++++++++++++++++
 WebKit/chromium/public/WebGraphicsContext3D.h      |  2 +
 WebKit/chromium/public/WebHTTPLoadInfo.h           | 79 ++++++++++++++++++++++
 WebKit/chromium/public/WebIDBCursor.h              |  3 +
 WebKit/chromium/public/WebIDBDatabase.h            | 17 ++---
 WebKit/chromium/public/WebIDBFactory.h             | 14 ++--
 WebKit/chromium/public/WebIDBIndex.h               | 42 +-----------
 WebKit/chromium/public/WebIDBKeyRange.h            | 14 +++-
 WebKit/chromium/public/WebIDBObjectStore.h         |  9 ++-
 WebKit/chromium/public/WebIDBTransaction.h         |  5 +-
 WebKit/chromium/public/WebInputElement.h           |  3 +
 WebKit/chromium/public/WebKitClient.h              | 12 +++-
 WebKit/chromium/public/WebLocalizedString.h        |  5 ++
 WebKit/chromium/public/WebResourceRawHeaders.h     | 74 --------------------
 WebKit/chromium/public/WebSettings.h               |  5 ++
 .../chromium/public/WebSpeechInputControllerMock.h |  2 +-
 WebKit/chromium/public/WebURLResponse.h            |  6 +-
 22 files changed, 372 insertions(+), 142 deletions(-)
 create mode 100644 WebKit/chromium/public/WebAudioBus.h
 create mode 100644 WebKit/chromium/public/WebGeolocationError.h
 create mode 100644 WebKit/chromium/public/WebGeolocationPosition.h
 create mode 100644 WebKit/chromium/public/WebHTTPLoadInfo.h
 delete mode 100644 WebKit/chromium/public/WebResourceRawHeaders.h

(limited to 'WebKit/chromium/public')

diff --git a/WebKit/chromium/public/WebAudioBus.h b/WebKit/chromium/public/WebAudioBus.h
new file mode 100644
index 0000000..94ef74d
--- /dev/null
+++ b/WebKit/chromium/public/WebAudioBus.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2010, 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:
+ * 1.  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2.  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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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 WebAudioBus_h
+#define WebAudioBus_h
+
+#include "WebCommon.h"
+
+#if WEBKIT_IMPLEMENTATION
+namespace WebCore { class AudioBus; }
+namespace WTF { template <typename T> class PassOwnPtr; }
+#endif
+
+namespace WebKit {
+
+class WebAudioBusPrivate;
+
+// A container for multi-channel linear PCM audio data.
+//
+// WARNING: It is not safe to pass a WebAudioBus across threads!!!
+//
+class WebAudioBus {
+public:
+    WebAudioBus() : m_private(0) { }
+    ~WebAudioBus();
+    
+    // initialize() allocates memory of the given length for the given number of channels.
+    void initialize(unsigned numberOfChannels, size_t length, double sampleRate);
+
+    WEBKIT_API unsigned numberOfChannels() const;
+    WEBKIT_API size_t length() const;
+    WEBKIT_API double sampleRate() const;
+    
+    WEBKIT_API float* channelData(unsigned channelIndex);
+
+#if WEBKIT_IMPLEMENTATION
+    WTF::PassOwnPtr<WebCore::AudioBus> release();    
+#endif
+
+private:
+    // Noncopyable
+    WebAudioBus(const WebAudioBus& d) : m_private(0) { }
+    WebAudioBusPrivate* m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebAudioBus_h
diff --git a/WebKit/chromium/public/WebDevToolsAgent.h b/WebKit/chromium/public/WebDevToolsAgent.h
index 6b4d237..d6a7bcd 100644
--- a/WebKit/chromium/public/WebDevToolsAgent.h
+++ b/WebKit/chromium/public/WebDevToolsAgent.h
@@ -33,6 +33,13 @@
 
 #include "WebCommon.h"
 
+#if WEBKIT_USING_V8
+namespace v8 {
+class Value;
+template <class T> class Handle;
+}
+#endif
+
 namespace WebKit {
 class WebDevToolsAgentClient;
 class WebDevToolsMessageTransport;
@@ -58,7 +65,9 @@ public:
     virtual void dispatchOnInspectorBackend(const WebString& message) = 0;
 
     virtual void inspectElementAt(const WebPoint&) = 0;
-
+#if WEBKIT_USING_V8
+    virtual void inspectNode(v8::Handle<v8::Value>) = 0;
+#endif
     virtual void setRuntimeProperty(const WebString& name, const WebString& value) = 0;
 
     // Exposed for LayoutTestController.
diff --git a/WebKit/chromium/public/WebFrame.h b/WebKit/chromium/public/WebFrame.h
index 8f2c861..30bf03b 100644
--- a/WebKit/chromium/public/WebFrame.h
+++ b/WebKit/chromium/public/WebFrame.h
@@ -61,6 +61,7 @@ class WebRange;
 class WebSecurityOrigin;
 class WebString;
 class WebURL;
+class WebURLLoader;
 class WebURLRequest;
 class WebView;
 struct WebConsoleMessage;
@@ -327,8 +328,14 @@ public:
     // Called to associate the WebURLRequest with this frame.  The request
     // will be modified to inherit parameters that allow it to be loaded.
     // This method ends up triggering WebFrameClient::willSendRequest.
+    // DEPRECATED: Please use createAssociatedURLLoader instead.
     virtual void dispatchWillSendRequest(WebURLRequest&) = 0;
 
+    // Returns a WebURLLoader that is associated with this frame.  The loader
+    // will, for example, be cancelled when WebFrame::stopLoading is called.
+    // FIXME: stopLoading does not yet cancel an associated loader!!
+    virtual WebURLLoader* createAssociatedURLLoader() = 0;
+
     // Called from within WebFrameClient::didReceiveDocumentData to commit
     // data for the frame that will be used to construct the frame's
     // document.
diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h
index 9063350..1c6fd04 100644
--- a/WebKit/chromium/public/WebFrameClient.h
+++ b/WebKit/chromium/public/WebFrameClient.h
@@ -86,7 +86,7 @@ public:
 
     // A frame specific cookie jar.  May return null, in which case
     // WebKitClient::cookieJar() will be called to access cookies.
-    virtual WebCookieJar* cookieJar() { return 0; }
+    virtual WebCookieJar* cookieJar(WebFrame*) { return 0; }
 
 
     // General notifications -----------------------------------------------
diff --git a/WebKit/chromium/public/WebGeolocationError.h b/WebKit/chromium/public/WebGeolocationError.h
new file mode 100644
index 0000000..e9354d3
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationError.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2010 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:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS 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 APPLE OR ITS 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 WebGeolocationError_h
+#define WebGeolocationError_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include <wtf/PassRefPtr.h>
+namespace WebCore { class GeolocationError; }
+#endif
+
+namespace WebKit {
+
+class WebString;
+
+class WebGeolocationError {
+public:
+    enum Error {
+        ErrorPermissionDenied,
+        ErrorPositionUnavailable
+    };
+
+    WebGeolocationError(Error code, const WebString& message) { assign(code, message); }
+    WebGeolocationError(const WebGeolocationError& other) { assign(other); }
+    ~WebGeolocationError() { reset(); }
+
+    WEBKIT_API void assign(Error code, const WebString& message);
+    WEBKIT_API void assign(const WebGeolocationError&);
+    WEBKIT_API void reset();
+
+#if WEBKIT_IMPLEMENTATION
+    WebGeolocationError(WTF::PassRefPtr<WebCore::GeolocationError>);
+    WebGeolocationError& operator=(WTF::PassRefPtr<WebCore::GeolocationError>);
+    operator WTF::PassRefPtr<WebCore::GeolocationError>() const;
+#endif
+
+private:
+    WebPrivatePtr<WebCore::GeolocationError> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebGeolocationError_h
diff --git a/WebKit/chromium/public/WebGeolocationPosition.h b/WebKit/chromium/public/WebGeolocationPosition.h
new file mode 100644
index 0000000..de73431
--- /dev/null
+++ b/WebKit/chromium/public/WebGeolocationPosition.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2010 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:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS 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 APPLE OR ITS 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 WebGeolocationPosition_h
+#define WebGeolocationPosition_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+#if WEBKIT_IMPLEMENTATION
+#include <wtf/PassRefPtr.h>
+namespace WebCore { class GeolocationPosition; }
+#endif
+
+namespace WebKit {
+
+class WebGeolocationPosition {
+public:
+    WebGeolocationPosition() {}
+    WebGeolocationPosition(double timestamp, double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed)
+    {
+        assign(timestamp, latitude, longitude, accuracy, providesAltitude, altitude, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed);
+    }
+    WebGeolocationPosition(const WebGeolocationPosition& other) { assign(other); }
+    ~WebGeolocationPosition() { reset(); }
+
+    WEBKIT_API void assign(double timestamp, double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed);
+    WEBKIT_API void assign(const WebGeolocationPosition&);
+    WEBKIT_API void reset();
+
+#if WEBKIT_IMPLEMENTATION
+    WebGeolocationPosition(WTF::PassRefPtr<WebCore::GeolocationPosition>);
+    WebGeolocationPosition& operator=(WTF::PassRefPtr<WebCore::GeolocationPosition>);
+    operator WTF::PassRefPtr<WebCore::GeolocationPosition>() const;
+#endif
+
+private:
+    WebPrivatePtr<WebCore::GeolocationPosition> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebGeolocationPosition_h
diff --git a/WebKit/chromium/public/WebGraphicsContext3D.h b/WebKit/chromium/public/WebGraphicsContext3D.h
index 932004c..05c164a 100644
--- a/WebKit/chromium/public/WebGraphicsContext3D.h
+++ b/WebKit/chromium/public/WebGraphicsContext3D.h
@@ -203,6 +203,8 @@ public:
 
     virtual unsigned long getError() = 0;
 
+    virtual bool isContextLost() = 0;
+
     virtual void getFloatv(unsigned long pname, float* value) = 0;
 
     virtual void getFramebufferAttachmentParameteriv(unsigned long target, unsigned long attachment, unsigned long pname, int* value) = 0;
diff --git a/WebKit/chromium/public/WebHTTPLoadInfo.h b/WebKit/chromium/public/WebHTTPLoadInfo.h
new file mode 100644
index 0000000..9ff9153
--- /dev/null
+++ b/WebKit/chromium/public/WebHTTPLoadInfo.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2010 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 WebHTTPLoadInfo_h
+#define WebHTTPLoadInfo_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+struct ResourceLoadInfo;
+}
+
+namespace WebKit {
+class WebString;
+
+class WebHTTPLoadInfo {
+public:
+    WebHTTPLoadInfo() { initialize(); }
+    ~WebHTTPLoadInfo() { reset(); }
+    WebHTTPLoadInfo(const WebHTTPLoadInfo& r) { assign(r); }
+    WebHTTPLoadInfo& operator =(const WebHTTPLoadInfo& r)
+    { 
+        assign(r);
+        return *this;
+    }
+
+    WEBKIT_API void initialize();
+    WEBKIT_API void reset();
+    WEBKIT_API void assign(const WebHTTPLoadInfo& r);
+
+    WEBKIT_API int httpStatusCode() const;
+    WEBKIT_API void setHTTPStatusCode(int);
+
+    WEBKIT_API WebString httpStatusText() const;
+    WEBKIT_API void setHTTPStatusText(const WebString&);
+
+    WEBKIT_API void addRequestHeader(const WebString& name, const WebString& value);
+    WEBKIT_API void addResponseHeader(const WebString& name, const WebString& value);
+
+#if WEBKIT_IMPLEMENTATION
+    WebHTTPLoadInfo(WTF::PassRefPtr<WebCore::ResourceLoadInfo>);
+    operator WTF::PassRefPtr<WebCore::ResourceLoadInfo>() const;
+#endif
+
+private:
+    WebPrivatePtr<WebCore::ResourceLoadInfo> m_private;
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/WebKit/chromium/public/WebIDBCursor.h b/WebKit/chromium/public/WebIDBCursor.h
index 98f7a6b..88b8b22 100644
--- a/WebKit/chromium/public/WebIDBCursor.h
+++ b/WebKit/chromium/public/WebIDBCursor.h
@@ -56,6 +56,9 @@ public:
     virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void remove(WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+
+protected:
+    WebIDBCursor() { }
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h
index 19096cc..1588e23 100644
--- a/WebKit/chromium/public/WebIDBDatabase.h
+++ b/WebKit/chromium/public/WebIDBDatabase.h
@@ -47,9 +47,9 @@ public:
         WEBKIT_ASSERT_NOT_REACHED();
         return WebString();
     }
+    // FIXME: remove after roll.
     virtual WebString description() const
     {
-        WEBKIT_ASSERT_NOT_REACHED();
         return WebString();
     }
     virtual WebString version() const
@@ -57,18 +57,16 @@ public:
         WEBKIT_ASSERT_NOT_REACHED();
         return WebString();
     }
-    virtual WebDOMStringList objectStores() const
-    {
-        WEBKIT_ASSERT_NOT_REACHED();
-        return WebDOMStringList();
-    }
-
+    virtual WebDOMStringList objectStores() const { return objectStoreNames(); } // FIXME: Remove after roll.
+    virtual WebDOMStringList objectStoreNames() const { return objectStores(); } // FIXME: Assert not reached after roll.
     virtual WebIDBObjectStore* createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, const WebIDBTransaction&, WebExceptionCode&)
     { 
         WEBKIT_ASSERT_NOT_REACHED();
         return 0;
     }
-    virtual void removeObjectStore(const WebString& name, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+    virtual void deleteObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { removeObjectStore(name, transaction, ec); }
+    // FIXME: remove after roll.
+    virtual void removeObjectStore(const WebString& name, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteObjectStore(name, transaction, ec); }
     virtual void setVersion(const WebString& version, WebIDBCallbacks* callbacks, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     // Transfers ownership of the WebIDBTransaction to the caller.
     virtual WebIDBTransaction* transaction(const WebDOMStringList& names, unsigned short mode, unsigned long timeout, WebExceptionCode&)
@@ -77,6 +75,9 @@ public:
         return 0;
     }
     virtual void close() { WEBKIT_ASSERT_NOT_REACHED(); }
+
+protected:
+    WebIDBDatabase() { }
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBFactory.h b/WebKit/chromium/public/WebIDBFactory.h
index 66ceadb..5e3337e 100755
--- a/WebKit/chromium/public/WebIDBFactory.h
+++ b/WebKit/chromium/public/WebIDBFactory.h
@@ -51,16 +51,18 @@ public:
 
     virtual ~WebIDBFactory() { }
 
-    // The WebKit implementation of open ignores the WebFrame* parameter.
+    // FIXME: Remove after roll.
     virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize)
     {
-        WEBKIT_ASSERT_NOT_REACHED();
+        open(name, callbacks, origin, webFrame, dataDir, maximumSize);
     }
 
-    // The file name that would be used for persisting a given indexed database on the file system.
-    WEBKIT_API static WebString databaseFileName(const WebSecurityOrigin&);
-    // FIXME: Remove after roll.
-    WEBKIT_API static WebString databaseFileName(const WebString& name, const WebSecurityOrigin&);
+    // The WebKit implementation of open ignores the WebFrame* parameter.
+    virtual void open(const WebString& name, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir, unsigned long long maximumSize)
+    {
+        // WEBKIT_ASSERT_NOT_REACHED();
+        open(name, "", callbacks, origin, webFrame, dataDir, maximumSize);
+    }
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBIndex.h b/WebKit/chromium/public/WebIDBIndex.h
index 0c0d79a..3c07a50 100644
--- a/WebKit/chromium/public/WebIDBIndex.h
+++ b/WebKit/chromium/public/WebIDBIndex.h
@@ -62,49 +62,13 @@ public:
         return false;
     }
 
-    virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&)
-    {
-        WebExceptionCode ec = 0;
-        openObjectCursor(range, direction, callbacks, transaction, ec);
-    }
-    virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction)
-    {
-        openObjectCursor(range, direction, callbacks, transaction);
-    }
-    virtual void openKeyCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&)
-    {
-        WebExceptionCode ec = 0;
-        openKeyCursor(range, direction, callbacks, transaction, ec);
-    }
-    virtual void openKeyCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction)
-    {
-        openKeyCursor(range, direction, callbacks, transaction);
-    }
-    virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&)
-    {
-        WebExceptionCode ec = 0;
-        getObject(key, callbacks, transaction, ec);
-    }
-    virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction)
-    {
-        getObject(key, callbacks, transaction);
-    }
-    virtual void getKey(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&)
-    {
-        WebExceptionCode ec = 0;
-        getKey(key, callbacks, transaction, ec);
-    }
-    virtual void getKey(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction)
-    {
-        getKey(key, callbacks, transaction);
-    }
-
-    /*
     virtual void openObjectCursor(const WebIDBKeyRange&, unsigned short direction, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void openKeyCursor(const WebIDBKeyRange&, unsigned short direction, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void getObject(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void getKey(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
-    */
+
+protected:
+    WebIDBIndex() {}
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBKeyRange.h b/WebKit/chromium/public/WebIDBKeyRange.h
index 82953ce..6a9c6da 100644
--- a/WebKit/chromium/public/WebIDBKeyRange.h
+++ b/WebKit/chromium/public/WebIDBKeyRange.h
@@ -41,14 +41,22 @@ public:
     ~WebIDBKeyRange() { reset(); }
 
     WebIDBKeyRange(const WebIDBKeyRange& keyRange) { assign(keyRange); }
-    WebIDBKeyRange(const WebIDBKey& left, const WebIDBKey& right, unsigned short flags) { assign(left, right, flags); }
+    WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, bool lowerOpen, bool upperOpen) { assign(lower, upper, lowerOpen, upperOpen); }
 
+    // FIXME: Remove next 3 methods after next roll.
+    WebIDBKeyRange(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags) { assign(lower, upper, flags); }
+    WEBKIT_API void assign(const WebIDBKey& lower, const WebIDBKey& upper, unsigned short flags);
+    WEBKIT_API unsigned short flags() const;
     WEBKIT_API WebIDBKey left() const;
     WEBKIT_API WebIDBKey right() const;
-    WEBKIT_API unsigned short flags() const;
+
+    WEBKIT_API WebIDBKey lower() const;
+    WEBKIT_API WebIDBKey upper() const;
+    WEBKIT_API bool lowerOpen() const;
+    WEBKIT_API bool upperOpen() const;
 
     WEBKIT_API void assign(const WebIDBKeyRange&);
-    WEBKIT_API void assign(const WebIDBKey& left, const WebIDBKey& right, unsigned short flags);
+    WEBKIT_API void assign(const WebIDBKey& lower, const WebIDBKey& upper, bool lowerOpen, bool upperOpen);
     WEBKIT_API void reset();
 
 #if WEBKIT_IMPLEMENTATION
diff --git a/WebKit/chromium/public/WebIDBObjectStore.h b/WebKit/chromium/public/WebIDBObjectStore.h
index 89dae02..17562ca 100755
--- a/WebKit/chromium/public/WebIDBObjectStore.h
+++ b/WebKit/chromium/public/WebIDBObjectStore.h
@@ -61,7 +61,9 @@ public:
 
     virtual void get(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void put(const WebSerializedScriptValue&, const WebIDBKey&, bool addOnly, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
-    virtual void remove(const WebIDBKey&, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+    // FIXME: Remove after roll.
+    virtual void remove(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { deleteFunction(key, callbacks, transaction, ec); }
+    virtual void deleteFunction(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode& ec) { remove(key, callbacks, transaction, ec); }
     virtual WebIDBIndex* createIndex(const WebString& name, const WebString& keyPath, bool unique, const WebIDBTransaction&, WebExceptionCode&)
     {
         WEBKIT_ASSERT_NOT_REACHED();
@@ -73,8 +75,11 @@ public:
         WEBKIT_ASSERT_NOT_REACHED();
         return 0;
     }
-    virtual void removeIndex(const WebString& name, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+    virtual void deleteIndex(const WebString& name, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
     virtual void openCursor(const WebIDBKeyRange&, unsigned short direction, WebIDBCallbacks*, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); }
+
+protected:
+    WebIDBObjectStore() {}
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebIDBTransaction.h b/WebKit/chromium/public/WebIDBTransaction.h
index cff7c67..74919a8 100644
--- a/WebKit/chromium/public/WebIDBTransaction.h
+++ b/WebKit/chromium/public/WebIDBTransaction.h
@@ -26,6 +26,7 @@
 #ifndef WebIDBTransaction_h
 #define WebIDBTransaction_h
 
+#include "WebExceptionCode.h"
 #include "WebString.h"
 
 namespace WebCore { class IDBTransactionBackendInterface; }
@@ -45,7 +46,7 @@ public:
         WEBKIT_ASSERT_NOT_REACHED();
         return 0;
     }
-    virtual WebIDBObjectStore* objectStore(const WebString& name)
+    virtual WebIDBObjectStore* objectStore(const WebString& name, WebExceptionCode&)
     {
         WEBKIT_ASSERT_NOT_REACHED();
         return 0;
@@ -60,6 +61,8 @@ public:
         return 0;
     }
 
+protected:
+    WebIDBTransaction() {}
 };
 
 } // namespace WebKit
diff --git a/WebKit/chromium/public/WebInputElement.h b/WebKit/chromium/public/WebInputElement.h
index 0c0764c..3dd7e40 100644
--- a/WebKit/chromium/public/WebInputElement.h
+++ b/WebKit/chromium/public/WebInputElement.h
@@ -80,6 +80,9 @@ namespace WebKit {
         WEBKIT_API int selectionEnd() const;
         WEBKIT_API bool isValidValue(const WebString&) const;
 
+        // Exposes the default value of the maxLength attribute.
+        WEBKIT_API static const int defaultMaxLength;
+
 #if WEBKIT_IMPLEMENTATION
         WebInputElement(const WTF::PassRefPtr<WebCore::HTMLInputElement>&);
         WebInputElement& operator=(const WTF::PassRefPtr<WebCore::HTMLInputElement>&);
diff --git a/WebKit/chromium/public/WebKitClient.h b/WebKit/chromium/public/WebKitClient.h
index 7ced7ad..0c4020f 100644
--- a/WebKit/chromium/public/WebKitClient.h
+++ b/WebKit/chromium/public/WebKitClient.h
@@ -31,6 +31,7 @@
 #ifndef WebKitClient_h
 #define WebKitClient_h
 
+#include "WebAudioBus.h"
 #include "WebCommon.h"
 #include "WebData.h"
 #include "WebLocalizedString.h"
@@ -220,10 +221,15 @@ public:
     // Returns a blob of data corresponding to the named resource.
     virtual WebData loadResource(const char* name) { return WebData(); }
 
-    // Returns a localized string resource (with an optional numeric
-    // parameter value).
+    // Decodes the in-memory audio file data and returns the linear PCM audio data in the destinationBus.
+    // A sample-rate conversion to sampleRate will occur if the file data is at a different sample-rate.
+    // Returns true on success.
+    virtual bool decodeAudioFileData(WebAudioBus* destinationBus, const char* audioFileData, size_t dataSize, double sampleRate) { return false; }
+
+    // Returns a localized string resource (with substitution parameters).
     virtual WebString queryLocalizedString(WebLocalizedString::Name) { return WebString(); }
-    virtual WebString queryLocalizedString(WebLocalizedString::Name, int numericValue) { return WebString(); }
+    virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter) { return WebString(); }
+    virtual WebString queryLocalizedString(WebLocalizedString::Name, const WebString& parameter1, const WebString& parameter2) { return WebString(); }
 
 
     // Sandbox ------------------------------------------------------------
diff --git a/WebKit/chromium/public/WebLocalizedString.h b/WebKit/chromium/public/WebLocalizedString.h
index 8ab5f8d..598e972 100644
--- a/WebKit/chromium/public/WebLocalizedString.h
+++ b/WebKit/chromium/public/WebLocalizedString.h
@@ -59,6 +59,11 @@ struct WebLocalizedString {
         KeygenMenuHighGradeKeySize,
         KeygenMenuMediumGradeKeySize,
         ValidationValueMissing,
+        ValidationValueMissingForCheckbox,
+        ValidationValueMissingForFile,
+        ValidationValueMissingForMultipleFile,
+        ValidationValueMissingForRadio,
+        ValidationValueMissingForSelect,
         ValidationTypeMismatch,
         ValidationTypeMismatchForEmail,
         ValidationTypeMismatchForMultipleEmail,
diff --git a/WebKit/chromium/public/WebResourceRawHeaders.h b/WebKit/chromium/public/WebResourceRawHeaders.h
deleted file mode 100644
index b91e68b..0000000
--- a/WebKit/chromium/public/WebResourceRawHeaders.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2010 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 WebResourceRawHeaders_h
-#define WebResourceRawHeaders_h
-
-#include "WebCommon.h"
-#include "WebPrivatePtr.h"
-
-namespace WebCore {
-struct ResourceRawHeaders;
-}
-
-namespace WebKit {
-class WebHTTPHeaderVisitor;
-class WebResourceRawHeadersMapPrivate;
-class WebString;
-
-class WebResourceRawHeaders {
-public:
-    WebResourceRawHeaders() { initialize(); }
-    ~WebResourceRawHeaders() { reset(); }
-    WebResourceRawHeaders(const WebResourceRawHeaders& r) { assign(r); }
-    WebResourceRawHeaders& operator =(const WebResourceRawHeaders& r)
-    { 
-        assign(r);
-        return *this;
-    }
-
-    WEBKIT_API void initialize();
-    WEBKIT_API void reset();
-    WEBKIT_API void assign(const WebResourceRawHeaders& r);
-    WEBKIT_API void addRequestHeader(const WebString& name, const WebString& value);
-    WEBKIT_API void addResponseHeader(const WebString& name, const WebString& value);
-
-#if WEBKIT_IMPLEMENTATION
-    WebResourceRawHeaders(WTF::PassRefPtr<WebCore::ResourceRawHeaders>);
-    operator WTF::PassRefPtr<WebCore::ResourceRawHeaders>() const;
-#endif
-
-private:
-    WebPrivatePtr<WebCore::ResourceRawHeaders> m_private;
-};
-
-} // namespace WebKit
-
-#endif
diff --git a/WebKit/chromium/public/WebSettings.h b/WebKit/chromium/public/WebSettings.h
index fa21551..0467c96 100644
--- a/WebKit/chromium/public/WebSettings.h
+++ b/WebKit/chromium/public/WebSettings.h
@@ -93,6 +93,11 @@ public:
     virtual void setShowDebugBorders(bool) = 0;
     virtual void setEditingBehavior(EditingBehavior) = 0;
     virtual void setAcceleratedCompositingEnabled(bool) = 0;
+    virtual void setAcceleratedCompositingFor3DTransformsEnabled(bool) = 0;
+    virtual void setAcceleratedCompositingForVideoEnabled(bool) = 0;
+    virtual void setAcceleratedCompositingForCanvasEnabled(bool) = 0;
+    virtual void setAcceleratedCompositingForPluginsEnabled(bool) = 0;
+    virtual void setAcceleratedCompositingForAnimationEnabled(bool) = 0;
     virtual void setAccelerated2dCanvasEnabled(bool) = 0;
     virtual void setMemoryInfoEnabled(bool) = 0;
     virtual void setHyperlinkAuditingEnabled(bool) = 0;
diff --git a/WebKit/chromium/public/WebSpeechInputControllerMock.h b/WebKit/chromium/public/WebSpeechInputControllerMock.h
index 31672ba..e440b89 100644
--- a/WebKit/chromium/public/WebSpeechInputControllerMock.h
+++ b/WebKit/chromium/public/WebSpeechInputControllerMock.h
@@ -44,7 +44,7 @@ public:
         WebSpeechInputListener* listener);
     virtual ~WebSpeechInputControllerMock() { }
 
-    virtual void setMockRecognitionResult(const WebString& result, const WebString& language) = 0;
+    virtual void addMockRecognitionResult(const WebString& result, double confidence, const WebString& language) = 0;
 
     virtual void clearResults() = 0;
 };
diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h
index f78c2db..c50f88e 100644
--- a/WebKit/chromium/public/WebURLResponse.h
+++ b/WebKit/chromium/public/WebURLResponse.h
@@ -42,7 +42,7 @@ namespace WebKit {
 
 class WebCString;
 class WebHTTPHeaderVisitor;
-class WebResourceRawHeaders;
+class WebHTTPLoadInfo;
 class WebString;
 class WebURL;
 class WebURLLoadTiming;
@@ -84,8 +84,8 @@ public:
     WEBKIT_API WebURLLoadTiming loadTiming();
     WEBKIT_API void setLoadTiming(const WebURLLoadTiming&);
 
-    WEBKIT_API WebResourceRawHeaders resourceRawHeaders();
-    WEBKIT_API void setResourceRawHeaders(const WebResourceRawHeaders&);
+    WEBKIT_API WebHTTPLoadInfo httpLoadInfo();
+    WEBKIT_API void setHTTPLoadInfo(const WebHTTPLoadInfo&);
 
     WEBKIT_API double responseTime() const;
     WEBKIT_API void setResponseTime(double);
-- 
cgit v1.1