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/stl_util.h"
8 
9 namespace extensions {
10 namespace schema_constants {
11 
12 const char kWildcard[] = "*";
13 
14 const char kInstallationMode[] = "installation_mode";
15 const char kAllowed[] = "allowed";
16 const char kBlocked[] = "blocked";
17 const char kForceInstalled[] = "force_installed";
18 const char kNormalInstalled[] = "normal_installed";
19 const char kRemoved[] = "removed";
20 
21 const char kBlockedPermissions[] = "blocked_permissions";
22 const char kAllowedPermissions[] = "allowed_permissions";
23 
24 const char kPolicyBlockedHosts[] = "runtime_blocked_hosts";
25 const char kPolicyAllowedHosts[] = "runtime_allowed_hosts";
26 const size_t kMaxItemsURLPatternSet = 100;
27 
28 const char kUpdateUrl[] = "update_url";
29 const char kInstallSources[] = "install_sources";
30 const char kAllowedTypes[] = "allowed_types";
31 
32 const char kMinimumVersionRequired[] = "minimum_version_required";
33 
34 const char kUpdateUrlPrefix[] = "update_url:";
35 
36 const char kBlockedInstallMessage[] = "blocked_install_message";
37 
38 const char kToolbarPin[] = "toolbar_pin";
39 const char kForcePinned[] = "force_pinned";
40 const char kDefaultUnpinned[] = "default_unpinned";
41 
42 const AllowedTypesMapEntry kAllowedTypesMap[] = {
43   { "extension",           Manifest::TYPE_EXTENSION },
44   { "theme",               Manifest::TYPE_THEME },
45   { "user_script",         Manifest::TYPE_USER_SCRIPT },
46   { "hosted_app",          Manifest::TYPE_HOSTED_APP },
47   { "legacy_packaged_app", Manifest::TYPE_LEGACY_PACKAGED_APP },
48   { "platform_app",        Manifest::TYPE_PLATFORM_APP },
49   // TODO(binjin): Add shared_module type here and update ExtensionAllowedTypes
50   // policy.
51 };
52 
53 const size_t kAllowedTypesMapSize = base::size(kAllowedTypesMap);
54 
GetManifestType(const std::string & name)55 Manifest::Type GetManifestType(const std::string& name) {
56   for (size_t index = 0; index < kAllowedTypesMapSize; ++index) {
57     if (kAllowedTypesMap[index].name == name)
58       return kAllowedTypesMap[index].manifest_type;
59   }
60   return Manifest::TYPE_UNKNOWN;
61 }
62 
63 }  // namespace schema_constants
64 }  // namespace extensions
65