Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: chrome/browser/ui/ash/launcher/launcher_extension_app_updater.cc

Issue 2819413003: Refactor extension app icon. (Closed)
Patch Set: Xiyuan's comments, extra unit tests + fix one more issue with badging Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/ui/ash/launcher/launcher_extension_app_updater.h" 5 #include "chrome/browser/ui/ash/launcher/launcher_extension_app_updater.h"
6 6
7 #include "chrome/browser/chromeos/extensions/gfx_utils.h" 7 #include "chrome/browser/chromeos/extensions/gfx_utils.h"
8 #include "chrome/browser/chromeos/profiles/profile_helper.h" 8 #include "chrome/browser/chromeos/profiles/profile_helper.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h" 10 #include "chrome/browser/ui/app_list/arc/arc_app_list_prefs.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 extensions::UninstallReason reason) { 51 extensions::UninstallReason reason) {
52 delegate()->OnAppUninstalled(browser_context, extension->id()); 52 delegate()->OnAppUninstalled(browser_context, extension->id());
53 } 53 }
54 54
55 void LauncherExtensionAppUpdater::OnShutdown( 55 void LauncherExtensionAppUpdater::OnShutdown(
56 extensions::ExtensionRegistry* registry) { 56 extensions::ExtensionRegistry* registry) {
57 DCHECK_EQ(extension_registry_, registry); 57 DCHECK_EQ(extension_registry_, registry);
58 StopObservingExtensionRegistry(); 58 StopObservingExtensionRegistry();
59 } 59 }
60 60
61 void LauncherExtensionAppUpdater::OnPackageListInitialRefreshed() {
khmel 2017/04/20 00:13:38 This is reason why badge may not be applied also.
62 const ArcAppListPrefs* prefs = ArcAppListPrefs::Get(browser_context());
63 const std::vector<std::string> package_names = prefs->GetPackagesFromPrefs();
64 for (auto& package_name : package_names)
65 UpdateEquivalentApp(package_name);
66 }
67
61 void LauncherExtensionAppUpdater::OnPackageInstalled( 68 void LauncherExtensionAppUpdater::OnPackageInstalled(
62 const arc::mojom::ArcPackageInfo& package_info) { 69 const arc::mojom::ArcPackageInfo& package_info) {
63 UpdateEquivalentHostedApp(package_info.package_name); 70 UpdateEquivalentApp(package_info.package_name);
64 } 71 }
65 72
66 void LauncherExtensionAppUpdater::OnPackageRemoved( 73 void LauncherExtensionAppUpdater::OnPackageRemoved(
67 const std::string& package_name) { 74 const std::string& package_name,
68 UpdateEquivalentHostedApp(package_name); 75 bool uninstalled) {
76 UpdateEquivalentApp(package_name);
69 } 77 }
70 78
71 void LauncherExtensionAppUpdater::StartObservingExtensionRegistry() { 79 void LauncherExtensionAppUpdater::StartObservingExtensionRegistry() {
72 DCHECK(!extension_registry_); 80 DCHECK(!extension_registry_);
73 extension_registry_ = extensions::ExtensionRegistry::Get(browser_context()); 81 extension_registry_ = extensions::ExtensionRegistry::Get(browser_context());
74 extension_registry_->AddObserver(this); 82 extension_registry_->AddObserver(this);
75 } 83 }
76 84
77 void LauncherExtensionAppUpdater::StopObservingExtensionRegistry() { 85 void LauncherExtensionAppUpdater::StopObservingExtensionRegistry() {
78 if (!extension_registry_) 86 if (!extension_registry_)
79 return; 87 return;
80 extension_registry_->RemoveObserver(this); 88 extension_registry_->RemoveObserver(this);
81 extension_registry_ = nullptr; 89 extension_registry_ = nullptr;
82 } 90 }
83 91
84 void LauncherExtensionAppUpdater::UpdateHostedApps() { 92 void LauncherExtensionAppUpdater::UpdateApp(const std::string& app_id) {
khmel 2017/04/20 00:13:38 Well, this code was not used. I had temptation to
85 if (!extension_registry_)
86 return;
87
88 UpdateHostedApps(extension_registry_->enabled_extensions());
89 UpdateHostedApps(extension_registry_->disabled_extensions());
90 UpdateHostedApps(extension_registry_->terminated_extensions());
91 }
92
93 void LauncherExtensionAppUpdater::UpdateHostedApps(
94 const extensions::ExtensionSet& extensions) {
95 content::BrowserContext* context = browser_context();
96 extensions::ExtensionSet::const_iterator it;
97 for (it = extensions.begin(); it != extensions.end(); ++it) {
98 if ((*it)->is_hosted_app())
99 delegate()->OnAppUpdated(context, (*it)->id());
100 }
101 }
102
103 void LauncherExtensionAppUpdater::UpdateHostedApp(const std::string& app_id) {
104 delegate()->OnAppUpdated(browser_context(), app_id); 93 delegate()->OnAppUpdated(browser_context(), app_id);
105 } 94 }
106 95
107 void LauncherExtensionAppUpdater::UpdateEquivalentHostedApp( 96 void LauncherExtensionAppUpdater::UpdateEquivalentApp(
108 const std::string& arc_package_name) { 97 const std::string& arc_package_name) {
109 const std::vector<std::string> extension_ids = 98 const std::vector<std::string> extension_ids =
110 extensions::util::GetEquivalentInstalledExtensions(browser_context(), 99 extensions::util::GetEquivalentInstalledExtensions(browser_context(),
111 arc_package_name); 100 arc_package_name);
112 for (const auto& iter : extension_ids) 101 for (const auto& iter : extension_ids)
113 UpdateHostedApp(iter); 102 UpdateApp(iter);
114 } 103 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698