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

Unified Diff: chrome/browser/ui/ash/launcher/launcher_controller_helper.cc

Issue 1921403002: Pin apps from prefs on the mash shelf. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only use ChromeMashShelfController with use_ash=1. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/launcher/launcher_controller_helper.cc
diff --git a/chrome/browser/ui/ash/launcher/launcher_app_tab_helper.cc b/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc
similarity index 65%
rename from chrome/browser/ui/ash/launcher/launcher_app_tab_helper.cc
rename to chrome/browser/ui/ash/launcher/launcher_controller_helper.cc
index d6c6a5cfa2cee664b4a0585a94ab51a6b4d74ee6..aeef793cf40f592f3b0cc63372ae96bcb3e0843f 100644
--- a/chrome/browser/ui/ash/launcher/launcher_app_tab_helper.cc
+++ b/chrome/browser/ui/ash/launcher/launcher_controller_helper.cc
@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/ui/ash/launcher/launcher_app_tab_helper.h"
+#include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h"
#include <vector>
+#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_util.h"
@@ -33,7 +34,7 @@ const extensions::Extension* GetExtensionForTab(Profile* profile,
ExtensionService* extension_service =
extensions::ExtensionSystem::Get(profile)->extension_service();
if (!extension_service || !extension_service->extensions_enabled())
- return NULL;
+ return nullptr;
// Note: It is possible to come here after a tab got removed form the browser
// before it gets destroyed, in which case there is no browser.
@@ -59,16 +60,15 @@ const extensions::Extension* GetExtensionForTab(Profile* profile,
// Bookmark app windows should match their launch url extension despite
// their web extents.
if (extensions::util::IsNewBookmarkAppsEnabled()) {
- for (extensions::ExtensionSet::const_iterator it = extensions.begin();
- it != extensions.end(); ++it) {
- if (it->get()->from_bookmark() &&
- extensions::AppLaunchInfo::GetLaunchWebURL(it->get()) == url &&
- !extensions::LaunchesInWindow(profile, it->get())) {
- return it->get();
+ for (const auto& i : extensions) {
+ if (i.get()->from_bookmark() &&
+ extensions::AppLaunchInfo::GetLaunchWebURL(i.get()) == url &&
+ !extensions::LaunchesInWindow(profile, i.get())) {
+ return i.get();
}
}
}
- return NULL;
+ return nullptr;
}
const extensions::Extension* GetExtensionByID(Profile* profile,
@@ -79,23 +79,49 @@ const extensions::Extension* GetExtensionByID(Profile* profile,
} // namespace
-LauncherAppTabHelper::LauncherAppTabHelper(Profile* profile)
- : profile_(profile) {
-}
+LauncherControllerHelper::LauncherControllerHelper(Profile* profile)
+ : profile_(profile) {}
+
+LauncherControllerHelper::~LauncherControllerHelper() {}
+
+// static
+base::string16 LauncherControllerHelper::GetAppTitle(
+ Profile* profile,
+ const std::string& app_id) {
+ base::string16 title;
+ if (app_id.empty())
+ return title;
-LauncherAppTabHelper::~LauncherAppTabHelper() {
+#if defined(OS_CHROMEOS)
+ // Get title if the app is an Arc app.
+ ArcAppListPrefs* arc_prefs = ArcAppListPrefs::Get(profile);
+ DCHECK(arc_prefs);
+ if (arc_prefs->IsRegistered(app_id)) {
+ std::unique_ptr<ArcAppListPrefs::AppInfo> app_info =
+ arc_prefs->GetApp(app_id);
+ DCHECK(app_info.get());
+ if (app_info)
+ title = base::UTF8ToUTF16(app_info->name);
+ return title;
+ }
+#endif // defined(OS_CHROMEOS)
+
+ const extensions::Extension* extension =
+ extensions::ExtensionRegistry::Get(profile)->GetExtensionById(
+ app_id, extensions::ExtensionRegistry::EVERYTHING);
+ if (extension)
+ title = base::UTF8ToUTF16(extension->name());
+ return title;
}
-std::string LauncherAppTabHelper::GetAppID(content::WebContents* tab) {
+std::string LauncherControllerHelper::GetAppID(content::WebContents* tab) {
ProfileManager* profile_manager = g_browser_process->profile_manager();
if (profile_manager) {
const std::vector<Profile*> profile_list =
profile_manager->GetLoadedProfiles();
- if (profile_list.size() > 0) {
- for (std::vector<Profile*>::const_iterator it = profile_list.begin();
- it != profile_list.end();
- ++it) {
- const extensions::Extension* extension = GetExtensionForTab(*it, tab);
+ if (!profile_list.empty()) {
+ for (const auto& i : profile_list) {
+ const extensions::Extension* extension = GetExtensionForTab(i, tab);
if (extension)
return extension->id();
}
@@ -107,14 +133,14 @@ std::string LauncherAppTabHelper::GetAppID(content::WebContents* tab) {
return extension ? extension->id() : std::string();
}
-bool LauncherAppTabHelper::IsValidIDForCurrentUser(const std::string& id) {
+bool LauncherControllerHelper::IsValidIDForCurrentUser(const std::string& id) {
#if defined(OS_CHROMEOS)
if (ArcAppListPrefs::Get(profile_)->IsRegistered(id))
return true;
#endif
- return GetExtensionByID(profile_, id) != NULL;
+ return GetExtensionByID(profile_, id) != nullptr;
}
-void LauncherAppTabHelper::SetCurrentUser(Profile* profile) {
+void LauncherControllerHelper::SetCurrentUser(Profile* profile) {
profile_ = profile;
}
« no previous file with comments | « chrome/browser/ui/ash/launcher/launcher_controller_helper.h ('k') | chrome/browser/ui/ash/launcher/launcher_item_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698