Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / extension_management_constants.cc
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
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
20 const char kBlockedPermissions[] = "blocked_permissions";
21 const char kAllowedPermissions[] = "allowed_permissions";
22
23 const char kUpdateUrl[] = "update_url";
24 const char kInstallSources[] = "install_sources";
25 const char kAllowedTypes[] = "allowed_types";
26
27 const char kUpdateUrlPrefix[] = "update_url:";
28
29 const AllowedTypesMapEntry kAllowedTypesMap[] = {
30   { "extension",           Manifest::TYPE_EXTENSION },
31   { "theme",               Manifest::TYPE_THEME },
32   { "user_script",         Manifest::TYPE_USER_SCRIPT },
33   { "hosted_app",          Manifest::TYPE_HOSTED_APP },
34   { "legacy_packaged_app", Manifest::TYPE_LEGACY_PACKAGED_APP },
35   { "platform_app",        Manifest::TYPE_PLATFORM_APP },
36   // TODO(binjin): Add shared_module type here and update ExtensionAllowedTypes
37   // policy.
38 };
39
40 const size_t kAllowedTypesMapSize = arraysize(kAllowedTypesMap);
41
42 Manifest::Type GetManifestType(const std::string& name) {
43   for (size_t index = 0; index < kAllowedTypesMapSize; ++index) {
44     if (kAllowedTypesMap[index].name == name)
45       return kAllowedTypesMap[index].manifest_type;
46   }
47   return Manifest::TYPE_UNKNOWN;
48 }
49
50 }  // namespace schema_constants
51 }  // namespace extensions