Commit 0c41dc8e authored by grt's avatar grt Committed by Commit bot

Remove BrowserDistribution::Type.

BUG=577816

Review-Url: https://codereview.chromium.org/2622883002
Cr-Commit-Position: refs/heads/master@{#442868}
parent facc326c
......@@ -53,8 +53,7 @@ void ResetShortcutsOnFileThread() {
base::FilePath chrome_exe;
if (!PathService::Get(base::FILE_EXE, &chrome_exe))
return;
BrowserDistribution* dist = BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::CHROME_BROWSER);
BrowserDistribution* dist = BrowserDistribution::GetDistribution();
for (int location = ShellUtil::SHORTCUT_LOCATION_FIRST;
location < ShellUtil::NUM_SHORTCUT_LOCATIONS; ++location) {
ShellUtil::ShortcutListMaybeRemoveUnknownArgs(
......@@ -347,8 +346,7 @@ std::vector<ShortcutCommand> GetChromeLaunchShortcuts(
base::FilePath chrome_exe;
if (!PathService::Get(base::FILE_EXE, &chrome_exe))
return std::vector<ShortcutCommand>();
BrowserDistribution* dist = BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::CHROME_BROWSER);
BrowserDistribution* dist = BrowserDistribution::GetDistribution();
std::vector<ShortcutCommand> shortcuts;
for (int location = ShellUtil::SHORTCUT_LOCATION_FIRST;
location < ShellUtil::NUM_SHORTCUT_LOCATIONS; ++location) {
......
......@@ -14,8 +14,6 @@ base::string16 GetSuffixedRegistryPath(const wchar_t* suffix) {
BrowserDistribution* chrome_distribution =
BrowserDistribution::GetDistribution();
DCHECK(chrome_distribution);
DCHECK_EQ(BrowserDistribution::CHROME_BROWSER,
chrome_distribution->GetType());
DCHECK_EQ(L'\\', *suffix);
DCHECK_NE(L'\\', chrome_distribution->GetRegistryPath().back());
......
......@@ -431,8 +431,6 @@ void RegisterChromeOnMachine(const installer::InstallerState& installer_state,
const installer::Product& product,
bool make_chrome_default,
const base::Version& version) {
DCHECK(product.is_chrome());
// Try to add Chrome to Media Player shim inclusion list. We don't do any
// error checking here because this operation will fail if user doesn't
// have admin rights and we want to ignore the error.
......
......@@ -41,21 +41,16 @@ const wchar_t kCommandExecuteImplUuid[] =
// The BrowserDistribution objects are never freed.
BrowserDistribution* g_browser_distribution = NULL;
BrowserDistribution::Type GetCurrentDistributionType() {
return BrowserDistribution::CHROME_BROWSER;
}
} // namespace
BrowserDistribution::BrowserDistribution()
: type_(CHROME_BROWSER),
app_reg_data_(base::MakeUnique<NonUpdatingAppRegistrationData>(
: app_reg_data_(base::MakeUnique<NonUpdatingAppRegistrationData>(
L"Software\\Chromium")) {}
BrowserDistribution::BrowserDistribution(
Type type,
std::unique_ptr<AppRegistrationData> app_reg_data)
: type_(type), app_reg_data_(std::move(app_reg_data)) {}
: app_reg_data_(std::move(app_reg_data)) {}
BrowserDistribution::~BrowserDistribution() {}
......@@ -73,14 +68,8 @@ BrowserDistribution* BrowserDistribution::GetOrCreateBrowserDistribution(
return *dist;
}
BrowserDistribution* BrowserDistribution::GetDistribution() {
return GetSpecificDistribution(GetCurrentDistributionType());
}
// static
BrowserDistribution* BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::Type type) {
DCHECK_EQ(type, CHROME_BROWSER);
BrowserDistribution* BrowserDistribution::GetDistribution() {
BrowserDistribution* dist = NULL;
#if defined(GOOGLE_CHROME_BUILD)
......
......@@ -25,12 +25,6 @@ class AppRegistrationData;
class BrowserDistribution {
public:
// TODO(grt): Remove Type.
enum Type {
CHROME_BROWSER,
NUM_TYPES
};
enum Subfolder {
SUBFOLDER_CHROME,
SUBFOLDER_APPS,
......@@ -46,10 +40,6 @@ class BrowserDistribution {
static BrowserDistribution* GetDistribution();
static BrowserDistribution* GetSpecificDistribution(Type type);
Type GetType() const { return type_; }
// Getter and adaptors for the underlying |app_reg_data_|.
const AppRegistrationData& GetAppRegistrationData() const;
base::string16 GetAppGuid() const;
......@@ -155,15 +145,13 @@ class BrowserDistribution {
virtual bool HasUserExperiments();
protected:
BrowserDistribution(Type type,
std::unique_ptr<AppRegistrationData> app_reg_data);
explicit BrowserDistribution(
std::unique_ptr<AppRegistrationData> app_reg_data);
template<class DistributionClass>
static BrowserDistribution* GetOrCreateBrowserDistribution(
BrowserDistribution** dist);
const Type type_;
std::unique_ptr<AppRegistrationData> app_reg_data_;
private:
......
......@@ -14,6 +14,7 @@
#include <utility>
#include "base/files/file_path.h"
#include "base/memory/ptr_util.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
......@@ -26,7 +27,6 @@
#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/installer_util_strings.h"
#include "chrome/installer/util/l10n_string_util.h"
......@@ -96,13 +96,12 @@ void NavigateToUrlWithIExplore(const base::string16& url) {
} // namespace
GoogleChromeDistribution::GoogleChromeDistribution()
: BrowserDistribution(CHROME_BROWSER,
std::unique_ptr<AppRegistrationData>(
new UpdatingAppRegistrationData(kChromeGuid))) {}
: BrowserDistribution(
base::MakeUnique<UpdatingAppRegistrationData>(kChromeGuid)) {}
GoogleChromeDistribution::GoogleChromeDistribution(
std::unique_ptr<AppRegistrationData> app_reg_data)
: BrowserDistribution(CHROME_BROWSER, std::move(app_reg_data)) {}
: BrowserDistribution(std::move(app_reg_data)) {}
void GoogleChromeDistribution::DoPostUninstallOperations(
const base::Version& version,
......
......@@ -8,6 +8,8 @@
#ifndef CHROME_INSTALLER_UTIL_GOOGLE_CHROME_DISTRIBUTION_H_
#define CHROME_INSTALLER_UTIL_GOOGLE_CHROME_DISTRIBUTION_H_
#include <memory>
#include "base/strings/string16.h"
#include "chrome/installer/util/browser_distribution.h"
......
......@@ -127,9 +127,7 @@ class GoogleUpdateSettingsTest : public testing::Test {
// Test the writing and deleting functionality of the experiments label
// helper.
void TestExperimentsLabelHelper(SystemUserInstall install) {
BrowserDistribution* chrome =
BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::CHROME_BROWSER);
BrowserDistribution* chrome = BrowserDistribution::GetDistribution();
base::string16 value;
#if defined(GOOGLE_CHROME_BUILD)
EXPECT_TRUE(chrome->ShouldSetExperimentLabels());
......@@ -1190,9 +1188,7 @@ base::string16* CollectStatsConsent::chrome_state_key_;
base::string16* CollectStatsConsent::chrome_state_medium_key_;
void CollectStatsConsent::SetUpTestCase() {
BrowserDistribution* dist =
BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::CHROME_BROWSER);
BrowserDistribution* dist = BrowserDistribution::GetDistribution();
chrome_version_key_ = new base::string16(dist->GetVersionKey());
chrome_state_key_ = new base::string16(dist->GetStateKey());
chrome_state_medium_key_ = new base::string16(dist->GetStateMediumKey());
......
......@@ -34,7 +34,6 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/installer/util/browser_distribution.h"
#include "chrome/installer/util/google_update_constants.h"
#include "chrome/installer/util/helper.h"
#include "chrome/installer/util/installation_state.h"
#include "chrome/installer/util/l10n_string_util.h"
#include "chrome/installer/util/util_constants.h"
......@@ -567,7 +566,6 @@ void InstallUtil::AddUpdateDowngradeVersionItem(
WorkItemList* list) {
DCHECK(list);
DCHECK(dist);
DCHECK_EQ(BrowserDistribution::CHROME_BROWSER, dist->GetType());
base::Version downgrade_version = GetDowngradeVersion(system_install, dist);
HKEY root = system_install ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
if (!current_version ||
......
......@@ -4,6 +4,7 @@
#include "chrome/installer/util/install_util.h"
#include <memory>
#include <string>
#include <utility>
......@@ -13,6 +14,7 @@
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"
#include "base/test/scoped_path_override.h"
......@@ -38,9 +40,7 @@ class MockRegistryValuePredicate : public InstallUtil::RegistryValuePredicate {
class TestBrowserDistribution : public BrowserDistribution {
public:
TestBrowserDistribution()
: BrowserDistribution(CHROME_BROWSER,
std::unique_ptr<AppRegistrationData>(
new TestAppRegistrationData())) {}
: BrowserDistribution(base::MakeUnique<TestAppRegistrationData>()) {}
};
class InstallUtilTest : public testing::Test {
......
......@@ -10,6 +10,7 @@
#include "base/logging.h"
#include "base/process/launch.h"
#include "base/win/registry.h"
#include "chrome/installer/util/browser_distribution.h"
#include "chrome/installer/util/chrome_browser_operations.h"
#include "chrome/installer/util/chrome_browser_sxs_operations.h"
#include "chrome/installer/util/google_update_constants.h"
......@@ -24,18 +25,10 @@ using installer::MasterPreferences;
namespace installer {
Product::Product(BrowserDistribution* distribution)
: distribution_(distribution) {
switch (distribution->GetType()) {
case BrowserDistribution::CHROME_BROWSER:
operations_.reset(InstallUtil::IsChromeSxSProcess() ?
new ChromeBrowserSxSOperations() :
new ChromeBrowserOperations());
break;
default:
NOTREACHED() << "Unsupported BrowserDistribution::Type: "
<< distribution->GetType();
}
}
: distribution_(distribution),
operations_(InstallUtil::IsChromeSxSProcess()
? new ChromeBrowserSxSOperations()
: new ChromeBrowserOperations()) {}
Product::~Product() {
}
......
......@@ -13,10 +13,11 @@
#include <vector>
#include "base/macros.h"
#include "chrome/installer/util/browser_distribution.h"
#include "chrome/installer/util/shell_util.h"
#include "chrome/installer/util/util_constants.h"
class BrowserDistribution;
namespace base {
class CommandLine;
}
......@@ -52,14 +53,6 @@ class Product {
return distribution_;
}
bool is_type(BrowserDistribution::Type type) const {
return distribution_->GetType() == type;
}
bool is_chrome() const {
return distribution_->GetType() == BrowserDistribution::CHROME_BROWSER;
}
bool HasOption(const std::wstring& option) const {
return options_.find(option) != options_.end();
}
......@@ -116,8 +109,8 @@ class Product {
MSI_STATE = 0x01
};
BrowserDistribution* distribution_;
std::unique_ptr<ProductOperations> operations_;
BrowserDistribution* const distribution_;
const std::unique_ptr<ProductOperations> operations_;
std::set<std::wstring> options_;
private:
......
......@@ -13,6 +13,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/test/test_reg_util_win.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/installer/util/browser_distribution.h"
#include "chrome/installer/util/google_update_constants.h"
#include "chrome/installer/util/installation_state.h"
#include "chrome/installer/util/master_preferences.h"
......@@ -35,12 +36,10 @@ TEST(ProductTest, ProductInstallBasic) {
installer::InstallationState machine_state;
machine_state.Initialize();
std::unique_ptr<Product> product = base::MakeUnique<Product>(
BrowserDistribution::GetSpecificDistribution(
BrowserDistribution::CHROME_BROWSER));
std::unique_ptr<Product> product =
base::MakeUnique<Product>(BrowserDistribution::GetDistribution());
product->InitializeFromPreferences(prefs);
BrowserDistribution* distribution = product->distribution();
EXPECT_EQ(BrowserDistribution::CHROME_BROWSER, distribution->GetType());
base::FilePath user_data_dir;
ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment