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

Unified Diff: chrome/browser/extensions/settings/settings_storage_frontend.h

Issue 10784035: Refactored SettingsFrontend and forwarding of calls to the backends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/settings/settings_storage_frontend.h
diff --git a/chrome/browser/extensions/settings/settings_storage_frontend.h b/chrome/browser/extensions/settings/settings_storage_frontend.h
new file mode 100644
index 0000000000000000000000000000000000000000..b1a205ea92cbcffd635ef66e83061d48e21ad203
--- /dev/null
+++ b/chrome/browser/extensions/settings/settings_storage_frontend.h
@@ -0,0 +1,56 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_FRONTEND_H_
+#define CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_FRONTEND_H_
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "base/memory/ref_counted.h"
+#include "chrome/browser/extensions/settings/settings_namespace_frontend.h"
+#include "chrome/browser/extensions/settings/settings_observer.h"
+#include "chrome/browser/extensions/settings/settings_storage_quota_enforcer.h"
+
+class FilePath;
+
+namespace extensions {
+
+class SettingsBackend;
+class SettingsStorageFactory;
+
+// The frontend for the LOCAL and SYNC namespaces. It owns a backend for
+// apps and another for extensions. Each backend takes care of persistence and
+// syncing.
+class SettingsStorageFrontend : public SettingsNamespaceFrontend {
not at google - send to devlin 2012/07/18 07:46:18 If you go with the ValueStoreCache thing, call thi
Joao da Silva 2012/07/18 21:40:25 Done.
+ public:
+ SettingsStorageFrontend(settings_namespace::Namespace settings_namespace,
+ const scoped_refptr<SettingsStorageFactory>& factory,
+ const SettingsStorageQuotaEnforcer::Limits& quota,
+ const scoped_refptr<SettingsObserverList>& observers,
+ const FilePath& profile_path);
+ virtual ~SettingsStorageFrontend();
+
+ // This specific implementation executes the |callback| in the FILE thread,
+ // with the storage for |extension| provided by the appropriate backend.
+ virtual void RunWithStorage(const Extension* extension,
+ const StorageCallback& callback) OVERRIDE;
+
+ virtual void DeleteStorageSoon(const std::string& extension_id) OVERRIDE;
+
+ SettingsBackend* GetAppBackend() const;
+ SettingsBackend* GetExtensionBackend() const;
+
+ private:
+ class BackendWrapper;
+
+ settings_namespace::Namespace settings_namespace_;
+ scoped_refptr<BackendWrapper> app_backend_;
+ scoped_refptr<BackendWrapper> extension_backend_;
+
+ DISALLOW_COPY_AND_ASSIGN(SettingsStorageFrontend);
+};
+
+} // namespace extensions
+
+#endif // CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_FRONTEND_H_

Powered by Google App Engine
This is Rietveld 408576698