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 "chrome/browser/extensions/api/file_system/file_system_api.h" | 5 #include "chrome/browser/extensions/api/file_system/file_system_api.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 EXPECT_TRUE(suggested_name.MaybeAsASCII().empty()); | 309 EXPECT_TRUE(suggested_name.MaybeAsASCII().empty()); |
310 EXPECT_TRUE(suggested_extension.empty()); | 310 EXPECT_TRUE(suggested_extension.empty()); |
311 #endif | 311 #endif |
312 } | 312 } |
313 | 313 |
314 #if defined(OS_CHROMEOS) | 314 #if defined(OS_CHROMEOS) |
315 TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) { | 315 TEST_F(FileSystemApiConsentProviderTest, ForNonKioskApps) { |
316 // Component apps are not granted unless they are whitelisted. | 316 // Component apps are not granted unless they are whitelisted. |
317 { | 317 { |
318 scoped_refptr<Extension> component_extension( | 318 scoped_refptr<Extension> component_extension( |
319 test_util::BuildApp(ExtensionBuilder().SetLocation(Manifest::COMPONENT)) | 319 test_util::BuildApp( |
| 320 std::move(ExtensionBuilder().SetLocation(Manifest::COMPONENT))) |
320 .Build()); | 321 .Build()); |
321 TestingConsentProviderDelegate delegate; | 322 TestingConsentProviderDelegate delegate; |
322 ConsentProvider provider(&delegate); | 323 ConsentProvider provider(&delegate); |
323 EXPECT_FALSE(provider.IsGrantable(*component_extension)); | 324 EXPECT_FALSE(provider.IsGrantable(*component_extension)); |
324 } | 325 } |
325 | 326 |
326 // Whitelitsed component apps are instantly granted access without asking | 327 // Whitelitsed component apps are instantly granted access without asking |
327 // user. | 328 // user. |
328 { | 329 { |
329 scoped_refptr<Extension> whitelisted_component_extension( | 330 scoped_refptr<Extension> whitelisted_component_extension( |
330 test_util::BuildApp(ExtensionBuilder().SetLocation(Manifest::COMPONENT)) | 331 test_util::BuildApp( |
| 332 std::move(ExtensionBuilder().SetLocation(Manifest::COMPONENT))) |
331 .Build()); | 333 .Build()); |
332 TestingConsentProviderDelegate delegate; | 334 TestingConsentProviderDelegate delegate; |
333 delegate.SetComponentWhitelist(whitelisted_component_extension->id()); | 335 delegate.SetComponentWhitelist(whitelisted_component_extension->id()); |
334 ConsentProvider provider(&delegate); | 336 ConsentProvider provider(&delegate); |
335 EXPECT_TRUE(provider.IsGrantable(*whitelisted_component_extension)); | 337 EXPECT_TRUE(provider.IsGrantable(*whitelisted_component_extension)); |
336 | 338 |
337 ConsentProvider::Consent result = ConsentProvider::CONSENT_IMPOSSIBLE; | 339 ConsentProvider::Consent result = ConsentProvider::CONSENT_IMPOSSIBLE; |
338 provider.RequestConsent(*whitelisted_component_extension.get(), volume_, | 340 provider.RequestConsent(*whitelisted_component_extension.get(), volume_, |
339 true /* writable */, | 341 true /* writable */, |
340 base::Bind(&OnConsentReceived, &result)); | 342 base::Bind(&OnConsentReceived, &result)); |
(...skipping 13 matching lines...) Expand all Loading... |
354 ConsentProvider provider(&delegate); | 356 ConsentProvider provider(&delegate); |
355 EXPECT_FALSE(provider.IsGrantable(*non_component_extension)); | 357 EXPECT_FALSE(provider.IsGrantable(*non_component_extension)); |
356 } | 358 } |
357 } | 359 } |
358 | 360 |
359 TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) { | 361 TEST_F(FileSystemApiConsentProviderTest, ForKioskApps) { |
360 // Non-component apps in auto-launch kiosk mode will be granted access | 362 // Non-component apps in auto-launch kiosk mode will be granted access |
361 // instantly without asking for user consent, but with a notification. | 363 // instantly without asking for user consent, but with a notification. |
362 { | 364 { |
363 scoped_refptr<Extension> auto_launch_kiosk_app( | 365 scoped_refptr<Extension> auto_launch_kiosk_app( |
364 test_util::BuildApp(ExtensionBuilder().Pass()) | 366 test_util::BuildApp(ExtensionBuilder()) |
365 .MergeManifest(DictionaryBuilder() | 367 .MergeManifest(DictionaryBuilder() |
366 .SetBoolean("kiosk_enabled", true) | 368 .SetBoolean("kiosk_enabled", true) |
367 .SetBoolean("kiosk_only", true)) | 369 .SetBoolean("kiosk_only", true)) |
368 .Build()); | 370 .Build()); |
369 user_manager_->AddKioskAppUser( | 371 user_manager_->AddKioskAppUser( |
370 AccountId::FromUserEmail(auto_launch_kiosk_app->id())); | 372 AccountId::FromUserEmail(auto_launch_kiosk_app->id())); |
371 user_manager_->LoginUser( | 373 user_manager_->LoginUser( |
372 AccountId::FromUserEmail(auto_launch_kiosk_app->id())); | 374 AccountId::FromUserEmail(auto_launch_kiosk_app->id())); |
373 | 375 |
374 TestingConsentProviderDelegate delegate; | 376 TestingConsentProviderDelegate delegate; |
375 delegate.SetIsAutoLaunched(true); | 377 delegate.SetIsAutoLaunched(true); |
376 ConsentProvider provider(&delegate); | 378 ConsentProvider provider(&delegate); |
377 EXPECT_TRUE(provider.IsGrantable(*auto_launch_kiosk_app)); | 379 EXPECT_TRUE(provider.IsGrantable(*auto_launch_kiosk_app)); |
378 | 380 |
379 ConsentProvider::Consent result = ConsentProvider::CONSENT_IMPOSSIBLE; | 381 ConsentProvider::Consent result = ConsentProvider::CONSENT_IMPOSSIBLE; |
380 provider.RequestConsent(*auto_launch_kiosk_app.get(), volume_, | 382 provider.RequestConsent(*auto_launch_kiosk_app.get(), volume_, |
381 true /* writable */, | 383 true /* writable */, |
382 base::Bind(&OnConsentReceived, &result)); | 384 base::Bind(&OnConsentReceived, &result)); |
383 base::RunLoop().RunUntilIdle(); | 385 base::RunLoop().RunUntilIdle(); |
384 | 386 |
385 EXPECT_EQ(0, delegate.show_dialog_counter()); | 387 EXPECT_EQ(0, delegate.show_dialog_counter()); |
386 EXPECT_EQ(1, delegate.show_notification_counter()); | 388 EXPECT_EQ(1, delegate.show_notification_counter()); |
387 EXPECT_EQ(ConsentProvider::CONSENT_GRANTED, result); | 389 EXPECT_EQ(ConsentProvider::CONSENT_GRANTED, result); |
388 } | 390 } |
389 | 391 |
390 // Non-component apps in manual-launch kiosk mode will be granted access after | 392 // Non-component apps in manual-launch kiosk mode will be granted access after |
391 // receiving approval from the user. | 393 // receiving approval from the user. |
392 scoped_refptr<Extension> manual_launch_kiosk_app( | 394 scoped_refptr<Extension> manual_launch_kiosk_app( |
393 test_util::BuildApp(ExtensionBuilder().Pass()) | 395 test_util::BuildApp(ExtensionBuilder()) |
394 .MergeManifest(DictionaryBuilder() | 396 .MergeManifest(DictionaryBuilder() |
395 .SetBoolean("kiosk_enabled", true) | 397 .SetBoolean("kiosk_enabled", true) |
396 .SetBoolean("kiosk_only", true)) | 398 .SetBoolean("kiosk_only", true)) |
397 .Build()); | 399 .Build()); |
398 user_manager_->KioskAppLoggedIn( | 400 user_manager_->KioskAppLoggedIn( |
399 AccountId::FromUserEmail(manual_launch_kiosk_app->id())); | 401 AccountId::FromUserEmail(manual_launch_kiosk_app->id())); |
400 { | 402 { |
401 TestingConsentProviderDelegate delegate; | 403 TestingConsentProviderDelegate delegate; |
402 delegate.SetDialogButton(ui::DIALOG_BUTTON_OK); | 404 delegate.SetDialogButton(ui::DIALOG_BUTTON_OK); |
403 ConsentProvider provider(&delegate); | 405 ConsentProvider provider(&delegate); |
(...skipping 25 matching lines...) Expand all Loading... |
429 base::RunLoop().RunUntilIdle(); | 431 base::RunLoop().RunUntilIdle(); |
430 | 432 |
431 EXPECT_EQ(1, delegate.show_dialog_counter()); | 433 EXPECT_EQ(1, delegate.show_dialog_counter()); |
432 EXPECT_EQ(0, delegate.show_notification_counter()); | 434 EXPECT_EQ(0, delegate.show_notification_counter()); |
433 EXPECT_EQ(ConsentProvider::CONSENT_REJECTED, result); | 435 EXPECT_EQ(ConsentProvider::CONSENT_REJECTED, result); |
434 } | 436 } |
435 } | 437 } |
436 #endif | 438 #endif |
437 | 439 |
438 } // namespace extensions | 440 } // namespace extensions |
OLD | NEW |