// 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 EXTENSIONS_BROWSER_EXTENSION_SYSTEM_PROVIDER_H_ #define EXTENSIONS_BROWSER_EXTENSION_SYSTEM_PROVIDER_H_ #include "components/keyed_service/content/browser_context_keyed_service_factory.h" class BrowserContextDependencyManager; namespace content { class BrowserContext; } namespace extensions { class ExtensionSystem; // An ExtensionSystemProvider maps a BrowserContext to its ExtensionSystem. // Different applications may use this to provide differing implementations // of ExtensionSystem. // TODO(yoz): Rename to ExtensionSystemFactory. class ExtensionSystemProvider : public BrowserContextKeyedServiceFactory { public: ExtensionSystemProvider(const char* name, BrowserContextDependencyManager* manager); virtual ~ExtensionSystemProvider(); virtual ExtensionSystem* GetForBrowserContext( content::BrowserContext* context) = 0; }; } // namespace extensions #endif // EXTENSIONS_BROWSER_EXTENSION_SYSTEM_PROVIDER_H_