Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: chrome/installer/util/browser_distribution.h

Issue 15255004: Refactor of BrowserDistribution. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/installer/setup/uninstall.cc ('k') | chrome/installer/util/browser_distribution.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // This file declares a class that contains various method related to branding. 5 // This file declares a class that contains various method related to branding.
6 6
7 #ifndef CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ 7 #ifndef CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_
8 #define CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ 8 #define CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_
9 9
10 #include <string> 10 #include <string>
(...skipping 11 matching lines...) Expand all
22 class BrowserDistribution { 22 class BrowserDistribution {
23 public: 23 public:
24 enum Type { 24 enum Type {
25 CHROME_BROWSER, 25 CHROME_BROWSER,
26 CHROME_FRAME, 26 CHROME_FRAME,
27 CHROME_BINARIES, 27 CHROME_BINARIES,
28 CHROME_APP_HOST, 28 CHROME_APP_HOST,
29 NUM_TYPES 29 NUM_TYPES
30 }; 30 };
31 31
32 enum ShortcutType {
33 SHORTCUT_CHROME,
34 SHORTCUT_CHROME_ALTERNATE,
35 SHORTCUT_APP_LAUNCHER
36 };
37
38 enum Subfolder {
39 SUBFOLDER_CHROME,
40 // TODO(calamity): add SUBFOLDER_APPS when refactoring chrome app dir code.
41 };
42
32 virtual ~BrowserDistribution() {} 43 virtual ~BrowserDistribution() {}
33 44
34 static BrowserDistribution* GetDistribution(); 45 static BrowserDistribution* GetDistribution();
35 46
36 static BrowserDistribution* GetSpecificDistribution(Type type); 47 static BrowserDistribution* GetSpecificDistribution(Type type);
37 48
38 Type GetType() const { return type_; } 49 Type GetType() const { return type_; }
39 50
40 virtual void DoPostUninstallOperations(const Version& version, 51 virtual void DoPostUninstallOperations(const Version& version,
41 const base::FilePath& local_data_path, 52 const base::FilePath& local_data_path,
42 const string16& distribution_data); 53 const string16& distribution_data);
43 54
44 // Returns the GUID to be used when registering for Active Setup. 55 // Returns the GUID to be used when registering for Active Setup.
45 virtual string16 GetActiveSetupGuid(); 56 virtual string16 GetActiveSetupGuid();
46 57
47 virtual string16 GetAppGuid(); 58 virtual string16 GetAppGuid();
48 59
49 // Returns the unsuffixed application name of this program. 60 // Returns the unsuffixed application name of this program.
50 // This is the base of the name registered with Default Programs on Windows. 61 // This is the base of the name registered with Default Programs on Windows.
51 // IMPORTANT: This should only be called by the installer which needs to make 62 // IMPORTANT: This should only be called by the installer which needs to make
52 // decisions on the suffixing of the upcoming install, not by external callers 63 // decisions on the suffixing of the upcoming install, not by external callers
53 // at run-time. 64 // at run-time.
54 virtual string16 GetBaseAppName(); 65 virtual string16 GetBaseAppName();
55 66
56 // Returns the localized name of the program. 67 // Returns the localized display name of this distribution.
57 virtual string16 GetAppShortCutName(); 68 virtual string16 GetDisplayName();
58 69
59 virtual string16 GetAlternateApplicationName(); 70 // Returns the localized name of the shortcut identified by |shortcut_type|
71 // for this distribution.
72 virtual string16 GetShortcutName(ShortcutType shortcut_type);
73
74 // Returns the index of the icon for the product identified by
75 // |shortcut_type|, inside the file specified by GetIconFilename().
76 virtual int GetIconIndex(ShortcutType shortcut_type);
77
78 // Returns the executable filename (not path) that contains the product icon.
79 virtual string16 GetIconFilename();
80
81 // Returns the localized name of the subfolder in the Start Menu identified by
82 // |subfolder_type| that this distribution should create shortcuts in. For
83 // SUBFOLDER_CHROME this returns GetShortcutName(SHORTCUT_CHROME).
84 virtual string16 GetStartMenuShortcutSubfolder(Subfolder subfolder_type);
60 85
61 // Returns the unsuffixed appid of this program. 86 // Returns the unsuffixed appid of this program.
62 // The AppUserModelId is a property of Windows programs. 87 // The AppUserModelId is a property of Windows programs.
63 // IMPORTANT: This should only be called by ShellUtil::GetAppId as the appid 88 // IMPORTANT: This should only be called by ShellUtil::GetAppId as the appid
64 // should be suffixed in all scenarios. 89 // should be suffixed in all scenarios.
65 virtual string16 GetBaseAppId(); 90 virtual string16 GetBaseAppId();
66 91
67 virtual string16 GetInstallSubDir(); 92 virtual string16 GetInstallSubDir();
68 93
69 virtual string16 GetPublisherName(); 94 virtual string16 GetPublisherName();
(...skipping 19 matching lines...) Expand all
89 virtual string16 GetUninstallLinkName(); 114 virtual string16 GetUninstallLinkName();
90 115
91 virtual string16 GetUninstallRegPath(); 116 virtual string16 GetUninstallRegPath();
92 117
93 virtual string16 GetVersionKey(); 118 virtual string16 GetVersionKey();
94 119
95 virtual bool CanSetAsDefault(); 120 virtual bool CanSetAsDefault();
96 121
97 virtual bool CanCreateDesktopShortcuts(); 122 virtual bool CanCreateDesktopShortcuts();
98 123
99 // Returns the executable filename (not path) that contains the product icon.
100 virtual string16 GetIconFilename();
101
102 // Returns the index of the icon for the product, inside the file specified by
103 // GetIconFilename().
104 virtual int GetIconIndex();
105
106 virtual bool GetChromeChannel(string16* channel); 124 virtual bool GetChromeChannel(string16* channel);
107 125
108 // Returns true if this distribution includes a DelegateExecute verb handler, 126 // Returns true if this distribution includes a DelegateExecute verb handler,
109 // and provides the CommandExecuteImpl class UUID if |handler_class_uuid| is 127 // and provides the CommandExecuteImpl class UUID if |handler_class_uuid| is
110 // non-NULL. 128 // non-NULL.
111 virtual bool GetCommandExecuteImplClsid(string16* handler_class_uuid); 129 virtual bool GetCommandExecuteImplClsid(string16* handler_class_uuid);
112 130
113 // Returns true if this distribution uses app_host.exe to run platform apps. 131 // Returns true if this distribution uses app_host.exe to run platform apps.
114 virtual bool AppHostIsSupported(); 132 virtual bool AppHostIsSupported();
115 133
(...skipping 16 matching lines...) Expand all
132 150
133 const Type type_; 151 const Type type_;
134 152
135 private: 153 private:
136 BrowserDistribution(); 154 BrowserDistribution();
137 155
138 DISALLOW_COPY_AND_ASSIGN(BrowserDistribution); 156 DISALLOW_COPY_AND_ASSIGN(BrowserDistribution);
139 }; 157 };
140 158
141 #endif // CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_ 159 #endif // CHROME_INSTALLER_UTIL_BROWSER_DISTRIBUTION_H_
OLDNEW
« no previous file with comments | « chrome/installer/setup/uninstall.cc ('k') | chrome/installer/util/browser_distribution.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698