Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: content/browser/child_process_security_policy_unittest.cc

Issue 31663002: ChildProcessSecurityPolicy: Add DeleteFromFileSystem permission. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/platform_file.h" 10 #include "base/platform_file.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 test_browser_client_.AddScheme(scheme); 82 test_browser_client_.AddScheme(scheme);
83 } 83 }
84 84
85 void GrantPermissionsForFile(ChildProcessSecurityPolicyImpl* p, 85 void GrantPermissionsForFile(ChildProcessSecurityPolicyImpl* p,
86 int child_id, 86 int child_id,
87 const base::FilePath& file, 87 const base::FilePath& file,
88 int permissions) { 88 int permissions) {
89 p->GrantPermissionsForFile(child_id, file, permissions); 89 p->GrantPermissionsForFile(child_id, file, permissions);
90 } 90 }
91 91
92 void CheckHasNoFileSystemPermission(ChildProcessSecurityPolicyImpl* p,
93 const std::string& child_id) {
94 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, child_id));
95 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, child_id));
96 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, child_id));
97 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, child_id));
98 }
99
100 void CheckHasNoFileSystemFilePermission(ChildProcessSecurityPolicyImpl* p,
101 const base::FilePath& file,
102 const fileapi::FileSystemURL& url) {
103 EXPECT_FALSE(p->CanReadFile(kRendererID, file));
104 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
105 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
106 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
107 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
108 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
109 EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, url));
110 EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, url));
111 }
112
92 private: 113 private:
93 ChildProcessSecurityPolicyTestBrowserClient test_browser_client_; 114 ChildProcessSecurityPolicyTestBrowserClient test_browser_client_;
94 ContentBrowserClient* old_browser_client_; 115 ContentBrowserClient* old_browser_client_;
95 }; 116 };
96 117
97 118
98 TEST_F(ChildProcessSecurityPolicyTest, IsWebSafeSchemeTest) { 119 TEST_F(ChildProcessSecurityPolicyTest, IsWebSafeSchemeTest) {
99 ChildProcessSecurityPolicyImpl* p = 120 ChildProcessSecurityPolicyImpl* p =
100 ChildProcessSecurityPolicyImpl::GetInstance(); 121 ChildProcessSecurityPolicyImpl::GetInstance();
101 122
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 "read_filesystem", 314 "read_filesystem",
294 base::FilePath()); 315 base::FilePath());
295 std::string read_write_id = fileapi::IsolatedContext::GetInstance()-> 316 std::string read_write_id = fileapi::IsolatedContext::GetInstance()->
296 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, 317 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest,
297 "read_write_filesystem", 318 "read_write_filesystem",
298 base::FilePath()); 319 base::FilePath());
299 std::string copy_into_id = fileapi::IsolatedContext::GetInstance()-> 320 std::string copy_into_id = fileapi::IsolatedContext::GetInstance()->
300 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest, 321 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest,
301 "copy_into_filesystem", 322 "copy_into_filesystem",
302 base::FilePath()); 323 base::FilePath());
324 std::string delete_from_id = fileapi::IsolatedContext::GetInstance()->
325 RegisterFileSystemForVirtualPath(fileapi::kFileSystemTypeTest,
326 "delete_from_filesystem",
327 base::FilePath());
303 328
304 // Test initially having no permissions. 329 // Test initially having no permissions.
305 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); 330 CheckHasNoFileSystemPermission(p, read_id);
306 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); 331 CheckHasNoFileSystemPermission(p, read_write_id);
307 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); 332 CheckHasNoFileSystemPermission(p, copy_into_id);
308 333 CheckHasNoFileSystemPermission(p, delete_from_id);
309 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id));
310 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id));
311 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id));
312
313 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id));
314 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id));
315 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id));
316 334
317 // Testing varying combinations of grants and checks. 335 // Testing varying combinations of grants and checks.
318 p->GrantReadFileSystem(kRendererID, read_id); 336 p->GrantReadFileSystem(kRendererID, read_id);
319 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_id)); 337 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_id));
320 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); 338 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id));
321 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); 339 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id));
340 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, read_id));
322 341
323 p->GrantReadFileSystem(kRendererID, read_write_id); 342 p->GrantReadFileSystem(kRendererID, read_write_id);
324 p->GrantWriteFileSystem(kRendererID, read_write_id); 343 p->GrantWriteFileSystem(kRendererID, read_write_id);
325 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_write_id)); 344 EXPECT_TRUE(p->CanReadFileSystem(kRendererID, read_write_id));
326 EXPECT_TRUE(p->CanReadWriteFileSystem(kRendererID, read_write_id)); 345 EXPECT_TRUE(p->CanReadWriteFileSystem(kRendererID, read_write_id));
327 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id)); 346 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id));
347 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, read_write_id));
328 348
329 p->GrantCopyIntoFileSystem(kRendererID, copy_into_id); 349 p->GrantCopyIntoFileSystem(kRendererID, copy_into_id);
330 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id)); 350 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id));
331 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id)); 351 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id));
332 EXPECT_TRUE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id)); 352 EXPECT_TRUE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id));
353 EXPECT_FALSE(p->CanDeleteFromFileSystem(kRendererID, copy_into_id));
354
355 p->GrantDeleteFromFileSystem(kRendererID, delete_from_id);
356 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, delete_from_id));
357 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, delete_from_id));
358 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, delete_from_id));
359 EXPECT_TRUE(p->CanDeleteFromFileSystem(kRendererID, delete_from_id));
333 360
334 // Test revoke permissions on renderer ID removal. 361 // Test revoke permissions on renderer ID removal.
335 p->Remove(kRendererID); 362 p->Remove(kRendererID);
336 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); 363 CheckHasNoFileSystemPermission(p, read_id);
337 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); 364 CheckHasNoFileSystemPermission(p, read_write_id);
338 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); 365 CheckHasNoFileSystemPermission(p, copy_into_id);
339 366 CheckHasNoFileSystemPermission(p, delete_from_id);
340 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id));
341 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id));
342 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id));
343
344 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id));
345 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id));
346 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id));
347 367
348 // Test having no permissions upon re-adding same renderer ID. 368 // Test having no permissions upon re-adding same renderer ID.
349 p->Add(kRendererID); 369 p->Add(kRendererID);
350 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_id)); 370 CheckHasNoFileSystemPermission(p, read_id);
351 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_id)); 371 CheckHasNoFileSystemPermission(p, read_write_id);
352 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_id)); 372 CheckHasNoFileSystemPermission(p, copy_into_id);
353 373 CheckHasNoFileSystemPermission(p, delete_from_id);
354 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, read_write_id));
355 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, read_write_id));
356 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, read_write_id));
357
358 EXPECT_FALSE(p->CanReadFileSystem(kRendererID, copy_into_id));
359 EXPECT_FALSE(p->CanReadWriteFileSystem(kRendererID, copy_into_id));
360 EXPECT_FALSE(p->CanCopyIntoFileSystem(kRendererID, copy_into_id));
361 374
362 // Cleanup. 375 // Cleanup.
363 p->Remove(kRendererID); 376 p->Remove(kRendererID);
364 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_id); 377 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_id);
365 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_write_id); 378 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(read_write_id);
366 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(copy_into_id); 379 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(copy_into_id);
380 fileapi::IsolatedContext::GetInstance()->RevokeFileSystem(delete_from_id);
367 } 381 }
368 382
369 TEST_F(ChildProcessSecurityPolicyTest, FilePermissionGrantingAndRevoking) { 383 TEST_F(ChildProcessSecurityPolicyTest, FilePermissionGrantingAndRevoking) {
370 ChildProcessSecurityPolicyImpl* p = 384 ChildProcessSecurityPolicyImpl* p =
371 ChildProcessSecurityPolicyImpl::GetInstance(); 385 ChildProcessSecurityPolicyImpl::GetInstance();
372 386
373 p->RegisterFileSystemPermissionPolicy( 387 p->RegisterFileSystemPermissionPolicy(
374 fileapi::kFileSystemTypeTest, 388 fileapi::kFileSystemTypeTest,
375 fileapi::FILE_PERMISSION_USE_FILE_PERMISSION); 389 fileapi::FILE_PERMISSION_USE_FILE_PERMISSION);
376 390
377 p->Add(kRendererID); 391 p->Add(kRendererID);
378 base::FilePath file(TEST_PATH("/dir/testfile")); 392 base::FilePath file(TEST_PATH("/dir/testfile"));
379 file = file.NormalizePathSeparators(); 393 file = file.NormalizePathSeparators();
380 fileapi::FileSystemURL url = fileapi::FileSystemURL::CreateForTest( 394 fileapi::FileSystemURL url = fileapi::FileSystemURL::CreateForTest(
381 GURL("http://foo/"), fileapi::kFileSystemTypeTest, file); 395 GURL("http://foo/"), fileapi::kFileSystemTypeTest, file);
382 396
383 // Test initially having no permissions. 397 // Test initially having no permissions.
384 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 398 CheckHasNoFileSystemFilePermission(p, file, url);
385 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
386 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
387 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
388 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
389 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
390 399
391 // Testing every combination of permissions granting and revoking. 400 // Testing every combination of permissions granting and revoking.
392 p->GrantReadFile(kRendererID, file); 401 p->GrantReadFile(kRendererID, file);
393 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); 402 EXPECT_TRUE(p->CanReadFile(kRendererID, file));
394 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file)); 403 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
395 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); 404 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url));
396 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url)); 405 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
397 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url)); 406 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
398 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); 407 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
408 EXPECT_FALSE(p->CanCopyIntoFileSystemFile(kRendererID, url));
409 EXPECT_FALSE(p->CanDeleteFileSystemFile(kRendererID, url));
399 p->RevokeAllPermissionsForFile(kRendererID, file); 410 p->RevokeAllPermissionsForFile(kRendererID, file);
400 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 411 CheckHasNoFileSystemFilePermission(p, file, url);
401 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
402 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
403 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
404 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
405 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
406 412
407 p->GrantCreateReadWriteFile(kRendererID, file); 413 p->GrantCreateReadWriteFile(kRendererID, file);
408 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); 414 EXPECT_TRUE(p->CanReadFile(kRendererID, file));
409 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); 415 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file));
410 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); 416 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url));
411 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); 417 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url));
412 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); 418 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url));
413 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); 419 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
420 EXPECT_TRUE(p->CanCopyIntoFileSystemFile(kRendererID, url));
421 EXPECT_TRUE(p->CanDeleteFileSystemFile(kRendererID, url));
414 p->RevokeAllPermissionsForFile(kRendererID, file); 422 p->RevokeAllPermissionsForFile(kRendererID, file);
415 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 423 CheckHasNoFileSystemFilePermission(p, file, url);
416 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
417 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
418 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
419 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
420 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
421 424
422 // Test revoke permissions on renderer ID removal. 425 // Test revoke permissions on renderer ID removal.
423 p->GrantCreateReadWriteFile(kRendererID, file); 426 p->GrantCreateReadWriteFile(kRendererID, file);
424 EXPECT_TRUE(p->CanReadFile(kRendererID, file)); 427 EXPECT_TRUE(p->CanReadFile(kRendererID, file));
425 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file)); 428 EXPECT_TRUE(p->CanCreateReadWriteFile(kRendererID, file));
426 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url)); 429 EXPECT_TRUE(p->CanReadFileSystemFile(kRendererID, url));
427 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url)); 430 EXPECT_TRUE(p->CanWriteFileSystemFile(kRendererID, url));
428 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url)); 431 EXPECT_TRUE(p->CanCreateFileSystemFile(kRendererID, url));
429 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url)); 432 EXPECT_TRUE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
433 EXPECT_TRUE(p->CanCopyIntoFileSystemFile(kRendererID, url));
434 EXPECT_TRUE(p->CanDeleteFileSystemFile(kRendererID, url));
430 p->Remove(kRendererID); 435 p->Remove(kRendererID);
431 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 436 CheckHasNoFileSystemFilePermission(p, file, url);
432 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
433 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
434 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
435 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
436 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
437 437
438 // Test having no permissions upon re-adding same renderer ID. 438 // Test having no permissions upon re-adding same renderer ID.
439 p->Add(kRendererID); 439 p->Add(kRendererID);
440 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 440 CheckHasNoFileSystemFilePermission(p, file, url);
441 EXPECT_FALSE(p->CanCreateReadWriteFile(kRendererID, file));
442 EXPECT_FALSE(p->CanReadFileSystemFile(kRendererID, url));
443 EXPECT_FALSE(p->CanWriteFileSystemFile(kRendererID, url));
444 EXPECT_FALSE(p->CanCreateFileSystemFile(kRendererID, url));
445 EXPECT_FALSE(p->CanCreateReadWriteFileSystemFile(kRendererID, url));
446 441
447 // Cleanup. 442 // Cleanup.
448 p->Remove(kRendererID); 443 p->Remove(kRendererID);
449 } 444 }
450 445
451 TEST_F(ChildProcessSecurityPolicyTest, FilePermissions) { 446 TEST_F(ChildProcessSecurityPolicyTest, FilePermissions) {
452 base::FilePath granted_file = base::FilePath(TEST_PATH("/home/joe")); 447 base::FilePath granted_file = base::FilePath(TEST_PATH("/home/joe"));
453 base::FilePath sibling_file = base::FilePath(TEST_PATH("/home/bob")); 448 base::FilePath sibling_file = base::FilePath(TEST_PATH("/home/bob"));
454 base::FilePath child_file = base::FilePath(TEST_PATH("/home/joe/file")); 449 base::FilePath child_file = base::FilePath(TEST_PATH("/home/joe/file"));
455 base::FilePath parent_file = base::FilePath(TEST_PATH("/home")); 450 base::FilePath parent_file = base::FilePath(TEST_PATH("/home"));
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 // queried on the IO thread. The ChildProcessSecurityPolicy needs to be 634 // queried on the IO thread. The ChildProcessSecurityPolicy needs to be
640 // prepared to answer policy questions about renderers who no longer exist. 635 // prepared to answer policy questions about renderers who no longer exist.
641 636
642 // In this case, we default to secure behavior. 637 // In this case, we default to secure behavior.
643 EXPECT_FALSE(p->CanRequestURL(kRendererID, url)); 638 EXPECT_FALSE(p->CanRequestURL(kRendererID, url));
644 EXPECT_FALSE(p->CanReadFile(kRendererID, file)); 639 EXPECT_FALSE(p->CanReadFile(kRendererID, file));
645 EXPECT_FALSE(p->HasWebUIBindings(kRendererID)); 640 EXPECT_FALSE(p->HasWebUIBindings(kRendererID));
646 } 641 }
647 642
648 } // namespace content 643 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/child_process_security_policy_impl.cc ('k') | content/browser/fileapi/fileapi_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698