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

Side by Side Diff: chrome/browser/chromeos/file_manager/file_tasks_unittest.cc

Issue 1030133002: Move the check for fileBrowserHandler permission to FileBrowserHandler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed test for OS != OS_CHROMEOS. Created 5 years, 9 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/file_manager/file_tasks.h" 5 #include "chrome/browser/chromeos/file_manager/file_tasks.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 // The basic logic is similar to a test case for FindDriveAppTasks above. 565 // The basic logic is similar to a test case for FindDriveAppTasks above.
566 TEST_F(FileManagerFileTasksComplexTest, FindFileBrowserHandlerTasks) { 566 TEST_F(FileManagerFileTasksComplexTest, FindFileBrowserHandlerTasks) {
567 // Copied from FindFileHandlerTasks test above. 567 // Copied from FindFileHandlerTasks test above.
568 const char kFooId[] = "hhgbjpmdppecanaaogonaigmmifgpaph"; 568 const char kFooId[] = "hhgbjpmdppecanaaogonaigmmifgpaph";
569 const char kBarId[] = "odlhccgofgkadkkhcmhgnhgahonahoca"; 569 const char kBarId[] = "odlhccgofgkadkkhcmhgnhgahonahoca";
570 const char kEphemeralId[] = "opoomfdlbjcbjinalcjdjfoiikdeaoel"; 570 const char kEphemeralId[] = "opoomfdlbjcbjinalcjdjfoiikdeaoel";
571 571
572 // Foo.app can handle ".txt" and ".html". 572 // Foo.app can handle ".txt" and ".html".
573 // This one is an extension, and has "file_browser_handlers" 573 // This one is an extension, and has "file_browser_handlers"
574 extensions::ExtensionBuilder foo_app; 574 extensions::ExtensionBuilder foo_app;
575 foo_app.SetManifest(extensions::DictionaryBuilder() 575 foo_app.SetManifest(
576 .Set("name", "Foo") 576 extensions::DictionaryBuilder()
577 .Set("version", "1.0.0") 577 .Set("name", "Foo")
578 .Set("manifest_version", 2) 578 .Set("version", "1.0.0")
579 .Set("file_browser_handlers", 579 .Set("manifest_version", 2)
580 extensions::ListBuilder() 580 .Set("permissions",
581 .Append(extensions::DictionaryBuilder() 581 extensions::ListBuilder().Append("fileBrowserHandler"))
582 .Set("id", "open") 582 .Set(
583 .Set("default_title", "open") 583 "file_browser_handlers",
584 .Set("file_filters", 584 extensions::ListBuilder().Append(
585 extensions::ListBuilder() 585 extensions::DictionaryBuilder()
586 .Append("filesystem:*.txt") 586 .Set("id", "open")
587 .Append("filesystem:*.html"))))); 587 .Set("default_title", "open")
588 .Set("file_filters", extensions::ListBuilder()
589 .Append("filesystem:*.txt")
590 .Append("filesystem:*.html")))));
588 foo_app.SetID(kFooId); 591 foo_app.SetID(kFooId);
589 extension_service_->AddExtension(foo_app.Build().get()); 592 extension_service_->AddExtension(foo_app.Build().get());
590 593
591 // Bar.app can only handle ".txt". 594 // Bar.app can only handle ".txt".
592 extensions::ExtensionBuilder bar_app; 595 extensions::ExtensionBuilder bar_app;
593 bar_app.SetManifest(extensions::DictionaryBuilder() 596 bar_app.SetManifest(
594 .Set("name", "Bar") 597 extensions::DictionaryBuilder()
595 .Set("version", "1.0.0") 598 .Set("name", "Bar")
596 .Set("manifest_version", 2) 599 .Set("version", "1.0.0")
597 .Set("file_browser_handlers", 600 .Set("manifest_version", 2)
598 extensions::ListBuilder() 601 .Set("permissions",
599 .Append(extensions::DictionaryBuilder() 602 extensions::ListBuilder().Append("fileBrowserHandler"))
600 .Set("id", "open") 603 .Set("file_browser_handlers",
601 .Set("default_title", "open") 604 extensions::ListBuilder().Append(
602 .Set("file_filters", 605 extensions::DictionaryBuilder()
603 extensions::ListBuilder() 606 .Set("id", "open")
604 .Append("filesystem:*.txt"))))); 607 .Set("default_title", "open")
608 .Set("file_filters", extensions::ListBuilder().Append(
609 "filesystem:*.txt")))));
605 bar_app.SetID(kBarId); 610 bar_app.SetID(kBarId);
606 extension_service_->AddExtension(bar_app.Build().get()); 611 extension_service_->AddExtension(bar_app.Build().get());
607 612
608 // Ephemeral.app is an ephemeral app that can handle ".txt". 613 // Ephemeral.app is an ephemeral app that can handle ".txt".
609 // It should not ever be found as ephemeral apps cannot be file browser 614 // It should not ever be found as ephemeral apps cannot be file browser
610 // handlers. 615 // handlers.
611 extensions::ExtensionBuilder ephemeral_app; 616 extensions::ExtensionBuilder ephemeral_app;
612 ephemeral_app.SetManifest( 617 ephemeral_app.SetManifest(
613 extensions::DictionaryBuilder() 618 extensions::DictionaryBuilder()
614 .Set("name", "Ephemeral") 619 .Set("name", "Ephemeral")
615 .Set("version", "1.0.0") 620 .Set("version", "1.0.0")
616 .Set("manifest_version", 2) 621 .Set("manifest_version", 2)
622 .Set("permissions",
623 extensions::ListBuilder().Append("fileBrowserHandler"))
617 .Set("file_browser_handlers", 624 .Set("file_browser_handlers",
618 extensions::ListBuilder().Append( 625 extensions::ListBuilder().Append(
619 extensions::DictionaryBuilder() 626 extensions::DictionaryBuilder()
620 .Set("id", "open") 627 .Set("id", "open")
621 .Set("default_title", "open") 628 .Set("default_title", "open")
622 .Set("file_filters", 629 .Set("file_filters", extensions::ListBuilder().Append(
623 extensions::ListBuilder().Append( 630 "filesystem:*.txt")))));
624 "filesystem:*.txt")))));
625 ephemeral_app.SetID(kEphemeralId); 631 ephemeral_app.SetID(kEphemeralId);
626 scoped_refptr<extensions::Extension> built_ephemeral_app( 632 scoped_refptr<extensions::Extension> built_ephemeral_app(
627 ephemeral_app.Build()); 633 ephemeral_app.Build());
628 extension_service_->AddExtension(built_ephemeral_app.get()); 634 extension_service_->AddExtension(built_ephemeral_app.get());
629 extensions::ExtensionPrefs* extension_prefs = 635 extensions::ExtensionPrefs* extension_prefs =
630 extensions::ExtensionPrefs::Get(&test_profile_); 636 extensions::ExtensionPrefs::Get(&test_profile_);
631 extension_prefs->OnExtensionInstalled(built_ephemeral_app.get(), 637 extension_prefs->OnExtensionInstalled(built_ephemeral_app.get(),
632 extensions::Extension::ENABLED, 638 extensions::Extension::ENABLED,
633 syncer::StringOrdinal(), 639 syncer::StringOrdinal(),
634 extensions::kInstallFlagIsEphemeral, 640 extensions::kInstallFlagIsEphemeral,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 .Set("title", "Text") 703 .Set("title", "Text")
698 .Set("types", 704 .Set("types",
699 extensions::ListBuilder() 705 extensions::ListBuilder()
700 .Append("text/plain"))))); 706 .Append("text/plain")))));
701 foo_app.SetID(kFooId); 707 foo_app.SetID(kFooId);
702 extension_service_->AddExtension(foo_app.Build().get()); 708 extension_service_->AddExtension(foo_app.Build().get());
703 709
704 // Bar.app can only handle ".txt". 710 // Bar.app can only handle ".txt".
705 // This is an extension (file browser handler). 711 // This is an extension (file browser handler).
706 extensions::ExtensionBuilder bar_app; 712 extensions::ExtensionBuilder bar_app;
707 bar_app.SetManifest(extensions::DictionaryBuilder() 713 bar_app.SetManifest(
708 .Set("name", "Bar") 714 extensions::DictionaryBuilder()
709 .Set("version", "1.0.0") 715 .Set("name", "Bar")
710 .Set("manifest_version", 2) 716 .Set("version", "1.0.0")
711 .Set("file_browser_handlers", 717 .Set("manifest_version", 2)
712 extensions::ListBuilder() 718 .Set("permissions",
713 .Append(extensions::DictionaryBuilder() 719 extensions::ListBuilder().Append("fileBrowserHandler"))
714 .Set("id", "open") 720 .Set("file_browser_handlers",
715 .Set("default_title", "open") 721 extensions::ListBuilder().Append(
716 .Set("file_filters", 722 extensions::DictionaryBuilder()
717 extensions::ListBuilder() 723 .Set("id", "open")
718 .Append("filesystem:*.txt"))))); 724 .Set("default_title", "open")
725 .Set("file_filters", extensions::ListBuilder().Append(
726 "filesystem:*.txt")))));
719 bar_app.SetID(kBarId); 727 bar_app.SetID(kBarId);
720 extension_service_->AddExtension(bar_app.Build().get()); 728 extension_service_->AddExtension(bar_app.Build().get());
721 729
722 // Baz.app can handle "text/plain". 730 // Baz.app can handle "text/plain".
723 // This is a Drive app. 731 // This is a Drive app.
724 scoped_ptr<google_apis::AppResource> baz_app(new google_apis::AppResource); 732 scoped_ptr<google_apis::AppResource> baz_app(new google_apis::AppResource);
725 baz_app->set_product_id("baz_app_id"); 733 baz_app->set_product_id("baz_app_id");
726 baz_app->set_application_id(kBazId); 734 baz_app->set_application_id(kBazId);
727 baz_app->set_name("Baz"); 735 baz_app->set_name("Baz");
728 baz_app->set_object_type("baz_object_type"); 736 baz_app->set_object_type("baz_object_type");
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 ScopedVector<google_apis::AppResource> app_resources; 794 ScopedVector<google_apis::AppResource> app_resources;
787 app_resources.push_back(foo_app.release()); 795 app_resources.push_back(foo_app.release());
788 google_apis::AppList app_list; 796 google_apis::AppList app_list;
789 app_list.set_items(app_resources.Pass()); 797 app_list.set_items(app_resources.Pass());
790 drive::DriveAppRegistry drive_app_registry(NULL); 798 drive::DriveAppRegistry drive_app_registry(NULL);
791 drive_app_registry.UpdateFromAppList(app_list); 799 drive_app_registry.UpdateFromAppList(app_list);
792 800
793 // Bar.app can handle ".gdoc" files. 801 // Bar.app can handle ".gdoc" files.
794 // This is an extension (file browser handler). 802 // This is an extension (file browser handler).
795 extensions::ExtensionBuilder bar_app; 803 extensions::ExtensionBuilder bar_app;
796 bar_app.SetManifest(extensions::DictionaryBuilder() 804 bar_app.SetManifest(
797 .Set("name", "Bar") 805 extensions::DictionaryBuilder()
798 .Set("version", "1.0.0") 806 .Set("name", "Bar")
799 .Set("manifest_version", 2) 807 .Set("version", "1.0.0")
800 .Set("file_browser_handlers", 808 .Set("manifest_version", 2)
801 extensions::ListBuilder() 809 .Set("permissions",
802 .Append(extensions::DictionaryBuilder() 810 extensions::ListBuilder().Append("fileBrowserHandler"))
803 .Set("id", "open") 811 .Set("file_browser_handlers",
804 .Set("default_title", "open") 812 extensions::ListBuilder().Append(
805 .Set("file_filters", 813 extensions::DictionaryBuilder()
806 extensions::ListBuilder() 814 .Set("id", "open")
807 .Append("filesystem:*.gdoc"))))); 815 .Set("default_title", "open")
816 .Set("file_filters", extensions::ListBuilder().Append(
817 "filesystem:*.gdoc")))));
808 bar_app.SetID(kBarId); 818 bar_app.SetID(kBarId);
809 extension_service_->AddExtension(bar_app.Build().get()); 819 extension_service_->AddExtension(bar_app.Build().get());
810 820
811 // Files.app can handle ".gdoc" files. 821 // Files.app can handle ".gdoc" files.
812 // The ID "kFileManagerAppId" used here is precisely the one that identifies 822 // The ID "kFileManagerAppId" used here is precisely the one that identifies
813 // the Chrome OS Files.app application. 823 // the Chrome OS Files.app application.
814 extensions::ExtensionBuilder files_app; 824 extensions::ExtensionBuilder files_app;
815 files_app.SetManifest(extensions::DictionaryBuilder() 825 files_app.SetManifest(
816 .Set("name", "Files") 826 extensions::DictionaryBuilder()
817 .Set("version", "1.0.0") 827 .Set("name", "Files")
818 .Set("manifest_version", 2) 828 .Set("version", "1.0.0")
819 .Set("file_browser_handlers", 829 .Set("manifest_version", 2)
820 extensions::ListBuilder() 830 .Set("permissions",
821 .Append(extensions::DictionaryBuilder() 831 extensions::ListBuilder().Append("fileBrowserHandler"))
822 .Set("id", "open") 832 .Set("file_browser_handlers",
823 .Set("default_title", "open") 833 extensions::ListBuilder().Append(
824 .Set("file_filters", 834 extensions::DictionaryBuilder()
825 extensions::ListBuilder() 835 .Set("id", "open")
826 .Append("filesystem:*.gdoc"))))); 836 .Set("default_title", "open")
837 .Set("file_filters", extensions::ListBuilder().Append(
838 "filesystem:*.gdoc")))));
827 files_app.SetID(kFileManagerAppId); 839 files_app.SetID(kFileManagerAppId);
828 extension_service_->AddExtension(files_app.Build().get()); 840 extension_service_->AddExtension(files_app.Build().get());
829 841
830 // Find apps for a ".gdoc file". Only the built-in handler of Files.apps 842 // Find apps for a ".gdoc file". Only the built-in handler of Files.apps
831 // should be found. 843 // should be found.
832 PathAndMimeTypeSet path_mime_set; 844 PathAndMimeTypeSet path_mime_set;
833 std::vector<GURL> file_urls; 845 std::vector<GURL> file_urls;
834 path_mime_set.insert( 846 path_mime_set.insert(
835 std::make_pair( 847 std::make_pair(
836 drive::util::GetDriveMountPointPath(&test_profile_).AppendASCII( 848 drive::util::GetDriveMountPointPath(&test_profile_).AppendASCII(
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 // treated as non-generic handler. 994 // treated as non-generic handler.
983 EXPECT_EQ("Baz", jpg_result[1].task_title()); 995 EXPECT_EQ("Baz", jpg_result[1].task_title());
984 EXPECT_FALSE(jpg_result[1].is_generic_file_handler()); 996 EXPECT_FALSE(jpg_result[1].is_generic_file_handler());
985 // Qux app provides a handler for all types. 997 // Qux app provides a handler for all types.
986 EXPECT_EQ("Qux", jpg_result[2].task_title()); 998 EXPECT_EQ("Qux", jpg_result[2].task_title());
987 EXPECT_TRUE(jpg_result[2].is_generic_file_handler()); 999 EXPECT_TRUE(jpg_result[2].is_generic_file_handler());
988 } 1000 }
989 1001
990 } // namespace file_tasks 1002 } // namespace file_tasks
991 } // namespace file_manager. 1003 } // namespace file_manager.
OLDNEW
« no previous file with comments | « chrome/browser/chrome_content_browser_client.cc ('k') | chrome/browser/chromeos/fileapi/file_system_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698