| Index: chrome/browser/policy/browser_policy_connector.cc
|
| diff --git a/chrome/browser/policy/browser_policy_connector.cc b/chrome/browser/policy/browser_policy_connector.cc
|
| index 24a21c0594e049b0d75206a3c7f92a5efaffecbd..d4d0f6122fa368090d1101094fd4b53bbb7503e7 100644
|
| --- a/chrome/browser/policy/browser_policy_connector.cc
|
| +++ b/chrome/browser/policy/browser_policy_connector.cc
|
| @@ -122,56 +122,67 @@ base::FilePath GetManagedPolicyPath() {
|
| }
|
| #endif // defined(OS_MACOSX) && !defined(OS_IOS)
|
|
|
| -std::string GetDeviceManagementUrl() {
|
| - CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| - if (command_line->HasSwitch(switches::kDeviceManagementUrl))
|
| - return command_line->GetSwitchValueASCII(switches::kDeviceManagementUrl);
|
| - else
|
| - return kDefaultDeviceManagementServerUrl;
|
| -}
|
| +class DeviceManagementServiceConfiguration
|
| + : public DeviceManagementService::Configuration {
|
| + public:
|
| + DeviceManagementServiceConfiguration() {}
|
| + virtual ~DeviceManagementServiceConfiguration() {}
|
| +
|
| + virtual std::string GetServerUrl() OVERRIDE {
|
| + CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| + if (command_line->HasSwitch(switches::kDeviceManagementUrl))
|
| + return command_line->GetSwitchValueASCII(switches::kDeviceManagementUrl);
|
| + else
|
| + return kDefaultDeviceManagementServerUrl;
|
| + }
|
|
|
| -std::string GetUserAgentParameter() {
|
| - chrome::VersionInfo version_info;
|
| - return base::StringPrintf("%s %s(%s)",
|
| - version_info.Name().c_str(),
|
| - version_info.Version().c_str(),
|
| - version_info.LastChange().c_str());
|
| -}
|
| + virtual std::string GetUserAgent() OVERRIDE {
|
| + return content::GetUserAgent(GURL(GetServerUrl()));
|
| + }
|
|
|
| -std::string GetPlatformParameter() {
|
| - std::string os_name = base::SysInfo::OperatingSystemName();
|
| - std::string os_hardware = base::SysInfo::OperatingSystemArchitecture();
|
| + virtual std::string GetAgentParameter() OVERRIDE {
|
| + chrome::VersionInfo version_info;
|
| + return base::StringPrintf("%s %s(%s)",
|
| + version_info.Name().c_str(),
|
| + version_info.Version().c_str(),
|
| + version_info.LastChange().c_str());
|
| + }
|
|
|
| -#if defined(OS_CHROMEOS)
|
| - chromeos::system::StatisticsProvider* provider =
|
| - chromeos::system::StatisticsProvider::GetInstance();
|
| + virtual std::string GetPlatformParameter() OVERRIDE {
|
| + std::string os_name = base::SysInfo::OperatingSystemName();
|
| + std::string os_hardware = base::SysInfo::OperatingSystemArchitecture();
|
|
|
| - std::string hwclass;
|
| - if (!provider->GetMachineStatistic(chromeos::system::kHardwareClass,
|
| - &hwclass)) {
|
| - LOG(ERROR) << "Failed to get machine information";
|
| - }
|
| - os_name += ",CrOS," + base::SysInfo::GetLsbReleaseBoard();
|
| - os_hardware += "," + hwclass;
|
| +#if defined(OS_CHROMEOS)
|
| + chromeos::system::StatisticsProvider* provider =
|
| + chromeos::system::StatisticsProvider::GetInstance();
|
| +
|
| + std::string hwclass;
|
| + if (!provider->GetMachineStatistic(chromeos::system::kHardwareClass,
|
| + &hwclass)) {
|
| + LOG(ERROR) << "Failed to get machine information";
|
| + }
|
| + os_name += ",CrOS," + base::SysInfo::GetLsbReleaseBoard();
|
| + os_hardware += "," + hwclass;
|
| #endif
|
|
|
| - std::string os_version("-");
|
| + std::string os_version("-");
|
| #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
|
| - int32 os_major_version = 0;
|
| - int32 os_minor_version = 0;
|
| - int32 os_bugfix_version = 0;
|
| - base::SysInfo::OperatingSystemVersionNumbers(&os_major_version,
|
| - &os_minor_version,
|
| - &os_bugfix_version);
|
| - os_version = base::StringPrintf("%d.%d.%d",
|
| - os_major_version,
|
| - os_minor_version,
|
| - os_bugfix_version);
|
| + int32 os_major_version = 0;
|
| + int32 os_minor_version = 0;
|
| + int32 os_bugfix_version = 0;
|
| + base::SysInfo::OperatingSystemVersionNumbers(&os_major_version,
|
| + &os_minor_version,
|
| + &os_bugfix_version);
|
| + os_version = base::StringPrintf("%d.%d.%d",
|
| + os_major_version,
|
| + os_minor_version,
|
| + os_bugfix_version);
|
| #endif
|
|
|
| - return base::StringPrintf(
|
| - "%s|%s|%s", os_name.c_str(), os_hardware.c_str(), os_version.c_str());
|
| -}
|
| + return base::StringPrintf(
|
| + "%s|%s|%s", os_name.c_str(), os_hardware.c_str(), os_version.c_str());
|
| + }
|
| +};
|
|
|
| } // namespace
|
|
|
| @@ -236,13 +247,10 @@ void BrowserPolicyConnector::Init(
|
| local_state_ = local_state;
|
| request_context_ = request_context;
|
|
|
| - std::string server_url = GetDeviceManagementUrl();
|
| + scoped_ptr<DeviceManagementService::Configuration> configuration(
|
| + new DeviceManagementServiceConfiguration);
|
| device_management_service_.reset(
|
| - new DeviceManagementService(request_context,
|
| - server_url,
|
| - content::GetUserAgent(GURL(server_url)),
|
| - GetUserAgentParameter(),
|
| - GetPlatformParameter()));
|
| + new DeviceManagementService(configuration.Pass(), request_context));
|
| device_management_service_->ScheduleInitialization(
|
| kServiceInitializationStartupDelay);
|
|
|
|
|