OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "base/file_util.h" | 5 #include "base/file_util.h" |
6 #include "base/format_macros.h" | 6 #include "base/format_macros.h" |
7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 scoped_refptr<Extension> extension; | 163 scoped_refptr<Extension> extension; |
164 GURL file_url("file:///etc/passwd"); | 164 GURL file_url("file:///etc/passwd"); |
165 | 165 |
166 // Ignore the policy delegate for this test. | 166 // Ignore the policy delegate for this test. |
167 PermissionsData::SetPolicyDelegate(NULL); | 167 PermissionsData::SetPolicyDelegate(NULL); |
168 | 168 |
169 // <all_urls> permission | 169 // <all_urls> permission |
170 extension = LoadManifest("permissions", "permissions_all_urls.json"); | 170 extension = LoadManifest("permissions", "permissions_all_urls.json"); |
171 EXPECT_TRUE(extension->wants_file_access()); | 171 EXPECT_TRUE(extension->wants_file_access()); |
172 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 172 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
173 extension, file_url, file_url, -1, NULL, -1, NULL)); | 173 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
174 extension = LoadManifest( | 174 extension = LoadManifest( |
175 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); | 175 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); |
176 EXPECT_TRUE(extension->wants_file_access()); | 176 EXPECT_TRUE(extension->wants_file_access()); |
177 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( | 177 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( |
178 extension, file_url, file_url, -1, NULL, -1, NULL)); | 178 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
179 | 179 |
180 // file:///* permission | 180 // file:///* permission |
181 extension = LoadManifest("permissions", "permissions_file_scheme.json"); | 181 extension = LoadManifest("permissions", "permissions_file_scheme.json"); |
182 EXPECT_TRUE(extension->wants_file_access()); | 182 EXPECT_TRUE(extension->wants_file_access()); |
183 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 183 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
184 extension, file_url, file_url, -1, NULL, -1, NULL)); | 184 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
185 extension = LoadManifest("permissions", "permissions_file_scheme.json", | 185 extension = LoadManifest("permissions", |
186 Extension::ALLOW_FILE_ACCESS); | 186 "permissions_file_scheme.json", |
| 187 Extension::ALLOW_FILE_ACCESS); |
187 EXPECT_TRUE(extension->wants_file_access()); | 188 EXPECT_TRUE(extension->wants_file_access()); |
188 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( | 189 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( |
189 extension, file_url, file_url, -1, NULL, -1, NULL)); | 190 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
190 | 191 |
191 // http://* permission | 192 // http://* permission |
192 extension = LoadManifest("permissions", "permissions_http_scheme.json"); | 193 extension = LoadManifest("permissions", "permissions_http_scheme.json"); |
193 EXPECT_FALSE(extension->wants_file_access()); | 194 EXPECT_FALSE(extension->wants_file_access()); |
194 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 195 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
195 extension, file_url, file_url, -1, NULL, -1, NULL)); | 196 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
196 extension = LoadManifest("permissions", "permissions_http_scheme.json", | 197 extension = LoadManifest("permissions", |
197 Extension::ALLOW_FILE_ACCESS); | 198 "permissions_http_scheme.json", |
| 199 Extension::ALLOW_FILE_ACCESS); |
198 EXPECT_FALSE(extension->wants_file_access()); | 200 EXPECT_FALSE(extension->wants_file_access()); |
199 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 201 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
200 extension, file_url, file_url, -1, NULL, -1, NULL)); | 202 extension.get(), file_url, file_url, -1, NULL, -1, NULL)); |
201 | 203 |
202 // <all_urls> content script match | 204 // <all_urls> content script match |
203 extension = LoadManifest("permissions", "content_script_all_urls.json"); | 205 extension = LoadManifest("permissions", "content_script_all_urls.json"); |
204 EXPECT_TRUE(extension->wants_file_access()); | 206 EXPECT_TRUE(extension->wants_file_access()); |
205 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 207 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
206 extension, | 208 extension.get(), |
207 file_url, | 209 file_url, |
208 file_url, | 210 file_url, |
209 -1, | 211 -1, |
210 &ContentScriptsInfo::GetContentScripts(extension)[0], | 212 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
211 -1, | 213 -1, |
212 NULL)); | 214 NULL)); |
213 extension = LoadManifest("permissions", "content_script_all_urls.json", | 215 extension = LoadManifest("permissions", "content_script_all_urls.json", |
214 Extension::ALLOW_FILE_ACCESS); | 216 Extension::ALLOW_FILE_ACCESS); |
215 EXPECT_TRUE(extension->wants_file_access()); | 217 EXPECT_TRUE(extension->wants_file_access()); |
216 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( | 218 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( |
217 extension, | 219 extension.get(), |
218 file_url, | 220 file_url, |
219 file_url, | 221 file_url, |
220 -1, | 222 -1, |
221 &ContentScriptsInfo::GetContentScripts(extension)[0], | 223 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
222 -1, | 224 -1, |
223 NULL)); | 225 NULL)); |
224 | 226 |
225 // file:///* content script match | 227 // file:///* content script match |
226 extension = LoadManifest("permissions", "content_script_file_scheme.json"); | 228 extension = LoadManifest("permissions", "content_script_file_scheme.json"); |
227 EXPECT_TRUE(extension->wants_file_access()); | 229 EXPECT_TRUE(extension->wants_file_access()); |
228 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 230 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
229 extension, | 231 extension.get(), |
230 file_url, | 232 file_url, |
231 file_url, | 233 file_url, |
232 -1, | 234 -1, |
233 &ContentScriptsInfo::GetContentScripts(extension)[0], | 235 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
234 -1, | 236 -1, |
235 NULL)); | 237 NULL)); |
236 extension = LoadManifest("permissions", "content_script_file_scheme.json", | 238 extension = LoadManifest("permissions", "content_script_file_scheme.json", |
237 Extension::ALLOW_FILE_ACCESS); | 239 Extension::ALLOW_FILE_ACCESS); |
238 EXPECT_TRUE(extension->wants_file_access()); | 240 EXPECT_TRUE(extension->wants_file_access()); |
239 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( | 241 EXPECT_TRUE(PermissionsData::CanExecuteScriptOnPage( |
240 extension, | 242 extension.get(), |
241 file_url, | 243 file_url, |
242 file_url, | 244 file_url, |
243 -1, | 245 -1, |
244 &ContentScriptsInfo::GetContentScripts(extension)[0], | 246 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
245 -1, | 247 -1, |
246 NULL)); | 248 NULL)); |
247 | 249 |
248 // http://* content script match | 250 // http://* content script match |
249 extension = LoadManifest("permissions", "content_script_http_scheme.json"); | 251 extension = LoadManifest("permissions", "content_script_http_scheme.json"); |
250 EXPECT_FALSE(extension->wants_file_access()); | 252 EXPECT_FALSE(extension->wants_file_access()); |
251 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 253 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
252 extension, | 254 extension.get(), |
253 file_url, | 255 file_url, |
254 file_url, | 256 file_url, |
255 -1, | 257 -1, |
256 &ContentScriptsInfo::GetContentScripts(extension)[0], | 258 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
257 -1, | 259 -1, |
258 NULL)); | 260 NULL)); |
259 extension = LoadManifest("permissions", "content_script_http_scheme.json", | 261 extension = LoadManifest("permissions", "content_script_http_scheme.json", |
260 Extension::ALLOW_FILE_ACCESS); | 262 Extension::ALLOW_FILE_ACCESS); |
261 EXPECT_FALSE(extension->wants_file_access()); | 263 EXPECT_FALSE(extension->wants_file_access()); |
262 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( | 264 EXPECT_FALSE(PermissionsData::CanExecuteScriptOnPage( |
263 extension, | 265 extension.get(), |
264 file_url, | 266 file_url, |
265 file_url, | 267 file_url, |
266 -1, | 268 -1, |
267 &ContentScriptsInfo::GetContentScripts(extension)[0], | 269 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
268 -1, | 270 -1, |
269 NULL)); | 271 NULL)); |
270 } | 272 } |
271 | 273 |
272 TEST(ExtensionTest, ExtraFlags) { | 274 TEST(ExtensionTest, ExtraFlags) { |
273 scoped_refptr<Extension> extension; | 275 scoped_refptr<Extension> extension; |
274 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); | 276 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); |
275 EXPECT_TRUE(extension->from_webstore()); | 277 EXPECT_TRUE(extension->from_webstore()); |
276 | 278 |
277 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); | 279 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); |
278 EXPECT_TRUE(extension->from_bookmark()); | 280 EXPECT_TRUE(extension->from_bookmark()); |
279 | 281 |
280 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); | 282 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); |
281 EXPECT_FALSE(extension->from_bookmark()); | 283 EXPECT_FALSE(extension->from_bookmark()); |
282 EXPECT_FALSE(extension->from_webstore()); | 284 EXPECT_FALSE(extension->from_webstore()); |
283 } | 285 } |
284 | 286 |
285 } // namespace extensions | 287 } // namespace extensions |
OLD | NEW |