| Index: chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc
|
| diff --git a/chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc b/chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc
|
| index 06fe515ffc389d8dcbcc79f70ec6fe1395b513d4..32eed5253d0022c6307e9f933c18fe0e01745140 100644
|
| --- a/chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc
|
| +++ b/chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc
|
| @@ -58,14 +58,22 @@ void LauncherExtensionAppUpdater::OnShutdown(
|
| StopObservingExtensionRegistry();
|
| }
|
|
|
| +void LauncherExtensionAppUpdater::OnPackageListInitialRefreshed() {
|
| + const ArcAppListPrefs* prefs = ArcAppListPrefs::Get(browser_context());
|
| + const std::vector<std::string> package_names = prefs->GetPackagesFromPrefs();
|
| + for (const auto& package_name : package_names)
|
| + UpdateEquivalentApp(package_name);
|
| +}
|
| +
|
| void LauncherExtensionAppUpdater::OnPackageInstalled(
|
| const arc::mojom::ArcPackageInfo& package_info) {
|
| - UpdateEquivalentHostedApp(package_info.package_name);
|
| + UpdateEquivalentApp(package_info.package_name);
|
| }
|
|
|
| void LauncherExtensionAppUpdater::OnPackageRemoved(
|
| - const std::string& package_name) {
|
| - UpdateEquivalentHostedApp(package_name);
|
| + const std::string& package_name,
|
| + bool uninstalled) {
|
| + UpdateEquivalentApp(package_name);
|
| }
|
|
|
| void LauncherExtensionAppUpdater::StartObservingExtensionRegistry() {
|
| @@ -81,34 +89,15 @@ void LauncherExtensionAppUpdater::StopObservingExtensionRegistry() {
|
| extension_registry_ = nullptr;
|
| }
|
|
|
| -void LauncherExtensionAppUpdater::UpdateHostedApps() {
|
| - if (!extension_registry_)
|
| - return;
|
| -
|
| - UpdateHostedApps(extension_registry_->enabled_extensions());
|
| - UpdateHostedApps(extension_registry_->disabled_extensions());
|
| - UpdateHostedApps(extension_registry_->terminated_extensions());
|
| -}
|
| -
|
| -void LauncherExtensionAppUpdater::UpdateHostedApps(
|
| - const extensions::ExtensionSet& extensions) {
|
| - content::BrowserContext* context = browser_context();
|
| - extensions::ExtensionSet::const_iterator it;
|
| - for (it = extensions.begin(); it != extensions.end(); ++it) {
|
| - if ((*it)->is_hosted_app())
|
| - delegate()->OnAppUpdated(context, (*it)->id());
|
| - }
|
| -}
|
| -
|
| -void LauncherExtensionAppUpdater::UpdateHostedApp(const std::string& app_id) {
|
| +void LauncherExtensionAppUpdater::UpdateApp(const std::string& app_id) {
|
| delegate()->OnAppUpdated(browser_context(), app_id);
|
| }
|
|
|
| -void LauncherExtensionAppUpdater::UpdateEquivalentHostedApp(
|
| +void LauncherExtensionAppUpdater::UpdateEquivalentApp(
|
| const std::string& arc_package_name) {
|
| const std::vector<std::string> extension_ids =
|
| extensions::util::GetEquivalentInstalledExtensions(browser_context(),
|
| arc_package_name);
|
| for (const auto& iter : extension_ids)
|
| - UpdateHostedApp(iter);
|
| + UpdateApp(iter);
|
| }
|
|
|