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

Unified Diff: chrome/installer/util/chrome_app_host_distribution.cc

Issue 10665002: Implement installation of the Chrome App Host. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unittests. Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/installer/util/chrome_app_host_distribution.cc
diff --git a/chrome/installer/util/chrome_app_host_distribution.cc b/chrome/installer/util/chrome_app_host_distribution.cc
new file mode 100644
index 0000000000000000000000000000000000000000..4eef3033e51ebf17baacb8256207d0af573574d5
--- /dev/null
+++ b/chrome/installer/util/chrome_app_host_distribution.cc
@@ -0,0 +1,148 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// This file defines a specific implementation of BrowserDistribution class for
+// Chrome App Host. It overrides the bare minimum of methods necessary to get a
+// Chrome App Host installer that does not interact with Google Chrome or
+// Chromium installations.
+
+#include "chrome/installer/util/chrome_app_host_distribution.h"
+
+#include "base/string_util.h"
+#include "chrome/common/net/test_server_locations.h"
+#include "chrome/installer/util/channel_info.h"
+#include "chrome/installer/util/google_update_constants.h"
+#include "chrome/installer/util/google_update_settings.h"
+#include "chrome/installer/util/helper.h"
+#include "chrome/installer/util/install_util.h"
+#include "chrome/installer/util/l10n_string_util.h"
+
+#include "installer_util_strings.h" // NOLINT
+
+namespace {
+const wchar_t kChromeAppHostGuid[] = L"{FDA71E6F-AC4C-4a00-8B70-9958A68906BF}";
+}
+
+ChromeAppHostDistribution::ChromeAppHostDistribution()
+ : BrowserDistribution(CHROME_APP_HOST) {
+}
+
+string16 ChromeAppHostDistribution::GetAppGuid() {
+ return kChromeAppHostGuid;
+}
+
+string16 ChromeAppHostDistribution::GetBaseAppName() {
+ return L"Google Chrome App Host";
+}
+
+string16 ChromeAppHostDistribution::GetAppShortCutName() {
+ const string16& product_name =
+ installer::GetLocalizedString(IDS_PRODUCT_APP_HOST_NAME_BASE);
+ return product_name;
+}
+
+string16 ChromeAppHostDistribution::GetAlternateApplicationName() {
+ const string16& product_name =
+ installer::GetLocalizedString(IDS_PRODUCT_APP_HOST_NAME_BASE);
+ return product_name;
+}
+
+string16 ChromeAppHostDistribution::GetInstallSubDir() {
+ return BrowserDistribution::GetSpecificDistribution(
+ BrowserDistribution::CHROME_BINARIES)->GetInstallSubDir();
+}
+
+string16 ChromeAppHostDistribution::GetPublisherName() {
+ const string16& publisher_name =
+ installer::GetLocalizedString(IDS_ABOUT_VERSION_COMPANY_NAME_BASE);
+ return publisher_name;
+}
+
+string16 ChromeAppHostDistribution::GetAppDescription() {
+ NOTREACHED() << "This should never be accessed due to no start-menu/task-bar "
+ << "shortcuts.";
+ return L"A standalone platform for Chrome apps.";
+}
+
+string16 ChromeAppHostDistribution::GetLongAppDescription() {
+ NOTREACHED() << "This should never be accessed as Chrome App Host is not a "
+ << "default browser option.";
+ return L"A standalone platform for Chrome apps.";
+}
+
+std::string ChromeAppHostDistribution::GetSafeBrowsingName() {
+ return "googlechromeapphost";
+}
+
+string16 ChromeAppHostDistribution::GetStateKey() {
+ string16 key(google_update::kRegPathClientState);
+ key.append(L"\\");
+ key.append(kChromeAppHostGuid);
+ return key;
+}
+
+string16 ChromeAppHostDistribution::GetStateMediumKey() {
+ string16 key(google_update::kRegPathClientStateMedium);
+ key.append(L"\\");
+ key.append(kChromeAppHostGuid);
+ return key;
+}
+
+string16 ChromeAppHostDistribution::GetStatsServerURL() {
+ return L"https://clients4.google.com/firefox/metrics/collect";
+}
+
+std::string ChromeAppHostDistribution::GetNetworkStatsServer() const {
+ return chrome_common_net::kEchoTestServerLocation;
+}
+
+std::string ChromeAppHostDistribution::GetHttpPipeliningTestServer() const {
+ return chrome_common_net::kPipelineTestServerBaseUrl;
+}
+
+string16 ChromeAppHostDistribution::GetUninstallLinkName() {
+ NOTREACHED() << "This should never be accessed as Chrome App Host has no "
+ << "uninstall entry.";
+ return L"Uninstall Chrome App Host";
+}
+
+string16 ChromeAppHostDistribution::GetUninstallRegPath() {
+ NOTREACHED() << "This should never be accessed as Chrome App Host has no "
+ << "uninstall entry.";
+ return L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
+ L"Google Chrome App Host";
+}
+
+string16 ChromeAppHostDistribution::GetVersionKey() {
+ string16 key(google_update::kRegPathClients);
+ key.append(L"\\");
+ key.append(kChromeAppHostGuid);
+ return key;
+}
+
+bool ChromeAppHostDistribution::CanSetAsDefault() {
+ return false;
+}
+
+bool ChromeAppHostDistribution::CanCreateDesktopShortcuts() {
+ return false;
+}
+
+bool ChromeAppHostDistribution::GetDelegateExecuteHandlerData(
+ string16* handler_class_uuid,
+ string16* type_lib_uuid,
+ string16* type_lib_version,
+ string16* interface_uuid) {
+ return false;
+}
+
+void ChromeAppHostDistribution::UpdateInstallStatus(bool system_install,
+ installer::ArchiveType archive_type,
+ installer::InstallStatus install_status) {
+#if defined(GOOGLE_CHROME_BUILD)
+ GoogleUpdateSettings::UpdateInstallStatus(system_install,
+ archive_type, InstallUtil::GetInstallReturnCode(install_status),
+ kChromeAppHostGuid);
+#endif
+}

Powered by Google App Engine
This is Rietveld 408576698