| 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 |