diff options
author | Inna Palant <ipalant@google.com> | 2023-12-12 19:56:22 -0800 |
---|---|---|
committer | Inna Palant <ipalant@google.com> | 2023-12-12 19:56:22 -0800 |
commit | 1ee1f36e3b492d7a6a0bf2367fe509365853aeaa (patch) | |
tree | a5790e155ff0d998639beb6172dfa0feb294aac9 /libcef/browser/extensions/extension_system_factory.h | |
parent | 1e76199e6f0ded437fca14eb9e512e0c6bd0fc1e (diff) | |
parent | c33b736614ef77e4048cee551999a656a5ef465f (diff) | |
download | cef-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.h | 42 |
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_ |