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..469d49f1bc1c34cad3fac7846fb190798f94e532 |
| --- /dev/null |
| +++ b/extensions/renderer/renderer_extension_registry.cc |
| @@ -0,0 +1,122 @@ |
| +// Copyright 2013 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/callback.h" |
|
not at google - send to devlin
2015/08/17 20:43:05
(delete this)
annekao
2015/08/17 23:51:10
Done.
|
| +#include "base/logging.h" |
| +#include "base/stl_util.h" |
| +#include "extensions/common/constants.h" |
| +#include "extensions/common/extension.h" |
| +#include "extensions/common/manifest_handlers/sandboxed_page_info.h" |
| + |
| +namespace extensions { |
| + |
| +static base::LazyInstance<RendererExtensionRegistry> |
| + g_renderer_extension_registry = LAZY_INSTANCE_INITIALIZER; |
|
not at google - send to devlin
2015/08/17 20:43:05
Put this in an anonymous namespace, not static.
annekao
2015/08/17 23:51:10
Done.
|
| + |
| +RendererExtensionRegistry::RendererExtensionRegistry() {} |
| + |
| +RendererExtensionRegistry::~RendererExtensionRegistry() {} |
| + |
| +// static |
| +RendererExtensionRegistry* RendererExtensionRegistry::GetRegistry() { |
| + return g_renderer_extension_registry.Pointer(); |
| +} |
| + |
| +ExtensionSet* RendererExtensionRegistry::GetMainThreadExtensionSet() { |
| + 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::InsertAll(const ExtensionSet& extensions) { |
| + base::AutoLock lock(lock_); |
| + return extensions_.InsertAll(extensions); |
| +} |
| + |
| +bool RendererExtensionRegistry::Remove(const std::string& id) { |
| + base::AutoLock lock(lock_); |
| + return extensions_.Remove(id); |
| +} |
| + |
| +void RendererExtensionRegistry::Clear() { |
| + base::AutoLock lock(lock_); |
| + extensions_.Clear(); |
| +} |
| + |
| +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::GetAppByURL(const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetAppByURL(url); |
| +} |
| + |
| +const Extension* RendererExtensionRegistry::GetHostedAppByURL( |
| + const GURL& url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetHostedAppByURL(url); |
| +} |
| + |
| +const Extension* RendererExtensionRegistry::GetHostedAppByOverlappingWebExtent( |
| + const URLPatternSet& extent) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.GetHostedAppByOverlappingWebExtent(extent); |
| +} |
| + |
| +bool RendererExtensionRegistry::InSameExtent(const GURL& old_url, |
| + const GURL& new_url) const { |
| + base::AutoLock lock(lock_); |
| + return extensions_.InSameExtent(old_url, new_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 |