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/files/file_util.h" | 5 #include "base/files/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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 scoped_refptr<Extension> extension; | 235 scoped_refptr<Extension> extension; |
236 GURL file_url("file:///etc/passwd"); | 236 GURL file_url("file:///etc/passwd"); |
237 | 237 |
238 // Ignore the policy delegate for this test. | 238 // Ignore the policy delegate for this test. |
239 PermissionsData::SetPolicyDelegate(NULL); | 239 PermissionsData::SetPolicyDelegate(NULL); |
240 | 240 |
241 // <all_urls> permission | 241 // <all_urls> permission |
242 extension = LoadManifest("permissions", "permissions_all_urls.json"); | 242 extension = LoadManifest("permissions", "permissions_all_urls.json"); |
243 EXPECT_TRUE(extension->wants_file_access()); | 243 EXPECT_TRUE(extension->wants_file_access()); |
244 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( | 244 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( |
245 extension, file_url, file_url, -1, -1, NULL)); | 245 extension.get(), file_url, file_url, -1, -1, NULL)); |
246 extension = LoadManifest( | 246 extension = LoadManifest( |
247 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); | 247 "permissions", "permissions_all_urls.json", Extension::ALLOW_FILE_ACCESS); |
248 EXPECT_TRUE(extension->wants_file_access()); | 248 EXPECT_TRUE(extension->wants_file_access()); |
249 EXPECT_TRUE(extension->permissions_data()->CanAccessPage( | 249 EXPECT_TRUE(extension->permissions_data()->CanAccessPage( |
250 extension, file_url, file_url, -1, -1, NULL)); | 250 extension.get(), file_url, file_url, -1, -1, NULL)); |
251 | 251 |
252 // file:///* permission | 252 // file:///* permission |
253 extension = LoadManifest("permissions", "permissions_file_scheme.json"); | 253 extension = LoadManifest("permissions", "permissions_file_scheme.json"); |
254 EXPECT_TRUE(extension->wants_file_access()); | 254 EXPECT_TRUE(extension->wants_file_access()); |
255 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( | 255 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( |
256 extension, file_url, file_url, -1, -1, NULL)); | 256 extension.get(), file_url, file_url, -1, -1, NULL)); |
257 extension = LoadManifest("permissions", | 257 extension = LoadManifest("permissions", |
258 "permissions_file_scheme.json", | 258 "permissions_file_scheme.json", |
259 Extension::ALLOW_FILE_ACCESS); | 259 Extension::ALLOW_FILE_ACCESS); |
260 EXPECT_TRUE(extension->wants_file_access()); | 260 EXPECT_TRUE(extension->wants_file_access()); |
261 EXPECT_TRUE(extension->permissions_data()->CanAccessPage( | 261 EXPECT_TRUE(extension->permissions_data()->CanAccessPage( |
262 extension, file_url, file_url, -1, -1, NULL)); | 262 extension.get(), file_url, file_url, -1, -1, NULL)); |
263 | 263 |
264 // http://* permission | 264 // http://* permission |
265 extension = LoadManifest("permissions", "permissions_http_scheme.json"); | 265 extension = LoadManifest("permissions", "permissions_http_scheme.json"); |
266 EXPECT_FALSE(extension->wants_file_access()); | 266 EXPECT_FALSE(extension->wants_file_access()); |
267 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( | 267 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( |
268 extension, file_url, file_url, -1, -1, NULL)); | 268 extension.get(), file_url, file_url, -1, -1, NULL)); |
269 extension = LoadManifest("permissions", | 269 extension = LoadManifest("permissions", |
270 "permissions_http_scheme.json", | 270 "permissions_http_scheme.json", |
271 Extension::ALLOW_FILE_ACCESS); | 271 Extension::ALLOW_FILE_ACCESS); |
272 EXPECT_FALSE(extension->wants_file_access()); | 272 EXPECT_FALSE(extension->wants_file_access()); |
273 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( | 273 EXPECT_FALSE(extension->permissions_data()->CanAccessPage( |
274 extension, file_url, file_url, -1, -1, NULL)); | 274 extension.get(), file_url, file_url, -1, -1, NULL)); |
275 | 275 |
276 // <all_urls> content script match | 276 // <all_urls> content script match |
277 extension = LoadManifest("permissions", "content_script_all_urls.json"); | 277 extension = LoadManifest("permissions", "content_script_all_urls.json"); |
278 EXPECT_TRUE(extension->wants_file_access()); | 278 EXPECT_TRUE(extension->wants_file_access()); |
279 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( | 279 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( |
280 extension, file_url, file_url, -1, -1, NULL)); | 280 extension.get(), file_url, file_url, -1, -1, NULL)); |
281 extension = LoadManifest("permissions", "content_script_all_urls.json", | 281 extension = LoadManifest("permissions", "content_script_all_urls.json", |
282 Extension::ALLOW_FILE_ACCESS); | 282 Extension::ALLOW_FILE_ACCESS); |
283 EXPECT_TRUE(extension->wants_file_access()); | 283 EXPECT_TRUE(extension->wants_file_access()); |
284 EXPECT_TRUE(extension->permissions_data()->CanRunContentScriptOnPage( | 284 EXPECT_TRUE(extension->permissions_data()->CanRunContentScriptOnPage( |
285 extension, file_url, file_url, -1, -1, NULL)); | 285 extension.get(), file_url, file_url, -1, -1, NULL)); |
286 | 286 |
287 // file:///* content script match | 287 // file:///* content script match |
288 extension = LoadManifest("permissions", "content_script_file_scheme.json"); | 288 extension = LoadManifest("permissions", "content_script_file_scheme.json"); |
289 EXPECT_TRUE(extension->wants_file_access()); | 289 EXPECT_TRUE(extension->wants_file_access()); |
290 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( | 290 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( |
291 extension, file_url, file_url, -1, -1, NULL)); | 291 extension.get(), file_url, file_url, -1, -1, NULL)); |
292 extension = LoadManifest("permissions", "content_script_file_scheme.json", | 292 extension = LoadManifest("permissions", "content_script_file_scheme.json", |
293 Extension::ALLOW_FILE_ACCESS); | 293 Extension::ALLOW_FILE_ACCESS); |
294 EXPECT_TRUE(extension->wants_file_access()); | 294 EXPECT_TRUE(extension->wants_file_access()); |
295 EXPECT_TRUE(extension->permissions_data()->CanRunContentScriptOnPage( | 295 EXPECT_TRUE(extension->permissions_data()->CanRunContentScriptOnPage( |
296 extension, file_url, file_url, -1, -1, NULL)); | 296 extension.get(), file_url, file_url, -1, -1, NULL)); |
297 | 297 |
298 // http://* content script match | 298 // http://* content script match |
299 extension = LoadManifest("permissions", "content_script_http_scheme.json"); | 299 extension = LoadManifest("permissions", "content_script_http_scheme.json"); |
300 EXPECT_FALSE(extension->wants_file_access()); | 300 EXPECT_FALSE(extension->wants_file_access()); |
301 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( | 301 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( |
302 extension, file_url, file_url, -1, -1, NULL)); | 302 extension.get(), file_url, file_url, -1, -1, NULL)); |
303 extension = LoadManifest("permissions", "content_script_http_scheme.json", | 303 extension = LoadManifest("permissions", "content_script_http_scheme.json", |
304 Extension::ALLOW_FILE_ACCESS); | 304 Extension::ALLOW_FILE_ACCESS); |
305 EXPECT_FALSE(extension->wants_file_access()); | 305 EXPECT_FALSE(extension->wants_file_access()); |
306 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( | 306 EXPECT_FALSE(extension->permissions_data()->CanRunContentScriptOnPage( |
307 extension, file_url, file_url, -1, -1, NULL)); | 307 extension.get(), file_url, file_url, -1, -1, NULL)); |
308 } | 308 } |
309 | 309 |
310 TEST(ExtensionTest, ExtraFlags) { | 310 TEST(ExtensionTest, ExtraFlags) { |
311 scoped_refptr<Extension> extension; | 311 scoped_refptr<Extension> extension; |
312 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); | 312 extension = LoadManifest("app", "manifest.json", Extension::FROM_WEBSTORE); |
313 EXPECT_TRUE(extension->from_webstore()); | 313 EXPECT_TRUE(extension->from_webstore()); |
314 | 314 |
315 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); | 315 extension = LoadManifest("app", "manifest.json", Extension::FROM_BOOKMARK); |
316 EXPECT_TRUE(extension->from_bookmark()); | 316 EXPECT_TRUE(extension->from_bookmark()); |
317 | 317 |
318 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); | 318 extension = LoadManifest("app", "manifest.json", Extension::NO_FLAGS); |
319 EXPECT_FALSE(extension->from_bookmark()); | 319 EXPECT_FALSE(extension->from_bookmark()); |
320 EXPECT_FALSE(extension->from_webstore()); | 320 EXPECT_FALSE(extension->from_webstore()); |
321 } | 321 } |
322 | 322 |
323 } // namespace extensions | 323 } // namespace extensions |
OLD | NEW |