diff options
author | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-27 23:06:34 +0000 |
---|---|---|
committer | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-27 23:06:34 +0000 |
commit | 017022b726b9e1b7ceb022c3b046b0cadb0302f9 (patch) | |
tree | 7fb115ea6421413029ae4f35ca7b6d09fc66fc95 /webkit/api | |
parent | 0f9813550e8055faab81e77a9e134b3cff3aa3b3 (diff) | |
download | chromium_src-017022b726b9e1b7ceb022c3b046b0cadb0302f9.zip chromium_src-017022b726b9e1b7ceb022c3b046b0cadb0302f9.tar.gz chromium_src-017022b726b9e1b7ceb022c3b046b0cadb0302f9.tar.bz2 |
Adding HTML5 DB support to Chromium: Chromium changes
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/74001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21736 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/api')
-rw-r--r-- | webkit/api/public/WebKit.h | 4 | ||||
-rw-r--r-- | webkit/api/public/WebKitClient.h | 24 | ||||
-rw-r--r-- | webkit/api/src/ChromiumBridge.cpp | 16 | ||||
-rw-r--r-- | webkit/api/src/WebKit.cpp | 14 |
4 files changed, 46 insertions, 12 deletions
diff --git a/webkit/api/public/WebKit.h b/webkit/api/public/WebKit.h index f824808..94bb8b0 100644 --- a/webkit/api/public/WebKit.h +++ b/webkit/api/public/WebKit.h @@ -86,6 +86,10 @@ namespace WebKit { // Purge the plugin list cache. WEBKIT_API void resetPluginCache(); + // Enables HTML5 database support. + WEBKIT_API void enableDatabases(); + WEBKIT_API bool databasesEnabled(); + } // namespace WebKit #endif diff --git a/webkit/api/public/WebKitClient.h b/webkit/api/public/WebKitClient.h index 6e84c8d..a63ae3d 100644 --- a/webkit/api/public/WebKitClient.h +++ b/webkit/api/public/WebKitClient.h @@ -34,6 +34,10 @@ #include "WebCommon.h" #include "WebLocalizedString.h" +#if defined(OS_WIN) +#include <windows.h> +#endif + namespace WebKit { class WebClipboard; class WebData; @@ -154,6 +158,26 @@ namespace WebKit { // Callable from a background WebKit thread. virtual void callOnMainThread(void (*func)()) = 0; + + // HTML5 DB ------------------------------------------------------------ + +#if defined(OS_WIN) +typedef HANDLE FileType; +#else +typedef int FileType; +#endif + + // Opens a database file + virtual FileType databaseOpenFile(const WebString& fileName, int desiredFlags) = 0; + + // Deletes a database file and returns the error code + virtual bool databaseDeleteFile(const WebString& fileName) = 0; + + // Returns the attributes of the given database file + virtual long databaseGetFileAttributes(const WebString& fileName) = 0; + + // Returns the size of the given database file + virtual long long databaseGetFileSize(const WebString& fileName) = 0; }; } // namespace WebKit diff --git a/webkit/api/src/ChromiumBridge.cpp b/webkit/api/src/ChromiumBridge.cpp index 93ac857..5f0461f 100644 --- a/webkit/api/src/ChromiumBridge.cpp +++ b/webkit/api/src/ChromiumBridge.cpp @@ -429,30 +429,22 @@ bool ChromiumBridge::isLinkVisited(WebCore::LinkHash visitedLinkHash) PlatformFileHandle ChromiumBridge::databaseOpenFile(const String& fileName, int desiredFlags) { - // FIXME: un-stub when the code on the browser process side is submitted - //return webKitClient()->databaseOpenFile(WebString(fileName), desiredFlags); - return invalidPlatformFileHandle; + return webKitClient()->databaseOpenFile(WebString(fileName), desiredFlags); } bool ChromiumBridge::databaseDeleteFile(const String& fileName) { - // FIXME: un-stub when the code on the browser process side is submitted - //return webKitClient()->databaseDeleteFile(WebString(fileName)); - return false; + return webKitClient()->databaseDeleteFile(WebString(fileName)); } long ChromiumBridge::databaseGetFileAttributes(const String& fileName) { - // FIXME: un-stub when the code on the browser process side is submitted - //return webKitClient()->databaseGetFileAttributes(WebString(fileName)); - return 0L; + return webKitClient()->databaseGetFileAttributes(WebString(fileName)); } long long ChromiumBridge::databaseGetFileSize(const String& fileName) { - // FIXME: un-stub when the code on the browser process side is submitted - //return webKitClient()->databaseGetFileSize(WebString(fileName)); - return 0LL; + return webKitClient()->databaseGetFileSize(WebString(fileName)); } #endif diff --git a/webkit/api/src/WebKit.cpp b/webkit/api/src/WebKit.cpp index 0bdbf42..e88a7a8 100644 --- a/webkit/api/src/WebKit.cpp +++ b/webkit/api/src/WebKit.cpp @@ -47,6 +47,7 @@ namespace WebKit { static WebKitClient* s_webKitClient = 0; static bool s_layoutTestMode = false; +static bool s_databasesEnabled = false; void initialize(WebKitClient* webKitClient) { @@ -123,4 +124,17 @@ void resetPluginCache() WebCore::Page::refreshPlugins(false); } +void enableDatabases() +{ +#if ENABLE(DATABASE) + s_databasesEnabled = true; +#endif +} + +bool databasesEnabled() +{ + return s_databasesEnabled; +} + + } // namespace WebKit |