summaryrefslogtreecommitdiff
path: root/libcef/browser/extensions/extension_system_factory.h
diff options
context:
space:
mode:
authorInna Palant <ipalant@google.com>2023-12-12 19:56:22 -0800
committerInna Palant <ipalant@google.com>2023-12-12 19:56:22 -0800
commit1ee1f36e3b492d7a6a0bf2367fe509365853aeaa (patch)
treea5790e155ff0d998639beb6172dfa0feb294aac9 /libcef/browser/extensions/extension_system_factory.h
parent1e76199e6f0ded437fca14eb9e512e0c6bd0fc1e (diff)
parentc33b736614ef77e4048cee551999a656a5ef465f (diff)
downloadcef-main.tar.gz
Merge remote-tracking branch 'origin/upstream'main
Import b/312293934
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_