blob: 0f0083bbaa15243392041684acbfddc55ec6d0ee [file] [log] [blame]
// 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 CHROME_BROWSER_EXTENSIONS_API_CHROME_EXTENSIONS_API_CLIENT_H_
#define CHROME_BROWSER_EXTENSIONS_API_CHROME_EXTENSIONS_API_CLIENT_H_
#include "base/compiler_specific.h"
#include "extensions/browser/api/extensions_api_client.h"
namespace extensions {
// Extra support for extensions APIs in Chrome.
class ChromeExtensionsAPIClient : public ExtensionsAPIClient {
public:
ChromeExtensionsAPIClient();
~ChromeExtensionsAPIClient() override;
// ExtensionsApiClient implementation.
void AddAdditionalValueStoreCaches(
content::BrowserContext* context,
const scoped_refptr<SettingsStorageFactory>& factory,
const scoped_refptr<ObserverListThreadSafe<SettingsObserver>>& observers,
std::map<settings_namespace::Namespace, ValueStoreCache*>* caches)
override;
AppViewGuestDelegate* CreateAppViewGuestDelegate() const override;
ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate(
ExtensionOptionsGuest* guest) const override;
scoped_ptr<MimeHandlerViewGuestDelegate> CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const override;
WebViewGuestDelegate* CreateWebViewGuestDelegate(
WebViewGuest* web_view_guest) const override;
WebViewPermissionHelperDelegate* CreateWebViewPermissionHelperDelegate(
WebViewPermissionHelper* web_view_permission_helper) const override;
WebRequestEventRouterDelegate* CreateWebRequestEventRouterDelegate()
const override;
scoped_refptr<ContentRulesRegistry> CreateContentRulesRegistry(
content::BrowserContext* browser_context,
RulesCacheDelegate* cache_delegate) const override;
scoped_ptr<DevicePermissionsPrompt> CreateDevicePermissionsPrompt(
content::WebContents* web_contents) const override;
scoped_ptr<VirtualKeyboardDelegate> CreateVirtualKeyboardDelegate()
const override;
ManagementAPIDelegate* CreateManagementAPIDelegate() const override;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeExtensionsAPIClient);
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_API_CHROME_EXTENSIONS_API_CLIENT_H_