Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2366)

Unified Diff: apps/shell/common/shell_extensions_client.cc

Issue 412713002: Move apps/shell to extensions/shell. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 40% Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « apps/shell/common/shell_extensions_client.h ('k') | apps/shell/common/switches.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: apps/shell/common/shell_extensions_client.cc
diff --git a/apps/shell/common/shell_extensions_client.cc b/apps/shell/common/shell_extensions_client.cc
deleted file mode 100644
index cc2f055762b6cd7c08ecf3489361376bae8f035b..0000000000000000000000000000000000000000
--- a/apps/shell/common/shell_extensions_client.cc
+++ /dev/null
@@ -1,216 +0,0 @@
-// 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 "apps/shell/common/shell_extensions_client.h"
-
-#include "apps/shell/common/api/generated_schemas.h"
-#include "base/lazy_instance.h"
-#include "base/logging.h"
-#include "extensions/common/api/generated_schemas.h"
-#include "extensions/common/api/sockets/sockets_manifest_handler.h"
-#include "extensions/common/common_manifest_handlers.h"
-#include "extensions/common/features/api_feature.h"
-#include "extensions/common/features/base_feature_provider.h"
-#include "extensions/common/features/json_feature_provider_source.h"
-#include "extensions/common/features/manifest_feature.h"
-#include "extensions/common/features/permission_feature.h"
-#include "extensions/common/features/simple_feature.h"
-#include "extensions/common/manifest_handler.h"
-#include "extensions/common/permissions/permission_message_provider.h"
-#include "extensions/common/permissions/permissions_info.h"
-#include "extensions/common/permissions/permissions_provider.h"
-#include "extensions/common/url_pattern_set.h"
-#include "grit/app_shell_resources.h"
-#include "grit/extensions_resources.h"
-
-using extensions::APIPermissionInfo;
-using extensions::APIPermissionSet;
-using extensions::BaseFeatureProvider;
-using extensions::Extension;
-using extensions::FeatureProvider;
-using extensions::JSONFeatureProviderSource;
-using extensions::Manifest;
-using extensions::PermissionMessage;
-using extensions::PermissionMessages;
-using extensions::PermissionSet;
-using extensions::URLPatternSet;
-
-namespace apps {
-
-namespace {
-
-template <class FeatureClass>
-extensions::SimpleFeature* CreateFeature() {
- return new FeatureClass;
-}
-
-// TODO(jamescook): Refactor ChromePermissionsMessageProvider so we can share
-// code. For now, this implementation does nothing.
-class ShellPermissionMessageProvider
- : public extensions::PermissionMessageProvider {
- public:
- ShellPermissionMessageProvider() {}
- virtual ~ShellPermissionMessageProvider() {}
-
- // PermissionMessageProvider implementation.
- virtual PermissionMessages GetPermissionMessages(
- const PermissionSet* permissions,
- Manifest::Type extension_type) const OVERRIDE {
- return PermissionMessages();
- }
-
- virtual std::vector<base::string16> GetWarningMessages(
- const PermissionSet* permissions,
- Manifest::Type extension_type) const OVERRIDE {
- return std::vector<base::string16>();
- }
-
- virtual std::vector<base::string16> GetWarningMessagesDetails(
- const PermissionSet* permissions,
- Manifest::Type extension_type) const OVERRIDE {
- return std::vector<base::string16>();
- }
-
- virtual bool IsPrivilegeIncrease(
- const PermissionSet* old_permissions,
- const PermissionSet* new_permissions,
- Manifest::Type extension_type) const OVERRIDE {
- // Ensure we implement this before shipping.
- CHECK(false);
- return false;
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ShellPermissionMessageProvider);
-};
-
-base::LazyInstance<ShellPermissionMessageProvider>
- g_permission_message_provider = LAZY_INSTANCE_INITIALIZER;
-
-} // namespace
-
-ShellExtensionsClient::ShellExtensionsClient()
- : extensions_api_permissions_(extensions::ExtensionsAPIPermissions()) {
-}
-
-ShellExtensionsClient::~ShellExtensionsClient() {
-}
-
-void ShellExtensionsClient::Initialize() {
- extensions::RegisterCommonManifestHandlers();
-
- // TODO(rockot): API manifest handlers which move out to src/extensions
- // should either end up in RegisterCommonManifestHandlers or some new
- // initialization step specifically for API manifest handlers.
- (new extensions::SocketsManifestHandler)->Register();
-
- extensions::ManifestHandler::FinalizeRegistration();
- // TODO(jamescook): Do we need to whitelist any extensions?
-
- extensions::PermissionsInfo::GetInstance()->AddProvider(
- extensions_api_permissions_);
-}
-
-const extensions::PermissionMessageProvider&
-ShellExtensionsClient::GetPermissionMessageProvider() const {
- NOTIMPLEMENTED();
- return g_permission_message_provider.Get();
-}
-
-scoped_ptr<FeatureProvider> ShellExtensionsClient::CreateFeatureProvider(
- const std::string& name) const {
- scoped_ptr<FeatureProvider> provider;
- scoped_ptr<JSONFeatureProviderSource> source(
- CreateFeatureProviderSource(name));
- if (name == "api") {
- provider.reset(new BaseFeatureProvider(
- source->dictionary(), CreateFeature<extensions::APIFeature>));
- } else if (name == "manifest") {
- provider.reset(new BaseFeatureProvider(
- source->dictionary(), CreateFeature<extensions::ManifestFeature>));
- } else if (name == "permission") {
- provider.reset(new BaseFeatureProvider(
- source->dictionary(), CreateFeature<extensions::PermissionFeature>));
- } else {
- NOTREACHED();
- }
- return provider.Pass();
-}
-
-scoped_ptr<JSONFeatureProviderSource>
-ShellExtensionsClient::CreateFeatureProviderSource(
- const std::string& name) const {
- scoped_ptr<JSONFeatureProviderSource> source(
- new JSONFeatureProviderSource(name));
- if (name == "api") {
- source->LoadJSON(IDR_EXTENSION_API_FEATURES);
- source->LoadJSON(IDR_SHELL_EXTENSION_API_FEATURES);
- } else if (name == "manifest") {
- source->LoadJSON(IDR_EXTENSION_MANIFEST_FEATURES);
- } else if (name == "permission") {
- source->LoadJSON(IDR_EXTENSION_PERMISSION_FEATURES);
- } else {
- NOTREACHED();
- source.reset();
- }
- return source.Pass();
-}
-
-void ShellExtensionsClient::FilterHostPermissions(
- const URLPatternSet& hosts,
- URLPatternSet* new_hosts,
- std::set<PermissionMessage>* messages) const {
- NOTIMPLEMENTED();
-}
-
-void ShellExtensionsClient::SetScriptingWhitelist(
- const ScriptingWhitelist& whitelist) {
- scripting_whitelist_ = whitelist;
-}
-
-const extensions::ExtensionsClient::ScriptingWhitelist&
-ShellExtensionsClient::GetScriptingWhitelist() const {
- // TODO(jamescook): Real whitelist.
- return scripting_whitelist_;
-}
-
-URLPatternSet ShellExtensionsClient::GetPermittedChromeSchemeHosts(
- const Extension* extension,
- const APIPermissionSet& api_permissions) const {
- NOTIMPLEMENTED();
- return URLPatternSet();
-}
-
-bool ShellExtensionsClient::IsScriptableURL(const GURL& url,
- std::string* error) const {
- NOTIMPLEMENTED();
- return true;
-}
-
-bool ShellExtensionsClient::IsAPISchemaGenerated(
- const std::string& name) const {
- // TODO(rockot): Remove dependency on src/chrome once we have some core APIs
- // moved out. See http://crbug.com/349042.
- // Special-case our simplified app.runtime implementation because we don't
- // have the Chrome app APIs available.
- return extensions::core_api::GeneratedSchemas::IsGenerated(name) ||
- apps::shell_api::GeneratedSchemas::IsGenerated(name);
-}
-
-base::StringPiece ShellExtensionsClient::GetAPISchema(
- const std::string& name) const {
- // Schema for chrome.shell APIs.
- if (apps::shell_api::GeneratedSchemas::IsGenerated(name))
- return apps::shell_api::GeneratedSchemas::Get(name);
-
- return extensions::core_api::GeneratedSchemas::Get(name);
-}
-
-void ShellExtensionsClient::RegisterAPISchemaResources(
- extensions::ExtensionAPI* api) const {
-}
-
-bool ShellExtensionsClient::ShouldSuppressFatalErrors() const { return true; }
-
-} // namespace apps
« no previous file with comments | « apps/shell/common/shell_extensions_client.h ('k') | apps/shell/common/switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698