1// Copyright 2014 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 5#include "chrome/browser/extensions/extension_management_constants.h" 6 7#include "base/macros.h" 8 9namespace extensions { 10namespace schema_constants { 11 12const char kWildcard[] = "*"; 13 14const char kInstallationMode[] = "installation_mode"; 15const char kAllowed[] = "allowed"; 16const char kBlocked[] = "blocked"; 17const char kForceInstalled[] = "force_installed"; 18const char kNormalInstalled[] = "normal_installed"; 19 20const char kUpdateUrl[] = "update_url"; 21const char kInstallSources[] = "install_sources"; 22const char kAllowedTypes[] = "allowed_types"; 23 24const char kUpdateUrlPrefix[] = "update_url:"; 25 26const AllowedTypesMapEntry kAllowedTypesMap[] = { 27 { "extension", Manifest::TYPE_EXTENSION }, 28 { "theme", Manifest::TYPE_THEME }, 29 { "user_script", Manifest::TYPE_USER_SCRIPT }, 30 { "hosted_app", Manifest::TYPE_HOSTED_APP }, 31 { "legacy_packaged_app", Manifest::TYPE_LEGACY_PACKAGED_APP }, 32 { "platform_app", Manifest::TYPE_PLATFORM_APP }, 33 // TODO(binjin): Add shared_module type here and update ExtensionAllowedTypes 34 // policy. 35}; 36 37const size_t kAllowedTypesMapSize = arraysize(kAllowedTypesMap); 38 39Manifest::Type GetManifestType(const std::string& name) { 40 for (size_t index = 0; index < kAllowedTypesMapSize; ++index) { 41 if (kAllowedTypesMap[index].name == name) 42 return kAllowedTypesMap[index].manifest_type; 43 } 44 return Manifest::TYPE_UNKNOWN; 45} 46 47} // namespace schema_constants 48} // namespace extensions 49