OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ | 5 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ |
6 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ | 6 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 // extension. | 170 // extension. |
171 void DeleteAllShortcuts(Profile* profile, const extensions::Extension* app); | 171 void DeleteAllShortcuts(Profile* profile, const extensions::Extension* app); |
172 | 172 |
173 // Updates shortcuts for web application based on given shortcut data. This | 173 // Updates shortcuts for web application based on given shortcut data. This |
174 // refreshes existing shortcuts and their icons, but does not create new ones. | 174 // refreshes existing shortcuts and their icons, but does not create new ones. |
175 // |old_app_title| contains the title of the app prior to this update. | 175 // |old_app_title| contains the title of the app prior to this update. |
176 void UpdateAllShortcuts(const base::string16& old_app_title, | 176 void UpdateAllShortcuts(const base::string16& old_app_title, |
177 Profile* profile, | 177 Profile* profile, |
178 const extensions::Extension* app); | 178 const extensions::Extension* app); |
179 | 179 |
| 180 // Updates shortcuts for all apps in this profile. |
| 181 void UpdateShortcutsForAllApps(Profile* profile); |
| 182 |
180 // Returns true if given url is a valid web app url. | 183 // Returns true if given url is a valid web app url. |
181 bool IsValidUrl(const GURL& url); | 184 bool IsValidUrl(const GURL& url); |
182 | 185 |
183 #if defined(TOOLKIT_VIEWS) | 186 #if defined(TOOLKIT_VIEWS) |
184 // Extracts icons info from web app data. Take only square shaped icons and | 187 // Extracts icons info from web app data. Take only square shaped icons and |
185 // sort them from smallest to largest. | 188 // sort them from smallest to largest. |
186 typedef std::vector<WebApplicationInfo::IconInfo> IconInfoList; | 189 typedef std::vector<WebApplicationInfo::IconInfo> IconInfoList; |
187 void GetIconsInfo(const WebApplicationInfo& app_info, | 190 void GetIconsInfo(const WebApplicationInfo& app_info, |
188 IconInfoList* icons); | 191 IconInfoList* icons); |
189 #endif | 192 #endif |
190 | 193 |
191 #if defined(OS_LINUX) | 194 #if defined(OS_LINUX) |
192 // Windows that correspond to web apps need to have a deterministic (and | 195 // Windows that correspond to web apps need to have a deterministic (and |
193 // different) WMClass than normal chrome windows so the window manager groups | 196 // different) WMClass than normal chrome windows so the window manager groups |
194 // them as a separate application. | 197 // them as a separate application. |
195 std::string GetWMClassFromAppName(std::string app_name); | 198 std::string GetWMClassFromAppName(std::string app_name); |
196 #endif | 199 #endif |
197 | 200 |
198 namespace internals { | 201 namespace internals { |
199 | 202 |
| 203 typedef base::Callback<void(Profile*, const extensions::Extension*)> |
| 204 ShortcutOperationCallback; |
| 205 |
| 206 // Resolves |profile_path| and |app_id| into Profile* and Extension*. |
| 207 void CallForProfileAndAppId( |
| 208 const base::FilePath& profile_path, |
| 209 const std::string app_id, |
| 210 const ShortcutOperationCallback& callback); |
| 211 |
200 #if defined(OS_WIN) | 212 #if defined(OS_WIN) |
201 // Returns the Windows user-level shortcut paths that are specified in | 213 // Returns the Windows user-level shortcut paths that are specified in |
202 // |creation_locations|. | 214 // |creation_locations|. |
203 std::vector<base::FilePath> GetShortcutPaths( | 215 std::vector<base::FilePath> GetShortcutPaths( |
204 const web_app::ShortcutLocations& creation_locations); | 216 const web_app::ShortcutLocations& creation_locations); |
205 #endif | 217 #endif |
206 | 218 |
207 // Creates a shortcut. Must be called on the file thread. This is used to | 219 // Creates a shortcut. Must be called on the file thread. This is used to |
208 // implement CreateShortcuts() above, and can also be used directly from the | 220 // implement CreateShortcuts() above, and can also be used directly from the |
209 // file thread. |shortcut_info| contains info about the shortcut to create, and | 221 // file thread. |shortcut_info| contains info about the shortcut to create, and |
(...skipping 29 matching lines...) Expand all Loading... |
239 void UpdatePlatformShortcuts( | 251 void UpdatePlatformShortcuts( |
240 const base::FilePath& shortcut_data_path, | 252 const base::FilePath& shortcut_data_path, |
241 const base::string16& old_app_title, | 253 const base::string16& old_app_title, |
242 const web_app::ShortcutInfo& shortcut_info, | 254 const web_app::ShortcutInfo& shortcut_info, |
243 const extensions::FileHandlersInfo& file_handlers_info); | 255 const extensions::FileHandlersInfo& file_handlers_info); |
244 | 256 |
245 // Delete all the shortcuts for an entire profile. | 257 // Delete all the shortcuts for an entire profile. |
246 // This is executed on the FILE thread. | 258 // This is executed on the FILE thread. |
247 void DeleteAllShortcutsForProfile(const base::FilePath& profile_path); | 259 void DeleteAllShortcutsForProfile(const base::FilePath& profile_path); |
248 | 260 |
| 261 // Checks all shortcuts for a profile and deletes/updates them as necessary. |
| 262 void UpdateShortcutsForAllAppsForProfile(const base::FilePath& profile_path, |
| 263 const std::set<std::string>& app_ids); |
| 264 |
249 // Sanitizes |name| and returns a version of it that is safe to use as an | 265 // Sanitizes |name| and returns a version of it that is safe to use as an |
250 // on-disk file name . | 266 // on-disk file name . |
251 base::FilePath GetSanitizedFileName(const base::string16& name); | 267 base::FilePath GetSanitizedFileName(const base::string16& name); |
252 | 268 |
253 } // namespace internals | 269 } // namespace internals |
254 | 270 |
255 } // namespace web_app | 271 } // namespace web_app |
256 | 272 |
257 #endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ | 273 #endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_H_ |
OLD | NEW |