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 |