summaryrefslogtreecommitdiffstats
path: root/chrome/browser/in_process_webkit
diff options
context:
space:
mode:
authorhans@chromium.org <hans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-16 09:38:59 +0000
committerhans@chromium.org <hans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-16 09:38:59 +0000
commit927843f13a5ba127760c0ba1db92d48ad3ba85f5 (patch)
treed6a574fccba988380204ea5dfba32ec49e38f91a /chrome/browser/in_process_webkit
parentb962c22c0d5c725b3ecf49b7d8a2f510b5da7836 (diff)
downloadchromium_src-927843f13a5ba127760c0ba1db92d48ad3ba85f5.zip
chromium_src-927843f13a5ba127760c0ba1db92d48ad3ba85f5.tar.gz
chromium_src-927843f13a5ba127760c0ba1db92d48ad3ba85f5.tar.bz2
Implement WebKitClientImpl::databaseDeleteFile.
Calls to SQLiteFileSystem::deleteDatabaseFile() end up here. So far, this functionality does not seem to have been used, but it is needed for deleting empty local storage databases as per the bug below. BUG=39067 TEST=None. Will be covered by test for the bug in question. Review URL: http://codereview.chromium.org/2846004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49913 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/in_process_webkit')
-rw-r--r--chrome/browser/in_process_webkit/browser_webkitclient_impl.cc8
-rw-r--r--chrome/browser/in_process_webkit/browser_webkitclient_impl.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc b/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc
index b9cd9a5..6ed0680 100644
--- a/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc
+++ b/chrome/browser/in_process_webkit/browser_webkitclient_impl.cc
@@ -4,11 +4,13 @@
#include "chrome/browser/in_process_webkit/browser_webkitclient_impl.h"
+#include "base/file_util.h"
#include "base/logging.h"
#include "chrome/browser/in_process_webkit/dom_storage_dispatcher_host.h"
#include "third_party/WebKit/WebKit/chromium/public/WebData.h"
#include "third_party/WebKit/WebKit/chromium/public/WebString.h"
#include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
+#include "webkit/glue/webkit_glue.h"
BrowserWebKitClientImpl::BrowserWebKitClientImpl() {
file_system_.set_sandbox_enabled(false);
@@ -130,3 +132,9 @@ BrowserWebKitClientImpl::sharedWorkerRepository() {
NOTREACHED();
return NULL;
}
+
+int BrowserWebKitClientImpl::databaseDeleteFile(
+ const WebKit::WebString& vfs_file_name, bool sync_dir) {
+ const FilePath path = webkit_glue::WebStringToFilePath(vfs_file_name);
+ return file_util::Delete(path, false) ? 0 : 1;
+}
diff --git a/chrome/browser/in_process_webkit/browser_webkitclient_impl.h b/chrome/browser/in_process_webkit/browser_webkitclient_impl.h
index c81503a9..bbd6018 100644
--- a/chrome/browser/in_process_webkit/browser_webkitclient_impl.h
+++ b/chrome/browser/in_process_webkit/browser_webkitclient_impl.h
@@ -42,6 +42,8 @@ class BrowserWebKitClientImpl : public webkit_glue::WebKitClientImpl {
const WebKit::WebString& origin, const WebKit::WebURL& url,
bool isLocalStorage);
virtual WebKit::WebSharedWorkerRepository* sharedWorkerRepository();
+ virtual int databaseDeleteFile(const WebKit::WebString& vfs_file_name,
+ bool sync_dir);
private:
webkit_glue::WebFileSystemImpl file_system_;