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
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h"
7 #include "base/basictypes.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
11 #include "extensions/browser/extension_registry.h"
12 #include "extensions/common/extension.h"
14 LauncherItemController::LauncherItemController(
16 const std::string
& app_id
,
17 ChromeLauncherController
* launcher_controller
)
21 launcher_controller_(launcher_controller
),
23 image_set_by_controller_(false) {
26 LauncherItemController::~LauncherItemController() {
29 const std::string
& LauncherItemController::app_id() const {
33 base::string16
LauncherItemController::GetAppTitle() const {
38 const extensions::Extension
* extension
=
39 extensions::ExtensionRegistry::Get(
40 launcher_controller_
->profile())->GetExtensionById(
41 app_id_
, extensions::ExtensionRegistry::EVERYTHING
);
43 title
= base::UTF8ToUTF16(extension
->name());
47 ash::ShelfItemType
LauncherItemController::GetShelfItemType() const {
49 case LauncherItemController::TYPE_SHORTCUT
:
50 case LauncherItemController::TYPE_WINDOWED_APP
:
51 return ash::TYPE_APP_SHORTCUT
;
52 case LauncherItemController::TYPE_APP
:
53 return ash::TYPE_PLATFORM_APP
;
54 case LauncherItemController::TYPE_APP_PANEL
:
55 return ash::TYPE_APP_PANEL
;
58 return ash::TYPE_APP_SHORTCUT
;