| OLD | NEW |
| 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 "chrome/browser/profiles/profile.h" | 5 #include "chrome/browser/profiles/profile.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/files/file_util.h" | 12 #include "base/files/file_util.h" |
| 13 #include "base/files/scoped_temp_dir.h" | 13 #include "base/files/scoped_temp_dir.h" |
| 14 #include "base/json/json_reader.h" | 14 #include "base/json/json_reader.h" |
| 15 #include "base/logging.h" | 15 #include "base/logging.h" |
| 16 #include "base/macros.h" | 16 #include "base/macros.h" |
| 17 #include "base/memory/ptr_util.h" | 17 #include "base/memory/ptr_util.h" |
| 18 #include "base/memory/ref_counted.h" | 18 #include "base/memory/ref_counted.h" |
| 19 #include "base/sequenced_task_runner.h" | 19 #include "base/sequenced_task_runner.h" |
| 20 #include "base/synchronization/waitable_event.h" | 20 #include "base/synchronization/waitable_event.h" |
| 21 #include "base/task_scheduler/task_scheduler.h" | 21 #include "base/task_scheduler/task_scheduler.h" |
| 22 #include "base/threading/thread_restrictions.h" |
| 22 #include "base/values.h" | 23 #include "base/values.h" |
| 23 #include "base/version.h" | 24 #include "base/version.h" |
| 24 #include "build/build_config.h" | 25 #include "build/build_config.h" |
| 25 #include "chrome/browser/browser_process.h" | 26 #include "chrome/browser/browser_process.h" |
| 26 #include "chrome/browser/chrome_notification_types.h" | 27 #include "chrome/browser/chrome_notification_types.h" |
| 27 #include "chrome/browser/net/url_request_mock_util.h" | 28 #include "chrome/browser/net/url_request_mock_util.h" |
| 28 #include "chrome/browser/profiles/chrome_version_service.h" | 29 #include "chrome/browser/profiles/chrome_version_service.h" |
| 29 #include "chrome/browser/profiles/profile_impl.h" | 30 #include "chrome/browser/profiles/profile_impl.h" |
| 30 #include "chrome/browser/profiles/profile_manager.h" | 31 #include "chrome/browser/profiles/profile_manager.h" |
| 31 #include "chrome/browser/ui/browser.h" | 32 #include "chrome/browser/ui/browser.h" |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 | 336 |
| 336 scoped_refptr<base::SequencedTaskRunner> profile_io_task_runner_; | 337 scoped_refptr<base::SequencedTaskRunner> profile_io_task_runner_; |
| 337 | 338 |
| 338 // URLFetcherDelegate that outlives the Profile, to test shutdown. | 339 // URLFetcherDelegate that outlives the Profile, to test shutdown. |
| 339 std::unique_ptr<TestURLFetcherDelegate> url_fetcher_delegate_; | 340 std::unique_ptr<TestURLFetcherDelegate> url_fetcher_delegate_; |
| 340 }; | 341 }; |
| 341 | 342 |
| 342 // Test OnProfileCreate is called with is_new_profile set to true when | 343 // Test OnProfileCreate is called with is_new_profile set to true when |
| 343 // creating a new profile synchronously. | 344 // creating a new profile synchronously. |
| 344 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, CreateNewProfileSynchronous) { | 345 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, CreateNewProfileSynchronous) { |
| 346 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 345 base::ScopedTempDir temp_dir; | 347 base::ScopedTempDir temp_dir; |
| 346 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 348 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 347 | 349 |
| 348 MockProfileDelegate delegate; | 350 MockProfileDelegate delegate; |
| 349 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 351 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 350 | 352 |
| 351 { | 353 { |
| 352 std::unique_ptr<Profile> profile(CreateProfile( | 354 std::unique_ptr<Profile> profile(CreateProfile( |
| 353 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); | 355 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); |
| 354 CheckChromeVersion(profile.get(), true); | 356 CheckChromeVersion(profile.get(), true); |
| 355 | 357 |
| 356 #if defined(OS_CHROMEOS) | 358 #if defined(OS_CHROMEOS) |
| 357 // Make sure session is marked as initialized. | 359 // Make sure session is marked as initialized. |
| 358 user_manager::User* user = | 360 user_manager::User* user = |
| 359 chromeos::ProfileHelper::Get()->GetUserByProfile(profile.get()); | 361 chromeos::ProfileHelper::Get()->GetUserByProfile(profile.get()); |
| 360 EXPECT_TRUE(user->profile_ever_initialized()); | 362 EXPECT_TRUE(user->profile_ever_initialized()); |
| 361 #endif | 363 #endif |
| 362 } | 364 } |
| 363 | 365 |
| 364 FlushIoTaskRunnerAndSpinThreads(); | 366 FlushIoTaskRunnerAndSpinThreads(); |
| 365 } | 367 } |
| 366 | 368 |
| 367 // Test OnProfileCreate is called with is_new_profile set to false when | 369 // Test OnProfileCreate is called with is_new_profile set to false when |
| 368 // creating a profile synchronously with an existing prefs file. | 370 // creating a profile synchronously with an existing prefs file. |
| 369 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, CreateOldProfileSynchronous) { | 371 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, CreateOldProfileSynchronous) { |
| 372 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 370 base::ScopedTempDir temp_dir; | 373 base::ScopedTempDir temp_dir; |
| 371 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 374 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 372 CreatePrefsFileInDirectory(temp_dir.GetPath()); | 375 CreatePrefsFileInDirectory(temp_dir.GetPath()); |
| 373 | 376 |
| 374 MockProfileDelegate delegate; | 377 MockProfileDelegate delegate; |
| 375 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, false)); | 378 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, false)); |
| 376 | 379 |
| 377 { | 380 { |
| 378 std::unique_ptr<Profile> profile(CreateProfile( | 381 std::unique_ptr<Profile> profile(CreateProfile( |
| 379 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); | 382 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); |
| 380 CheckChromeVersion(profile.get(), false); | 383 CheckChromeVersion(profile.get(), false); |
| 381 } | 384 } |
| 382 | 385 |
| 383 FlushIoTaskRunnerAndSpinThreads(); | 386 FlushIoTaskRunnerAndSpinThreads(); |
| 384 } | 387 } |
| 385 | 388 |
| 386 // Flaky: http://crbug.com/393177 | 389 // Flaky: http://crbug.com/393177 |
| 387 // Test OnProfileCreate is called with is_new_profile set to true when | 390 // Test OnProfileCreate is called with is_new_profile set to true when |
| 388 // creating a new profile asynchronously. | 391 // creating a new profile asynchronously. |
| 389 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, | 392 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, |
| 390 DISABLED_CreateNewProfileAsynchronous) { | 393 DISABLED_CreateNewProfileAsynchronous) { |
| 394 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 391 base::ScopedTempDir temp_dir; | 395 base::ScopedTempDir temp_dir; |
| 392 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 396 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 393 | 397 |
| 394 MockProfileDelegate delegate; | 398 MockProfileDelegate delegate; |
| 395 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 399 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 396 | 400 |
| 397 { | 401 { |
| 398 content::WindowedNotificationObserver observer( | 402 content::WindowedNotificationObserver observer( |
| 399 chrome::NOTIFICATION_PROFILE_CREATED, | 403 chrome::NOTIFICATION_PROFILE_CREATED, |
| 400 content::NotificationService::AllSources()); | 404 content::NotificationService::AllSources()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 415 | 419 |
| 416 FlushIoTaskRunnerAndSpinThreads(); | 420 FlushIoTaskRunnerAndSpinThreads(); |
| 417 } | 421 } |
| 418 | 422 |
| 419 | 423 |
| 420 // Flaky: http://crbug.com/393177 | 424 // Flaky: http://crbug.com/393177 |
| 421 // Test OnProfileCreate is called with is_new_profile set to false when | 425 // Test OnProfileCreate is called with is_new_profile set to false when |
| 422 // creating a profile asynchronously with an existing prefs file. | 426 // creating a profile asynchronously with an existing prefs file. |
| 423 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, | 427 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, |
| 424 DISABLED_CreateOldProfileAsynchronous) { | 428 DISABLED_CreateOldProfileAsynchronous) { |
| 429 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 425 base::ScopedTempDir temp_dir; | 430 base::ScopedTempDir temp_dir; |
| 426 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 431 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 427 CreatePrefsFileInDirectory(temp_dir.GetPath()); | 432 CreatePrefsFileInDirectory(temp_dir.GetPath()); |
| 428 | 433 |
| 429 MockProfileDelegate delegate; | 434 MockProfileDelegate delegate; |
| 430 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, false)); | 435 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, false)); |
| 431 | 436 |
| 432 { | 437 { |
| 433 content::WindowedNotificationObserver observer( | 438 content::WindowedNotificationObserver observer( |
| 434 chrome::NOTIFICATION_PROFILE_CREATED, | 439 chrome::NOTIFICATION_PROFILE_CREATED, |
| 435 content::NotificationService::AllSources()); | 440 content::NotificationService::AllSources()); |
| 436 | 441 |
| 437 std::unique_ptr<Profile> profile(CreateProfile( | 442 std::unique_ptr<Profile> profile(CreateProfile( |
| 438 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_ASYNCHRONOUS)); | 443 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_ASYNCHRONOUS)); |
| 439 | 444 |
| 440 // Wait for the profile to be created. | 445 // Wait for the profile to be created. |
| 441 observer.Wait(); | 446 observer.Wait(); |
| 442 CheckChromeVersion(profile.get(), false); | 447 CheckChromeVersion(profile.get(), false); |
| 443 } | 448 } |
| 444 | 449 |
| 445 FlushIoTaskRunnerAndSpinThreads(); | 450 FlushIoTaskRunnerAndSpinThreads(); |
| 446 } | 451 } |
| 447 | 452 |
| 448 // Flaky: http://crbug.com/393177 | 453 // Flaky: http://crbug.com/393177 |
| 449 // Test that a README file is created for profiles that didn't have it. | 454 // Test that a README file is created for profiles that didn't have it. |
| 450 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, DISABLED_ProfileReadmeCreated) { | 455 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, DISABLED_ProfileReadmeCreated) { |
| 456 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 451 base::ScopedTempDir temp_dir; | 457 base::ScopedTempDir temp_dir; |
| 452 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 458 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 453 | 459 |
| 454 MockProfileDelegate delegate; | 460 MockProfileDelegate delegate; |
| 455 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 461 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 456 | 462 |
| 457 { | 463 { |
| 458 content::WindowedNotificationObserver observer( | 464 content::WindowedNotificationObserver observer( |
| 459 chrome::NOTIFICATION_PROFILE_CREATED, | 465 chrome::NOTIFICATION_PROFILE_CREATED, |
| 460 content::NotificationService::AllSources()); | 466 content::NotificationService::AllSources()); |
| 461 | 467 |
| 462 std::unique_ptr<Profile> profile(CreateProfile( | 468 std::unique_ptr<Profile> profile(CreateProfile( |
| 463 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_ASYNCHRONOUS)); | 469 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_ASYNCHRONOUS)); |
| 464 | 470 |
| 465 // Wait for the profile to be created. | 471 // Wait for the profile to be created. |
| 466 observer.Wait(); | 472 observer.Wait(); |
| 467 | 473 |
| 468 // Verify that README exists. | 474 // Verify that README exists. |
| 469 EXPECT_TRUE( | 475 EXPECT_TRUE( |
| 470 base::PathExists(temp_dir.GetPath().Append(chrome::kReadmeFilename))); | 476 base::PathExists(temp_dir.GetPath().Append(chrome::kReadmeFilename))); |
| 471 } | 477 } |
| 472 | 478 |
| 473 FlushIoTaskRunnerAndSpinThreads(); | 479 FlushIoTaskRunnerAndSpinThreads(); |
| 474 } | 480 } |
| 475 | 481 |
| 476 // Test that repeated setting of exit type is handled correctly. | 482 // Test that repeated setting of exit type is handled correctly. |
| 477 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, ExitType) { | 483 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, ExitType) { |
| 484 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 478 base::ScopedTempDir temp_dir; | 485 base::ScopedTempDir temp_dir; |
| 479 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 486 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 480 | 487 |
| 481 MockProfileDelegate delegate; | 488 MockProfileDelegate delegate; |
| 482 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 489 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 483 { | 490 { |
| 484 std::unique_ptr<Profile> profile(CreateProfile( | 491 std::unique_ptr<Profile> profile(CreateProfile( |
| 485 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); | 492 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); |
| 486 | 493 |
| 487 PrefService* prefs = profile->GetPrefs(); | 494 PrefService* prefs = profile->GetPrefs(); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 EXPECT_EQ(main_context->http_transaction_factory() | 566 EXPECT_EQ(main_context->http_transaction_factory() |
| 560 ->GetSession() | 567 ->GetSession() |
| 561 ->params() | 568 ->params() |
| 562 .channel_id_service, | 569 .channel_id_service, |
| 563 main_context->channel_id_service()); | 570 main_context->channel_id_service()); |
| 564 } | 571 } |
| 565 | 572 |
| 566 } // namespace | 573 } // namespace |
| 567 | 574 |
| 568 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, URLRequestContextIsolation) { | 575 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, URLRequestContextIsolation) { |
| 576 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 569 base::ScopedTempDir temp_dir; | 577 base::ScopedTempDir temp_dir; |
| 570 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 578 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 571 | 579 |
| 572 MockProfileDelegate delegate; | 580 MockProfileDelegate delegate; |
| 573 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 581 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 574 | 582 |
| 575 { | 583 { |
| 576 std::unique_ptr<Profile> profile(CreateProfile( | 584 std::unique_ptr<Profile> profile(CreateProfile( |
| 577 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); | 585 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); |
| 578 | 586 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 594 main_context_getter), | 602 main_context_getter), |
| 595 run_loop.QuitClosure()); | 603 run_loop.QuitClosure()); |
| 596 run_loop.Run(); | 604 run_loop.Run(); |
| 597 } | 605 } |
| 598 | 606 |
| 599 FlushIoTaskRunnerAndSpinThreads(); | 607 FlushIoTaskRunnerAndSpinThreads(); |
| 600 } | 608 } |
| 601 | 609 |
| 602 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, | 610 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, |
| 603 OffTheRecordURLRequestContextIsolation) { | 611 OffTheRecordURLRequestContextIsolation) { |
| 612 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 604 base::ScopedTempDir temp_dir; | 613 base::ScopedTempDir temp_dir; |
| 605 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 614 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 606 | 615 |
| 607 MockProfileDelegate delegate; | 616 MockProfileDelegate delegate; |
| 608 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); | 617 EXPECT_CALL(delegate, OnProfileCreated(testing::NotNull(), true, true)); |
| 609 | 618 |
| 610 { | 619 { |
| 611 std::unique_ptr<Profile> profile(CreateProfile( | 620 std::unique_ptr<Profile> profile(CreateProfile( |
| 612 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); | 621 temp_dir.GetPath(), &delegate, Profile::CREATE_MODE_SYNCHRONOUS)); |
| 613 Profile* otr_profile = profile->GetOffTheRecordProfile(); | 622 Profile* otr_profile = profile->GetOffTheRecordProfile(); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 if (!dict->GetString("profile.exit_type", &exit_type)) | 668 if (!dict->GetString("profile.exit_type", &exit_type)) |
| 660 return std::string(); | 669 return std::string(); |
| 661 | 670 |
| 662 return exit_type; | 671 return exit_type; |
| 663 } | 672 } |
| 664 | 673 |
| 665 } // namespace | 674 } // namespace |
| 666 | 675 |
| 667 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, | 676 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, |
| 668 WritesProfilesSynchronouslyOnEndSession) { | 677 WritesProfilesSynchronouslyOnEndSession) { |
| 678 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 669 base::ScopedTempDir temp_dir; | 679 base::ScopedTempDir temp_dir; |
| 670 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 680 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 671 | 681 |
| 672 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 682 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 673 ASSERT_TRUE(profile_manager); | 683 ASSERT_TRUE(profile_manager); |
| 674 std::vector<Profile*> loaded_profiles = profile_manager->GetLoadedProfiles(); | 684 std::vector<Profile*> loaded_profiles = profile_manager->GetLoadedProfiles(); |
| 675 | 685 |
| 676 ASSERT_NE(loaded_profiles.size(), 0UL); | 686 ASSERT_NE(loaded_profiles.size(), 0UL); |
| 677 Profile* profile = loaded_profiles[0]; | 687 Profile* profile = loaded_profiles[0]; |
| 678 | 688 |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 OpenURLOffTheRecord(browser()->profile(), GURL("about:blank")); | 780 OpenURLOffTheRecord(browser()->profile(), GURL("about:blank")); |
| 771 | 781 |
| 772 RunURLFetcherActiveDuringIncognitoTeardownTest( | 782 RunURLFetcherActiveDuringIncognitoTeardownTest( |
| 773 incognito_browser, | 783 incognito_browser, |
| 774 incognito_browser->profile()->GetRequestContextForExtensions()); | 784 incognito_browser->profile()->GetRequestContextForExtensions()); |
| 775 } | 785 } |
| 776 | 786 |
| 777 // Verifies the cache directory supports multiple profiles when it's overriden | 787 // Verifies the cache directory supports multiple profiles when it's overriden |
| 778 // by group policy or command line switches. | 788 // by group policy or command line switches. |
| 779 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, DiskCacheDirOverride) { | 789 IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, DiskCacheDirOverride) { |
| 790 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 780 int size; | 791 int size; |
| 781 const base::FilePath::StringPieceType profile_name = | 792 const base::FilePath::StringPieceType profile_name = |
| 782 FILE_PATH_LITERAL("Profile 1"); | 793 FILE_PATH_LITERAL("Profile 1"); |
| 783 base::ScopedTempDir mock_user_data_dir; | 794 base::ScopedTempDir mock_user_data_dir; |
| 784 ASSERT_TRUE(mock_user_data_dir.CreateUniqueTempDir()); | 795 ASSERT_TRUE(mock_user_data_dir.CreateUniqueTempDir()); |
| 785 base::FilePath profile_path = | 796 base::FilePath profile_path = |
| 786 mock_user_data_dir.GetPath().Append(profile_name); | 797 mock_user_data_dir.GetPath().Append(profile_name); |
| 787 ProfileImpl* profile_impl = static_cast<ProfileImpl*>(browser()->profile()); | 798 ProfileImpl* profile_impl = static_cast<ProfileImpl*>(browser()->profile()); |
| 788 | 799 |
| 789 { | 800 { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 base::Bind(&SendReportHttpResponse, embedded_test_server()->base_url())); | 877 base::Bind(&SendReportHttpResponse, embedded_test_server()->base_url())); |
| 867 ASSERT_TRUE(hpkp_test_server.Start()); | 878 ASSERT_TRUE(hpkp_test_server.Start()); |
| 868 | 879 |
| 869 // To send a report, must use a non-numeric host name for the original | 880 // To send a report, must use a non-numeric host name for the original |
| 870 // request. This must not match the host name of the server that reports are | 881 // request. This must not match the host name of the server that reports are |
| 871 // sent to. | 882 // sent to. |
| 872 ui_test_utils::NavigateToURL(browser(), | 883 ui_test_utils::NavigateToURL(browser(), |
| 873 hpkp_test_server.GetURL("localhost", "/")); | 884 hpkp_test_server.GetURL("localhost", "/")); |
| 874 wait_for_report_loop.Run(); | 885 wait_for_report_loop.Run(); |
| 875 } | 886 } |
| OLD | NEW |