summaryrefslogtreecommitdiffstats
path: root/webkit/api
diff options
context:
space:
mode:
authordumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-27 23:06:34 +0000
committerdumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-27 23:06:34 +0000
commit017022b726b9e1b7ceb022c3b046b0cadb0302f9 (patch)
tree7fb115ea6421413029ae4f35ca7b6d09fc66fc95 /webkit/api
parent0f9813550e8055faab81e77a9e134b3cff3aa3b3 (diff)
downloadchromium_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.h4
-rw-r--r--webkit/api/public/WebKitClient.h24
-rw-r--r--webkit/api/src/ChromiumBridge.cpp16
-rw-r--r--webkit/api/src/WebKit.cpp14
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