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/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "chrome/common/chrome_paths.h" | 10 #include "chrome/common/chrome_paths.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 TEST(ExtensionTest, WantsFileAccess) { | 229 TEST(ExtensionTest, WantsFileAccess) { |
230 scoped_refptr<Extension> extension; | 230 scoped_refptr<Extension> extension; |
231 GURL file_url("file:///etc/passwd"); | 231 GURL file_url("file:///etc/passwd"); |
232 | 232 |
233 // Ignore the policy delegate for this test. | 233 // Ignore the policy delegate for this test. |
234 PermissionsData::SetPolicyDelegate(NULL); | 234 PermissionsData::SetPolicyDelegate(NULL); |
235 | 235 |
236 // <all_urls> permission | 236 // <all_urls> permission |
237 extension = LoadManifest("permissions", "permissions_all_urls.json"); | 237 extension = LoadManifest("permissions", "permissions_all_urls.json"); |
238 EXPECT_TRUE(extension->wants_file_access()); | 238 EXPECT_TRUE(extension->wants_file_access()); |
239 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 239 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
240 extension, file_url, file_url, -1, NULL, -1, NULL)); | 240 extension, file_url, file_url, -1, NULL, -1, NULL)); |
241 extension = LoadManifest( | 241 extension = LoadManifest( |
242 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); | 242 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); |
243 EXPECT_TRUE(extension->wants_file_access()); | 243 EXPECT_TRUE(extension->wants_file_access()); |
244 EXPECT_TRUE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 244 EXPECT_TRUE(extension->permissions_data()->CanExecuteScriptOnPage( |
245 extension, file_url, file_url, -1, NULL, -1, NULL)); | 245 extension, file_url, file_url, -1, NULL, -1, NULL)); |
246 | 246 |
247 // file:///* permission | 247 // file:///* permission |
248 extension = LoadManifest("permissions", "permissions_file_scheme.json"); | 248 extension = LoadManifest("permissions", "permissions_file_scheme.json"); |
249 EXPECT_TRUE(extension->wants_file_access()); | 249 EXPECT_TRUE(extension->wants_file_access()); |
250 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 250 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
251 extension, file_url, file_url, -1, NULL, -1, NULL)); | 251 extension, file_url, file_url, -1, NULL, -1, NULL)); |
252 extension = LoadManifest("permissions", | 252 extension = LoadManifest("permissions", |
253 "permissions_file_scheme.json", | 253 "permissions_file_scheme.json", |
254 Extension::ALLOW_FILE_ACCESS); | 254 Extension::ALLOW_FILE_ACCESS); |
255 EXPECT_TRUE(extension->wants_file_access()); | 255 EXPECT_TRUE(extension->wants_file_access()); |
256 EXPECT_TRUE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 256 EXPECT_TRUE(extension->permissions_data()->CanExecuteScriptOnPage( |
257 extension, file_url, file_url, -1, NULL, -1, NULL)); | 257 extension, file_url, file_url, -1, NULL, -1, NULL)); |
258 | 258 |
259 // http://* permission | 259 // http://* permission |
260 extension = LoadManifest("permissions", "permissions_http_scheme.json"); | 260 extension = LoadManifest("permissions", "permissions_http_scheme.json"); |
261 EXPECT_FALSE(extension->wants_file_access()); | 261 EXPECT_FALSE(extension->wants_file_access()); |
262 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 262 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
263 extension, file_url, file_url, -1, NULL, -1, NULL)); | 263 extension, file_url, file_url, -1, NULL, -1, NULL)); |
264 extension = LoadManifest("permissions", | 264 extension = LoadManifest("permissions", |
265 "permissions_http_scheme.json", | 265 "permissions_http_scheme.json", |
266 Extension::ALLOW_FILE_ACCESS); | 266 Extension::ALLOW_FILE_ACCESS); |
267 EXPECT_FALSE(extension->wants_file_access()); | 267 EXPECT_FALSE(extension->wants_file_access()); |
268 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 268 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
269 extension, file_url, file_url, -1, NULL, -1, NULL)); | 269 extension, file_url, file_url, -1, NULL, -1, NULL)); |
270 | 270 |
271 // <all_urls> content script match | 271 // <all_urls> content script match |
272 extension = LoadManifest("permissions", "content_script_all_urls.json"); | 272 extension = LoadManifest("permissions", "content_script_all_urls.json"); |
273 EXPECT_TRUE(extension->wants_file_access()); | 273 EXPECT_TRUE(extension->wants_file_access()); |
274 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 274 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
275 extension, | 275 extension, |
276 file_url, | 276 file_url, |
277 file_url, | 277 file_url, |
278 -1, | 278 -1, |
279 &ContentScriptsInfo::GetContentScripts(extension.get())[0], | 279 &ContentScriptsInfo::GetContentScripts(extension.get())[0], |
280 -1, | 280 -1, |
281 NULL)); | 281 NULL)); |
282 extension = LoadManifest("permissions", "content_script_all_urls.json", | 282 extension = LoadManifest("permissions", "content_script_all_urls.json", |
283 Extension::ALLOW_FILE_ACCESS); | 283 Extension::ALLOW_FILE_ACCESS); |
284 EXPECT_TRUE(extension->wants_file_access()); | 284 EXPECT_TRUE(extension->wants_file_access()); |
285 EXPECT_TRUE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 285 EXPECT_TRUE(extension->permissions_data()->CanExecuteScriptOnPage( |
286 extension, | 286 extension, |
287 file_url, | 287 file_url, |
288 file_url, | 288 file_url, |
289 -1, | 289 -1, |
290 &ContentScriptsInfo::GetContentScripts(extension)[0], | 290 &ContentScriptsInfo::GetContentScripts(extension)[0], |
291 -1, | 291 -1, |
292 NULL)); | 292 NULL)); |
293 | 293 |
294 // file:///* content script match | 294 // file:///* content script match |
295 extension = LoadManifest("permissions", "content_script_file_scheme.json"); | 295 extension = LoadManifest("permissions", "content_script_file_scheme.json"); |
296 EXPECT_TRUE(extension->wants_file_access()); | 296 EXPECT_TRUE(extension->wants_file_access()); |
297 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 297 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
298 extension, | 298 extension, |
299 file_url, | 299 file_url, |
300 file_url, | 300 file_url, |
301 -1, | 301 -1, |
302 &ContentScriptsInfo::GetContentScripts(extension)[0], | 302 &ContentScriptsInfo::GetContentScripts(extension)[0], |
303 -1, | 303 -1, |
304 NULL)); | 304 NULL)); |
305 extension = LoadManifest("permissions", "content_script_file_scheme.json", | 305 extension = LoadManifest("permissions", "content_script_file_scheme.json", |
306 Extension::ALLOW_FILE_ACCESS); | 306 Extension::ALLOW_FILE_ACCESS); |
307 EXPECT_TRUE(extension->wants_file_access()); | 307 EXPECT_TRUE(extension->wants_file_access()); |
308 EXPECT_TRUE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 308 EXPECT_TRUE(extension->permissions_data()->CanExecuteScriptOnPage( |
309 extension, | 309 extension, |
310 file_url, | 310 file_url, |
311 file_url, | 311 file_url, |
312 -1, | 312 -1, |
313 &ContentScriptsInfo::GetContentScripts(extension)[0], | 313 &ContentScriptsInfo::GetContentScripts(extension)[0], |
314 -1, | 314 -1, |
315 NULL)); | 315 NULL)); |
316 | 316 |
317 // http://* content script match | 317 // http://* content script match |
318 extension = LoadManifest("permissions", "content_script_http_scheme.json"); | 318 extension = LoadManifest("permissions", "content_script_http_scheme.json"); |
319 EXPECT_FALSE(extension->wants_file_access()); | 319 EXPECT_FALSE(extension->wants_file_access()); |
320 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 320 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
321 extension, | 321 extension, |
322 file_url, | 322 file_url, |
323 file_url, | 323 file_url, |
324 -1, | 324 -1, |
325 &ContentScriptsInfo::GetContentScripts(extension)[0], | 325 &ContentScriptsInfo::GetContentScripts(extension)[0], |
326 -1, | 326 -1, |
327 NULL)); | 327 NULL)); |
328 extension = LoadManifest("permissions", "content_script_http_scheme.json", | 328 extension = LoadManifest("permissions", "content_script_http_scheme.json", |
329 Extension::ALLOW_FILE_ACCESS); | 329 Extension::ALLOW_FILE_ACCESS); |
330 EXPECT_FALSE(extension->wants_file_access()); | 330 EXPECT_FALSE(extension->wants_file_access()); |
331 EXPECT_FALSE(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( | 331 EXPECT_FALSE(extension->permissions_data()->CanExecuteScriptOnPage( |
332 extension, | 332 extension, |
333 file_url, | 333 file_url, |
334 file_url, | 334 file_url, |
335 -1, | 335 -1, |
336 &ContentScriptsInfo::GetContentScripts(extension)[0], | 336 &ContentScriptsInfo::GetContentScripts(extension)[0], |
337 -1, | 337 -1, |
338 NULL)); | 338 NULL)); |
339 } | 339 } |
340 | 340 |
341 TEST(ExtensionTest, ExtraFlags) { | 341 TEST(ExtensionTest, ExtraFlags) { |
342 scoped_refptr<Extension> extension; | 342 scoped_refptr<Extension> extension; |
343 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); | 343 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); |
344 EXPECT_TRUE(extension->from_webstore()); | 344 EXPECT_TRUE(extension->from_webstore()); |
345 | 345 |
346 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); | 346 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); |
347 EXPECT_TRUE(extension->from_bookmark()); | 347 EXPECT_TRUE(extension->from_bookmark()); |
348 | 348 |
349 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); | 349 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); |
350 EXPECT_FALSE(extension->from_bookmark()); | 350 EXPECT_FALSE(extension->from_bookmark()); |
351 EXPECT_FALSE(extension->from_webstore()); | 351 EXPECT_FALSE(extension->from_webstore()); |
352 } | 352 } |
353 | 353 |
354 } // namespace extensions | 354 } // namespace extensions |
OLD | NEW |