extensions_browser_client.cc 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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.
  4. #include "extensions/browser/extensions_browser_client.h"
  5. #include <memory>
  6. #include "base/files/file_path.h"
  7. #include "base/logging.h"
  8. #include "base/memory/ref_counted_memory.h"
  9. #include "components/update_client/update_client.h"
  10. #include "extensions/browser/extension_api_frame_id_map.h"
  11. #include "extensions/browser/extension_error.h"
  12. #include "extensions/browser/updater/scoped_extension_updater_keep_alive.h"
  13. #include "extensions/common/permissions/permission_set.h"
  14. namespace extensions {
  15. namespace {
  16. ExtensionsBrowserClient* g_extension_browser_client = NULL;
  17. } // namespace
  18. ExtensionsBrowserClient::ExtensionsBrowserClient() {}
  19. ExtensionsBrowserClient::~ExtensionsBrowserClient() = default;
  20. ExtensionsBrowserClient* ExtensionsBrowserClient::Get() {
  21. return g_extension_browser_client;
  22. }
  23. void ExtensionsBrowserClient::Set(ExtensionsBrowserClient* client) {
  24. g_extension_browser_client = client;
  25. }
  26. void ExtensionsBrowserClient::RegisterExtensionFunctions(
  27. ExtensionFunctionRegistry* registry) {
  28. for (const auto& provider : providers_)
  29. provider->RegisterExtensionFunctions(registry);
  30. }
  31. void ExtensionsBrowserClient::AddAPIProvider(
  32. std::unique_ptr<ExtensionsBrowserAPIProvider> provider) {
  33. providers_.push_back(std::move(provider));
  34. }
  35. scoped_refptr<update_client::UpdateClient>
  36. ExtensionsBrowserClient::CreateUpdateClient(content::BrowserContext* context) {
  37. return scoped_refptr<update_client::UpdateClient>(nullptr);
  38. }
  39. std::unique_ptr<ScopedExtensionUpdaterKeepAlive>
  40. ExtensionsBrowserClient::CreateUpdaterKeepAlive(
  41. content::BrowserContext* context) {
  42. return nullptr;
  43. }
  44. void ExtensionsBrowserClient::ReportError(
  45. content::BrowserContext* context,
  46. std::unique_ptr<ExtensionError> error) {
  47. LOG(ERROR) << error->GetDebugString();
  48. }
  49. bool ExtensionsBrowserClient::IsActivityLoggingEnabled(
  50. content::BrowserContext* context) {
  51. return false;
  52. }
  53. void ExtensionsBrowserClient::GetTabAndWindowIdForWebContents(
  54. content::WebContents* web_contents,
  55. int* tab_id,
  56. int* window_id) {
  57. *tab_id = -1;
  58. *window_id = -1;
  59. }
  60. bool ExtensionsBrowserClient::IsExtensionEnabled(
  61. const std::string& extension_id,
  62. content::BrowserContext* context) const {
  63. return false;
  64. }
  65. bool ExtensionsBrowserClient::IsWebUIAllowedToMakeNetworkRequests(
  66. const url::Origin& origin) {
  67. return false;
  68. }
  69. network::mojom::NetworkContext*
  70. ExtensionsBrowserClient::GetSystemNetworkContext() {
  71. return nullptr;
  72. }
  73. UserScriptListener* ExtensionsBrowserClient::GetUserScriptListener() {
  74. return nullptr;
  75. }
  76. void ExtensionsBrowserClient::SignalContentScriptsLoaded(
  77. content::BrowserContext* context) {}
  78. std::string ExtensionsBrowserClient::GetUserAgent() const {
  79. return std::string();
  80. }
  81. bool ExtensionsBrowserClient::ShouldSchemeBypassNavigationChecks(
  82. const std::string& scheme) const {
  83. return false;
  84. }
  85. base::FilePath ExtensionsBrowserClient::GetSaveFilePath(
  86. content::BrowserContext* context) {
  87. return base::FilePath();
  88. }
  89. void ExtensionsBrowserClient::SetLastSaveFilePath(
  90. content::BrowserContext* context,
  91. const base::FilePath& path) {}
  92. bool ExtensionsBrowserClient::HasIsolatedStorage(
  93. const std::string& extension_id,
  94. content::BrowserContext* context) {
  95. return false;
  96. }
  97. bool ExtensionsBrowserClient::IsScreenshotRestricted(
  98. content::WebContents* web_contents) const {
  99. return false;
  100. }
  101. bool ExtensionsBrowserClient::IsValidTabId(content::BrowserContext* context,
  102. int tab_id) const {
  103. return false;
  104. }
  105. void ExtensionsBrowserClient::NotifyExtensionApiTabExecuteScript(
  106. content::BrowserContext* context,
  107. const ExtensionId& extension_id,
  108. const std::string& code) const {}
  109. bool ExtensionsBrowserClient::IsExtensionTelemetryServiceEnabled(
  110. content::BrowserContext* context) const {
  111. return false;
  112. }
  113. bool ExtensionsBrowserClient::
  114. IsExtensionTelemetryRemoteHostContactedSignalEnabled() const {
  115. return false;
  116. }
  117. void ExtensionsBrowserClient::NotifyExtensionRemoteHostContacted(
  118. content::BrowserContext* context,
  119. const ExtensionId& extension_id,
  120. const GURL& url) const {}
  121. bool ExtensionsBrowserClient::IsUsbDeviceAllowedByPolicy(
  122. content::BrowserContext* context,
  123. const ExtensionId& extension_id,
  124. int vendor_id,
  125. int product_id) const {
  126. return false;
  127. }
  128. void ExtensionsBrowserClient::GetFavicon(
  129. content::BrowserContext* browser_context,
  130. const Extension* extension,
  131. const GURL& url,
  132. base::CancelableTaskTracker* tracker,
  133. base::OnceCallback<void(scoped_refptr<base::RefCountedMemory> bitmap_data)>
  134. callback) const {}
  135. std::vector<content::BrowserContext*>
  136. ExtensionsBrowserClient::GetRelatedContextsForExtension(
  137. content::BrowserContext* browser_context,
  138. const Extension& extension) const {
  139. return {browser_context};
  140. }
  141. void ExtensionsBrowserClient::AddAdditionalAllowedHosts(
  142. const PermissionSet& desired_permissions,
  143. PermissionSet* granted_permissions) const {}
  144. } // namespace extensions