OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/common/extensions/manifest.h" | 5 #include "chrome/common/extensions/manifest.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 // By default, the type is Extension. | 127 // By default, the type is Extension. |
128 AssertType(manifest.get(), Extension::TYPE_EXTENSION); | 128 AssertType(manifest.get(), Extension::TYPE_EXTENSION); |
129 | 129 |
130 // Theme. | 130 // Theme. |
131 MutateManifest( | 131 MutateManifest( |
132 &manifest, keys::kTheme, new DictionaryValue()); | 132 &manifest, keys::kTheme, new DictionaryValue()); |
133 AssertType(manifest.get(), Extension::TYPE_THEME); | 133 AssertType(manifest.get(), Extension::TYPE_THEME); |
134 MutateManifest( | 134 MutateManifest( |
135 &manifest, keys::kTheme, NULL); | 135 &manifest, keys::kTheme, NULL); |
136 | 136 |
137 // Platform app. | |
138 MutateManifest( | |
139 &manifest, keys::kPlatformApp, new DictionaryValue()); | |
140 AssertType(manifest.get(), Extension::TYPE_EXTENSION); // must be boolean | |
141 MutateManifest( | |
142 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(false)); | |
143 AssertType(manifest.get(), Extension::TYPE_EXTENSION); // must be true | |
144 MutateManifest( | |
145 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(true)); | |
146 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP); | |
147 MutateManifest( | |
148 &manifest, keys::kPlatformApp, NULL); | |
149 | |
150 // Packaged app. | 137 // Packaged app. |
151 MutateManifest( | 138 MutateManifest( |
152 &manifest, keys::kApp, new DictionaryValue()); | 139 &manifest, keys::kApp, new DictionaryValue()); |
153 AssertType(manifest.get(), Extension::TYPE_PACKAGED_APP); | 140 AssertType(manifest.get(), Extension::TYPE_PACKAGED_APP); |
154 | 141 |
| 142 // Platform app. |
| 143 MutateManifest( |
| 144 &manifest, keys::kPlatformAppBackground, new DictionaryValue()); |
| 145 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP); |
| 146 MutateManifest( |
| 147 &manifest, keys::kPlatformAppBackground, NULL); |
| 148 |
155 // Hosted app. | 149 // Hosted app. |
156 MutateManifest( | 150 MutateManifest( |
157 &manifest, keys::kWebURLs, new ListValue()); | 151 &manifest, keys::kWebURLs, new ListValue()); |
158 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); | 152 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); |
159 MutateManifest( | 153 MutateManifest( |
160 &manifest, keys::kWebURLs, NULL); | 154 &manifest, keys::kWebURLs, NULL); |
161 MutateManifest( | 155 MutateManifest( |
162 &manifest, keys::kLaunchWebURL, Value::CreateStringValue("foo")); | 156 &manifest, keys::kLaunchWebURL, Value::CreateStringValue("foo")); |
163 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); | 157 AssertType(manifest.get(), Extension::TYPE_HOSTED_APP); |
164 MutateManifest( | 158 MutateManifest( |
(...skipping 16 matching lines...) Expand all Loading... |
181 | 175 |
182 // Platform apps cannot have a "page_action" key. | 176 // Platform apps cannot have a "page_action" key. |
183 MutateManifest( | 177 MutateManifest( |
184 &manifest, keys::kPageAction, new DictionaryValue()); | 178 &manifest, keys::kPageAction, new DictionaryValue()); |
185 AssertType(manifest.get(), Extension::TYPE_EXTENSION); | 179 AssertType(manifest.get(), Extension::TYPE_EXTENSION); |
186 base::Value* output = NULL; | 180 base::Value* output = NULL; |
187 EXPECT_TRUE(manifest->HasKey(keys::kPageAction)); | 181 EXPECT_TRUE(manifest->HasKey(keys::kPageAction)); |
188 EXPECT_TRUE(manifest->Get(keys::kPageAction, &output)); | 182 EXPECT_TRUE(manifest->Get(keys::kPageAction, &output)); |
189 | 183 |
190 MutateManifest( | 184 MutateManifest( |
191 &manifest, keys::kPlatformApp, Value::CreateBooleanValue(true)); | 185 &manifest, keys::kPlatformAppBackground, new DictionaryValue()); |
192 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP); | 186 AssertType(manifest.get(), Extension::TYPE_PLATFORM_APP); |
193 EXPECT_FALSE(manifest->HasKey(keys::kPageAction)); | 187 EXPECT_FALSE(manifest->HasKey(keys::kPageAction)); |
194 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output)); | 188 EXPECT_FALSE(manifest->Get(keys::kPageAction, &output)); |
195 MutateManifest( | 189 MutateManifest( |
196 &manifest, keys::kPlatformApp, NULL); | 190 &manifest, keys::kPlatformAppBackground, NULL); |
197 | 191 |
198 // "commands" is restricted to manifest_version >= 2. | 192 // "commands" is restricted to manifest_version >= 2. |
199 MutateManifest( | 193 MutateManifest( |
200 &manifest, keys::kCommands, new DictionaryValue()); | 194 &manifest, keys::kCommands, new DictionaryValue()); |
201 EXPECT_FALSE(manifest->HasKey(keys::kCommands)); | 195 EXPECT_FALSE(manifest->HasKey(keys::kCommands)); |
202 EXPECT_FALSE(manifest->Get(keys::kCommands, &output)); | 196 EXPECT_FALSE(manifest->Get(keys::kCommands, &output)); |
203 | 197 |
204 MutateManifest( | 198 MutateManifest( |
205 &manifest, keys::kManifestVersion, Value::CreateIntegerValue(2)); | 199 &manifest, keys::kManifestVersion, Value::CreateIntegerValue(2)); |
206 EXPECT_TRUE(manifest->HasKey(keys::kCommands)); | 200 EXPECT_TRUE(manifest->HasKey(keys::kCommands)); |
207 EXPECT_TRUE(manifest->Get(keys::kCommands, &output)); | 201 EXPECT_TRUE(manifest->Get(keys::kCommands, &output)); |
208 }; | 202 }; |
209 | 203 |
210 } // namespace extensions | 204 } // namespace extensions |
OLD | NEW |