Chromium Code Reviews| Index: chrome/browser/shell_integration.h |
| diff --git a/chrome/browser/shell_integration.h b/chrome/browser/shell_integration.h |
| index f8559844e8d7df644f469c4825333001d33245c1..aad3072020d35059fa9d169aa88e4a35d9d9750c 100644 |
| --- a/chrome/browser/shell_integration.h |
| +++ b/chrome/browser/shell_integration.h |
| @@ -106,13 +106,22 @@ class ShellIntegration { |
| std::string profile_name; |
| }; |
| + // For Windows, these refer to "Start Menu", "Start Menu/Google Chrome", |
| + // and "Start Menu/Chrome Apps" respectively. |
|
Elliot Glaysher
2013/11/25 22:03:03
Could you please add more documentation about what
calamity
2013/11/26 02:51:17
Done. Also changed shell_integration_linux.cc to w
|
| + enum ApplicationsMenuLocation { |
| + APP_MENU_LOCATION_NONE, |
| + APP_MENU_LOCATION_ROOT, |
| + APP_MENU_LOCATION_SUBDIR_CHROME, |
| + APP_MENU_LOCATION_SUBDIR_CHROMEAPPS, |
| + }; |
| + |
| // Info about which locations to create app shortcuts in. |
| struct ShortcutLocations { |
| ShortcutLocations(); |
| bool on_desktop; |
| - bool in_applications_menu; |
| - string16 applications_menu_subdir; |
| + |
| + ApplicationsMenuLocation applications_menu_location; |
| // For Windows, this refers to quick launch bar prior to Win7. In Win7, |
| // this means "pin to taskbar". For Mac/Linux, this could be used for |
| @@ -120,11 +129,13 @@ class ShellIntegration { |
| // implemented yet. |
| bool in_quick_launch_bar; |
| +#if defined(OS_POSIX) |
| // For Linux, this refers to a shortcut which the system knows about (for |
| // the purpose of identifying windows and giving them the correct |
| // title/icon), but which does not show up in menus or search results. |
| - // Ignored if in_applications_menu == true. |
| + // Ignored if applications_menu_location is not APP_MENU_LOCATION_NONE. |
| bool hidden; |
| +#endif |
| }; |
| // Data that needs to be passed between the app launcher stub and Chrome. |
| @@ -185,6 +196,15 @@ class ShellIntegration { |
| static base::FilePath GetStartMenuShortcut(const base::FilePath& chrome_exe); |
| #endif // defined(OS_WIN) |
| +#if !defined(OS_WIN) |
| + // TODO(calamity): replace with |
| + // BrowserDistribution::GetStartMenuShortcutSubfolder() once |
| + // BrowserDistribution is cross-platform. |
| + // Gets the name of the Chrome Apps menu folder in which to place app |
| + // shortcuts. This is needed for Mac and Linux. |
| + static base::string16 GetAppShortcutsSubdirName(); |
| +#endif |
| + |
| // The current default web client application UI state. This is used when |
| // querying if Chrome is the default browser or the default handler |
| // application for a url protocol, and communicates the state and result of |