Index: chrome/installer/util/google_chrome_sxs_distribution.cc |
diff --git a/chrome/installer/util/google_chrome_sxs_distribution.cc b/chrome/installer/util/google_chrome_sxs_distribution.cc |
index 1e623d995e45a689b1e0562fc96cdccab5614868..bf680f8c437d5f904c20bffefe5b9eff7f6efe0e 100644 |
--- a/chrome/installer/util/google_chrome_sxs_distribution.cc |
+++ b/chrome/installer/util/google_chrome_sxs_distribution.cc |
@@ -16,7 +16,13 @@ namespace { |
const wchar_t kChromeSxSGuid[] = L"{4ea16ac7-fd5a-47c3-875b-dbf4a2008c20}"; |
const wchar_t kChannelName[] = L"canary"; |
const wchar_t kBrowserAppId[] = L"ChromeCanary"; |
+const wchar_t kBrowserProgIdPrefix[] = L"ChromeSSHTM"; |
+const wchar_t kBrowserProgIdDesc[] = L"Chrome Canary HTML Document"; |
const int kSxSIconIndex = 4; |
+const wchar_t kCommandExecuteImplUuidString[] = |
+ L"{1BEAC3E3-B852-44F4-B468-8906C062422E}"; |
+const GUID kCommandExecuteImplUuid = {0x1BEAC3E3, 0xB852, 0x44F4, |
+ {0xB4, 0x68, 0x89, 0x06, 0xC0, 0x62, 0x42, 0x2E}}; |
// The Chrome App Launcher Canary icon is index 6; see chrome_exe.rc. |
const int kSxSAppLauncherIconIndex = 6; |
@@ -24,7 +30,8 @@ const int kSxSAppLauncherIconIndex = 6; |
} // namespace |
GoogleChromeSxSDistribution::GoogleChromeSxSDistribution() |
- : GoogleChromeDistribution() { |
+ : GoogleChromeDistribution(), |
+ enable_set_as_default_(false) { |
GoogleChromeDistribution::set_product_guid(kChromeSxSGuid); |
} |
@@ -53,6 +60,14 @@ string16 GoogleChromeSxSDistribution::GetBaseAppId() { |
return kBrowserAppId; |
} |
+string16 GoogleChromeSxSDistribution::GetBrowserProgIdPrefix() { |
+ return kBrowserProgIdPrefix; |
+} |
+ |
+string16 GoogleChromeSxSDistribution::GetBrowserProgIdDesc() { |
+ return kBrowserProgIdDesc; |
+} |
+ |
string16 GoogleChromeSxSDistribution::GetInstallSubDir() { |
return GoogleChromeDistribution::GetInstallSubDir().append( |
installer::kSxSSuffix); |
@@ -64,7 +79,11 @@ string16 GoogleChromeSxSDistribution::GetUninstallRegPath() { |
} |
bool GoogleChromeSxSDistribution::CanSetAsDefault() { |
- return false; |
+ return enable_set_as_default_; |
+} |
+ |
+void GoogleChromeSxSDistribution::DebugEnableSetAsDefault() { |
+ enable_set_as_default_ = true; |
} |
int GoogleChromeSxSDistribution::GetIconIndex(ShortcutType shortcut_type) { |
@@ -80,9 +99,18 @@ bool GoogleChromeSxSDistribution::GetChromeChannel(string16* channel) { |
return true; |
} |
-bool GoogleChromeSxSDistribution::GetCommandExecuteImplClsid( |
+bool GoogleChromeSxSDistribution::GetCommandExecuteImplClsidString( |
string16* handler_class_uuid) { |
- return false; |
+ if (handler_class_uuid) |
+ *handler_class_uuid = kCommandExecuteImplUuidString; |
+ return true; |
+} |
+ |
+bool GoogleChromeSxSDistribution::GetCommandExecuteImplClsid( |
+ CLSID* handler_class_uuid) { |
+ if (handler_class_uuid) |
+ *handler_class_uuid = kCommandExecuteImplUuid; |
+ return true; |
} |
bool GoogleChromeSxSDistribution::AppHostIsSupported() { |