summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/sandboxed_file_system_context.h
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-03 03:21:37 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-03 03:21:37 +0000
commit09a31602ef7b10148b28b894bdbf7cc359443084 (patch)
tree9eb740e700a27db1a2ea947cb94e1f989e10ebd0 /webkit/fileapi/sandboxed_file_system_context.h
parent815cce6882ce16b8fd022acfe8d764599dd060fa (diff)
downloadchromium_src-09a31602ef7b10148b28b894bdbf7cc359443084.zip
chromium_src-09a31602ef7b10148b28b894bdbf7cc359443084.tar.gz
chromium_src-09a31602ef7b10148b28b894bdbf7cc359443084.tar.bz2
Delete FileSystem API data when uninstalling extensions.
BUG=63700 TEST=load an extension that keeps writing to file system and unload it. See if the origin data under the profile is deleted. Review URL: http://codereview.chromium.org/5272010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68143 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/sandboxed_file_system_context.h')
-rw-r--r--webkit/fileapi/sandboxed_file_system_context.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/webkit/fileapi/sandboxed_file_system_context.h b/webkit/fileapi/sandboxed_file_system_context.h
index ad6e2b8..6c72bc0 100644
--- a/webkit/fileapi/sandboxed_file_system_context.h
+++ b/webkit/fileapi/sandboxed_file_system_context.h
@@ -9,6 +9,7 @@
#include "base/scoped_ptr.h"
class FilePath;
+class GURL;
namespace base {
class MessageLoopProxy;
@@ -18,6 +19,9 @@ namespace fileapi {
class FileSystemPathManager;
class FileSystemQuotaManager;
+class SandboxedFileSystemContext;
+
+struct DefaultContextDeleter;
// This class keeps and provides a sandboxed file system context.
class SandboxedFileSystemContext {
@@ -32,11 +36,17 @@ class SandboxedFileSystemContext {
void Shutdown();
+ void DeleteDataForOriginOnFileThread(const GURL& origin_url);
+
FileSystemPathManager* path_manager() { return path_manager_.get(); }
FileSystemQuotaManager* quota_manager() { return quota_manager_.get(); }
private:
+ friend struct DefaultContextDeleter;
+ void DeleteOnCorrectThread() const;
+
bool allow_file_access_from_files_;
+ scoped_refptr<base::MessageLoopProxy> file_message_loop_;
scoped_ptr<FileSystemPathManager> path_manager_;
scoped_ptr<FileSystemQuotaManager> quota_manager_;