Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1342)

Side by Side Diff: content/browser/storage_partition.h

Issue 10600009: Support partitioning of storage contexts based on render_id. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebased Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CONTENT_BROWSER_STORAGE_PARTITION_H_
6 #define CONTENT_BROWSER_STORAGE_PARTITION_H_
7
8 #include "base/file_path.h"
9 #include "base/memory/ref_counted.h"
10
11 namespace fileapi {
12 class FileSystemContext;
13 }
14
15 namespace quota {
16 class QuotaManager;
17 }
18
19 namespace webkit_database {
20 class DatabaseTracker;
21 }
22
23 class ChromeAppCacheService;
24 class DOMStorageContextImpl;
25
26 namespace content {
27
28 class BrowserContext;
29 class IndexedDBContext;
30
31 // Defines the what persistent state a child process can access.
32 //
33 // The StoragePartition defines the view each child process has of the
34 // persistent state inside the BrowserContext. This is used to implement
35 // isolated storage where a renderer with isolated storage cannot see
36 // the cookies, localStorage, etc., that normal web renderers have access to.
37 class StoragePartition {
38 public:
39 ~StoragePartition();
40
41 // TODO(ajwong): Break the direct dependency on |context|. We only
42 // need 3 pieces of info from it.
43 static StoragePartition* Create(BrowserContext* context,
44 const FilePath& partition_path);
45
46 quota::QuotaManager* quota_manager() { return quota_manager_; }
47 ChromeAppCacheService* appcache_service() { return appcache_service_; }
48 fileapi::FileSystemContext* filesystem_context() {
49 return filesystem_context_;
50 }
51 webkit_database::DatabaseTracker* database_tracker() {
52 return database_tracker_;
53 }
54 DOMStorageContextImpl* dom_storage_context() { return dom_storage_context_; }
55 IndexedDBContext* indexed_db_context() { return indexed_db_context_; }
56
57 private:
58 StoragePartition(const FilePath& partition_path,
59 quota::QuotaManager* quota_manager,
60 ChromeAppCacheService* appcache_service,
61 fileapi::FileSystemContext* filesystem_context,
62 webkit_database::DatabaseTracker* database_tracker,
63 DOMStorageContextImpl* dom_storage_context,
64 IndexedDBContext* indexed_db_context);
65
66 FilePath partition_path_;
67 scoped_refptr<quota::QuotaManager> quota_manager_;
68 scoped_refptr<ChromeAppCacheService> appcache_service_;
69 scoped_refptr<fileapi::FileSystemContext> filesystem_context_;
70 scoped_refptr<webkit_database::DatabaseTracker> database_tracker_;
71 scoped_refptr<DOMStorageContextImpl> dom_storage_context_;
72 scoped_refptr<IndexedDBContext> indexed_db_context_;
73 };
74
75 } // namespace content
76
77 #endif // CONTENT_BROWSER_STORAGE_PARTITION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698