Make the ChromeOS chromecast system tray integration use a private API.
[chromium-blink-merge.git] / chrome / browser / extensions / menu_manager_factory.h
blob5e71738d0ea75d9d5dd52a1f945949be50cc2dc7
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_
6 #define CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/singleton.h"
10 #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
12 namespace content {
13 class BrowserContext;
16 namespace extensions {
17 class MenuManager;
19 class MenuManagerFactory : public BrowserContextKeyedServiceFactory {
20 public:
21 static MenuManager* GetForBrowserContext(content::BrowserContext* context);
23 static MenuManagerFactory* GetInstance();
25 static scoped_ptr<KeyedService> BuildServiceInstanceForTesting(
26 content::BrowserContext* context);
28 private:
29 friend struct DefaultSingletonTraits<MenuManagerFactory>;
31 MenuManagerFactory();
32 ~MenuManagerFactory() override;
34 KeyedService* BuildServiceInstanceFor(
35 content::BrowserContext* context) const override;
36 content::BrowserContext* GetBrowserContextToUse(
37 content::BrowserContext* context) const override;
38 bool ServiceIsCreatedWithBrowserContext() const override;
39 bool ServiceIsNULLWhileTesting() const override;
42 } // namespace extensions
44 #endif // CHROME_BROWSER_EXTENSIONS_MENU_MANAGER_FACTORY_H_