diff options
Diffstat (limited to 'WebKit/chromium/public')
34 files changed, 389 insertions, 166 deletions
diff --git a/WebKit/chromium/public/WebAccessibilityCache.h b/WebKit/chromium/public/WebAccessibilityCache.h index c9aec1f..bb2fc7b 100644 --- a/WebKit/chromium/public/WebAccessibilityCache.h +++ b/WebKit/chromium/public/WebAccessibilityCache.h @@ -51,8 +51,8 @@ public: virtual bool isInitialized() const = 0; virtual WebAccessibilityObject getObjectById(int) = 0; - virtual bool isValidId(int) const = 0; virtual int addOrGetId(const WebAccessibilityObject& object) = 0; + virtual bool isCached(const WebAccessibilityObject&) = 0; virtual void remove(int) = 0; virtual void clear() = 0; diff --git a/WebKit/chromium/public/WebBlobData.h b/WebKit/chromium/public/WebBlobData.h index 8c0e1aa..67b6cd6 100644 --- a/WebKit/chromium/public/WebBlobData.h +++ b/WebKit/chromium/public/WebBlobData.h @@ -31,7 +31,7 @@ #ifndef WebBlobData_h #define WebBlobData_h -#include "WebCString.h" +#include "WebThreadSafeData.h" #include "WebString.h" #include "WebURL.h" @@ -48,7 +48,7 @@ class WebBlobData { public: struct Item { enum { TypeData, TypeFile, TypeBlob } type; - WebCString data; + WebThreadSafeData data; WebString filePath; WebURL blobURL; long long offset; @@ -72,17 +72,9 @@ public: // index is out of bounds. WEBKIT_API bool itemAt(size_t index, Item& result) const; - // Appends to the list of items. - WEBKIT_API void appendData(const WebCString&); - WEBKIT_API void appendFile(const WebString& filePath); - WEBKIT_API void appendFile(const WebString& filePath, long long offset, long long length, double expectedModificationTime); - WEBKIT_API void appendBlob(const WebURL& blobURL, long long offset, long long length); - WEBKIT_API WebString contentType() const; - WEBKIT_API void setContentType(const WebString&); WEBKIT_API WebString contentDisposition() const; - WEBKIT_API void setContentDisposition(const WebString&); #if WEBKIT_IMPLEMENTATION WebBlobData(const WTF::PassOwnPtr<WebCore::BlobData>&); diff --git a/WebKit/chromium/public/WebBlobRegistry.h b/WebKit/chromium/public/WebBlobRegistry.h index cbd9a99..7c5be55 100644 --- a/WebKit/chromium/public/WebBlobRegistry.h +++ b/WebKit/chromium/public/WebBlobRegistry.h @@ -31,7 +31,7 @@ #ifndef WebBlobRegistry_h #define WebBlobRegistry_h -#include "WebBlobStorageData.h" +#include "WebCommon.h" namespace WebKit { diff --git a/WebKit/chromium/public/WebCommonWorkerClient.h b/WebKit/chromium/public/WebCommonWorkerClient.h index 39d8aa9..b99d39d 100644 --- a/WebKit/chromium/public/WebCommonWorkerClient.h +++ b/WebKit/chromium/public/WebCommonWorkerClient.h @@ -87,6 +87,12 @@ public: virtual bool allowDatabase(WebFrame*, const WebString& name, const WebString& displayName, unsigned long estimatedSize) = 0; // Called on the main webkit thread before opening a file system. + virtual void openFileSystem(WebFileSystem::Type, long long size, bool create, WebFileSystemCallbacks*) + { + WEBKIT_ASSERT_NOT_REACHED(); + } + + // This will be removed once changes in chromium use the new method above. virtual void openFileSystem(WebFileSystem::Type, long long size, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); diff --git a/WebKit/chromium/public/WebDragData.h b/WebKit/chromium/public/WebDragData.h index 2979519..1d704f0 100644 --- a/WebKit/chromium/public/WebDragData.h +++ b/WebKit/chromium/public/WebDragData.h @@ -66,7 +66,7 @@ public: bool isNull() const { return !m_private; } - WEBKIT_API WebURL url() const; + WEBKIT_API WebString url() const; WEBKIT_API void setURL(const WebURL&); WEBKIT_API WebString urlTitle() const; @@ -78,10 +78,10 @@ public: 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 bool containsFilenames() 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&); @@ -92,8 +92,8 @@ public: WEBKIT_API WebURL htmlBaseURL() const; WEBKIT_API void setHTMLBaseURL(const WebURL&); - WEBKIT_API WebString fileContentFileName() const; - WEBKIT_API void setFileContentFileName(const WebString&); + WEBKIT_API WebString fileContentFilename() const; + WEBKIT_API void setFileContentFilename(const WebString&); WEBKIT_API WebData fileContent() const; WEBKIT_API void setFileContent(const WebData&); diff --git a/WebKit/chromium/public/WebElement.h b/WebKit/chromium/public/WebElement.h index 5b6fd6a..8d51e98 100644 --- a/WebKit/chromium/public/WebElement.h +++ b/WebKit/chromium/public/WebElement.h @@ -50,6 +50,7 @@ class WebNamedNodeMap; void assign(const WebElement& e) { WebNode::assign(e); } WEBKIT_API bool isFormControlElement() const; + WEBKIT_API bool isTextFormControlElement() const; WEBKIT_API WebString tagName() const; WEBKIT_API bool hasTagName(const WebString&) const; WEBKIT_API bool hasAttribute(const WebString&) const; diff --git a/WebKit/chromium/public/WebExceptionCode.h b/WebKit/chromium/public/WebExceptionCode.h new file mode 100644 index 0000000..61d53d9 --- /dev/null +++ b/WebKit/chromium/public/WebExceptionCode.h @@ -0,0 +1,41 @@ +/* + * 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 WebExceptionCode_h +#define WebExceptionCode_h + +namespace WebKit { + +// This should match how ExceptionCode is defined in WebCore. +typedef int WebExceptionCode; + +} // namespace WebKit + +#endif diff --git a/WebKit/chromium/public/WebFileSystem.h b/WebKit/chromium/public/WebFileSystem.h index b21235d..7198f31 100644 --- a/WebKit/chromium/public/WebFileSystem.h +++ b/WebKit/chromium/public/WebFileSystem.h @@ -58,10 +58,16 @@ public: virtual void copy(const WebString& srcPath, const WebString& destPath, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } // Deletes a file or directory at a given |path|. + // It is an error to try to remove a directory that is not empty. // WebFileSystemCallbacks::didSucceed() must be called when the operation is completed successfully. // WebFileSystemCallbacks::didFail() must be called otherwise. virtual void remove(const WebString& path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } + // Deletes a file or directory recursively at a given |path|. + // WebFileSystemCallbacks::didSucceed() must be called when the operation is completed successfully. + // WebFileSystemCallbacks::didFail() must be called otherwise. + virtual void removeRecursively(const WebString& path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } + // Retrieves the metadata information of the file or directory at the given |path|. // WebFileSystemCallbacks::didReadMetadata() must be called with a valid metadata when the retrieval is completed successfully. // WebFileSystemCallbacks::didFail() must be called otherwise. diff --git a/WebKit/chromium/public/WebFrame.h b/WebKit/chromium/public/WebFrame.h index 5d41d10..8f2c861 100644 --- a/WebKit/chromium/public/WebFrame.h +++ b/WebKit/chromium/public/WebFrame.h @@ -109,6 +109,9 @@ public: // frame name unique within the hierarchy. virtual void setName(const WebString&) = 0; + // A globally unique identifier for this frame. + virtual long long identifier() const = 0; + // The url of the document loaded in this frame. This is equivalent to // dataSource()->request().url(). virtual WebURL url() const = 0; @@ -547,6 +550,11 @@ public: virtual bool pauseSVGAnimation(const WebString& animationId, double time, const WebString& elementId) = 0; + + // Dumps the layer tree, used by the accelerated compositor, in + // text form. This is used only by layout tests. + virtual WebString layerTreeAsText() const = 0; + protected: ~WebFrame() { } }; diff --git a/WebKit/chromium/public/WebFrameClient.h b/WebKit/chromium/public/WebFrameClient.h index a72e2fd..458604e 100644 --- a/WebKit/chromium/public/WebFrameClient.h +++ b/WebKit/chromium/public/WebFrameClient.h @@ -349,7 +349,13 @@ public: // WebFileSystemCallbacks::didOpenFileSystem() must be called with // a name and root path for the requested FileSystem when the operation // is completed successfully. WebFileSystemCallbacks::didFail() must be - // called otherwise. + // called otherwise. The create bool is for indicating whether or not to + // create root path for file systems if it do not exist. + virtual void openFileSystem( + WebFrame*, WebFileSystem::Type, long long size, + bool create, WebFileSystemCallbacks*) { } + + // This method will be deleted once chromium uses the new method above. virtual void openFileSystem( WebFrame*, WebFileSystem::Type, long long size, WebFileSystemCallbacks*) { } diff --git a/WebKit/chromium/public/WebHTTPBody.h b/WebKit/chromium/public/WebHTTPBody.h index 6e45bf6..8c37622 100644 --- a/WebKit/chromium/public/WebHTTPBody.h +++ b/WebKit/chromium/public/WebHTTPBody.h @@ -32,7 +32,6 @@ #define WebHTTPBody_h #include "WebData.h" -#include "WebFileInfo.h" #include "WebNonCopyable.h" #include "WebString.h" #include "WebURL.h" @@ -54,8 +53,6 @@ public: WebString filePath; long long fileStart; long long fileLength; // -1 means to the end of the file. - // FIXME: remove this field once all users of Element have been switched to use 'modificationTime'. - WebFileInfo fileInfo; double modificationTime; WebURL blobURL; }; @@ -88,8 +85,6 @@ public: WEBKIT_API void appendFile(const WebString&); // Passing -1 to fileLength means to the end of the file. WEBKIT_API void appendFileRange(const WebString&, long long fileStart, long long fileLength, double modificationTime); - // FIXME: Remove this method once all callers have been switched to use the method above. - WEBKIT_API void appendFileRange(const WebString&, long long fileStart, long long fileLength, const WebFileInfo&); WEBKIT_API void appendBlob(const WebURL&); // Identifies a particular form submission instance. A value of 0 is diff --git a/WebKit/chromium/public/WebHistoryItem.h b/WebKit/chromium/public/WebHistoryItem.h index 1b4863e..b5cd02b 100644 --- a/WebKit/chromium/public/WebHistoryItem.h +++ b/WebKit/chromium/public/WebHistoryItem.h @@ -34,9 +34,6 @@ #include "WebCommon.h" #include "WebPrivatePtr.h" -// FIXME: Remove this once Chromium starts using itemSequenceNumber. -#define WEBKIT_BUG_40451_IS_FIXED - namespace WebCore { class HistoryItem; } namespace WebKit { diff --git a/WebKit/chromium/public/WebIDBCallbacks.h b/WebKit/chromium/public/WebIDBCallbacks.h index 2e2c4d2..64ffc08 100644 --- a/WebKit/chromium/public/WebIDBCallbacks.h +++ b/WebKit/chromium/public/WebIDBCallbacks.h @@ -36,6 +36,7 @@ class WebIDBDatabaseError; class WebIDBKey; class WebIDBIndex; class WebIDBObjectStore; +class WebIDBTransaction; class WebSerializedScriptValue; class WebIDBCallbacks { @@ -51,6 +52,7 @@ public: virtual void onSuccess(const WebIDBKey&) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void onSuccess(WebIDBIndex*) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void onSuccess(WebIDBObjectStore*) { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void onSuccess(WebIDBTransaction*) { WEBKIT_ASSERT_NOT_REACHED(); } virtual void onSuccess(const WebSerializedScriptValue&) { WEBKIT_ASSERT_NOT_REACHED(); } }; diff --git a/WebKit/chromium/public/WebIDBCursor.h b/WebKit/chromium/public/WebIDBCursor.h index 05bd51a..2e5e98b 100644 --- a/WebKit/chromium/public/WebIDBCursor.h +++ b/WebKit/chromium/public/WebIDBCursor.h @@ -27,6 +27,7 @@ #define WebIDBCursor_h #include "WebCommon.h" +#include "WebExceptionCode.h" #include "WebIDBCallbacks.h" #include "WebIDBKey.h" #include "WebSerializedScriptValue.h" @@ -52,9 +53,9 @@ public: // One or the other will set, depending on what type of cursor this is. virtual void value(WebSerializedScriptValue& serializedScriptValue, WebIDBKey& idbKey) const { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void remove(WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } + 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(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBDatabase.h b/WebKit/chromium/public/WebIDBDatabase.h index 4e5cdcb..c67a117 100644 --- a/WebKit/chromium/public/WebIDBDatabase.h +++ b/WebKit/chromium/public/WebIDBDatabase.h @@ -28,6 +28,7 @@ #include "WebCommon.h" #include "WebDOMStringList.h" +#include "WebExceptionCode.h" namespace WebKit { @@ -61,22 +62,21 @@ public: WEBKIT_ASSERT_NOT_REACHED(); return WebDOMStringList(); } - virtual void createObjectStore(const WebString& name, const WebString& keyPath, bool autoIncrement, WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } - // Transfers ownership of the WebIDBObjectStore to the caller. - virtual WebIDBObjectStore* objectStore(const WebString& name, unsigned short mode) - { + + 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, WebIDBCallbacks* callbacks) { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void setVersion(const WebString& version, WebIDBCallbacks* callbacks) { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void removeObjectStore(const WebString& name, const WebIDBTransaction&, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } + 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) + virtual WebIDBTransaction* transaction(const WebDOMStringList& names, unsigned short mode, unsigned long timeout, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); return 0; } - + virtual void close() { WEBKIT_ASSERT_NOT_REACHED(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBFactory.h b/WebKit/chromium/public/WebIDBFactory.h index cb5d369..c7fbe02 100755 --- a/WebKit/chromium/public/WebIDBFactory.h +++ b/WebKit/chromium/public/WebIDBFactory.h @@ -52,7 +52,10 @@ public: virtual ~WebIDBFactory() { } // The WebKit implementation of open ignores the WebFrame* parameter. - virtual void open(const WebString& name, const WebString& description, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* webFrame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); } + 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(); + } // The file name that would be used for persisting a given indexed database on the file system. WEBKIT_API static WebString databaseFileName(const WebString& name, const WebSecurityOrigin&); diff --git a/WebKit/chromium/public/WebIDBIndex.h b/WebKit/chromium/public/WebIDBIndex.h index b4ba1f4..7c77878 100644 --- a/WebKit/chromium/public/WebIDBIndex.h +++ b/WebKit/chromium/public/WebIDBIndex.h @@ -26,6 +26,7 @@ #ifndef WebIDBIndex_h #define WebIDBIndex_h +#include "WebExceptionCode.h" #include "WebIDBTransaction.h" #include "WebString.h" @@ -61,43 +62,49 @@ public: return false; } - // FIXME: Remove the versions without transaction parameters. - virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction&) + virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&) { - openObjectCursor(range, direction, callbacks); + WebExceptionCode ec = 0; + openObjectCursor(range, direction, callbacks, transaction, ec); } - virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks) + virtual void openObjectCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction) { - WebIDBTransaction transaction; openObjectCursor(range, direction, callbacks, transaction); } - virtual void openCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction&) + virtual void openKeyCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&) { - openCursor(range, direction, callbacks); + WebExceptionCode ec = 0; + openKeyCursor(range, direction, callbacks, transaction, ec); } - virtual void openCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks) + virtual void openKeyCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction) { - WebIDBTransaction transaction; - openCursor(range, direction, callbacks, transaction); + openKeyCursor(range, direction, callbacks, transaction); } - virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction&) + virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&) { - getObject(key, callbacks); + WebExceptionCode ec = 0; + getObject(key, callbacks, transaction, ec); } - virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks) + virtual void getObject(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction) { - WebIDBTransaction transaction; getObject(key, callbacks, transaction); } - virtual void get(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction&) + virtual void getKey(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction, WebExceptionCode&) { - get(key, callbacks); + WebExceptionCode ec = 0; + getKey(key, callbacks, transaction, ec); } - virtual void get(const WebIDBKey& key, WebIDBCallbacks* callbacks) + virtual void getKey(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction& transaction) { - WebIDBTransaction transaction; - get(key, callbacks, 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(); } + */ }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBObjectStore.h b/WebKit/chromium/public/WebIDBObjectStore.h index 19efd48..f5f1473 100755 --- a/WebKit/chromium/public/WebIDBObjectStore.h +++ b/WebKit/chromium/public/WebIDBObjectStore.h @@ -27,6 +27,7 @@ #define WebIDBObjectStore_h #include "WebCommon.h" +#include "WebExceptionCode.h" #include "WebDOMStringList.h" #include "WebIDBCallbacks.h" #include "WebIDBTransaction.h" @@ -58,52 +59,22 @@ public: return WebDOMStringList(); } - // FIXME: Remove the default parameters for transactionIds. - virtual void get(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction&) + 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(); } + virtual WebIDBIndex* createIndex(const WebString& name, const WebString& keyPath, bool unique, const WebIDBTransaction&, WebExceptionCode&) { - get(key, callbacks); - } - virtual void get(const WebIDBKey& key, WebIDBCallbacks* callbacks) - { - WebIDBTransaction transaction; - get(key, callbacks, transaction); - } - virtual void put(const WebSerializedScriptValue& value, const WebIDBKey& key, bool addOnly, WebIDBCallbacks* callbacks, const WebIDBTransaction&) - { - put(value, key, addOnly, callbacks); - } - virtual void put(const WebSerializedScriptValue& value, const WebIDBKey& key, bool addOnly, WebIDBCallbacks* callbacks) - { - WebIDBTransaction transaction; - put(value, key, addOnly, callbacks, transaction); - } - virtual void remove(const WebIDBKey& key, WebIDBCallbacks* callbacks, const WebIDBTransaction&) - { - remove(key, callbacks); - } - virtual void remove(const WebIDBKey& key, WebIDBCallbacks* callbacks) - { - WebIDBTransaction transaction; - remove(key, callbacks, transaction); + WEBKIT_ASSERT_NOT_REACHED(); + return 0; } - virtual void createIndex(const WebString& name, const WebString& keyPath, bool unique, WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } // Transfers ownership of the WebIDBIndex to the caller. - virtual WebIDBIndex* index(const WebString& name) + virtual WebIDBIndex* index(const WebString& name, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); return 0; } - virtual void removeIndex(const WebString& name, WebIDBCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } - virtual void openCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks, const WebIDBTransaction&) - { - openCursor(range, direction, callbacks); - } - virtual void openCursor(const WebIDBKeyRange& range, unsigned short direction, WebIDBCallbacks* callbacks) - { - WebIDBTransaction transaction; - openCursor(range, direction, callbacks, transaction); - } - // FIXME: finish. + virtual void removeIndex(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(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebIDBTransaction.h b/WebKit/chromium/public/WebIDBTransaction.h index 7b51b97..6a739c3 100644 --- a/WebKit/chromium/public/WebIDBTransaction.h +++ b/WebKit/chromium/public/WebIDBTransaction.h @@ -54,8 +54,7 @@ public: virtual void didCompleteTaskEvents() { WEBKIT_ASSERT_NOT_REACHED(); } virtual int id() const { - // FIXME: Uncomment this after the next Chromium WebKit roll. - //WEBKIT_ASSERT_NOT_REACHED(); + WEBKIT_ASSERT_NOT_REACHED(); return 0; } virtual void setCallbacks(WebIDBTransactionCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); } @@ -63,7 +62,6 @@ public: // FIXME: this is never called from WebCore. Find a cleaner solution. virtual WebCore::IDBTransactionBackendInterface* getIDBTransactionBackendInterface() const { - WEBKIT_ASSERT_NOT_REACHED(); return 0; } diff --git a/WebKit/chromium/public/WebIDBTransactionCallbacks.h b/WebKit/chromium/public/WebIDBTransactionCallbacks.h index 4b92217..c9b6b05 100644 --- a/WebKit/chromium/public/WebIDBTransactionCallbacks.h +++ b/WebKit/chromium/public/WebIDBTransactionCallbacks.h @@ -34,11 +34,8 @@ public: virtual ~WebIDBTransactionCallbacks() { } virtual void onAbort() { WEBKIT_ASSERT_NOT_REACHED(); } - virtual int id() const - { - WEBKIT_ASSERT_NOT_REACHED(); - return 0; - } + virtual void onComplete() { WEBKIT_ASSERT_NOT_REACHED(); } + virtual void onTimeout() { WEBKIT_ASSERT_NOT_REACHED(); } }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebNode.h b/WebKit/chromium/public/WebNode.h index f54ff04..7116dfa 100644 --- a/WebKit/chromium/public/WebNode.h +++ b/WebKit/chromium/public/WebNode.h @@ -96,6 +96,7 @@ public: WEBKIT_API WebNodeList childNodes(); WEBKIT_API WebString createMarkup() const; WEBKIT_API bool isTextNode() const; + WEBKIT_API bool isContentEditable() const; WEBKIT_API bool isElementNode() const; WEBKIT_API void addEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture); WEBKIT_API void removeEventListener(const WebString& eventType, WebDOMEventListener* listener, bool useCapture); diff --git a/WebKit/chromium/public/WebPlugin.h b/WebKit/chromium/public/WebPlugin.h index 816d38b..17e29e2 100644 --- a/WebKit/chromium/public/WebPlugin.h +++ b/WebKit/chromium/public/WebPlugin.h @@ -33,6 +33,7 @@ #include "WebCanvas.h" #include "WebString.h" +#include "WebURL.h" struct NPObject; @@ -42,10 +43,10 @@ class WebDataSource; class WebFrame; class WebInputEvent; class WebPluginContainer; -class WebURL; class WebURLResponse; struct WebCursorInfo; struct WebPluginParams; +struct WebPoint; struct WebRect; struct WebURLError; template <typename T> class WebVector; @@ -98,8 +99,12 @@ public: virtual WebString selectionAsText() const { return WebString(); } virtual WebString selectionAsMarkup() const { return WebString(); } + // If the given position is over a link, returns the absolute url. + // Otherwise an empty url is returned. + virtual WebURL linkAtPosition(const WebPoint& position) const { return WebURL(); } + // Used for zooming of full page plugins. - virtual void setZoomFactor(float scale, bool textOnly) { } + virtual void setZoomLevel(double level, bool textOnly) { } // Find interface. // Start a new search. The plugin should search for a little bit at a time so that it diff --git a/WebKit/chromium/public/WebPluginContainer.h b/WebKit/chromium/public/WebPluginContainer.h index 66ef9ab..af20c66 100644 --- a/WebKit/chromium/public/WebPluginContainer.h +++ b/WebKit/chromium/public/WebPluginContainer.h @@ -78,6 +78,9 @@ public: virtual void loadFrameRequest( const WebURLRequest&, const WebString& target, bool notifyNeeded, void* notifyData) = 0; + // Notifies that the zoom level has changed. + virtual void zoomLevelChanged(double zoomLevel) = 0; + virtual WebPlugin* plugin() = 0; virtual void setPlugin(WebPlugin*) = 0; diff --git a/WebKit/chromium/public/WebResourceRawHeaders.h b/WebKit/chromium/public/WebResourceRawHeaders.h new file mode 100644 index 0000000..b91e68b --- /dev/null +++ b/WebKit/chromium/public/WebResourceRawHeaders.h @@ -0,0 +1,74 @@ +/* + * 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/WebScriptController.h b/WebKit/chromium/public/WebScriptController.h index 5c360b2..368f33d 100644 --- a/WebKit/chromium/public/WebScriptController.h +++ b/WebKit/chromium/public/WebScriptController.h @@ -51,12 +51,7 @@ public: // matching group. // Will only affect v8 contexts initialized after this call. Takes ownership // of the v8::Extension object passed. - // FIXME: remove the latter 2 versions in phase 3 of multipart checkin: - // https://bugs.webkit.org/show_bug.cgi?id=45721 WEBKIT_API static void registerExtension(v8::Extension*); - WEBKIT_API static void registerExtension(v8::Extension*, - const WebString& schemeRestriction); - WEBKIT_API static void registerExtension(v8::Extension*, int extensionGroup); // Enables special settings which are only applicable if V8 is executed // in the single thread which must be the main thread. diff --git a/WebKit/chromium/public/WebBlobStorageData.h b/WebKit/chromium/public/WebThreadSafeData.h index a9c0c8b..a000b39 100644..100755 --- a/WebKit/chromium/public/WebBlobStorageData.h +++ b/WebKit/chromium/public/WebThreadSafeData.h @@ -28,56 +28,50 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef WebBlobStorageData_h -#define WebBlobStorageData_h +#ifndef WebThreadSafeData_h +#define WebThreadSafeData_h -#include "WebBlobData.h" -#include "WebData.h" -#include "WebFileInfo.h" -#include "WebString.h" +#include "WebCommon.h" +#include "WebPrivatePtr.h" -#if WEBKIT_IMPLEMENTATION -namespace WebCore { class BlobStorageData; } -namespace WTF { template <typename T> class PassRefPtr; } +#if !WEBKIT_IMPLEMENTATION +#include <string> #endif -namespace WebKit { +namespace WebCore { class RawData; } -class WebBlobStorageDataPrivate; +namespace WebKit { -class WebBlobStorageData { +// A container for raw bytes. It is inexpensive to copy a WebThreadSafeData object. +// It is safe to pass a WebThreadSafeData across threads!!! +class WebThreadSafeData { public: - ~WebBlobStorageData() { reset(); } - - WebBlobStorageData() : m_private(0) { } + WebThreadSafeData() { } + ~WebThreadSafeData() { reset(); } + WEBKIT_API void assign(const WebThreadSafeData&); WEBKIT_API void reset(); - bool isNull() const { return !m_private; } - - // Returns the number of items. - WEBKIT_API size_t itemCount() const; + WEBKIT_API size_t size() const; + WEBKIT_API const char* data() const; - // Retrieves the values of the item at the given index. Returns false if - // index is out of bounds. - WEBKIT_API bool itemAt(size_t index, WebBlobData::Item& result) const; - - WEBKIT_API WebString contentType() const; - WEBKIT_API WebString contentDisposition() const; + bool isEmpty() const { return !size(); } #if WEBKIT_IMPLEMENTATION - WebBlobStorageData(const WTF::PassRefPtr<WebCore::BlobStorageData>&); - WebBlobStorageData& operator=(const WTF::PassRefPtr<WebCore::BlobStorageData>&); - operator WTF::PassRefPtr<WebCore::BlobStorageData>() const; + WebThreadSafeData(const WTF::PassRefPtr<WebCore::RawData>&); + WebThreadSafeData& operator=(const WTF::PassRefPtr<WebCore::RawData>&); +#else + operator std::string() const + { + size_t len = size(); + return len ? std::string(data(), len) : std::string(); + } #endif private: -#if WEBKIT_IMPLEMENTATION - void assign(const WTF::PassRefPtr<WebCore::BlobStorageData>&); -#endif - WebBlobStorageDataPrivate* m_private; + WebPrivatePtr<WebCore::RawData> m_private; }; } // namespace WebKit -#endif // WebBlobStorageData_h +#endif diff --git a/WebKit/chromium/public/WebURLLoaderClient.h b/WebKit/chromium/public/WebURLLoaderClient.h index 7614ea3..87d100f 100644 --- a/WebKit/chromium/public/WebURLLoaderClient.h +++ b/WebKit/chromium/public/WebURLLoaderClient.h @@ -66,9 +66,6 @@ public: // Called when the load completes successfully. virtual void didFinishLoading(WebURLLoader*, double finishTime) { } - // FIXME: remove this once clients are updated. - virtual void didFinishLoading(WebURLLoader* loader) { didFinishLoading(loader, 0); } - // Called when the load completes with an error. virtual void didFail(WebURLLoader*, const WebURLError&) { } diff --git a/WebKit/chromium/public/WebURLRequest.h b/WebKit/chromium/public/WebURLRequest.h index 36d6791..e64ce80 100644 --- a/WebKit/chromium/public/WebURLRequest.h +++ b/WebKit/chromium/public/WebURLRequest.h @@ -134,6 +134,11 @@ public: WEBKIT_API bool reportLoadTiming() const; WEBKIT_API void setReportLoadTiming(bool); + // Controls whether actual headers sent and received for request are + // collected and reported. + WEBKIT_API bool reportRawHeaders() const; + WEBKIT_API void setReportRawHeaders(bool); + WEBKIT_API TargetType targetType() const; WEBKIT_API void setTargetType(TargetType); diff --git a/WebKit/chromium/public/WebURLResponse.h b/WebKit/chromium/public/WebURLResponse.h index ac75d4c..f78c2db 100644 --- a/WebKit/chromium/public/WebURLResponse.h +++ b/WebKit/chromium/public/WebURLResponse.h @@ -32,6 +32,7 @@ #define WebURLResponse_h #include "WebCommon.h" +#include "WebPrivateOwnPtr.h" #if defined(WEBKIT_IMPLEMENTATION) namespace WebCore { class ResourceResponse; } @@ -41,6 +42,7 @@ namespace WebKit { class WebCString; class WebHTTPHeaderVisitor; +class WebResourceRawHeaders; class WebString; class WebURL; class WebURLLoadTiming; @@ -82,6 +84,9 @@ public: WEBKIT_API WebURLLoadTiming loadTiming(); WEBKIT_API void setLoadTiming(const WebURLLoadTiming&); + WEBKIT_API WebResourceRawHeaders resourceRawHeaders(); + WEBKIT_API void setResourceRawHeaders(const WebResourceRawHeaders&); + WEBKIT_API double responseTime() const; WEBKIT_API void setResponseTime(double); diff --git a/WebKit/chromium/public/WebVideoFrame.h b/WebKit/chromium/public/WebVideoFrame.h index 5e34f2a..58f1111 100644 --- a/WebKit/chromium/public/WebVideoFrame.h +++ b/WebKit/chromium/public/WebVideoFrame.h @@ -53,10 +53,7 @@ public: enum SurfaceType { SurfaceTypeSystemMemory, - SurfaceTypeOMXBufferHead, - SurfaceTypeEGLImage, - SurfaceTypeMFBuffer, - SurfaceTypeDirect3DSurface + SurfaceTypeTexture, }; virtual SurfaceType surfaceType() const = 0; @@ -66,6 +63,7 @@ public: virtual unsigned planes() const = 0; virtual int stride(unsigned plane) const = 0; virtual const void* data(unsigned plane) const = 0; + virtual unsigned texture(unsigned plane) const = 0; }; } // namespace WebKit diff --git a/WebKit/chromium/public/WebView.h b/WebKit/chromium/public/WebView.h index 7a8a4af..e504bd7 100644 --- a/WebKit/chromium/public/WebView.h +++ b/WebKit/chromium/public/WebView.h @@ -54,6 +54,10 @@ struct WebPoint; class WebView : public WebWidget { public: + WEBKIT_API static const double textSizeMultiplierRatio; + WEBKIT_API static const double minTextSizeMultiplier; + WEBKIT_API static const double maxTextSizeMultiplier; + // Controls the time that user scripts injected into the document run. enum UserScriptInjectAt { UserScriptInjectAtDocumentStart, @@ -157,13 +161,18 @@ public: // send it. virtual void clearFocusedNode() = 0; + // Scrolls the node currently in focus into view. + virtual void scrollFocusedNodeIntoView() = 0; + // Zoom ---------------------------------------------------------------- // Returns the current zoom level. 0 is "original size", and each increment - // above or below represents zooming 20% larger or smaller to limits of 300% - // and 50% of original size, respectively. - virtual int zoomLevel() = 0; + // above or below represents zooming 20% larger or smaller to default limits + // of 300% and 50% of original size, respectively. Only plugins use + // non whole-numbers, since they might choose to have specific zoom level so + // that fixed-width content is fit-to-page-width, for example. + virtual double zoomLevel() = 0; // Changes the zoom level to the specified level, clamping at the limits // noted above, and returns the current zoom level after applying the @@ -173,7 +182,16 @@ public: // page will be zoomed. You can only have either text zoom or full page zoom // at one time. Changing the mode while the page is zoomed will have odd // effects. - virtual int setZoomLevel(bool textOnly, int zoomLevel) = 0; + virtual double setZoomLevel(bool textOnly, double zoomLevel) = 0; + + // Updates the zoom limits for this view. + virtual void zoomLimitsChanged(double minimumZoomLevel, + double maximumZoomLevel) = 0; + + // Helper functions to convert between zoom level and zoom factor. zoom + // factor is zoom percent / 100, so 300% = 3.0. + WEBKIT_API static double zoomLevelToZoomFactor(double zoomLevel); + WEBKIT_API static double zoomFactorToZoomLevel(double factor); // Media --------------------------------------------------------------- @@ -208,6 +226,9 @@ public: const WebDragData&, int identity, const WebPoint& clientPoint, const WebPoint& screenPoint, WebDragOperationsMask operationsAllowed) = 0; + virtual WebDragOperation dragTargetDragEnterNew( + int identity, const WebPoint& clientPoint, const WebPoint& screenPoint, + WebDragOperationsMask operationsAllowed) = 0; virtual WebDragOperation dragTargetDragOver( const WebPoint& clientPoint, const WebPoint& screenPoint, WebDragOperationsMask operationsAllowed) = 0; diff --git a/WebKit/chromium/public/WebViewClient.h b/WebKit/chromium/public/WebViewClient.h index 3b0e47a..858cb2a 100644 --- a/WebKit/chromium/public/WebViewClient.h +++ b/WebKit/chromium/public/WebViewClient.h @@ -272,10 +272,6 @@ public: // Accessibility ------------------------------------------------------- - // Notifies embedder that the focus has changed to the given - // accessibility object. - virtual void focusAccessibilityObject(const WebAccessibilityObject&) { } - // Notifies embedder about an accessibility notification. virtual void postAccessibilityNotification(const WebAccessibilityObject&, WebAccessibilityNotification) { } @@ -348,6 +344,17 @@ public: // Access the embedder API for device orientation services. virtual WebDeviceOrientationClient* deviceOrientationClient() { return 0; } + + // Zoom ---------------------------------------------------------------- + + // Informs the browser that the zoom levels for this frame have changed from + // the default values. + virtual void zoomLimitsChanged(double minimumLevel, double maximumLevel) { } + + // Informs the browser that the zoom level has changed as a result of an + // action that wasn't initiated by the client. + virtual void zoomLevelChanged() { } + protected: ~WebViewClient() { } }; diff --git a/WebKit/chromium/public/linux/WebThemeEngine.h b/WebKit/chromium/public/linux/WebThemeEngine.h new file mode 100644 index 0000000..fd72cf7 --- /dev/null +++ b/WebKit/chromium/public/linux/WebThemeEngine.h @@ -0,0 +1,89 @@ +/* + * 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 WebThemeEngine_h +#define WebThemeEngine_h + +#include "../WebCanvas.h" +#include "../WebColor.h" +#include "../WebSize.h" + +namespace WebKit { + +struct WebRect; + +class WebThemeEngine { +public: + // The UI part which is being accessed. + enum Part { + PartScrollbarDownArrow, + PartScrollbarLeftArrow, + PartScrollbarRightArrow, + PartScrollbarUpArrow, + PartScrollbarHorizontalThumb, + PartScrollbarVerticalThumb, + PartScrollbarHoriztonalTrack, + PartScrollbarVerticalTrack + }; + + // The current state of the associated Part. + enum State { + StateDisabled, + StateHover, + StateNormal, + StatePressed, + }; + + // Extra parameters for drawing the PartScrollbarHoriztonalTrack and + // PartScrollbarVerticalTrack. + struct ScrollbarTrackExtraParams { + // The bounds of the entire track, as opposed to the part being painted. + int trackX; + int trackY; + int trackWidth; + int trackHeight; + }; + + union ExtraParams { + ScrollbarTrackExtraParams scrollbarTrack; + }; + + // Gets the size of the given theme part. For variable sized items + // like vertical scrollbar thumbs, the width will be the required width of + // the track while the height will be the minimum height. + virtual WebSize getSize(Part) { return WebSize(); } + // Paint the given the given theme part. + virtual void paint( + WebCanvas*, Part, State, const WebRect&, const ExtraParams*) {} +}; + +} // namespace WebKit + +#endif diff --git a/WebKit/chromium/public/WebThemeEngine.h b/WebKit/chromium/public/win/WebThemeEngine.h index ab59fa2..1890db6 100644 --- a/WebKit/chromium/public/WebThemeEngine.h +++ b/WebKit/chromium/public/win/WebThemeEngine.h @@ -31,8 +31,9 @@ #ifndef WebThemeEngine_h #define WebThemeEngine_h -#include "WebCanvas.h" -#include "WebColor.h" +#include "../WebCanvas.h" +#include "../WebColor.h" +#include "../WebSize.h" namespace WebKit { @@ -41,7 +42,6 @@ struct WebSize; class WebThemeEngine { public: -#ifdef WIN32 // The part and state parameters correspond to values defined by the // Windows Theme API (see // http://msdn.microsoft.com/en-us/library/bb773187(VS.85).aspx ). @@ -83,8 +83,6 @@ public: virtual void paintProgressBar( WebCanvas*, const WebRect& barRect, const WebRect& valueRect, bool determinate, double animatedSeconds) {} - -#endif }; } // namespace WebKit |
