4ed0b96649782eb5580f096a1a788cf146c30bae
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / application_manifest_constants.cc
1 // Copyright (c) 2012 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 "xwalk/application/common/application_manifest_constants.h"
6
7 namespace xwalk {
8
9 namespace application_manifest_keys {
10
11 // Official fields (ordered as spec):
12
13 const char kNameKey[] = "name";
14 const char kDisplay[] = "display";
15 const char kStartURLKey[] = "start_url";
16 const char kCSPKey[] = "csp";
17
18 // Deprecated entries:
19
20 const char kAppKey[] = "app";
21 const char kLaunchLocalPathKey[] = "app.launch.local_path";
22 const char kLaunchWebURLKey[] = "app.launch.web_url";
23 const char kDeprecatedURLKey[] = "url";
24 const char kDeprecatedVersionKey[] = "version";
25 const char kDeprecatedDescriptionKey[] = "description";
26 const char kDeprecatedCSPKey[] = "content_security_policy";
27 const char kLaunchScreen[] = "launch_screen";
28 const char kLaunchScreenDefault[] = "launch_screen.default";
29 const char kLaunchScreenImageBorderDefault[] =
30     "launch_screen.default.image_border";
31 const char kLaunchScreenImageBorderLandscape[] =
32     "launch_screen.landscape.image_border";
33 const char kLaunchScreenImageBorderPortrait[] =
34     "launch_screen.portrait.image_border";
35 const char kLaunchScreenLandscape[] =
36     "launch_screen.landscape";
37 const char kLaunchScreenPortrait[] =
38     "launch_screen.portrait";
39 const char kLaunchScreenReadyWhen[] =
40     "launch_screen.ready_when";
41
42 // XWalk W3C Manifest (XPK) extensions:
43
44 const char kPermissionsKey[] = "permissions";
45 const char kXWalkVersionKey[] = "xwalk_version";
46 const char kXWalkDescriptionKey[] = "xwalk_description";
47 const char kXWalkHostsKey[] = "xwalk_hosts";
48 const char kXWalkLaunchScreen[] = "xwalk_launch_screen";
49 const char kXWalkLaunchScreenDefault[] = "xwalk_launch_screen.default";
50 const char kXWalkLaunchScreenImageBorderDefault[] =
51     "xwalk_launch_screen.default.image_border";
52 const char kXWalkLaunchScreenImageBorderLandscape[] =
53     "xwalk_launch_screen.landscape.image_border";
54 const char kXWalkLaunchScreenImageBorderPortrait[] =
55     "xwalk_launch_screen.portrait.image_border";
56 const char kXWalkLaunchScreenLandscape[] =
57     "xwalk_launch_screen.landscape";
58 const char kXWalkLaunchScreenPortrait[] =
59     "xwalk_launch_screen.portrait";
60 const char kXWalkLaunchScreenReadyWhen[] =
61     "xwalk_launch_screen.ready_when";
62
63 #if defined(OS_TIZEN)
64 const char kTizenAppIdKey[] = "tizen_app_id";
65 const char kIcon128Key[] = "icons.128";
66 #endif
67
68 }  // namespace application_manifest_keys
69
70 // manifest keys for widget applications.
71 namespace application_widget_keys {
72
73 const char kNamespaceKey[] = "@namespace";
74 const char kXmlLangKey[] = "@lang";
75 const char kDefaultLocaleKey[] = "widget.@defaultlocale";
76 const char kNameKey[] = "widget.name.#text";
77 const char kVersionKey[] = "widget.@version";
78 const char kViewModesKey[] = "widget.@viewmodes";
79 const char kWidgetKey[] = "widget";
80 const char kLaunchLocalPathKey[] = "widget.content.@src";
81 const char kWebURLsKey[] = "widget.@id";
82 const char kAuthorKey[] = "widget.author.#text";
83 const char kDescriptionKey[] = "widget.description.#text";
84 const char kShortNameKey[] = "widget.name.@short";
85 const char kIDKey[] = "widget.@id";
86 const char kAuthorEmailKey[] = "widget.author.@email";
87 const char kAuthorHrefKey[] = "widget.author.@href";
88 const char kHeightKey[] = "widget.@height";
89 const char kWidthKey[] = "widget.@width";
90 const char kPreferencesKey[] = "widget.preference";
91 const char kCSPKey[] = "widget.content-security-policy.#text";
92 const char kAccessKey[] = "widget.access";
93
94 // Child keys inside 'kPreferencesKey'.
95 const char kPreferencesNameKey[] = "@name";
96 const char kPreferencesValueKey[] = "@value";
97 const char kPreferencesReadonlyKey[] = "@readonly";
98
99 // Child keys inside 'kAccessKey'.
100 const char kAccessOriginKey[] = "@origin";
101 const char kAccessSubdomainsKey[] = "@subdomains";
102
103 #if defined(OS_TIZEN)
104 const char kIcon128Key[] = "widget.icon.@src";
105 const char kTizenApplicationKey[] = "widget.application";
106 // Child keys inside 'kTizenApplicationKey'
107 const char kTizenApplicationIdKey[] = "@id";
108 const char kTizenApplicationPackageKey[] = "@package";
109 const char kTizenApplicationRequiredVersionKey[] = "@required_version";
110
111 const char kTizenAppIdKey[] = "widget.application.@package";
112 const char kAllowNavigationKey[] = "widget.allow-navigation.#text";
113 const char kCSPReportOnlyKey[] =
114     "widget.content-security-policy-report-only.#text";
115 const char kTizenSettingKey[] = "widget.setting";
116 const char kTizenHardwareKey[] = "widget.setting.@hwkey-event";
117 const char kTizenMetaDataKey[] = "widget.metadata";
118 // Child keys inside 'kTizenMetaDataKey'
119 const char kTizenMetaDataNameKey[] = "@key";
120 const char kTizenMetaDataValueKey[] = "@value";
121 const char kTizenSplashScreenKey[] = "widget.splash-screen";
122 const char kTizenSplashScreenSrcKey[] = "@src";
123 const char kContentNamespace[] = "widget.content.@namespace";
124 #endif
125
126 }  // namespace application_widget_keys
127
128 #if defined(OS_TIZEN)
129 const char kTizenNamespacePrefix[] = "http://tizen.org/ns/widgets";
130 #endif
131
132 namespace application_manifest_errors {
133 const char kInvalidDescription[] =
134     "Invalid value for 'description'.";
135 const char kInvalidKey[] =
136     "Value 'key' is missing or invalid.";
137 const char kInvalidName[] =
138     "Required value 'name' is missing or invalid.";
139 const char kInvalidVersion[] =
140     "Required value 'version' is missing or invalid. It must be between 1-4 "
141     "dot-separated integers each between 0 and 65536.";
142 const char kManifestParseError[] =
143     "Manifest is not valid JSON.";
144 const char kManifestUnreadable[] =
145     "Manifest file is missing or unreadable.";
146 }  // namespace application_manifest_errors
147
148 namespace application {
149
150 const char* GetNameKey(Package::Type package_type) {
151   if (package_type == Package::WGT)
152     return application_widget_keys::kNameKey;
153
154   return application_manifest_keys::kNameKey;
155 }
156
157 const char* GetVersionKey(Package::Type package_type) {
158   if (package_type == Package::WGT)
159     return application_widget_keys::kVersionKey;
160
161   return application_manifest_keys::kXWalkVersionKey;
162 }
163
164 const char* GetCSPKey(Package::Type package_type) {
165   if (package_type == Package::WGT)
166     return application_widget_keys::kCSPKey;
167
168   return application_manifest_keys::kCSPKey;
169 }
170
171 #if defined(OS_TIZEN)
172 const char* GetTizenAppIdKey(Package::Type package_type) {
173   if (package_type == Package::WGT)
174     return application_widget_keys::kTizenAppIdKey;
175
176   return application_manifest_keys::kTizenAppIdKey;
177 }
178
179 const char* GetIcon128Key(Package::Type package_type) {
180   if (package_type == Package::WGT)
181     return application_widget_keys::kIcon128Key;
182
183   return application_manifest_keys::kIcon128Key;
184 }
185 #endif
186 }  // namespace application
187 }  // namespace xwalk