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

Side by Side Diff: chrome/browser/download/download_target_determiner_unittest.cc

Issue 2619603002: Remove android_java_ui as it is not used (Closed)
Patch Set: Created 3 years, 11 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
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 <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 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 const DownloadTestCase kBasicTestCases[] = { 514 const DownloadTestCase kBasicTestCases[] = {
515 {// 0: Automatic Safe 515 {// 0: Automatic Safe
516 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 516 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
517 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 517 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
518 "text/plain", FILE_PATH_LITERAL(""), 518 "text/plain", FILE_PATH_LITERAL(""),
519 519
520 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 520 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
521 521
522 EXPECT_CRDOWNLOAD}, 522 EXPECT_CRDOWNLOAD},
523 523
524 #if !BUILDFLAG(ANDROID_JAVA_UI) 524 #if !defined(OS_ANDROID)
525 {// 1: Save_As Safe 525 {// 1: Save_As Safe
526 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 526 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
527 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 527 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
528 "text/plain", FILE_PATH_LITERAL(""), 528 "text/plain", FILE_PATH_LITERAL(""),
529 529
530 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, 530 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT,
531 531
532 EXPECT_CRDOWNLOAD}, 532 EXPECT_CRDOWNLOAD},
533 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 533 #endif // !defined(OS_ANDROID)
534 534
535 {// 2: Automatic Dangerous 535 {// 2: Automatic Dangerous
536 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 536 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
537 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", 537 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx",
538 "", FILE_PATH_LITERAL(""), 538 "", FILE_PATH_LITERAL(""),
539 539
540 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 540 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
541 541
542 EXPECT_UNCONFIRMED}, 542 EXPECT_UNCONFIRMED},
543 543
544 {// 3: Forced Safe 544 {// 3: Forced Safe
545 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 545 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
546 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", "", 546 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", "",
547 FILE_PATH_LITERAL("forced-foo.txt"), 547 FILE_PATH_LITERAL("forced-foo.txt"),
548 548
549 FILE_PATH_LITERAL("forced-foo.txt"), 549 FILE_PATH_LITERAL("forced-foo.txt"),
550 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 550 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
551 551
552 EXPECT_LOCAL_PATH}, 552 EXPECT_LOCAL_PATH},
553 }; 553 };
554 554
555 // The test assumes that .crx files have a danger level of 555 // The test assumes that .crx files have a danger level of
556 // ALLOW_ON_USER_GESTURE. 556 // ALLOW_ON_USER_GESTURE.
557 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, 557 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE,
558 Policies()->GetFileDangerLevel( 558 Policies()->GetFileDangerLevel(
559 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); 559 base::FilePath(FILE_PATH_LITERAL("foo.crx"))));
560 RunTestCasesWithActiveItem(kBasicTestCases, arraysize(kBasicTestCases)); 560 RunTestCasesWithActiveItem(kBasicTestCases, arraysize(kBasicTestCases));
561 } 561 }
562 562
563 #if !BUILDFLAG(ANDROID_JAVA_UI) 563 #if !defined(OS_ANDROID)
564 TEST_F(DownloadTargetDeterminerTest, CancelSaveAs) { 564 TEST_F(DownloadTargetDeterminerTest, CancelSaveAs) {
565 const DownloadTestCase kCancelSaveAsTestCases[] = { 565 const DownloadTestCase kCancelSaveAsTestCases[] = {
566 {// 0: Save_As Safe, Cancelled. 566 {// 0: Save_As Safe, Cancelled.
567 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 567 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
568 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 568 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
569 "text/plain", FILE_PATH_LITERAL(""), 569 "text/plain", FILE_PATH_LITERAL(""),
570 570
571 FILE_PATH_LITERAL(""), DownloadItem::TARGET_DISPOSITION_PROMPT, 571 FILE_PATH_LITERAL(""), DownloadItem::TARGET_DISPOSITION_PROMPT,
572 572
573 EXPECT_LOCAL_PATH}}; 573 EXPECT_LOCAL_PATH}};
574 ON_CALL(*delegate(), PromptUserForDownloadPath(_, _, _)) 574 ON_CALL(*delegate(), PromptUserForDownloadPath(_, _, _))
575 .WillByDefault(WithArg<2>(ScheduleCallback(base::FilePath()))); 575 .WillByDefault(WithArg<2>(ScheduleCallback(base::FilePath())));
576 RunTestCasesWithActiveItem(kCancelSaveAsTestCases, 576 RunTestCasesWithActiveItem(kCancelSaveAsTestCases,
577 arraysize(kCancelSaveAsTestCases)); 577 arraysize(kCancelSaveAsTestCases));
578 } 578 }
579 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 579 #endif // !defined(OS_ANDROID)
580 580
581 // The SafeBrowsing check is performed early. Make sure that a download item 581 // The SafeBrowsing check is performed early. Make sure that a download item
582 // that has been marked as DANGEROUS_URL behaves correctly. 582 // that has been marked as DANGEROUS_URL behaves correctly.
583 TEST_F(DownloadTargetDeterminerTest, DangerousUrl) { 583 TEST_F(DownloadTargetDeterminerTest, DangerousUrl) {
584 const DownloadTestCase kSafeBrowsingTestCases[] = { 584 const DownloadTestCase kSafeBrowsingTestCases[] = {
585 {// 0: Automatic Dangerous URL 585 {// 0: Automatic Dangerous URL
586 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 586 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
587 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", 587 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt",
588 "", FILE_PATH_LITERAL(""), 588 "", FILE_PATH_LITERAL(""),
589 589
590 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 590 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
591 591
592 EXPECT_UNCONFIRMED}, 592 EXPECT_UNCONFIRMED},
593 593
594 #if !BUILDFLAG(ANDROID_JAVA_UI) 594 #if !defined(OS_ANDROID)
595 {// 1: Save As Dangerous URL 595 {// 1: Save As Dangerous URL
596 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 596 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
597 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", 597 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt",
598 "", FILE_PATH_LITERAL(""), 598 "", FILE_PATH_LITERAL(""),
599 599
600 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, 600 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT,
601 601
602 EXPECT_UNCONFIRMED}, 602 EXPECT_UNCONFIRMED},
603 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 603 #endif // !defined(OS_ANDROID)
604 604
605 {// 2: Forced Dangerous URL 605 {// 2: Forced Dangerous URL
606 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 606 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
607 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt", 607 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.txt",
608 "", FILE_PATH_LITERAL("forced-foo.txt"), 608 "", FILE_PATH_LITERAL("forced-foo.txt"),
609 609
610 FILE_PATH_LITERAL("forced-foo.txt"), 610 FILE_PATH_LITERAL("forced-foo.txt"),
611 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 611 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
612 612
613 EXPECT_UNCONFIRMED}, 613 EXPECT_UNCONFIRMED},
614 614
615 {// 3: Automatic Dangerous URL + Dangerous file. Dangerous URL takes 615 {// 3: Automatic Dangerous URL + Dangerous file. Dangerous URL takes
616 // precedence. 616 // precedence.
617 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 617 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
618 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", 618 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html",
619 "", FILE_PATH_LITERAL(""), 619 "", FILE_PATH_LITERAL(""),
620 620
621 FILE_PATH_LITERAL("foo.html"), 621 FILE_PATH_LITERAL("foo.html"),
622 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 622 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
623 623
624 EXPECT_UNCONFIRMED}, 624 EXPECT_UNCONFIRMED},
625 625
626 #if !BUILDFLAG(ANDROID_JAVA_UI) 626 #if !defined(OS_ANDROID)
627 {// 4: Save As Dangerous URL + Dangerous file 627 {// 4: Save As Dangerous URL + Dangerous file
628 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 628 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
629 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", 629 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html",
630 "", FILE_PATH_LITERAL(""), 630 "", FILE_PATH_LITERAL(""),
631 631
632 FILE_PATH_LITERAL("foo.html"), DownloadItem::TARGET_DISPOSITION_PROMPT, 632 FILE_PATH_LITERAL("foo.html"), DownloadItem::TARGET_DISPOSITION_PROMPT,
633 633
634 EXPECT_UNCONFIRMED}, 634 EXPECT_UNCONFIRMED},
635 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 635 #endif // !defined(OS_ANDROID)
636 636
637 {// 5: Forced Dangerous URL + Dangerous file 637 {// 5: Forced Dangerous URL + Dangerous file
638 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, 638 FORCED, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL,
639 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html", 639 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.html",
640 "", FILE_PATH_LITERAL("forced-foo.html"), 640 "", FILE_PATH_LITERAL("forced-foo.html"),
641 641
642 FILE_PATH_LITERAL("forced-foo.html"), 642 FILE_PATH_LITERAL("forced-foo.html"),
643 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 643 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
644 644
645 EXPECT_UNCONFIRMED}, 645 EXPECT_UNCONFIRMED},
(...skipping 22 matching lines...) Expand all
668 {// 1: Automatic Maybe dangerous content with DANGEROUS type. 668 {// 1: Automatic Maybe dangerous content with DANGEROUS type.
669 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, 669 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT,
670 DownloadFileType::DANGEROUS, "http://phishing.example.com/foo.swf", "", 670 DownloadFileType::DANGEROUS, "http://phishing.example.com/foo.swf", "",
671 FILE_PATH_LITERAL(""), 671 FILE_PATH_LITERAL(""),
672 672
673 FILE_PATH_LITERAL("foo.swf"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 673 FILE_PATH_LITERAL("foo.swf"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
674 674
675 EXPECT_UNCONFIRMED}, 675 EXPECT_UNCONFIRMED},
676 676
677 677
678 #if !BUILDFLAG(ANDROID_JAVA_UI) 678 #if !defined(OS_ANDROID)
679 {// 2: Save As Maybe dangerous content 679 {// 2: Save As Maybe dangerous content
680 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, 680 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT,
681 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", 681 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx",
682 "", FILE_PATH_LITERAL(""), 682 "", FILE_PATH_LITERAL(""),
683 683
684 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, 684 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT,
685 685
686 EXPECT_UNCONFIRMED}, 686 EXPECT_UNCONFIRMED},
687 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 687 #endif // !defined(OS_ANDROID)
688 688
689 {// 3: Forced Maybe dangerous content 689 {// 3: Forced Maybe dangerous content
690 FORCED, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT, 690 FORCED, content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT,
691 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx", 691 DownloadFileType::NOT_DANGEROUS, "http://phishing.example.com/foo.crx",
692 "", FILE_PATH_LITERAL("forced-foo.crx"), 692 "", FILE_PATH_LITERAL("forced-foo.crx"),
693 693
694 FILE_PATH_LITERAL("forced-foo.crx"), 694 FILE_PATH_LITERAL("forced-foo.crx"),
695 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 695 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
696 696
697 EXPECT_UNCONFIRMED}, 697 EXPECT_UNCONFIRMED},
698 }; 698 };
699 699
700 // Test assumptions: 700 // Test assumptions:
701 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, 701 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE,
702 Policies()->GetFileDangerLevel( 702 Policies()->GetFileDangerLevel(
703 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); 703 base::FilePath(FILE_PATH_LITERAL("foo.crx"))));
704 ASSERT_EQ(DownloadFileType::DANGEROUS, 704 ASSERT_EQ(DownloadFileType::DANGEROUS,
705 Policies()->GetFileDangerLevel( 705 Policies()->GetFileDangerLevel(
706 base::FilePath(FILE_PATH_LITERAL("foo.swf")))); 706 base::FilePath(FILE_PATH_LITERAL("foo.swf"))));
707 707
708 ON_CALL(*delegate(), CheckDownloadUrl(_, _, _)) 708 ON_CALL(*delegate(), CheckDownloadUrl(_, _, _))
709 .WillByDefault(WithArg<2>(ScheduleCallback( 709 .WillByDefault(WithArg<2>(ScheduleCallback(
710 content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT))); 710 content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT)));
711 RunTestCasesWithActiveItem(kSafeBrowsingTestCases, 711 RunTestCasesWithActiveItem(kSafeBrowsingTestCases,
712 arraysize(kSafeBrowsingTestCases)); 712 arraysize(kSafeBrowsingTestCases));
713 } 713 }
714 714
715 #if !BUILDFLAG(ANDROID_JAVA_UI) 715 #if !defined(OS_ANDROID)
716 // Test whether the last saved directory is used for 'Save As' downloads. 716 // Test whether the last saved directory is used for 'Save As' downloads.
717 TEST_F(DownloadTargetDeterminerTest, LastSavePath) { 717 TEST_F(DownloadTargetDeterminerTest, LastSavePath) {
718 const DownloadTestCase kLastSavePathTestCasesPre[] = { 718 const DownloadTestCase kLastSavePathTestCasesPre[] = {
719 {// 0: If the last save path is empty, then the default download directory 719 {// 0: If the last save path is empty, then the default download directory
720 // should be used. 720 // should be used.
721 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 721 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
722 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 722 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
723 "text/plain", FILE_PATH_LITERAL(""), 723 "text/plain", FILE_PATH_LITERAL(""),
724 724
725 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, 725 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT,
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 download_prefs()->SetSaveFilePath(last_selected_dir); 794 download_prefs()->SetSaveFilePath(last_selected_dir);
795 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( 795 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(
796 _, last_selected_dir.AppendASCII("foo.txt"), _)); 796 _, last_selected_dir.AppendASCII("foo.txt"), _));
797 EXPECT_CALL(*delegate(), DetermineLocalPath(_, virtual_path, _)) 797 EXPECT_CALL(*delegate(), DetermineLocalPath(_, virtual_path, _))
798 .WillOnce(WithArg<2>(ScheduleCallback( 798 .WillOnce(WithArg<2>(ScheduleCallback(
799 GetPathInDownloadDir(FILE_PATH_LITERAL("bar.txt"))))); 799 GetPathInDownloadDir(FILE_PATH_LITERAL("bar.txt")))));
800 RunTestCasesWithActiveItem(kLastSavePathTestCasesVirtual, 800 RunTestCasesWithActiveItem(kLastSavePathTestCasesVirtual,
801 arraysize(kLastSavePathTestCasesVirtual)); 801 arraysize(kLastSavePathTestCasesVirtual));
802 } 802 }
803 } 803 }
804 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 804 #endif // !defined(OS_ANDROID)
805 805
806 // These tests are run with the default downloads folder set to a virtual 806 // These tests are run with the default downloads folder set to a virtual
807 // directory. 807 // directory.
808 TEST_F(DownloadTargetDeterminerTest, DefaultVirtual) { 808 TEST_F(DownloadTargetDeterminerTest, DefaultVirtual) {
809 // The default download directory is the virutal path. 809 // The default download directory is the virutal path.
810 download_prefs()->SetDownloadPath(test_virtual_dir()); 810 download_prefs()->SetDownloadPath(test_virtual_dir());
811 811
812 { 812 {
813 SCOPED_TRACE(testing::Message() << "Automatic Safe Download"); 813 SCOPED_TRACE(testing::Message() << "Automatic Safe Download");
814 const DownloadTestCase kAutomaticDownloadToVirtualDir = { 814 const DownloadTestCase kAutomaticDownloadToVirtualDir = {
815 AUTOMATIC, 815 AUTOMATIC,
816 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 816 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
817 DownloadFileType::NOT_DANGEROUS, 817 DownloadFileType::NOT_DANGEROUS,
818 "http://example.com/foo.txt", 818 "http://example.com/foo.txt",
819 "text/plain", 819 "text/plain",
820 FILE_PATH_LITERAL(""), 820 FILE_PATH_LITERAL(""),
821 821
822 FILE_PATH_LITERAL("foo-local.txt"), 822 FILE_PATH_LITERAL("foo-local.txt"),
823 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 823 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
824 824
825 EXPECT_LOCAL_PATH}; 825 EXPECT_LOCAL_PATH};
826 EXPECT_CALL(*delegate(), DetermineLocalPath(_, _, _)) 826 EXPECT_CALL(*delegate(), DetermineLocalPath(_, _, _))
827 .WillOnce(WithArg<2>(ScheduleCallback( 827 .WillOnce(WithArg<2>(ScheduleCallback(
828 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-local.txt"))))); 828 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-local.txt")))));
829 RunTestCasesWithActiveItem(&kAutomaticDownloadToVirtualDir, 1); 829 RunTestCasesWithActiveItem(&kAutomaticDownloadToVirtualDir, 1);
830 } 830 }
831 831
832 #if !BUILDFLAG(ANDROID_JAVA_UI) 832 #if !defined(OS_ANDROID)
833 { 833 {
834 SCOPED_TRACE(testing::Message() << "Save As to virtual directory"); 834 SCOPED_TRACE(testing::Message() << "Save As to virtual directory");
835 const DownloadTestCase kSaveAsToVirtualDir = { 835 const DownloadTestCase kSaveAsToVirtualDir = {
836 SAVE_AS, 836 SAVE_AS,
837 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 837 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
838 DownloadFileType::NOT_DANGEROUS, 838 DownloadFileType::NOT_DANGEROUS,
839 "http://example.com/bar.txt", 839 "http://example.com/bar.txt",
840 "text/plain", 840 "text/plain",
841 FILE_PATH_LITERAL(""), 841 FILE_PATH_LITERAL(""),
842 842
(...skipping 24 matching lines...) Expand all
867 FILE_PATH_LITERAL("foo-x.txt"), 867 FILE_PATH_LITERAL("foo-x.txt"),
868 DownloadItem::TARGET_DISPOSITION_PROMPT, 868 DownloadItem::TARGET_DISPOSITION_PROMPT,
869 869
870 EXPECT_CRDOWNLOAD}; 870 EXPECT_CRDOWNLOAD};
871 EXPECT_CALL(*delegate(), PromptUserForDownloadPath( 871 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(
872 _, test_virtual_dir().AppendASCII("bar.txt"), _)) 872 _, test_virtual_dir().AppendASCII("bar.txt"), _))
873 .WillOnce(WithArg<2>(ScheduleCallback( 873 .WillOnce(WithArg<2>(ScheduleCallback(
874 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-x.txt"))))); 874 GetPathInDownloadDir(FILE_PATH_LITERAL("foo-x.txt")))));
875 RunTestCasesWithActiveItem(&kSaveAsToLocalDir, 1); 875 RunTestCasesWithActiveItem(&kSaveAsToLocalDir, 1);
876 } 876 }
877 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 877 #endif // !defined(OS_ANDROID)
878 878
879 { 879 {
880 SCOPED_TRACE(testing::Message() << "Forced safe download"); 880 SCOPED_TRACE(testing::Message() << "Forced safe download");
881 const DownloadTestCase kForcedSafe = { 881 const DownloadTestCase kForcedSafe = {
882 FORCED, 882 FORCED,
883 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 883 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
884 DownloadFileType::NOT_DANGEROUS, 884 DownloadFileType::NOT_DANGEROUS,
885 "http://example.com/foo.txt", 885 "http://example.com/foo.txt",
886 "", 886 "",
887 FILE_PATH_LITERAL("forced-foo.txt"), 887 FILE_PATH_LITERAL("forced-foo.txt"),
(...skipping 11 matching lines...) Expand all
899 TEST_F(DownloadTargetDeterminerTest, InactiveDownload) { 899 TEST_F(DownloadTargetDeterminerTest, InactiveDownload) {
900 const DownloadTestCase kInactiveTestCases[] = { 900 const DownloadTestCase kInactiveTestCases[] = {
901 {AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 901 {AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
902 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 902 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
903 "text/plain", FILE_PATH_LITERAL(""), 903 "text/plain", FILE_PATH_LITERAL(""),
904 904
905 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 905 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
906 906
907 EXPECT_CRDOWNLOAD}, 907 EXPECT_CRDOWNLOAD},
908 908
909 #if !BUILDFLAG(ANDROID_JAVA_UI) 909 #if !defined(OS_ANDROID)
910 {SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 910 {SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
911 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 911 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
912 "text/plain", FILE_PATH_LITERAL(""), 912 "text/plain", FILE_PATH_LITERAL(""),
913 913
914 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT, 914 FILE_PATH_LITERAL("foo.txt"), DownloadItem::TARGET_DISPOSITION_PROMPT,
915 915
916 EXPECT_CRDOWNLOAD} 916 EXPECT_CRDOWNLOAD}
917 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 917 #endif // !defined(OS_ANDROID)
918 }; 918 };
919 919
920 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) { 920 for (size_t i = 0; i < arraysize(kInactiveTestCases); ++i) {
921 SCOPED_TRACE(testing::Message() << "Running test case " << i); 921 SCOPED_TRACE(testing::Message() << "Running test case " << i);
922 const DownloadTestCase& test_case = kInactiveTestCases[i]; 922 const DownloadTestCase& test_case = kInactiveTestCases[i];
923 std::unique_ptr<content::MockDownloadItem> item( 923 std::unique_ptr<content::MockDownloadItem> item(
924 CreateActiveDownloadItem(i, test_case)); 924 CreateActiveDownloadItem(i, test_case));
925 EXPECT_CALL(*item.get(), GetState()) 925 EXPECT_CALL(*item.get(), GetState())
926 .WillRepeatedly(Return(content::DownloadItem::CANCELLED)); 926 .WillRepeatedly(Return(content::DownloadItem::CANCELLED));
927 927
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
998 {// 1: Dangerous due to not having visited referrer before. 998 {// 1: Dangerous due to not having visited referrer before.
999 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 999 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
1000 DownloadFileType::ALLOW_ON_USER_GESTURE, 1000 DownloadFileType::ALLOW_ON_USER_GESTURE,
1001 "http://not-visited.example.com/foo.crx", "application/xml", 1001 "http://not-visited.example.com/foo.crx", "application/xml",
1002 FILE_PATH_LITERAL(""), 1002 FILE_PATH_LITERAL(""),
1003 1003
1004 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1004 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1005 1005
1006 EXPECT_UNCONFIRMED}, 1006 EXPECT_UNCONFIRMED},
1007 1007
1008 #if !BUILDFLAG(ANDROID_JAVA_UI) 1008 #if !defined(OS_ANDROID)
1009 {// 2: Safe because the user is being prompted. 1009 {// 2: Safe because the user is being prompted.
1010 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1010 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1011 DownloadFileType::NOT_DANGEROUS, 1011 DownloadFileType::NOT_DANGEROUS,
1012 "http://not-visited.example.com/foo.crx", "application/xml", 1012 "http://not-visited.example.com/foo.crx", "application/xml",
1013 FILE_PATH_LITERAL(""), 1013 FILE_PATH_LITERAL(""),
1014 1014
1015 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT, 1015 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_PROMPT,
1016 1016
1017 EXPECT_CRDOWNLOAD}, 1017 EXPECT_CRDOWNLOAD},
1018 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 1018 #endif // !defined(OS_ANDROID)
1019 1019
1020 {// 3: Safe because of forced path. 1020 {// 3: Safe because of forced path.
1021 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1021 FORCED, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1022 DownloadFileType::NOT_DANGEROUS, 1022 DownloadFileType::NOT_DANGEROUS,
1023 "http://not-visited.example.com/foo.crx", "application/xml", 1023 "http://not-visited.example.com/foo.crx", "application/xml",
1024 FILE_PATH_LITERAL("foo.crx"), 1024 FILE_PATH_LITERAL("foo.crx"),
1025 1025
1026 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1026 FILE_PATH_LITERAL("foo.crx"), DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1027 1027
1028 EXPECT_LOCAL_PATH}, 1028 EXPECT_LOCAL_PATH},
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1164 } 1164 }
1165 1165
1166 std::unique_ptr<content::MockDownloadItem> item( 1166 std::unique_ptr<content::MockDownloadItem> item(
1167 CreateActiveDownloadItem(1, download_test_case)); 1167 CreateActiveDownloadItem(1, download_test_case));
1168 EXPECT_CALL(*item, GetTransitionType()) 1168 EXPECT_CALL(*item, GetTransitionType())
1169 .WillRepeatedly(Return(test_case.page_transition)); 1169 .WillRepeatedly(Return(test_case.page_transition));
1170 RunTestCase(download_test_case, base::FilePath(), item.get()); 1170 RunTestCase(download_test_case, base::FilePath(), item.get());
1171 } 1171 }
1172 } 1172 }
1173 1173
1174 #if !BUILDFLAG(ANDROID_JAVA_UI) 1174 #if !defined(OS_ANDROID)
1175 // These test cases are run with "Prompt for download" user preference set to 1175 // These test cases are run with "Prompt for download" user preference set to
1176 // true. 1176 // true.
1177 TEST_F(DownloadTargetDeterminerTest, PromptAlways) { 1177 TEST_F(DownloadTargetDeterminerTest, PromptAlways) {
1178 const DownloadTestCase kPromptingTestCases[] = { 1178 const DownloadTestCase kPromptingTestCases[] = {
1179 {// 0: Safe Automatic - Should prompt because of "Prompt for download" 1179 {// 0: Safe Automatic - Should prompt because of "Prompt for download"
1180 // preference setting. 1180 // preference setting.
1181 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1181 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1182 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 1182 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
1183 "text/plain", FILE_PATH_LITERAL(""), 1183 "text/plain", FILE_PATH_LITERAL(""),
1184 1184
(...skipping 21 matching lines...) Expand all
1206 1206
1207 EXPECT_CRDOWNLOAD}, 1207 EXPECT_CRDOWNLOAD},
1208 }; 1208 };
1209 1209
1210 SetPromptForDownload(true); 1210 SetPromptForDownload(true);
1211 EnableAutoOpenBasedOnExtension( 1211 EnableAutoOpenBasedOnExtension(
1212 base::FilePath(FILE_PATH_LITERAL("dummy.dummy"))); 1212 base::FilePath(FILE_PATH_LITERAL("dummy.dummy")));
1213 RunTestCasesWithActiveItem(kPromptingTestCases, 1213 RunTestCasesWithActiveItem(kPromptingTestCases,
1214 arraysize(kPromptingTestCases)); 1214 arraysize(kPromptingTestCases));
1215 } 1215 }
1216 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 1216 #endif // !defined(OS_ANDROID)
1217 1217
1218 #if BUILDFLAG(ENABLE_EXTENSIONS) 1218 #if BUILDFLAG(ENABLE_EXTENSIONS)
1219 // These test cases are run with "Prompt for download" user preference set to 1219 // These test cases are run with "Prompt for download" user preference set to
1220 // true. Automatic extension downloads shouldn't cause prompting. 1220 // true. Automatic extension downloads shouldn't cause prompting.
1221 // Android doesn't support extensions. 1221 // Android doesn't support extensions.
1222 TEST_F(DownloadTargetDeterminerTest, PromptAlways_Extension) { 1222 TEST_F(DownloadTargetDeterminerTest, PromptAlways_Extension) {
1223 const DownloadTestCase kPromptingTestCases[] = { 1223 const DownloadTestCase kPromptingTestCases[] = {
1224 {// 0: Automatic Browser Extension download. - Shouldn't prompt for browser 1224 {// 0: Automatic Browser Extension download. - Shouldn't prompt for browser
1225 // extension downloads even if "Prompt for download" preference is set. 1225 // extension downloads even if "Prompt for download" preference is set.
1226 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 1226 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 {// 0: Automatic Safe 1299 {// 0: Automatic Safe
1300 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1300 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1301 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 1301 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
1302 "text/plain", FILE_PATH_LITERAL(""), 1302 "text/plain", FILE_PATH_LITERAL(""),
1303 1303
1304 FILE_PATH_LITERAL("overridden/foo.txt"), 1304 FILE_PATH_LITERAL("overridden/foo.txt"),
1305 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1305 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1306 1306
1307 EXPECT_CRDOWNLOAD}, 1307 EXPECT_CRDOWNLOAD},
1308 1308
1309 #if !BUILDFLAG(ANDROID_JAVA_UI) 1309 #if !defined(OS_ANDROID)
1310 {// 1: Save_As Safe 1310 {// 1: Save_As Safe
1311 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1311 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1312 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 1312 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
1313 "text/plain", FILE_PATH_LITERAL(""), 1313 "text/plain", FILE_PATH_LITERAL(""),
1314 1314
1315 FILE_PATH_LITERAL("overridden/foo.txt"), 1315 FILE_PATH_LITERAL("overridden/foo.txt"),
1316 DownloadItem::TARGET_DISPOSITION_PROMPT, 1316 DownloadItem::TARGET_DISPOSITION_PROMPT,
1317 1317
1318 EXPECT_CRDOWNLOAD}, 1318 EXPECT_CRDOWNLOAD},
1319 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 1319 #endif // !defined(OS_ANDROID)
1320 1320
1321 {// 2: Automatic Dangerous 1321 {// 2: Automatic Dangerous
1322 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 1322 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
1323 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx", 1323 DownloadFileType::ALLOW_ON_USER_GESTURE, "http://example.com/foo.crx",
1324 "", FILE_PATH_LITERAL(""), 1324 "", FILE_PATH_LITERAL(""),
1325 1325
1326 FILE_PATH_LITERAL("overridden/foo.crx"), 1326 FILE_PATH_LITERAL("overridden/foo.crx"),
1327 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1327 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1328 1328
1329 EXPECT_UNCONFIRMED}, 1329 EXPECT_UNCONFIRMED},
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 .WillOnce(WithArg<2>( 1424 .WillOnce(WithArg<2>(
1425 ScheduleCallback2(overridden_path, 1425 ScheduleCallback2(overridden_path,
1426 DownloadPathReservationTracker::PROMPT))); 1426 DownloadPathReservationTracker::PROMPT)));
1427 EXPECT_CALL(*delegate(), ReserveVirtualPath( 1427 EXPECT_CALL(*delegate(), ReserveVirtualPath(
1428 _, full_overridden_path, true, DownloadPathReservationTracker::PROMPT, _)) 1428 _, full_overridden_path, true, DownloadPathReservationTracker::PROMPT, _))
1429 .WillOnce(WithArg<4>( 1429 .WillOnce(WithArg<4>(
1430 ScheduleCallback2(full_overridden_path, true))); 1430 ScheduleCallback2(full_overridden_path, true)));
1431 RunTestCase(test_case, base::FilePath(), item.get()); 1431 RunTestCase(test_case, base::FilePath(), item.get());
1432 } 1432 }
1433 1433
1434 #if !BUILDFLAG(ANDROID_JAVA_UI) 1434 #if !defined(OS_ANDROID)
1435 // 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
1436 // default downloads path. 1436 // default downloads path.
1437 TEST_F(DownloadTargetDeterminerTest, NotifyExtensionsDefaultPath) { 1437 TEST_F(DownloadTargetDeterminerTest, NotifyExtensionsDefaultPath) {
1438 const DownloadTestCase kNotifyExtensionsTestCase = { 1438 const DownloadTestCase kNotifyExtensionsTestCase = {
1439 SAVE_AS, 1439 SAVE_AS,
1440 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1440 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1441 DownloadFileType::NOT_DANGEROUS, 1441 DownloadFileType::NOT_DANGEROUS,
1442 "http://example.com/foo.txt", 1442 "http://example.com/foo.txt",
1443 "text/plain", 1443 "text/plain",
1444 FILE_PATH_LITERAL(""), 1444 FILE_PATH_LITERAL(""),
(...skipping 16 matching lines...) Expand all
1461 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _)) 1461 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _))
1462 .WillOnce(WithArg<2>( 1462 .WillOnce(WithArg<2>(
1463 ScheduleCallback2(overridden_path, 1463 ScheduleCallback2(overridden_path,
1464 DownloadPathReservationTracker::UNIQUIFY))); 1464 DownloadPathReservationTracker::UNIQUIFY)));
1465 EXPECT_CALL(*delegate(), 1465 EXPECT_CALL(*delegate(),
1466 PromptUserForDownloadPath(_, full_overridden_path, _)) 1466 PromptUserForDownloadPath(_, full_overridden_path, _))
1467 .WillOnce(WithArg<2>( 1467 .WillOnce(WithArg<2>(
1468 ScheduleCallback(full_overridden_path))); 1468 ScheduleCallback(full_overridden_path)));
1469 RunTestCase(test_case, base::FilePath(), item.get()); 1469 RunTestCase(test_case, base::FilePath(), item.get());
1470 } 1470 }
1471 #endif // !BUILDFLAG(ANDROID_JAVA_UI) 1471 #endif // !defined(OS_ANDROID)
1472 1472
1473 TEST_F(DownloadTargetDeterminerTest, InitialVirtualPathUnsafe) { 1473 TEST_F(DownloadTargetDeterminerTest, InitialVirtualPathUnsafe) {
1474 const base::FilePath::CharType* kInitialPath = 1474 const base::FilePath::CharType* kInitialPath =
1475 FILE_PATH_LITERAL("some_path/bar.html"); 1475 FILE_PATH_LITERAL("some_path/bar.html");
1476 1476
1477 const DownloadTestCase kInitialPathTestCase = { 1477 const DownloadTestCase kInitialPathTestCase = {
1478 // 0: Save As Save. The path generated based on the DownloadItem is safe, 1478 // 0: Save As Save. The path generated based on the DownloadItem is safe,
1479 // but the initial path is unsafe. However, the download is not considered 1479 // but the initial path is unsafe. However, the download is not considered
1480 // dangerous since the user has been prompted. 1480 // dangerous since the user has been prompted.
1481 SAVE_AS, 1481 SAVE_AS,
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 const base::FilePath::CharType* kInitialPath = 1629 const base::FilePath::CharType* kInitialPath =
1630 FILE_PATH_LITERAL("some_path/bar.txt"); 1630 FILE_PATH_LITERAL("some_path/bar.txt");
1631 1631
1632 const DownloadTestCase kResumedTestCases[] = { 1632 const DownloadTestCase kResumedTestCases[] = {
1633 {// 0: Automatic Safe 1633 {// 0: Automatic Safe
1634 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1634 AUTOMATIC, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1635 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 1635 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
1636 "text/plain", FILE_PATH_LITERAL(""), 1636 "text/plain", FILE_PATH_LITERAL(""),
1637 1637
1638 FILE_PATH_LITERAL("foo.txt"), 1638 FILE_PATH_LITERAL("foo.txt"),
1639 #if BUILDFLAG(ANDROID_JAVA_UI) 1639 #if defined(OS_ANDROID)
1640 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1640 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1641 #else 1641 #else
1642 DownloadItem::TARGET_DISPOSITION_PROMPT, 1642 DownloadItem::TARGET_DISPOSITION_PROMPT,
1643 #endif 1643 #endif
1644 EXPECT_CRDOWNLOAD}, 1644 EXPECT_CRDOWNLOAD},
1645 1645
1646 {// 1: Save_As Safe 1646 {// 1: Save_As Safe
1647 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1647 SAVE_AS, content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1648 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt", 1648 DownloadFileType::NOT_DANGEROUS, "http://example.com/foo.txt",
1649 "text/plain", FILE_PATH_LITERAL(""), 1649 "text/plain", FILE_PATH_LITERAL(""),
1650 1650
1651 kInitialPath, DownloadItem::TARGET_DISPOSITION_PROMPT, 1651 kInitialPath, DownloadItem::TARGET_DISPOSITION_PROMPT,
1652 1652
1653 EXPECT_CRDOWNLOAD}, 1653 EXPECT_CRDOWNLOAD},
1654 1654
1655 { 1655 {
1656 // 2: Automatic Dangerous 1656 // 2: Automatic Dangerous
1657 AUTOMATIC, 1657 AUTOMATIC,
1658 #if BUILDFLAG(ANDROID_JAVA_UI) 1658 #if defined(OS_ANDROID)
1659 // If we don't prompt user, the file will be treated as dangerous. 1659 // If we don't prompt user, the file will be treated as dangerous.
1660 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 1660 content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
1661 DownloadFileType::ALLOW_ON_USER_GESTURE, 1661 DownloadFileType::ALLOW_ON_USER_GESTURE,
1662 #else 1662 #else
1663 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, 1663 content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
1664 DownloadFileType::NOT_DANGEROUS, 1664 DownloadFileType::NOT_DANGEROUS,
1665 #endif 1665 #endif
1666 "http://example.com/foo.crx", "", FILE_PATH_LITERAL(""), 1666 "http://example.com/foo.crx", "", FILE_PATH_LITERAL(""),
1667 1667
1668 FILE_PATH_LITERAL("foo.crx"), 1668 FILE_PATH_LITERAL("foo.crx"),
1669 #if BUILDFLAG(ANDROID_JAVA_UI) 1669 #if defined(OS_ANDROID)
1670 DownloadItem::TARGET_DISPOSITION_OVERWRITE, 1670 DownloadItem::TARGET_DISPOSITION_OVERWRITE,
1671 // Dangerous download will have an unconfirmed intermediate file name. 1671 // Dangerous download will have an unconfirmed intermediate file name.
1672 EXPECT_UNCONFIRMED, 1672 EXPECT_UNCONFIRMED,
1673 #else 1673 #else
1674 DownloadItem::TARGET_DISPOSITION_PROMPT, EXPECT_CRDOWNLOAD, 1674 DownloadItem::TARGET_DISPOSITION_PROMPT, EXPECT_CRDOWNLOAD,
1675 #endif 1675 #endif
1676 }, 1676 },
1677 }; 1677 };
1678 1678
1679 // The test assumes that .xml files have a danger level of 1679 // The test assumes that .xml files have a danger level of
1680 // ALLOW_ON_USER_GESTURE. 1680 // ALLOW_ON_USER_GESTURE.
1681 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, 1681 ASSERT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE,
1682 Policies()->GetFileDangerLevel( 1682 Policies()->GetFileDangerLevel(
1683 base::FilePath(FILE_PATH_LITERAL("foo.crx")))); 1683 base::FilePath(FILE_PATH_LITERAL("foo.crx"))));
1684 for (size_t i = 0; i < arraysize(kResumedTestCases); ++i) { 1684 for (size_t i = 0; i < arraysize(kResumedTestCases); ++i) {
1685 SCOPED_TRACE(testing::Message() << "Running test case " << i); 1685 SCOPED_TRACE(testing::Message() << "Running test case " << i);
1686 download_prefs()->SetSaveFilePath(test_download_dir()); 1686 download_prefs()->SetSaveFilePath(test_download_dir());
1687 const DownloadTestCase& test_case = kResumedTestCases[i]; 1687 const DownloadTestCase& test_case = kResumedTestCases[i];
1688 base::FilePath expected_path = 1688 base::FilePath expected_path =
1689 GetPathInDownloadDir(test_case.expected_local_path); 1689 GetPathInDownloadDir(test_case.expected_local_path);
1690 std::unique_ptr<content::MockDownloadItem> item( 1690 std::unique_ptr<content::MockDownloadItem> item(
1691 CreateActiveDownloadItem(i, test_case)); 1691 CreateActiveDownloadItem(i, test_case));
1692 ON_CALL(*item.get(), GetLastReason()) 1692 ON_CALL(*item.get(), GetLastReason())
1693 .WillByDefault(Return( 1693 .WillByDefault(Return(
1694 content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE)); 1694 content::DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE));
1695 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _)) 1695 EXPECT_CALL(*delegate(), NotifyExtensions(_, _, _))
1696 .Times(test_case.test_type == AUTOMATIC ? 1 : 0); 1696 .Times(test_case.test_type == AUTOMATIC ? 1 : 0);
1697 EXPECT_CALL(*delegate(), ReserveVirtualPath(_, expected_path, false, _, _)); 1697 EXPECT_CALL(*delegate(), ReserveVirtualPath(_, expected_path, false, _, _));
1698 #if BUILDFLAG(ANDROID_JAVA_UI) 1698 #if defined(OS_ANDROID)
1699 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, expected_path, _)) 1699 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, expected_path, _))
1700 .Times(0); 1700 .Times(0);
1701 #else 1701 #else
1702 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, expected_path, _)); 1702 EXPECT_CALL(*delegate(), PromptUserForDownloadPath(_, expected_path, _));
1703 #endif 1703 #endif
1704 EXPECT_CALL(*delegate(), DetermineLocalPath(_, expected_path, _)); 1704 EXPECT_CALL(*delegate(), DetermineLocalPath(_, expected_path, _));
1705 EXPECT_CALL(*delegate(), CheckDownloadUrl(_, expected_path, _)); 1705 EXPECT_CALL(*delegate(), CheckDownloadUrl(_, expected_path, _));
1706 RunTestCase(test_case, GetPathInDownloadDir(kInitialPath), item.get()); 1706 RunTestCase(test_case, GetPathInDownloadDir(kInitialPath), item.get());
1707 } 1707 }
1708 } 1708 }
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
2160 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(browser_plugin.path())) 2160 EXPECT_CALL(mock_plugin_filter_, MockPluginAvailable(browser_plugin.path()))
2161 .WillRepeatedly(Return(false)); 2161 .WillRepeatedly(Return(false));
2162 target_info = RunDownloadTargetDeterminer( 2162 target_info = RunDownloadTargetDeterminer(
2163 GetPathInDownloadDir(kInitialPath), item.get()); 2163 GetPathInDownloadDir(kInitialPath), item.get());
2164 EXPECT_FALSE(target_info->is_filetype_handled_safely); 2164 EXPECT_FALSE(target_info->is_filetype_handled_safely);
2165 } 2165 }
2166 2166
2167 #endif // BUILDFLAG(ENABLE_PLUGINS) 2167 #endif // BUILDFLAG(ENABLE_PLUGINS)
2168 2168
2169 } // namespace 2169 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698