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); |
} |
} |