// 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 "base/macros.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& factory, const scoped_refptr>& observers, std::map* caches) override; void AttachWebContentsHelpers(content::WebContents* web_contents) const override; AppViewGuestDelegate* CreateAppViewGuestDelegate() const override; ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate( ExtensionOptionsGuest* guest) const override; scoped_ptr CreateGuestViewManagerDelegate( content::BrowserContext* context) const override; scoped_ptr 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 CreateContentRulesRegistry( content::BrowserContext* browser_context, RulesCacheDelegate* cache_delegate) const override; scoped_ptr CreateDevicePermissionsPrompt( content::WebContents* web_contents) const override; scoped_ptr 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_