1// Copyright 2014 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.
4
5#include "extensions/browser/api/extensions_api_client.h"
6
7#include "base/logging.h"
8#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h"
9#include "extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h"
10
11namespace extensions {
12class AppViewGuestDelegate;
13
14namespace {
15ExtensionsAPIClient* g_instance = NULL;
16}  // namespace
17
18ExtensionsAPIClient::ExtensionsAPIClient() { g_instance = this; }
19
20ExtensionsAPIClient::~ExtensionsAPIClient() { g_instance = NULL; }
21
22// static
23ExtensionsAPIClient* ExtensionsAPIClient::Get() { return g_instance; }
24
25void ExtensionsAPIClient::AddAdditionalValueStoreCaches(
26    content::BrowserContext* context,
27    const scoped_refptr<SettingsStorageFactory>& factory,
28    const scoped_refptr<ObserverListThreadSafe<SettingsObserver> >& observers,
29    std::map<settings_namespace::Namespace, ValueStoreCache*>* caches) {}
30
31AppViewGuestDelegate* ExtensionsAPIClient::CreateAppViewGuestDelegate() const {
32  return NULL;
33}
34
35ExtensionOptionsGuestDelegate*
36ExtensionsAPIClient::CreateExtensionOptionsGuestDelegate(
37    ExtensionOptionsGuest* guest) const {
38  return NULL;
39}
40
41scoped_ptr<MimeHandlerViewGuestDelegate>
42ExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
43    MimeHandlerViewGuest* guest) const {
44  return scoped_ptr<MimeHandlerViewGuestDelegate>();
45}
46
47WebViewGuestDelegate* ExtensionsAPIClient::CreateWebViewGuestDelegate(
48    WebViewGuest* web_view_guest) const {
49  return NULL;
50}
51
52WebViewPermissionHelperDelegate* ExtensionsAPIClient::
53    CreateWebViewPermissionHelperDelegate(
54        WebViewPermissionHelper* web_view_permission_helper) const {
55  return new WebViewPermissionHelperDelegate(web_view_permission_helper);
56}
57
58scoped_refptr<RulesRegistry> ExtensionsAPIClient::GetRulesRegistry(
59    content::BrowserContext* browser_context,
60    const RulesRegistry::WebViewKey& webview_key,
61    const std::string& event_name) {
62  return scoped_refptr<RulesRegistry>();
63}
64
65WebRequestEventRouterDelegate*
66ExtensionsAPIClient::CreateWebRequestEventRouterDelegate() const {
67  return NULL;
68}
69
70scoped_refptr<ContentRulesRegistry>
71ExtensionsAPIClient::CreateContentRulesRegistry(
72    content::BrowserContext* browser_context,
73    RulesCacheDelegate* cache_delegate) const {
74  return scoped_refptr<ContentRulesRegistry>();
75}
76
77}  // namespace extensions
78