| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_mus.h" | |
| 6 | |
| 7 #include "ash/public/cpp/app_launch_id.h" | |
| 8 #include "base/strings/string_util.h" | |
| 9 #include "chrome/browser/profiles/profile.h" | |
| 10 #include "chrome/browser/profiles/profile_manager.h" | |
| 11 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" | |
| 12 #include "chrome/browser/ui/ash/launcher/launcher_controller_helper.h" | |
| 13 #include "extensions/grit/extensions_browser_resources.h" | |
| 14 #include "ui/base/resource/resource_bundle.h" | |
| 15 #include "ui/events/event_constants.h" | |
| 16 | |
| 17 ChromeLauncherControllerMus::ChromeLauncherControllerMus() { | |
| 18 AttachProfile(ProfileManager::GetActiveUserProfile()); | |
| 19 } | |
| 20 | |
| 21 ChromeLauncherControllerMus::~ChromeLauncherControllerMus() {} | |
| 22 | |
| 23 ash::ShelfID ChromeLauncherControllerMus::CreateAppLauncherItem( | |
| 24 std::unique_ptr<ash::ShelfItemDelegate> item_delegate, | |
| 25 ash::ShelfItemStatus status) { | |
| 26 NOTIMPLEMENTED(); | |
| 27 return ash::TYPE_UNDEFINED; | |
| 28 } | |
| 29 | |
| 30 const ash::ShelfItem* ChromeLauncherControllerMus::GetItem( | |
| 31 ash::ShelfID id) const { | |
| 32 NOTIMPLEMENTED(); | |
| 33 return nullptr; | |
| 34 } | |
| 35 | |
| 36 void ChromeLauncherControllerMus::SetItemType(ash::ShelfID id, | |
| 37 ash::ShelfItemType type) { | |
| 38 NOTIMPLEMENTED(); | |
| 39 } | |
| 40 | |
| 41 void ChromeLauncherControllerMus::SetItemStatus(ash::ShelfID id, | |
| 42 ash::ShelfItemStatus status) { | |
| 43 NOTIMPLEMENTED(); | |
| 44 } | |
| 45 | |
| 46 void ChromeLauncherControllerMus::CloseLauncherItem(ash::ShelfID id) { | |
| 47 NOTIMPLEMENTED(); | |
| 48 } | |
| 49 | |
| 50 bool ChromeLauncherControllerMus::IsPinned(ash::ShelfID id) { | |
| 51 NOTIMPLEMENTED(); | |
| 52 return false; | |
| 53 } | |
| 54 | |
| 55 void ChromeLauncherControllerMus::SetV1AppStatus(const std::string& app_id, | |
| 56 ash::ShelfItemStatus status) { | |
| 57 NOTIMPLEMENTED(); | |
| 58 } | |
| 59 | |
| 60 void ChromeLauncherControllerMus::Launch(ash::ShelfID id, int event_flags) { | |
| 61 NOTIMPLEMENTED(); | |
| 62 } | |
| 63 | |
| 64 void ChromeLauncherControllerMus::Close(ash::ShelfID id) { | |
| 65 NOTIMPLEMENTED(); | |
| 66 } | |
| 67 | |
| 68 bool ChromeLauncherControllerMus::IsOpen(ash::ShelfID id) { | |
| 69 NOTIMPLEMENTED(); | |
| 70 return false; | |
| 71 } | |
| 72 | |
| 73 bool ChromeLauncherControllerMus::IsPlatformApp(ash::ShelfID id) { | |
| 74 NOTIMPLEMENTED(); | |
| 75 return false; | |
| 76 } | |
| 77 | |
| 78 void ChromeLauncherControllerMus::ActivateApp(const std::string& app_id, | |
| 79 ash::ShelfLaunchSource source, | |
| 80 int event_flags) { | |
| 81 NOTIMPLEMENTED(); | |
| 82 } | |
| 83 | |
| 84 void ChromeLauncherControllerMus::SetLauncherItemImage( | |
| 85 ash::ShelfID shelf_id, | |
| 86 const gfx::ImageSkia& image) { | |
| 87 NOTIMPLEMENTED(); | |
| 88 } | |
| 89 | |
| 90 void ChromeLauncherControllerMus::UpdateAppState(content::WebContents* contents, | |
| 91 AppState app_state) { | |
| 92 NOTIMPLEMENTED(); | |
| 93 } | |
| 94 | |
| 95 ash::ShelfID ChromeLauncherControllerMus::GetShelfIDForWebContents( | |
| 96 content::WebContents* contents) { | |
| 97 NOTIMPLEMENTED(); | |
| 98 return ash::TYPE_UNDEFINED; | |
| 99 } | |
| 100 | |
| 101 void ChromeLauncherControllerMus::SetRefocusURLPatternForTest(ash::ShelfID id, | |
| 102 const GURL& url) { | |
| 103 NOTIMPLEMENTED(); | |
| 104 } | |
| 105 | |
| 106 ash::ShelfAction ChromeLauncherControllerMus::ActivateWindowOrMinimizeIfActive( | |
| 107 ui::BaseWindow* window, | |
| 108 bool allow_minimize) { | |
| 109 NOTIMPLEMENTED(); | |
| 110 return ash::SHELF_ACTION_NONE; | |
| 111 } | |
| 112 | |
| 113 void ChromeLauncherControllerMus::ActiveUserChanged( | |
| 114 const std::string& user_email) { | |
| 115 NOTIMPLEMENTED(); | |
| 116 } | |
| 117 | |
| 118 void ChromeLauncherControllerMus::AdditionalUserAddedToSession( | |
| 119 Profile* profile) { | |
| 120 NOTIMPLEMENTED(); | |
| 121 } | |
| 122 | |
| 123 ash::MenuItemList ChromeLauncherControllerMus::GetAppMenuItemsForTesting( | |
| 124 const ash::ShelfItem& item) { | |
| 125 NOTIMPLEMENTED(); | |
| 126 return ash::MenuItemList(); | |
| 127 } | |
| 128 | |
| 129 std::vector<content::WebContents*> | |
| 130 ChromeLauncherControllerMus::GetV1ApplicationsFromAppId( | |
| 131 const std::string& app_id) { | |
| 132 NOTIMPLEMENTED(); | |
| 133 return std::vector<content::WebContents*>(); | |
| 134 } | |
| 135 | |
| 136 void ChromeLauncherControllerMus::ActivateShellApp(const std::string& app_id, | |
| 137 int window_index) { | |
| 138 NOTIMPLEMENTED(); | |
| 139 } | |
| 140 | |
| 141 bool ChromeLauncherControllerMus::IsWebContentHandledByApplication( | |
| 142 content::WebContents* web_contents, | |
| 143 const std::string& app_id) { | |
| 144 NOTIMPLEMENTED(); | |
| 145 return false; | |
| 146 } | |
| 147 | |
| 148 bool ChromeLauncherControllerMus::ContentCanBeHandledByGmailApp( | |
| 149 content::WebContents* web_contents) { | |
| 150 NOTIMPLEMENTED(); | |
| 151 return false; | |
| 152 } | |
| 153 | |
| 154 gfx::Image ChromeLauncherControllerMus::GetAppListIcon( | |
| 155 content::WebContents* web_contents) const { | |
| 156 NOTIMPLEMENTED(); | |
| 157 return gfx::Image(); | |
| 158 } | |
| 159 | |
| 160 base::string16 ChromeLauncherControllerMus::GetAppListTitle( | |
| 161 content::WebContents* web_contents) const { | |
| 162 NOTIMPLEMENTED(); | |
| 163 return base::string16(); | |
| 164 } | |
| 165 | |
| 166 BrowserShortcutLauncherItemController* | |
| 167 ChromeLauncherControllerMus::GetBrowserShortcutLauncherItemController() { | |
| 168 NOTIMPLEMENTED(); | |
| 169 return nullptr; | |
| 170 } | |
| 171 | |
| 172 bool ChromeLauncherControllerMus::ShelfBoundsChangesProbablyWithUser( | |
| 173 ash::WmShelf* shelf, | |
| 174 const AccountId& account_id) const { | |
| 175 NOTIMPLEMENTED(); | |
| 176 return false; | |
| 177 } | |
| 178 | |
| 179 void ChromeLauncherControllerMus::OnUserProfileReadyToSwitch(Profile* profile) { | |
| 180 NOTIMPLEMENTED(); | |
| 181 } | |
| 182 | |
| 183 ArcAppDeferredLauncherController* | |
| 184 ChromeLauncherControllerMus::GetArcDeferredLauncher() { | |
| 185 NOTIMPLEMENTED(); | |
| 186 return nullptr; | |
| 187 } | |
| 188 | |
| 189 const std::string& ChromeLauncherControllerMus::GetLaunchIDForShelfID( | |
| 190 ash::ShelfID id) { | |
| 191 NOTIMPLEMENTED(); | |
| 192 return base::EmptyString(); | |
| 193 } | |
| 194 | |
| 195 void ChromeLauncherControllerMus::OnAppImageUpdated( | |
| 196 const std::string& app_id, | |
| 197 const gfx::ImageSkia& image) { | |
| 198 if (ConnectToShelfController()) | |
| 199 shelf_controller()->SetItemImage(app_id, *image.bitmap()); | |
| 200 } | |
| 201 | |
| 202 void ChromeLauncherControllerMus::OnInit() {} | |
| 203 | |
| 204 void ChromeLauncherControllerMus::PinAppsFromPrefs() { | |
| 205 if (!ConnectToShelfController()) | |
| 206 return; | |
| 207 | |
| 208 std::vector<ash::AppLaunchId> pinned_apps = | |
| 209 ash::launcher::GetPinnedAppsFromPrefs(profile()->GetPrefs(), | |
| 210 launcher_controller_helper()); | |
| 211 | |
| 212 for (const auto& app_launch_id : pinned_apps) { | |
| 213 const std::string app_id = app_launch_id.app_id(); | |
| 214 if (app_launch_id.app_id() == ash::launcher::kPinnedAppsPlaceholder) | |
| 215 continue; | |
| 216 | |
| 217 ash::mojom::ShelfItemPtr item(ash::mojom::ShelfItem::New()); | |
| 218 item->app_id = app_id; | |
| 219 item->title = launcher_controller_helper()->GetAppTitle(profile(), app_id); | |
| 220 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | |
| 221 const gfx::Image& image = rb.GetImageNamed(IDR_APP_DEFAULT_ICON); | |
| 222 item->image = *image.ToSkBitmap(); | |
| 223 // TOOD(msw): Actually pin the item and install its delegate; this code is | |
| 224 // unused at the moment. See http://crbug.com/647879 | |
| 225 AppIconLoader* app_icon_loader = GetAppIconLoaderForApp(app_id); | |
| 226 if (app_icon_loader) { | |
| 227 app_icon_loader->FetchImage(app_id); | |
| 228 app_icon_loader->UpdateImage(app_id); | |
| 229 } | |
| 230 } | |
| 231 } | |
| OLD | NEW |