| Index: chrome/browser/extensions/api/file_system/file_system_api_unittest.cc
|
| diff --git a/chrome/browser/extensions/api/file_system/file_system_api_unittest.cc b/chrome/browser/extensions/api/file_system/file_system_api_unittest.cc
|
| index 6253d1bbc1a78edfe9222522d606bd3b5ddc9859..c3541249a521307ba7f050d6fe02ef5f916a09af 100644
|
| --- a/chrome/browser/extensions/api/file_system/file_system_api_unittest.cc
|
| +++ b/chrome/browser/extensions/api/file_system/file_system_api_unittest.cc
|
| @@ -82,15 +82,20 @@ AcceptOption* BuildAcceptOption(const std::string& description,
|
| // Registers a request for a user consent by incrementing the counter.
|
| // Additionally simulates completing the user consent request with the
|
| // |response| result.
|
| -void OnUserConsentRequested(int* counter,
|
| - const ConsentProvider::Consent response,
|
| - const VolumeInfo& volume_info,
|
| - bool writable,
|
| - const ConsentProvider::ConsentCallback& callback) {
|
| +void OnAskUser(int* counter,
|
| + const ConsentProvider::Consent response,
|
| + const VolumeInfo& volume_info,
|
| + bool writable,
|
| + const ConsentProvider::ConsentCallback& callback) {
|
| (*counter)++;
|
| callback.Run(response);
|
| }
|
|
|
| +// Registers user notifications about auto-granting permissions.
|
| +void OnNotifyUser(int* counter, const VolumeInfo& volume_info, bool writable) {
|
| + (*counter)++;
|
| +}
|
| +
|
| // Rewrites result of a consent request from |result| to |log|.
|
| void OnConsentReceived(ConsentProvider::Consent* log,
|
| const ConsentProvider::Consent result) {
|
| @@ -271,10 +276,11 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| scoped_refptr<Extension> component_extension(
|
| test_util::BuildApp(ExtensionBuilder().SetLocation(Manifest::COMPONENT))
|
| .Build());
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_GRANTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_GRANTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| provider.SetIsAutoLaunchedForTesting(base::Bind(&OnIsAutoLaunched, false));
|
| EXPECT_FALSE(provider.IsGrantable(*component_extension));
|
|
|
| @@ -284,7 +290,8 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(0, user_consent_counter);
|
| + EXPECT_EQ(0, ask_user_counter);
|
| + EXPECT_EQ(0, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_REJECTED, result);
|
| }
|
|
|
| @@ -294,10 +301,11 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| scoped_refptr<Extension> whitelisted_component_extension(
|
| test_util::BuildApp(ExtensionBuilder().SetLocation(Manifest::COMPONENT))
|
| .Build());
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_REJECTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_REJECTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| std::set<std::string> whitelist;
|
| whitelist.insert(whitelisted_component_extension->id());
|
| provider.SetComponentWhitelistForTesting(whitelist);
|
| @@ -310,7 +318,8 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(0, user_consent_counter);
|
| + EXPECT_EQ(0, ask_user_counter);
|
| + EXPECT_EQ(0, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_GRANTED, result);
|
| }
|
|
|
| @@ -319,10 +328,11 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| {
|
| scoped_refptr<Extension> non_component_extension(
|
| test_util::CreateEmptyExtension());
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_GRANTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_GRANTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| provider.SetIsAutoLaunchedForTesting(base::Bind(&OnIsAutoLaunched, false));
|
| EXPECT_FALSE(provider.IsGrantable(*non_component_extension));
|
|
|
| @@ -332,14 +342,15 @@ TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(0, user_consent_counter);
|
| + EXPECT_EQ(0, ask_user_counter);
|
| + EXPECT_EQ(0, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_REJECTED, result);
|
| }
|
| }
|
|
|
| TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| // Non-component apps in auto-launch kiosk mode will be granted access
|
| - // instantly without asking for user consent.
|
| + // instantly without asking for user consent, but with a notification.
|
| {
|
| scoped_refptr<Extension> auto_launch_kiosk_app(
|
| test_util::BuildApp(ExtensionBuilder().Pass())
|
| @@ -350,10 +361,11 @@ TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| user_manager_->AddKioskAppUser(auto_launch_kiosk_app->id());
|
| user_manager_->LoginUser(auto_launch_kiosk_app->id());
|
|
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_REJECTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_REJECTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| provider.SetIsAutoLaunchedForTesting(base::Bind(&OnIsAutoLaunched, true));
|
| EXPECT_TRUE(provider.IsGrantable(*auto_launch_kiosk_app));
|
|
|
| @@ -363,7 +375,8 @@ TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(0, user_consent_counter);
|
| + EXPECT_EQ(0, ask_user_counter);
|
| + EXPECT_EQ(1, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_GRANTED, result);
|
| }
|
|
|
| @@ -377,10 +390,11 @@ TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| .Build());
|
| user_manager_->KioskAppLoggedIn(manual_launch_kiosk_app->id());
|
| {
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_GRANTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_GRANTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| provider.SetIsAutoLaunchedForTesting(base::Bind(&OnIsAutoLaunched, false));
|
| EXPECT_TRUE(provider.IsGrantable(*manual_launch_kiosk_app));
|
|
|
| @@ -390,17 +404,19 @@ TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(1, user_consent_counter);
|
| + EXPECT_EQ(1, ask_user_counter);
|
| + EXPECT_EQ(0, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_GRANTED, result);
|
| }
|
|
|
| // Non-component apps in manual-launch kiosk mode will be rejected access
|
| // after rejecting by a user.
|
| {
|
| - int user_consent_counter = 0;
|
| - ConsentProvider provider(base::Bind(&OnUserConsentRequested,
|
| - &user_consent_counter,
|
| - ConsentProvider::CONSENT_REJECTED));
|
| + int ask_user_counter = 0;
|
| + int notify_user_counter = 0;
|
| + ConsentProvider provider(base::Bind(&OnAskUser, &ask_user_counter,
|
| + ConsentProvider::CONSENT_REJECTED),
|
| + base::Bind(&OnNotifyUser, ¬ify_user_counter));
|
| provider.SetIsAutoLaunchedForTesting(base::Bind(&OnIsAutoLaunched, false));
|
| EXPECT_TRUE(provider.IsGrantable(*manual_launch_kiosk_app));
|
|
|
| @@ -410,7 +426,8 @@ TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) {
|
| base::Bind(&OnConsentReceived, &result));
|
| base::RunLoop().RunUntilIdle();
|
|
|
| - EXPECT_EQ(1, user_consent_counter);
|
| + EXPECT_EQ(1, ask_user_counter);
|
| + EXPECT_EQ(0, notify_user_counter);
|
| EXPECT_EQ(ConsentProvider::CONSENT_REJECTED, result);
|
| }
|
| }
|
|
|