| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include "base/at_exit.h" | 8 #include "base/at_exit.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 const DownloadTestCase kBasicTestCases[] = { | 513 const DownloadTestCase kBasicTestCases[] = { |
| 514 {// 0: Automatic Safe | 514 {// 0: Automatic Safe |
| 515 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 515 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 516 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 516 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 517 "text/plain", FILE_PATH_LITERAL(""), | 517 "text/plain", FILE_PATH_LITERAL(""), |
| 518 | 518 |
| 519 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 519 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 520 | 520 |
| 521 EXPECT_CRDOWNLOAD}, | 521 EXPECT_CRDOWNLOAD}, |
| 522 | 522 |
| 523 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 523 {// 1: Save_As Safe | 524 {// 1: Save_As Safe |
| 524 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 525 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 525 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 526 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 526 "text/plain", FILE_PATH_LITERAL(""), | 527 "text/plain", FILE_PATH_LITERAL(""), |
| 527 | 528 |
| 528 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 529 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 529 | 530 |
| 530 EXPECT_CRDOWNLOAD}, | 531 EXPECT_CRDOWNLOAD}, |
| 532 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 531 | 533 |
| 532 {// 2: Automatic Dangerous | 534 {// 2: Automatic Dangerous |
| 533 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, | 535 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, |
| 534 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", | 536 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", |
| 535 "", FILE_PATH_LITERAL(""), | 537 "", FILE_PATH_LITERAL(""), |
| 536 | 538 |
| 537 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 539 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 538 | 540 |
| 539 EXPECT_UNCONFIRMED}, | 541 EXPECT_UNCONFIRMED}, |
| 540 | 542 |
| 541 {// 3: Forced Safe | 543 {// 3: Forced Safe |
| 542 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 544 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 543 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", "", | 545 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", "", |
| 544 FILE_PATH_LITERAL("forced-foo.txt"), | 546 FILE_PATH_LITERAL("forced-foo.txt"), |
| 545 | 547 |
| 546 FILE_PATH_LITERAL("forced-foo.txt"), | 548 FILE_PATH_LITERAL("forced-foo.txt"), |
| 547 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 549 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 548 | 550 |
| 549 EXPECT_LOCAL_PATH}, | 551 EXPECT_LOCAL_PATH}, |
| 550 }; | 552 }; |
| 551 | 553 |
| 552 // The test assumes that .crx files have a danger level of | 554 // The test assumes that .crx files have a danger level of |
| 553 // ALLOW_ON_USER_GESTURE. | 555 // ALLOW_ON_USER_GESTURE. |
| 554 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, | 556 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, |
| 555 Policies()->GetFileDangerLevel( | 557 Policies()->GetFileDangerLevel( |
| 556 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); | 558 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); |
| 557 RunTestCasesWithActiveItem(kBasicTestCases, arraysize(kBasicTestCases)); | 559 RunTestCasesWithActiveItem(kBasicTestCases, arraysize(kBasicTestCases)); |
| 558 } | 560 } |
| 559 | 561 |
| 562 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 560 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_CancelSaveAs) { | 563 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_CancelSaveAs) { |
| 561 const DownloadTestCase kCancelSaveAsTestCases[] = { | 564 const DownloadTestCase kCancelSaveAsTestCases[] = { |
| 562 {// 0: Save_As Safe, Cancelled. | 565 {// 0: Save_As Safe, Cancelled. |
| 563 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 566 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 564 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 567 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 565 "text/plain", FILE_PATH_LITERAL(""), | 568 "text/plain", FILE_PATH_LITERAL(""), |
| 566 | 569 |
| 567 FILE_PATH_LITERAL(""), DownloadItem::TARGET_DISPOSITION_PROMPT, | 570 FILE_PATH_LITERAL(""), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 568 | 571 |
| 569 EXPECT_LOCAL_PATH}}; | 572 EXPECT_LOCAL_PATH}}; |
| 570 ON_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)) | 573 ON_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)) |
| 571 .WillByDefault(WithArg<2>(ScheduleCallback(base::FilePath()))); | 574 .WillByDefault(WithArg<2>(ScheduleCallback(base::FilePath()))); |
| 572 RunTestCasesWithActiveItem(kCancelSaveAsTestCases, | 575 RunTestCasesWithActiveItem(kCancelSaveAsTestCases, |
| 573 arraysize(kCancelSaveAsTestCases)); | 576 arraysize(kCancelSaveAsTestCases)); |
| 574 } | 577 } |
| 578 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 575 | 579 |
| 576 // The SafeBrowsing check is performed early. Make sure that a download item | 580 // The SafeBrowsing check is performed early. Make sure that a download item |
| 577 // that has been marked as DANGEROUS_URL behaves correctly. | 581 // that has been marked as DANGEROUS_URL behaves correctly. |
| 578 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_DangerousUrl) { | 582 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_DangerousUrl) { |
| 579 const DownloadTestCase kSafeBrowsingTestCases[] = { | 583 const DownloadTestCase kSafeBrowsingTestCases[] = { |
| 580 {// 0: Automatic Dangerous URL | 584 {// 0: Automatic Dangerous URL |
| 581 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 585 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 582 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", | 586 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", |
| 583 "", FILE_PATH_LITERAL(""), | 587 "", FILE_PATH_LITERAL(""), |
| 584 | 588 |
| 585 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 589 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 586 | 590 |
| 587 EXPECT_UNCONFIRMED}, | 591 EXPECT_UNCONFIRMED}, |
| 588 | 592 |
| 593 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 589 {// 1: Save As Dangerous URL | 594 {// 1: Save As Dangerous URL |
| 590 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 595 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 591 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", | 596 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", |
| 592 "", FILE_PATH_LITERAL(""), | 597 "", FILE_PATH_LITERAL(""), |
| 593 | 598 |
| 594 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 599 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 595 | 600 |
| 596 EXPECT_UNCONFIRMED}, | 601 EXPECT_UNCONFIRMED}, |
| 602 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 597 | 603 |
| 598 {// 2: Forced Dangerous URL | 604 {// 2: Forced Dangerous URL |
| 599 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 605 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 600 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", | 606 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", |
| 601 "", FILE_PATH_LITERAL("forced-foo.txt"), | 607 "", FILE_PATH_LITERAL("forced-foo.txt"), |
| 602 | 608 |
| 603 FILE_PATH_LITERAL("forced-foo.txt"), | 609 FILE_PATH_LITERAL("forced-foo.txt"), |
| 604 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 610 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 605 | 611 |
| 606 EXPECT_UNCONFIRMED}, | 612 EXPECT_UNCONFIRMED}, |
| 607 | 613 |
| 608 {// 3: Automatic Dangerous URL + Dangerous file. Dangerous URL takes | 614 {// 3: Automatic Dangerous URL + Dangerous file. Dangerous URL takes |
| 609 // precedence. | 615 // precedence. |
| 610 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 616 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 611 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", | 617 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", |
| 612 "", FILE_PATH_LITERAL(""), | 618 "", FILE_PATH_LITERAL(""), |
| 613 | 619 |
| 614 FILE_PATH_LITERAL("foo.html"), | 620 FILE_PATH_LITERAL("foo.html"), |
| 615 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 621 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 616 | 622 |
| 617 EXPECT_UNCONFIRMED}, | 623 EXPECT_UNCONFIRMED}, |
| 618 | 624 |
| 625 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 619 {// 4: Save As Dangerous URL + Dangerous file | 626 {// 4: Save As Dangerous URL + Dangerous file |
| 620 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 627 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 621 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", | 628 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", |
| 622 "", FILE_PATH_LITERAL(""), | 629 "", FILE_PATH_LITERAL(""), |
| 623 | 630 |
| 624 FILE_PATH_LITERAL("foo.html"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 631 FILE_PATH_LITERAL("foo.html"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 625 | 632 |
| 626 EXPECT_UNCONFIRMED}, | 633 EXPECT_UNCONFIRMED}, |
| 634 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 627 | 635 |
| 628 {// 5: Forced Dangerous URL + Dangerous file | 636 {// 5: Forced Dangerous URL + Dangerous file |
| 629 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, | 637 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, |
| 630 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", | 638 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", |
| 631 "", FILE_PATH_LITERAL("forced-foo.html"), | 639 "", FILE_PATH_LITERAL("forced-foo.html"), |
| 632 | 640 |
| 633 FILE_PATH_LITERAL("forced-foo.html"), | 641 FILE_PATH_LITERAL("forced-foo.html"), |
| 634 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 642 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 635 | 643 |
| 636 EXPECT_UNCONFIRMED}, | 644 EXPECT_UNCONFIRMED}, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 658 | 666 |
| 659 {// 1: Automatic Maybe dangerous content with DANGEROUS type. | 667 {// 1: Automatic Maybe dangerous content with DANGEROUS type. |
| 660 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, | 668 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, |
| 661 DownloadFileType::DANGEROUS, "http://phishing.example.com/foo.swf", "", | 669 DownloadFileType::DANGEROUS, "http://phishing.example.com/foo.swf", "", |
| 662 FILE_PATH_LITERAL(""), | 670 FILE_PATH_LITERAL(""), |
| 663 | 671 |
| 664 FILE_PATH_LITERAL("foo.swf"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 672 FILE_PATH_LITERAL("foo.swf"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 665 | 673 |
| 666 EXPECT_UNCONFIRMED}, | 674 EXPECT_UNCONFIRMED}, |
| 667 | 675 |
| 676 |
| 677 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 668 {// 2: Save As Maybe dangerous content | 678 {// 2: Save As Maybe dangerous content |
| 669 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, | 679 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, |
| 670 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", | 680 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", |
| 671 "", FILE_PATH_LITERAL(""), | 681 "", FILE_PATH_LITERAL(""), |
| 672 | 682 |
| 673 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 683 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 674 | 684 |
| 675 EXPECT_UNCONFIRMED}, | 685 EXPECT_UNCONFIRMED}, |
| 686 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 676 | 687 |
| 677 {// 3: Forced Maybe dangerous content | 688 {// 3: Forced Maybe dangerous content |
| 678 FORCED, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, | 689 FORCED, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, |
| 679 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", | 690 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", |
| 680 "", FILE_PATH_LITERAL("forced-foo.crx"), | 691 "", FILE_PATH_LITERAL("forced-foo.crx"), |
| 681 | 692 |
| 682 FILE_PATH_LITERAL("forced-foo.crx"), | 693 FILE_PATH_LITERAL("forced-foo.crx"), |
| 683 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 694 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 684 | 695 |
| 685 EXPECT_UNCONFIRMED}, | 696 EXPECT_UNCONFIRMED}, |
| 686 }; | 697 }; |
| 687 | 698 |
| 688 // Test assumptions: | 699 // Test assumptions: |
| 689 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, | 700 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, |
| 690 Policies()->GetFileDangerLevel( | 701 Policies()->GetFileDangerLevel( |
| 691 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); | 702 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); |
| 692 ASSERT_EQ(DownloadFileType::DANGEROUS, | 703 ASSERT_EQ(DownloadFileType::DANGEROUS, |
| 693 Policies()->GetFileDangerLevel( | 704 Policies()->GetFileDangerLevel( |
| 694 base::FilePath(FILE_PATH_LITERAL("foo.swf")))); | 705 base::FilePath(FILE_PATH_LITERAL("foo.swf")))); |
| 695 | 706 |
| 696 ON_CALL(*delegate(), CheckDownloadUrl(_, _, _)) | 707 ON_CALL(*delegate(), CheckDownloadUrl(_, _, _)) |
| 697 .WillByDefault(WithArg<2>(ScheduleCallback( | 708 .WillByDefault(WithArg<2>(ScheduleCallback( |
| 698 content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT))); | 709 content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT))); |
| 699 RunTestCasesWithActiveItem(kSafeBrowsingTestCases, | 710 RunTestCasesWithActiveItem(kSafeBrowsingTestCases, |
| 700 arraysize(kSafeBrowsingTestCases)); | 711 arraysize(kSafeBrowsingTestCases)); |
| 701 } | 712 } |
| 702 | 713 |
| 714 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 703 // Test whether the last saved directory is used for 'Save As' downloads. | 715 // Test whether the last saved directory is used for 'Save As' downloads. |
| 704 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_LastSavePath) { | 716 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_LastSavePath) { |
| 705 const DownloadTestCase kLastSavePathTestCasesPre[] = { | 717 const DownloadTestCase kLastSavePathTestCasesPre[] = { |
| 706 {// 0: If the last save path is empty, then the default download directory | 718 {// 0: If the last save path is empty, then the default download directory |
| 707 // should be used. | 719 // should be used. |
| 708 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 720 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 709 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 721 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 710 "text/plain", FILE_PATH_LITERAL(""), | 722 "text/plain", FILE_PATH_LITERAL(""), |
| 711 | 723 |
| 712 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 724 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 781 download_prefs()->SetSaveFilePath(last_selected_dir); | 793 download_prefs()->SetSaveFilePath(last_selected_dir); |
| 782 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( | 794 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( |
| 783 _, last_selected_dir.AppendASCII("foo.txt"), _)); | 795 _, last_selected_dir.AppendASCII("foo.txt"), _)); |
| 784 EXPECT_CALL(*delegate(), DetermineLocalPath(_, virtual_path, _)) | 796 EXPECT_CALL(*delegate(), DetermineLocalPath(_, virtual_path, _)) |
| 785 .WillOnce(WithArg<2>(ScheduleCallback( | 797 .WillOnce(WithArg<2>(ScheduleCallback( |
| 786 GetPathInDownloadDir(FILE_PATH_LITERAL("bar.txt"))))); | 798 GetPathInDownloadDir(FILE_PATH_LITERAL("bar.txt"))))); |
| 787 RunTestCasesWithActiveItem(kLastSavePathTestCasesVirtual, | 799 RunTestCasesWithActiveItem(kLastSavePathTestCasesVirtual, |
| 788 arraysize(kLastSavePathTestCasesVirtual)); | 800 arraysize(kLastSavePathTestCasesVirtual)); |
| 789 } | 801 } |
| 790 } | 802 } |
| 803 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 791 | 804 |
| 792 // These tests are run with the default downloads folder set to a virtual | 805 // These tests are run with the default downloads folder set to a virtual |
| 793 // directory. | 806 // directory. |
| 794 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_DefaultVirtual) { | 807 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_DefaultVirtual) { |
| 795 // The default download directory is the virutal path. | 808 // The default download directory is the virutal path. |
| 796 download_prefs()->SetDownloadPath(test_virtual_dir()); | 809 download_prefs()->SetDownloadPath(test_virtual_dir()); |
| 797 | 810 |
| 798 { | 811 { |
| 799 SCOPED_TRACE(testing::Message() << "Automatic Safe Download"); | 812 SCOPED_TRACE(testing::Message() << "Automatic Safe Download"); |
| 800 const DownloadTestCase kAutomaticDownloadToVirtualDir = { | 813 const DownloadTestCase kAutomaticDownloadToVirtualDir = { |
| 801 AUTOMATIC, | 814 AUTOMATIC, |
| 802 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 815 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 803 DownloadFileType::NOT_DANGEROUS, | 816 DownloadFileType::NOT_DANGEROUS, |
| 804 "http://example.com/foo.txt", | 817 "http://example.com/foo.txt", |
| 805 "text/plain", | 818 "text/plain", |
| 806 FILE_PATH_LITERAL(""), | 819 FILE_PATH_LITERAL(""), |
| 807 | 820 |
| 808 FILE_PATH_LITERAL("foo-local.txt"), | 821 FILE_PATH_LITERAL("foo-local.txt"), |
| 809 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 822 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 810 | 823 |
| 811 EXPECT_LOCAL_PATH}; | 824 EXPECT_LOCAL_PATH}; |
| 812 EXPECT_CALL(*delegate(), DetermineLocalPath(_, _, _)) | 825 EXPECT_CALL(*delegate(), DetermineLocalPath(_, _, _)) |
| 813 .WillOnce(WithArg<2>(ScheduleCallback( | 826 .WillOnce(WithArg<2>(ScheduleCallback( |
| 814 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-local.txt"))))); | 827 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-local.txt"))))); |
| 815 RunTestCasesWithActiveItem(&kAutomaticDownloadToVirtualDir, 1); | 828 RunTestCasesWithActiveItem(&kAutomaticDownloadToVirtualDir, 1); |
| 816 } | 829 } |
| 817 | 830 |
| 831 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 818 { | 832 { |
| 819 SCOPED_TRACE(testing::Message() << "Save As to virtual directory"); | 833 SCOPED_TRACE(testing::Message() << "Save As to virtual directory"); |
| 820 const DownloadTestCase kSaveAsToVirtualDir = { | 834 const DownloadTestCase kSaveAsToVirtualDir = { |
| 821 SAVE_AS, | 835 SAVE_AS, |
| 822 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 836 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 823 DownloadFileType::NOT_DANGEROUS, | 837 DownloadFileType::NOT_DANGEROUS, |
| 824 "http://example.com/bar.txt", | 838 "http://example.com/bar.txt", |
| 825 "text/plain", | 839 "text/plain", |
| 826 FILE_PATH_LITERAL(""), | 840 FILE_PATH_LITERAL(""), |
| 827 | 841 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 852 FILE_PATH_LITERAL("foo-x.txt"), | 866 FILE_PATH_LITERAL("foo-x.txt"), |
| 853 DownloadItem::TARGET_DISPOSITION_PROMPT, | 867 DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 854 | 868 |
| 855 EXPECT_CRDOWNLOAD}; | 869 EXPECT_CRDOWNLOAD}; |
| 856 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( | 870 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( |
| 857 _, test_virtual_dir().AppendASCII("bar.txt"), _)) | 871 _, test_virtual_dir().AppendASCII("bar.txt"), _)) |
| 858 .WillOnce(WithArg<2>(ScheduleCallback( | 872 .WillOnce(WithArg<2>(ScheduleCallback( |
| 859 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-x.txt"))))); | 873 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-x.txt"))))); |
| 860 RunTestCasesWithActiveItem(&kSaveAsToLocalDir, 1); | 874 RunTestCasesWithActiveItem(&kSaveAsToLocalDir, 1); |
| 861 } | 875 } |
| 876 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 862 | 877 |
| 863 { | 878 { |
| 864 SCOPED_TRACE(testing::Message() << "Forced safe download"); | 879 SCOPED_TRACE(testing::Message() << "Forced safe download"); |
| 865 const DownloadTestCase kForcedSafe = { | 880 const DownloadTestCase kForcedSafe = { |
| 866 FORCED, | 881 FORCED, |
| 867 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 882 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 868 DownloadFileType::NOT_DANGEROUS, | 883 DownloadFileType::NOT_DANGEROUS, |
| 869 "http://example.com/foo.txt", | 884 "http://example.com/foo.txt", |
| 870 "", | 885 "", |
| 871 FILE_PATH_LITERAL("forced-foo.txt"), | 886 FILE_PATH_LITERAL("forced-foo.txt"), |
| (...skipping 11 matching lines...) Expand all Loading... |
| 883 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_InactiveDownload) { | 898 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_InactiveDownload) { |
| 884 const DownloadTestCase kInactiveTestCases[] = { | 899 const DownloadTestCase kInactiveTestCases[] = { |
| 885 {AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 900 {AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 886 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 901 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 887 "text/plain", FILE_PATH_LITERAL(""), | 902 "text/plain", FILE_PATH_LITERAL(""), |
| 888 | 903 |
| 889 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 904 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 890 | 905 |
| 891 EXPECT_CRDOWNLOAD}, | 906 EXPECT_CRDOWNLOAD}, |
| 892 | 907 |
| 908 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 893 {SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 909 {SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 894 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 910 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 895 "text/plain", FILE_PATH_LITERAL(""), | 911 "text/plain", FILE_PATH_LITERAL(""), |
| 896 | 912 |
| 897 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 913 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 898 | 914 |
| 899 EXPECT_CRDOWNLOAD}}; | 915 EXPECT_CRDOWNLOAD} |
| 916 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 917 }; |
| 900 | 918 |
| 901 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) { | 919 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) { |
| 902 SCOPED_TRACE(testing::Message() << "Running test case " << i); | 920 SCOPED_TRACE(testing::Message() << "Running test case " << i); |
| 903 const DownloadTestCase& test_case = kInactiveTestCases[i]; | 921 const DownloadTestCase& test_case = kInactiveTestCases[i]; |
| 904 std::unique_ptr<content::MockDownloadItem> item( | 922 std::unique_ptr<content::MockDownloadItem> item( |
| 905 CreateActiveDownloadItem(i, test_case)); | 923 CreateActiveDownloadItem(i, test_case)); |
| 906 EXPECT_CALL(*item.get(), GetState()) | 924 EXPECT_CALL(*item.get(), GetState()) |
| 907 .WillRepeatedly(Return(content::DownloadItem::CANCELLED)); | 925 .WillRepeatedly(Return(content::DownloadItem::CANCELLED)); |
| 908 | 926 |
| 909 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)).Times(0); | 927 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)).Times(0); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 979 {// 1: Dangerous due to not having visited referrer before. | 997 {// 1: Dangerous due to not having visited referrer before. |
| 980 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, | 998 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, |
| 981 DownloadFileType::ALLOW_ON_USER_GESTURE, | 999 DownloadFileType::ALLOW_ON_USER_GESTURE, |
| 982 "http://not-visited.example.com/foo.crx", "application/xml", | 1000 "http://not-visited.example.com/foo.crx", "application/xml", |
| 983 FILE_PATH_LITERAL(""), | 1001 FILE_PATH_LITERAL(""), |
| 984 | 1002 |
| 985 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 1003 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 986 | 1004 |
| 987 EXPECT_UNCONFIRMED}, | 1005 EXPECT_UNCONFIRMED}, |
| 988 | 1006 |
| 1007 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 989 {// 2: Safe because the user is being prompted. | 1008 {// 2: Safe because the user is being prompted. |
| 990 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1009 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 991 DownloadFileType::NOT_DANGEROUS, | 1010 DownloadFileType::NOT_DANGEROUS, |
| 992 "http://not-visited.example.com/foo.crx", "application/xml", | 1011 "http://not-visited.example.com/foo.crx", "application/xml", |
| 993 FILE_PATH_LITERAL(""), | 1012 FILE_PATH_LITERAL(""), |
| 994 | 1013 |
| 995 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, | 1014 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 996 | 1015 |
| 997 EXPECT_CRDOWNLOAD}, | 1016 EXPECT_CRDOWNLOAD}, |
| 1017 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 998 | 1018 |
| 999 {// 3: Safe because of forced path. | 1019 {// 3: Safe because of forced path. |
| 1000 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1020 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 1001 DownloadFileType::NOT_DANGEROUS, | 1021 DownloadFileType::NOT_DANGEROUS, |
| 1002 "http://not-visited.example.com/foo.crx", "application/xml", | 1022 "http://not-visited.example.com/foo.crx", "application/xml", |
| 1003 FILE_PATH_LITERAL("foo.crx"), | 1023 FILE_PATH_LITERAL("foo.crx"), |
| 1004 | 1024 |
| 1005 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 1025 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 1006 | 1026 |
| 1007 EXPECT_LOCAL_PATH}, | 1027 EXPECT_LOCAL_PATH}, |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1143 } | 1163 } |
| 1144 | 1164 |
| 1145 std::unique_ptr<content::MockDownloadItem> item( | 1165 std::unique_ptr<content::MockDownloadItem> item( |
| 1146 CreateActiveDownloadItem(1, download_test_case)); | 1166 CreateActiveDownloadItem(1, download_test_case)); |
| 1147 EXPECT_CALL(*item, GetTransitionType()) | 1167 EXPECT_CALL(*item, GetTransitionType()) |
| 1148 .WillRepeatedly(Return(test_case.page_transition)); | 1168 .WillRepeatedly(Return(test_case.page_transition)); |
| 1149 RunTestCase(download_test_case, base::FilePath(), item.get()); | 1169 RunTestCase(download_test_case, base::FilePath(), item.get()); |
| 1150 } | 1170 } |
| 1151 } | 1171 } |
| 1152 | 1172 |
| 1173 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 1153 // These test cases are run with "Prompt for download" user preference set to | 1174 // These test cases are run with "Prompt for download" user preference set to |
| 1154 // true. | 1175 // true. |
| 1155 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_PromptAlways) { | 1176 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_PromptAlways) { |
| 1156 const DownloadTestCase kPromptingTestCases[] = { | 1177 const DownloadTestCase kPromptingTestCases[] = { |
| 1157 {// 0: Safe Automatic - Should prompt because of "Prompt for download" | 1178 {// 0: Safe Automatic - Should prompt because of "Prompt for download" |
| 1158 // preference setting. | 1179 // preference setting. |
| 1159 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1180 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 1160 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 1181 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 1161 "text/plain", FILE_PATH_LITERAL(""), | 1182 "text/plain", FILE_PATH_LITERAL(""), |
| 1162 | 1183 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1184 | 1205 |
| 1185 EXPECT_CRDOWNLOAD}, | 1206 EXPECT_CRDOWNLOAD}, |
| 1186 }; | 1207 }; |
| 1187 | 1208 |
| 1188 SetPromptForDownload(true); | 1209 SetPromptForDownload(true); |
| 1189 EnableAutoOpenBasedOnExtension( | 1210 EnableAutoOpenBasedOnExtension( |
| 1190 base::FilePath(FILE_PATH_LITERAL("dummy.dummy"))); | 1211 base::FilePath(FILE_PATH_LITERAL("dummy.dummy"))); |
| 1191 RunTestCasesWithActiveItem(kPromptingTestCases, | 1212 RunTestCasesWithActiveItem(kPromptingTestCases, |
| 1192 arraysize(kPromptingTestCases)); | 1213 arraysize(kPromptingTestCases)); |
| 1193 } | 1214 } |
| 1215 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 1194 | 1216 |
| 1195 #if defined(ENABLE_EXTENSIONS) | 1217 #if defined(ENABLE_EXTENSIONS) |
| 1196 // These test cases are run with "Prompt for download" user preference set to | 1218 // These test cases are run with "Prompt for download" user preference set to |
| 1197 // true. Automatic extension downloads shouldn't cause prompting. | 1219 // true. Automatic extension downloads shouldn't cause prompting. |
| 1198 // Android doesn't support extensions. | 1220 // Android doesn't support extensions. |
| 1199 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_PromptAlways_Extension) { | 1221 TEST_F(DownloadTargetDeterminerTest, TargetDeterminer_PromptAlways_Extension) { |
| 1200 const DownloadTestCase kPromptingTestCases[] = { | 1222 const DownloadTestCase kPromptingTestCases[] = { |
| 1201 {// 0: Automatic Browser Extension download. - Shouldn't prompt for browser | 1223 {// 0: Automatic Browser Extension download. - Shouldn't prompt for browser |
| 1202 // extension downloads even if "Prompt for download" preference is set. | 1224 // extension downloads even if "Prompt for download" preference is set. |
| 1203 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, | 1225 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1276 {// 0: Automatic Safe | 1298 {// 0: Automatic Safe |
| 1277 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1299 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 1278 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 1300 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 1279 "text/plain", FILE_PATH_LITERAL(""), | 1301 "text/plain", FILE_PATH_LITERAL(""), |
| 1280 | 1302 |
| 1281 FILE_PATH_LITERAL("overridden/foo.txt"), | 1303 FILE_PATH_LITERAL("overridden/foo.txt"), |
| 1282 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 1304 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 1283 | 1305 |
| 1284 EXPECT_CRDOWNLOAD}, | 1306 EXPECT_CRDOWNLOAD}, |
| 1285 | 1307 |
| 1308 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 1286 {// 1: Save_As Safe | 1309 {// 1: Save_As Safe |
| 1287 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1310 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 1288 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", | 1311 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", |
| 1289 "text/plain", FILE_PATH_LITERAL(""), | 1312 "text/plain", FILE_PATH_LITERAL(""), |
| 1290 | 1313 |
| 1291 FILE_PATH_LITERAL("overridden/foo.txt"), | 1314 FILE_PATH_LITERAL("overridden/foo.txt"), |
| 1292 DownloadItem::TARGET_DISPOSITION_PROMPT, | 1315 DownloadItem::TARGET_DISPOSITION_PROMPT, |
| 1293 | 1316 |
| 1294 EXPECT_CRDOWNLOAD}, | 1317 EXPECT_CRDOWNLOAD}, |
| 1318 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 1295 | 1319 |
| 1296 {// 2: Automatic Dangerous | 1320 {// 2: Automatic Dangerous |
| 1297 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, | 1321 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, |
| 1298 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", | 1322 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", |
| 1299 "", FILE_PATH_LITERAL(""), | 1323 "", FILE_PATH_LITERAL(""), |
| 1300 | 1324 |
| 1301 FILE_PATH_LITERAL("overridden/foo.crx"), | 1325 FILE_PATH_LITERAL("overridden/foo.crx"), |
| 1302 DownloadItem::TARGET_DISPOSITION_OVERWRITE, | 1326 DownloadItem::TARGET_DISPOSITION_OVERWRITE, |
| 1303 | 1327 |
| 1304 EXPECT_UNCONFIRMED}, | 1328 EXPECT_UNCONFIRMED}, |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1400 .WillOnce(WithArg<2>( | 1424 .WillOnce(WithArg<2>( |
| 1401 ScheduleCallback2(overridden_path, | 1425 ScheduleCallback2(overridden_path, |
| 1402 DownloadPathReservationTracker::PROMPT))); | 1426 DownloadPathReservationTracker::PROMPT))); |
| 1403 EXPECT_CALL(*delegate(), ReserveVirtualPath( | 1427 EXPECT_CALL(*delegate(), ReserveVirtualPath( |
| 1404 _, full_overridden_path, true, DownloadPathReservationTracker::PROMPT, _)) | 1428 _, full_overridden_path, true, DownloadPathReservationTracker::PROMPT, _)) |
| 1405 .WillOnce(WithArg<4>( | 1429 .WillOnce(WithArg<4>( |
| 1406 ScheduleCallback2(full_overridden_path, true))); | 1430 ScheduleCallback2(full_overridden_path, true))); |
| 1407 RunTestCase(test_case, base::FilePath(), item.get()); | 1431 RunTestCase(test_case, base::FilePath(), item.get()); |
| 1408 } | 1432 } |
| 1409 | 1433 |
| 1434 #if !BUILDFLAG(ANDROID_JAVA_UI) |
| 1410 // Test that relative paths returned by extensions are always relative to the | 1435 // Test that relative paths returned by extensions are always relative to the |
| 1411 // default downloads path. | 1436 // default downloads path. |
| 1412 TEST_F(DownloadTargetDeterminerTest, | 1437 TEST_F(DownloadTargetDeterminerTest, |
| 1413 TargetDeterminer_NotifyExtensionsDefaultPath) { | 1438 TargetDeterminer_NotifyExtensionsDefaultPath) { |
| 1414 const DownloadTestCase kNotifyExtensionsTestCase = { | 1439 const DownloadTestCase kNotifyExtensionsTestCase = { |
| 1415 SAVE_AS, | 1440 SAVE_AS, |
| 1416 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, | 1441 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, |
| 1417 DownloadFileType::NOT_DANGEROUS, | 1442 DownloadFileType::NOT_DANGEROUS, |
| 1418 "http://example.com/foo.txt", | 1443 "http://example.com/foo.txt", |
| 1419 "text/plain", | 1444 "text/plain", |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1437 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _)) | 1462 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _)) |
| 1438 .WillOnce(WithArg<2>( | 1463 .WillOnce(WithArg<2>( |
| 1439 ScheduleCallback2(overridden_path, | 1464 ScheduleCallback2(overridden_path, |
| 1440 DownloadPathReservationTracker::UNIQUIFY))); | 1465 DownloadPathReservationTracker::UNIQUIFY))); |
| 1441 EXPECT_CALL(*delegate(), | 1466 EXPECT_CALL(*delegate(), |
| 1442 PromptUserForDownloadPath(_, full_overridden_path, _)) | 1467 PromptUserForDownloadPath(_, full_overridden_path, _)) |
| 1443 .WillOnce(WithArg<2>( | 1468 .WillOnce(WithArg<2>( |
| 1444 ScheduleCallback(full_overridden_path))); | 1469 ScheduleCallback(full_overridden_path))); |
| 1445 RunTestCase(test_case, base::FilePath(), item.get()); | 1470 RunTestCase(test_case, base::FilePath(), item.get()); |
| 1446 } | 1471 } |
| 1472 #endif // !BUILDFLAG(ANDROID_JAVA_UI) |
| 1447 | 1473 |
| 1448 TEST_F(DownloadTargetDeterminerTest, | 1474 TEST_F(DownloadTargetDeterminerTest, |
| 1449 TargetDeterminer_InitialVirtualPathUnsafe) { | 1475 TargetDeterminer_InitialVirtualPathUnsafe) { |
| 1450 const base::FilePath::CharType* kInitialPath = | 1476 const base::FilePath::CharType* kInitialPath = |
| 1451 FILE_PATH_LITERAL("some_path/bar.html"); | 1477 FILE_PATH_LITERAL("some_path/bar.html"); |
| 1452 | 1478 |
| 1453 const DownloadTestCase kInitialPathTestCase = { | 1479 const DownloadTestCase kInitialPathTestCase = { |
| 1454 // 0: Save As Save. The path generated based on the DownloadItem is safe, | 1480 // 0: Save As Save. The path generated based on the DownloadItem is safe, |
| 1455 // but the initial path is unsafe. However, the download is not considered | 1481 // but the initial path is unsafe. However, the download is not considered |
| 1456 // dangerous since the user has been prompted. | 1482 // dangerous since the user has been prompted. |
| (...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2139 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(browser_plugin.path())) | 2165 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(browser_plugin.path())) |
| 2140 .WillRepeatedly(Return(false)); | 2166 .WillRepeatedly(Return(false)); |
| 2141 target_info = RunDownloadTargetDeterminer( | 2167 target_info = RunDownloadTargetDeterminer( |
| 2142 GetPathInDownloadDir(kInitialPath), item.get()); | 2168 GetPathInDownloadDir(kInitialPath), item.get()); |
| 2143 EXPECT_FALSE(target_info->is_filetype_handled_safely); | 2169 EXPECT_FALSE(target_info->is_filetype_handled_safely); |
| 2144 } | 2170 } |
| 2145 | 2171 |
| 2146 #endif // defined(ENABLE_PLUGINS) | 2172 #endif // defined(ENABLE_PLUGINS) |
| 2147 | 2173 |
| 2148 } // namespace | 2174 } // namespace |
| OLD | NEW |