Chromium Code Reviews| Index: extensions/renderer/renderer_extension_registry.cc |
| diff --git a/extensions/renderer/renderer_extension_registry.cc b/extensions/renderer/renderer_extension_registry.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8fa8ff6c8433217438910b72c3fad52a7f1ef36e |
| --- /dev/null |
| +++ b/extensions/renderer/renderer_extension_registry.cc |
| @@ -0,0 +1,98 @@ |
| +// Copyright 2015 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. |
| + |
| +#include "extensions/renderer/renderer_extension_registry.h" |
| + |
| +#include "base/logging.h" |
| +#include "base/stl_util.h" |
|
Devlin
2015/08/18 15:40:55
?
annekao
2015/08/18 17:43:31
Done.
|
| +#include "extensions/common/constants.h" |
|
Devlin
2015/08/18 15:40:55
?
|
| +#include "extensions/common/extension.h" |
|
Devlin
2015/08/18 15:40:55
might not even need this one...
|
| +#include "extensions/common/manifest_handlers/sandboxed_page_info.h" |
|
Devlin
2015/08/18 15:40:55
?
|
| + |
| +namespace extensions { |
| + |
| +namespace { |
| + |
| +base::LazyInstance<RendererExtensionRegistry> g_renderer_extension_registry = |
| + LAZY_INSTANCE_INITIALIZER; |
| +} |
| + |
| +RendererExtensionRegistry::RendererExtensionRegistry() {} |
| + |
| +RendererExtensionRegistry::~RendererExtensionRegistry() {} |
| + |
| +// static |
| +RendererExtensionRegistry* RendererExtensionRegistry::Get() { |
| + return g_renderer_extension_registry.Pointer(); |
| +} |
| + |
| +const ExtensionSet* RendererExtensionRegistry::GetMainThreadExtensionSet() |
| + const { |
| + base::AutoLock lock(lock_); |
| + return &extensions_; |
| +} |
| + |
| +size_t RendererExtensionRegistry::size() const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.size(); |
| +} |
| + |
| +bool RendererExtensionRegistry::is_empty() const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.is_empty(); |
| +} |
| + |
| +bool RendererExtensionRegistry::Contains( |
| + const std::string& extension_id) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.Contains(extension_id); |
| +} |
| + |
| +bool RendererExtensionRegistry::Insert( |
| + const scoped_refptr<const Extension>& extension) { |
| + base::AutoLock lock(lock_); |
| + return extensions_.Insert(extension); |
| +} |
| + |
| +bool RendererExtensionRegistry::Remove(const std::string& id) { |
| + base::AutoLock lock(lock_); |
| + return extensions_.Remove(id); |
| +} |
| + |
| +std::string RendererExtensionRegistry::GetExtensionOrAppIDByURL( |
| + const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetExtensionOrAppIDByURL(url); |
| +} |
| + |
| +const Extension* RendererExtensionRegistry::GetExtensionOrAppByURL( |
| + const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetExtensionOrAppByURL(url); |
| +} |
| + |
| +const Extension* RendererExtensionRegistry::GetHostedAppByURL( |
| + const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetHostedAppByURL(url); |
| +} |
| + |
| +const Extension* RendererExtensionRegistry::GetByID( |
| + const std::string& id) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetByID(id); |
| +} |
| + |
| +ExtensionIdSet RendererExtensionRegistry::GetIDs() const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetIDs(); |
| +} |
| + |
| +bool RendererExtensionRegistry::ExtensionBindingsAllowed( |
| + const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.ExtensionBindingsAllowed(url); |
| +} |
| + |
| +} // namespace extensions |