| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/note_taking_helper.h" | 5 #include "chrome/browser/chromeos/note_taking_helper.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "ash/ash_switches.h" | 9 #include "ash/ash_switches.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 apps = helper()->GetAvailableApps(profile()); | 356 apps = helper()->GetAvailableApps(profile()); |
| 357 ASSERT_EQ(2u, apps.size()); | 357 ASSERT_EQ(2u, apps.size()); |
| 358 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 358 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 359 false /* preferred */, | 359 false /* preferred */, |
| 360 NoteTakingLockScreenSupport::kNotSupported), | 360 NoteTakingLockScreenSupport::kNotSupported), |
| 361 GetAppString(apps[0])); | 361 GetAppString(apps[0])); |
| 362 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, | 362 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 363 kProdKeepAppName, false /* preferred */, | 363 kProdKeepAppName, false /* preferred */, |
| 364 NoteTakingLockScreenSupport::kNotSupported), | 364 NoteTakingLockScreenSupport::kNotSupported), |
| 365 GetAppString(apps[1])); | 365 GetAppString(apps[1])); |
| 366 EXPECT_FALSE(helper()->GetPreferredChromeAppInfo(profile())); |
| 366 | 367 |
| 367 // Now install a random extension and check that it's ignored. | 368 // Now install a random extension and check that it's ignored. |
| 368 const extensions::ExtensionId kOtherId = crx_file::id_util::GenerateId("a"); | 369 const extensions::ExtensionId kOtherId = crx_file::id_util::GenerateId("a"); |
| 369 const std::string kOtherName = "Some Other App"; | 370 const std::string kOtherName = "Some Other App"; |
| 370 scoped_refptr<const extensions::Extension> other_extension = | 371 scoped_refptr<const extensions::Extension> other_extension = |
| 371 CreateExtension(kOtherId, kOtherName); | 372 CreateExtension(kOtherId, kOtherName); |
| 372 InstallExtension(other_extension.get(), profile()); | 373 InstallExtension(other_extension.get(), profile()); |
| 373 apps = helper()->GetAvailableApps(profile()); | 374 apps = helper()->GetAvailableApps(profile()); |
| 374 ASSERT_EQ(2u, apps.size()); | 375 ASSERT_EQ(2u, apps.size()); |
| 375 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 376 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 376 false /* preferred */, | 377 false /* preferred */, |
| 377 NoteTakingLockScreenSupport::kNotSupported), | 378 NoteTakingLockScreenSupport::kNotSupported), |
| 378 GetAppString(apps[0])); | 379 GetAppString(apps[0])); |
| 379 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, | 380 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 380 kProdKeepAppName, false /* preferred */, | 381 kProdKeepAppName, false /* preferred */, |
| 381 NoteTakingLockScreenSupport::kNotSupported), | 382 NoteTakingLockScreenSupport::kNotSupported), |
| 382 GetAppString(apps[1])); | 383 GetAppString(apps[1])); |
| 384 EXPECT_FALSE(helper()->GetPreferredChromeAppInfo(profile())); |
| 383 | 385 |
| 384 // Mark the prod version as preferred. | 386 // Mark the prod version as preferred. |
| 385 helper()->SetPreferredApp(profile(), NoteTakingHelper::kProdKeepExtensionId); | 387 helper()->SetPreferredApp(profile(), NoteTakingHelper::kProdKeepExtensionId); |
| 386 apps = helper()->GetAvailableApps(profile()); | 388 apps = helper()->GetAvailableApps(profile()); |
| 387 ASSERT_EQ(2u, apps.size()); | 389 ASSERT_EQ(2u, apps.size()); |
| 388 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 390 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 389 false /* preferred */, | 391 false /* preferred */, |
| 390 NoteTakingLockScreenSupport::kNotSupported), | 392 NoteTakingLockScreenSupport::kNotSupported), |
| 391 GetAppString(apps[0])); | 393 GetAppString(apps[0])); |
| 392 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, | 394 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 393 kProdKeepAppName, true /* preferred */, | 395 kProdKeepAppName, true /* preferred */, |
| 394 NoteTakingLockScreenSupport::kNotSupported), | 396 NoteTakingLockScreenSupport::kNotSupported), |
| 395 GetAppString(apps[1])); | 397 GetAppString(apps[1])); |
| 398 |
| 399 std::unique_ptr<NoteTakingAppInfo> preferred_info = |
| 400 helper()->GetPreferredChromeAppInfo(profile()); |
| 401 ASSERT_TRUE(preferred_info); |
| 402 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 403 kProdKeepAppName, true /* preferred */, |
| 404 NoteTakingLockScreenSupport::kNotSupported), |
| 405 GetAppString(*preferred_info)); |
| 396 } | 406 } |
| 397 | 407 |
| 398 TEST_P(NoteTakingHelperTest, ListChromeAppsWithLockScreenNotesSupported) { | 408 TEST_P(NoteTakingHelperTest, ListChromeAppsWithLockScreenNotesSupported) { |
| 399 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); | 409 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); |
| 400 | 410 |
| 401 ASSERT_FALSE(helper()->IsAppAvailable(profile())); | 411 ASSERT_FALSE(helper()->IsAppAvailable(profile())); |
| 402 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); | 412 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); |
| 403 | 413 |
| 404 std::unique_ptr<base::Value> lock_disabled_action_handler = | 414 std::unique_ptr<base::Value> lock_disabled_action_handler = |
| 405 extensions::ListBuilder() | 415 extensions::ListBuilder() |
| 406 .Append(app_runtime::ToString(app_runtime::ACTION_TYPE_NEW_NOTE)) | 416 .Append(app_runtime::ToString(app_runtime::ACTION_TYPE_NEW_NOTE)) |
| 407 .Build(); | 417 .Build(); |
| 408 | 418 |
| 409 // Install Keep app that does not support lock screen note taking - it should | 419 // Install Keep app that does not support lock screen note taking - it should |
| 410 // be reported not to support lock screen note taking. | 420 // be reported not to support lock screen note taking. |
| 411 scoped_refptr<const extensions::Extension> prod_extension = CreateExtension( | 421 scoped_refptr<const extensions::Extension> prod_extension = CreateExtension( |
| 412 NoteTakingHelper::kProdKeepExtensionId, kProdKeepAppName, | 422 NoteTakingHelper::kProdKeepExtensionId, kProdKeepAppName, |
| 413 nullptr /* permissions */, std::move(lock_disabled_action_handler)); | 423 nullptr /* permissions */, std::move(lock_disabled_action_handler)); |
| 414 InstallExtension(prod_extension.get(), profile()); | 424 InstallExtension(prod_extension.get(), profile()); |
| 415 EXPECT_TRUE(helper()->IsAppAvailable(profile())); | 425 EXPECT_TRUE(helper()->IsAppAvailable(profile())); |
| 416 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); | 426 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); |
| 417 ASSERT_EQ(1u, apps.size()); | 427 ASSERT_EQ(1u, apps.size()); |
| 418 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, | 428 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 419 kProdKeepAppName, false /* preferred */, | 429 kProdKeepAppName, false /* preferred */, |
| 420 NoteTakingLockScreenSupport::kNotSupported), | 430 NoteTakingLockScreenSupport::kNotSupported), |
| 421 GetAppString(apps[0])); | 431 GetAppString(apps[0])); |
| 432 EXPECT_FALSE(helper()->GetPreferredChromeAppInfo(profile())); |
| 422 | 433 |
| 423 std::unique_ptr<base::Value> lock_enabled_action_handler = | 434 std::unique_ptr<base::Value> lock_enabled_action_handler = |
| 424 extensions::ListBuilder() | 435 extensions::ListBuilder() |
| 425 .Append(extensions::DictionaryBuilder() | 436 .Append(extensions::DictionaryBuilder() |
| 426 .Set("action", app_runtime::ToString( | 437 .Set("action", app_runtime::ToString( |
| 427 app_runtime::ACTION_TYPE_NEW_NOTE)) | 438 app_runtime::ACTION_TYPE_NEW_NOTE)) |
| 428 .SetBoolean("enabled_on_lock_screen", true) | 439 .SetBoolean("enabled_on_lock_screen", true) |
| 429 .Build()) | 440 .Build()) |
| 430 .Build(); | 441 .Build(); |
| 431 | 442 |
| 432 // Install additional Keep app - one that supports lock screen note taking. | 443 // Install additional Keep app - one that supports lock screen note taking. |
| 433 // This app should be reported to support note taking (given that | 444 // This app should be reported to support note taking (given that |
| 434 // enable-lock-screen-apps flag is set). | 445 // enable-lock-screen-apps flag is set). |
| 435 scoped_refptr<const extensions::Extension> dev_extension = | 446 scoped_refptr<const extensions::Extension> dev_extension = |
| 436 CreateExtension(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 447 CreateExtension(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 437 extensions::ListBuilder().Append("lockScreen").Build(), | 448 extensions::ListBuilder().Append("lockScreen").Build(), |
| 438 std::move(lock_enabled_action_handler)); | 449 std::move(lock_enabled_action_handler)); |
| 439 InstallExtension(dev_extension.get(), profile()); | 450 InstallExtension(dev_extension.get(), profile()); |
| 440 apps = helper()->GetAvailableApps(profile()); | 451 apps = helper()->GetAvailableApps(profile()); |
| 441 ASSERT_EQ(2u, apps.size()); | 452 ASSERT_EQ(2u, apps.size()); |
| 442 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 453 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 443 false /* preferred */, | 454 false /* preferred */, |
| 444 NoteTakingLockScreenSupport::kSupported), | 455 NoteTakingLockScreenSupport::kSupported), |
| 445 GetAppString(apps[0])); | 456 GetAppString(apps[0])); |
| 446 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, | 457 EXPECT_EQ(GetAppString(NoteTakingHelper::kProdKeepExtensionId, |
| 447 kProdKeepAppName, false /* preferred */, | 458 kProdKeepAppName, false /* preferred */, |
| 448 NoteTakingLockScreenSupport::kNotSupported), | 459 NoteTakingLockScreenSupport::kNotSupported), |
| 449 GetAppString(apps[1])); | 460 GetAppString(apps[1])); |
| 461 EXPECT_FALSE(helper()->GetPreferredChromeAppInfo(profile())); |
| 450 } | 462 } |
| 451 | 463 |
| 452 TEST_P(NoteTakingHelperTest, PreferredAppEnabledOnLockScreen) { | 464 TEST_P(NoteTakingHelperTest, PreferredAppEnabledOnLockScreen) { |
| 453 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); | 465 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); |
| 454 | 466 |
| 455 ASSERT_FALSE(helper()->IsAppAvailable(profile())); | 467 ASSERT_FALSE(helper()->IsAppAvailable(profile())); |
| 456 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); | 468 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); |
| 457 | 469 |
| 458 std::unique_ptr<base::Value> lock_enabled_action_handler = | 470 std::unique_ptr<base::Value> lock_enabled_action_handler = |
| 459 extensions::ListBuilder() | 471 extensions::ListBuilder() |
| (...skipping 11 matching lines...) Expand all Loading... |
| 471 std::move(lock_enabled_action_handler)); | 483 std::move(lock_enabled_action_handler)); |
| 472 InstallExtension(dev_extension.get(), profile()); | 484 InstallExtension(dev_extension.get(), profile()); |
| 473 | 485 |
| 474 // Verify that the app is reported to support lock screen note taking. | 486 // Verify that the app is reported to support lock screen note taking. |
| 475 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); | 487 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); |
| 476 ASSERT_EQ(1u, apps.size()); | 488 ASSERT_EQ(1u, apps.size()); |
| 477 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 489 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 478 false /* preferred */, | 490 false /* preferred */, |
| 479 NoteTakingLockScreenSupport::kSupported), | 491 NoteTakingLockScreenSupport::kSupported), |
| 480 GetAppString(apps[0])); | 492 GetAppString(apps[0])); |
| 493 EXPECT_FALSE(helper()->GetPreferredChromeAppInfo(profile())); |
| 481 | 494 |
| 482 // When the lock screen note taking pref is set and the Keep app is set as the | 495 // When the lock screen note taking pref is set and the Keep app is set as the |
| 483 // preferred note taking app, the app should be reported as selected as lock | 496 // preferred note taking app, the app should be reported as selected as lock |
| 484 // screen note taking app. | 497 // screen note taking app. |
| 485 helper()->SetPreferredApp(profile(), NoteTakingHelper::kDevKeepExtensionId); | 498 helper()->SetPreferredApp(profile(), NoteTakingHelper::kDevKeepExtensionId); |
| 486 profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, | 499 profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, |
| 487 true); | 500 true); |
| 488 apps = helper()->GetAvailableApps(profile()); | 501 apps = helper()->GetAvailableApps(profile()); |
| 489 ASSERT_EQ(1u, apps.size()); | 502 ASSERT_EQ(1u, apps.size()); |
| 490 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 503 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 491 true /* preferred */, | 504 true /* preferred */, |
| 492 NoteTakingLockScreenSupport::kSelected), | 505 NoteTakingLockScreenSupport::kSelected), |
| 493 GetAppString(apps[0])); | 506 GetAppString(apps[0])); |
| 507 std::unique_ptr<NoteTakingAppInfo> preferred_info = |
| 508 helper()->GetPreferredChromeAppInfo(profile()); |
| 509 ASSERT_TRUE(preferred_info); |
| 510 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 511 true /* preferred */, |
| 512 NoteTakingLockScreenSupport::kSelected), |
| 513 GetAppString(*preferred_info)); |
| 494 | 514 |
| 495 // When lock screen note taking pref is reset, the app should not be reported | 515 // When lock screen note taking pref is reset, the app should not be reported |
| 496 // as selected on lock screen. | 516 // as selected on lock screen. |
| 497 profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, | 517 profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, |
| 498 false); | 518 false); |
| 499 apps = helper()->GetAvailableApps(profile()); | 519 apps = helper()->GetAvailableApps(profile()); |
| 500 ASSERT_EQ(1u, apps.size()); | 520 ASSERT_EQ(1u, apps.size()); |
| 501 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, | 521 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 502 true /* preferred */, | 522 true /* preferred */, |
| 503 NoteTakingLockScreenSupport::kSupported), | 523 NoteTakingLockScreenSupport::kSupported), |
| 504 GetAppString(apps[0])); | 524 GetAppString(apps[0])); |
| 525 preferred_info = helper()->GetPreferredChromeAppInfo(profile()); |
| 526 ASSERT_TRUE(preferred_info); |
| 527 EXPECT_EQ(GetAppString(NoteTakingHelper::kDevKeepExtensionId, kDevKeepAppName, |
| 528 true /* preferred */, |
| 529 NoteTakingLockScreenSupport::kSupported), |
| 530 GetAppString(*preferred_info)); |
| 505 } | 531 } |
| 506 | 532 |
| 507 TEST_P(NoteTakingHelperTest, PreferredAppWithNoLockScreenPermission) { | 533 TEST_P(NoteTakingHelperTest, PreferredAppWithNoLockScreenPermission) { |
| 508 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); | 534 Init(ENABLE_PALETTE | ENABLE_LOCK_SCREEN_APPS); |
| 509 | 535 |
| 510 ASSERT_FALSE(helper()->IsAppAvailable(profile())); | 536 ASSERT_FALSE(helper()->IsAppAvailable(profile())); |
| 511 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); | 537 ASSERT_TRUE(helper()->GetAvailableApps(profile()).empty()); |
| 512 | 538 |
| 513 std::unique_ptr<base::Value> lock_enabled_action_handler = | 539 std::unique_ptr<base::Value> lock_enabled_action_handler = |
| 514 extensions::ListBuilder() | 540 extensions::ListBuilder() |
| (...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 920 EXPECT_TRUE(helper()->IsAppAvailable(profile())); | 946 EXPECT_TRUE(helper()->IsAppAvailable(profile())); |
| 921 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); | 947 std::vector<NoteTakingAppInfo> apps = helper()->GetAvailableApps(profile()); |
| 922 ASSERT_EQ(2u, apps.size()); | 948 ASSERT_EQ(2u, apps.size()); |
| 923 EXPECT_EQ(GetAppString(kPackage1, kName1, false /* preferred */, | 949 EXPECT_EQ(GetAppString(kPackage1, kName1, false /* preferred */, |
| 924 NoteTakingLockScreenSupport::kNotSupported), | 950 NoteTakingLockScreenSupport::kNotSupported), |
| 925 GetAppString(apps[0])); | 951 GetAppString(apps[0])); |
| 926 EXPECT_EQ(GetAppString(kPackage2, kName2, false /* preferred */, | 952 EXPECT_EQ(GetAppString(kPackage2, kName2, false /* preferred */, |
| 927 NoteTakingLockScreenSupport::kNotSupported), | 953 NoteTakingLockScreenSupport::kNotSupported), |
| 928 GetAppString(apps[1])); | 954 GetAppString(apps[1])); |
| 929 | 955 |
| 956 helper()->SetPreferredApp(profile(), kPackage1); |
| 957 |
| 958 apps = helper()->GetAvailableApps(profile()); |
| 959 ASSERT_EQ(2u, apps.size()); |
| 960 EXPECT_EQ(GetAppString(kPackage1, kName1, true /* preferred */, |
| 961 NoteTakingLockScreenSupport::kNotSupported), |
| 962 GetAppString(apps[0])); |
| 963 EXPECT_EQ(GetAppString(kPackage2, kName2, false /* preferred */, |
| 964 NoteTakingLockScreenSupport::kNotSupported), |
| 965 GetAppString(apps[1])); |
| 966 |
| 967 std::unique_ptr<NoteTakingAppInfo> preferred_info = |
| 968 helper()->GetPreferredChromeAppInfo(profile()); |
| 969 EXPECT_FALSE(preferred_info); |
| 970 |
| 930 // TODO(victorhsieh): Opt-out on Persistent ARC is special. Skip until | 971 // TODO(victorhsieh): Opt-out on Persistent ARC is special. Skip until |
| 931 // implemented. | 972 // implemented. |
| 932 if (arc::ShouldArcAlwaysStart()) | 973 if (arc::ShouldArcAlwaysStart()) |
| 933 return; | 974 return; |
| 934 // Disable Play Store and check that the apps are no longer returned. | 975 // Disable Play Store and check that the apps are no longer returned. |
| 935 profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false); | 976 profile()->GetPrefs()->SetBoolean(prefs::kArcEnabled, false); |
| 936 EXPECT_FALSE(helper()->play_store_enabled()); | 977 EXPECT_FALSE(helper()->play_store_enabled()); |
| 937 EXPECT_FALSE(helper()->android_apps_received()); | 978 EXPECT_FALSE(helper()->android_apps_received()); |
| 938 EXPECT_FALSE(helper()->IsAppAvailable(profile())); | 979 EXPECT_FALSE(helper()->IsAppAvailable(profile())); |
| 939 EXPECT_TRUE(helper()->GetAvailableApps(profile()).empty()); | 980 EXPECT_TRUE(helper()->GetAvailableApps(profile()).empty()); |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1110 InitExtensionService(second_profile); | 1151 InitExtensionService(second_profile); |
| 1111 EXPECT_EQ(0, observer.num_updates()); | 1152 EXPECT_EQ(0, observer.num_updates()); |
| 1112 InstallExtension(keep_extension.get(), second_profile); | 1153 InstallExtension(keep_extension.get(), second_profile); |
| 1113 EXPECT_EQ(1, observer.num_updates()); | 1154 EXPECT_EQ(1, observer.num_updates()); |
| 1114 UninstallExtension(keep_extension.get(), second_profile); | 1155 UninstallExtension(keep_extension.get(), second_profile); |
| 1115 EXPECT_EQ(2, observer.num_updates()); | 1156 EXPECT_EQ(2, observer.num_updates()); |
| 1116 profile_manager_->DeleteTestingProfile(kSecondProfileName); | 1157 profile_manager_->DeleteTestingProfile(kSecondProfileName); |
| 1117 } | 1158 } |
| 1118 | 1159 |
| 1119 } // namespace chromeos | 1160 } // namespace chromeos |
| OLD | NEW |