summaryrefslogtreecommitdiff
path: root/libcef/browser/extensions/extension_system_factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcef/browser/extensions/extension_system_factory.h')
-rw-r--r--libcef/browser/extensions/extension_system_factory.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/libcef/browser/extensions/extension_system_factory.h b/libcef/browser/extensions/extension_system_factory.h
new file mode 100644
index 00000000..004ee93e
--- /dev/null
+++ b/libcef/browser/extensions/extension_system_factory.h
@@ -0,0 +1,42 @@
+// Copyright 2014 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 CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_
+#define CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_
+
+#include "base/memory/singleton.h"
+#include "extensions/browser/extension_system_provider.h"
+
+namespace extensions {
+
+// Factory that provides CefExtensionSystem.
+class CefExtensionSystemFactory : public ExtensionSystemProvider {
+ public:
+ CefExtensionSystemFactory(const CefExtensionSystemFactory&) = delete;
+ CefExtensionSystemFactory& operator=(const CefExtensionSystemFactory&) =
+ delete;
+
+ // ExtensionSystemProvider implementation:
+ ExtensionSystem* GetForBrowserContext(
+ content::BrowserContext* context) override;
+
+ static CefExtensionSystemFactory* GetInstance();
+
+ private:
+ friend struct base::DefaultSingletonTraits<CefExtensionSystemFactory>;
+
+ CefExtensionSystemFactory();
+ ~CefExtensionSystemFactory() override;
+
+ // BrowserContextKeyedServiceFactory implementation:
+ KeyedService* BuildServiceInstanceFor(
+ content::BrowserContext* context) const override;
+ content::BrowserContext* GetBrowserContextToUse(
+ content::BrowserContext* context) const override;
+ bool ServiceIsCreatedWithBrowserContext() const override;
+};
+
+} // namespace extensions
+
+#endif // CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_