blob: 91071bb88780edd64d3b08706b1c4ec3dab2fd14 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2013 The Chromium Authors
benwells@chromium.orgb673a5942013-11-14 11:14:192// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_
6#define CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_
7
dchengc963c7142016-04-08 03:55:228#include <memory>
9
benwells@chromium.orgb673a5942013-11-14 11:14:1910#include "base/memory/singleton.h"
Ryan Sultanem66dded2b2022-08-22 10:34:1511#include "chrome/browser/profiles/profile_keyed_service_factory.h"
benwells@chromium.orgb673a5942013-11-14 11:14:1912
oshima@chromium.orgf5fede02014-07-29 02:48:2113namespace content {
14class BrowserContext;
15}
benwells@chromium.orgb673a5942013-11-14 11:14:1916
17namespace extensions {
18class MenuManager;
19
Ryan Sultanem66dded2b2022-08-22 10:34:1520class MenuManagerFactory : public ProfileKeyedServiceFactory {
benwells@chromium.orgb673a5942013-11-14 11:14:1921 public:
oshima@chromium.orgf5fede02014-07-29 02:48:2122 static MenuManager* GetForBrowserContext(content::BrowserContext* context);
benwells@chromium.orgb673a5942013-11-14 11:14:1923
24 static MenuManagerFactory* GetInstance();
25
dchengc963c7142016-04-08 03:55:2226 static std::unique_ptr<KeyedService> BuildServiceInstanceForTesting(
gpdavis.chromium@gmail.com69e1c12d2014-08-13 08:25:3427 content::BrowserContext* context);
28
benwells@chromium.orgb673a5942013-11-14 11:14:1929 private:
olli.raula36aa8be2015-09-10 11:14:2230 friend struct base::DefaultSingletonTraits<MenuManagerFactory>;
benwells@chromium.orgb673a5942013-11-14 11:14:1931
32 MenuManagerFactory();
dchengae36a4a2014-10-21 12:36:3633 ~MenuManagerFactory() override;
benwells@chromium.orgb673a5942013-11-14 11:14:1934
dchengae36a4a2014-10-21 12:36:3635 KeyedService* BuildServiceInstanceFor(
mostynba15bee12014-10-04 00:40:3236 content::BrowserContext* context) const override;
dchengae36a4a2014-10-21 12:36:3637 bool ServiceIsCreatedWithBrowserContext() const override;
38 bool ServiceIsNULLWhileTesting() const override;
benwells@chromium.orgb673a5942013-11-14 11:14:1939};
40
41} // namespace extensions
42
43#endif // CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_