Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / web_applications / web_app_win.h
blob08bb7047310b4bee518706f62c12766cac45b91c
1 // Copyright 2013 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 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_WIN_H_
6 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_WIN_H_
8 #include "base/files/file_path.h"
9 #include "chrome/browser/web_applications/web_app.h"
11 class Profile;
13 namespace content {
14 class WebContents;
17 namespace extensions {
18 class Extension;
21 namespace gfx {
22 class ImageFamily;
25 namespace web_app {
27 // Create a shortcut in the given web app data dir, returning the name of the
28 // created shortcut.
29 base::FilePath CreateShortcutInWebAppDir(
30 const base::FilePath& web_app_path,
31 scoped_ptr<ShortcutInfo> shortcut_info);
33 // Update the relaunch details for the given app's window, making the taskbar
34 // group's "Pin to the taskbar" button function correctly.
35 void UpdateRelaunchDetailsForApp(Profile* profile,
36 const extensions::Extension* extension,
37 HWND hwnd);
39 namespace internals {
41 // Saves |image| to |icon_file| if the file is outdated. Returns true if
42 // icon_file is up to date or successfully updated.
43 // If |refresh_shell_icon_cache| is true, the shell's icon cache will be
44 // refreshed, ensuring the correct icon is displayed, but causing a flicker.
45 // Refreshing the icon cache is not necessary on shortcut creation as the shell
46 // will be notified when the shortcut is created.
47 bool CheckAndSaveIcon(const base::FilePath& icon_file,
48 const gfx::ImageFamily& image,
49 bool refresh_shell_icon_cache);
51 base::FilePath GetIconFilePath(const base::FilePath& web_app_path,
52 const base::string16& title);
54 } // namespace internals
56 } // namespace web_app
58 #endif // CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_WIN_H_