summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/chrome_browser_main_linux.cc13
-rw-r--r--chrome/browser/chrome_browser_main_linux.h10
-rw-r--r--chrome/browser/chromeos/login/version_info_updater.cc4
-rw-r--r--chrome/browser/chromeos/login/version_info_updater.h2
-rw-r--r--chrome/browser/chromeos/version_loader.h6
-rw-r--r--chrome/browser/policy/device_status_collector.cc4
-rw-r--r--chrome/browser/policy/device_status_collector.h4
-rw-r--r--chrome/browser/ui/webui/about_ui.cc4
-rw-r--r--chrome/browser/ui/webui/chromeos/register_page_ui.cc5
-rw-r--r--chrome/browser/ui/webui/help/help_handler.cc4
-rw-r--r--chrome/browser/ui/webui/help/help_handler.h5
11 files changed, 43 insertions, 18 deletions
diff --git a/chrome/browser/chrome_browser_main_linux.cc b/chrome/browser/chrome_browser_main_linux.cc
index 42191d4..ad21460 100644
--- a/chrome/browser/chrome_browser_main_linux.cc
+++ b/chrome/browser/chrome_browser_main_linux.cc
@@ -30,9 +30,16 @@
namespace {
#if defined(USE_LINUX_BREAKPAD)
+#if defined(OS_CHROMEOS)
+void ChromeOSVersionCallback(chromeos::VersionLoader::Handle,
+ const std::string& version) {
+ base::SetLinuxDistro(std::string("CrOS ") + version);
+}
+#else
void GetLinuxDistroCallback() {
base::GetLinuxDistro(); // Initialize base::linux_distro if needed.
}
+#endif
bool IsCrashReportingEnabled(const PrefService* local_state) {
// Check whether we should initialize the crash reporter. It may be disabled
@@ -79,11 +86,17 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLinux() {
void ChromeBrowserMainPartsLinux::PreProfileInit() {
#if defined(USE_LINUX_BREAKPAD)
+#if defined(OS_CHROMEOS)
+ cros_version_loader_.GetVersion(&cros_consumer_,
+ base::Bind(&ChromeOSVersionCallback),
+ chromeos::VersionLoader::VERSION_FULL);
+#else
// Needs to be called after we have chrome::DIR_USER_DATA and
// g_browser_process. This happens in PreCreateThreads.
content::BrowserThread::PostTask(content::BrowserThread::FILE,
FROM_HERE,
base::Bind(&GetLinuxDistroCallback));
+#endif
if (IsCrashReportingEnabled(local_state()))
InitCrashReporter();
diff --git a/chrome/browser/chrome_browser_main_linux.h b/chrome/browser/chrome_browser_main_linux.h
index 4f99377..b1d1521 100644
--- a/chrome/browser/chrome_browser_main_linux.h
+++ b/chrome/browser/chrome_browser_main_linux.h
@@ -9,8 +9,13 @@
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
+#include "chrome/browser/cancelable_request.h"
#include "chrome/browser/chrome_browser_main_posix.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/version_loader.h"
+#endif
+
#if !defined(OS_CHROMEOS)
namespace chrome {
class MediaDeviceNotificationsLinux;
@@ -33,6 +38,11 @@ class ChromeBrowserMainPartsLinux : public ChromeBrowserMainPartsPosix {
media_device_notifications_linux_;
#endif
+#if defined(OS_CHROMEOS)
+ chromeos::VersionLoader cros_version_loader_;
+ CancelableRequestConsumer cros_consumer_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainPartsLinux);
};
diff --git a/chrome/browser/chromeos/login/version_info_updater.cc b/chrome/browser/chromeos/login/version_info_updater.cc
index 21a288c..1dc0bb0 100644
--- a/chrome/browser/chromeos/login/version_info_updater.cc
+++ b/chrome/browser/chromeos/login/version_info_updater.cc
@@ -191,8 +191,8 @@ void VersionInfoUpdater::SetEnterpriseInfo(const std::string& domain_name,
}
void VersionInfoUpdater::OnVersion(
- VersionLoader::Handle handle, std::string version) {
- version_text_.swap(version);
+ VersionLoader::Handle handle, const std::string& version) {
+ version_text_ = version;
UpdateVersionLabel();
}
diff --git a/chrome/browser/chromeos/login/version_info_updater.h b/chrome/browser/chromeos/login/version_info_updater.h
index 06733c6..fa458c7 100644
--- a/chrome/browser/chromeos/login/version_info_updater.h
+++ b/chrome/browser/chromeos/login/version_info_updater.h
@@ -73,7 +73,7 @@ class VersionInfoUpdater : public policy::CloudPolicySubsystem::Observer,
bool reporting_hint);
// Callback from chromeos::VersionLoader giving the version.
- void OnVersion(VersionLoader::Handle handle, std::string version);
+ void OnVersion(VersionLoader::Handle handle, const std::string& version);
// Callback from chromeos::InfoLoader giving the boot times.
void OnBootTimes(
BootTimesLoader::Handle handle, BootTimesLoader::BootTimes boot_times);
diff --git a/chrome/browser/chromeos/version_loader.h b/chrome/browser/chromeos/version_loader.h
index 001a20e..9f15619 100644
--- a/chrome/browser/chromeos/version_loader.h
+++ b/chrome/browser/chromeos/version_loader.h
@@ -23,7 +23,7 @@ namespace chromeos {
// CancelableRequestConsumerBase.
// . Define the callback method, something like:
// void OnGetChromeOSVersion(chromeos::VersionLoader::Handle,
-// std::string version);
+// const std::string& version);
// . When you want the version invoke: loader.GetVersion(&consumer, callback);
//
// This class also provides the ability to load the bios firmware using
@@ -40,10 +40,10 @@ class VersionLoader : public CancelableRequestProvider {
};
// Signature
- typedef base::Callback<void(Handle, std::string)> GetVersionCallback;
+ typedef base::Callback<void(Handle, const std::string&)> GetVersionCallback;
typedef CancelableRequest<GetVersionCallback> GetVersionRequest;
- typedef base::Callback<void(Handle, std::string)> GetFirmwareCallback;
+ typedef base::Callback<void(Handle, const std::string&)> GetFirmwareCallback;
typedef CancelableRequest<GetFirmwareCallback> GetFirmwareRequest;
// Asynchronously requests the version.
diff --git a/chrome/browser/policy/device_status_collector.cc b/chrome/browser/policy/device_status_collector.cc
index dae4556..0cac6ad 100644
--- a/chrome/browser/policy/device_status_collector.cc
+++ b/chrome/browser/policy/device_status_collector.cc
@@ -368,12 +368,12 @@ void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) {
}
void DeviceStatusCollector::OnOSVersion(VersionLoader::Handle handle,
- std::string version) {
+ const std::string& version) {
os_version_ = version;
}
void DeviceStatusCollector::OnOSFirmware(VersionLoader::Handle handle,
- std::string version) {
+ const std::string& version) {
firmware_version_ = version;
}
diff --git a/chrome/browser/policy/device_status_collector.h b/chrome/browser/policy/device_status_collector.h
index f5b2599..744db3f 100644
--- a/chrome/browser/policy/device_status_collector.h
+++ b/chrome/browser/policy/device_status_collector.h
@@ -87,9 +87,9 @@ class DeviceStatusCollector : public content::NotificationObserver {
// Callbacks from chromeos::VersionLoader.
void OnOSVersion(chromeos::VersionLoader::Handle handle,
- std::string version);
+ const std::string& version);
void OnOSFirmware(chromeos::VersionLoader::Handle handle,
- std::string version);
+ const std::string& version);
// Helpers for the various portions of the status.
void GetActivityTimes(
diff --git a/chrome/browser/ui/webui/about_ui.cc b/chrome/browser/ui/webui/about_ui.cc
index 6897cba..73460ad 100644
--- a/chrome/browser/ui/webui/about_ui.cc
+++ b/chrome/browser/ui/webui/about_ui.cc
@@ -162,7 +162,7 @@ class ChromeOSAboutVersionHandler {
// Callback from chromeos::VersionLoader giving the version.
void OnVersion(chromeos::VersionLoader::Handle handle,
- std::string version);
+ const std::string& version);
private:
// Where the results are fed to.
@@ -1276,7 +1276,7 @@ ChromeOSAboutVersionHandler::ChromeOSAboutVersionHandler(
void ChromeOSAboutVersionHandler::OnVersion(
chromeos::VersionLoader::Handle handle,
- std::string version) {
+ const std::string& version) {
DictionaryValue localized_strings;
localized_strings.SetString("os_version", version);
source_->FinishDataRequest(AboutVersionStrings(
diff --git a/chrome/browser/ui/webui/chromeos/register_page_ui.cc b/chrome/browser/ui/webui/chromeos/register_page_ui.cc
index e98e0de..de08f916 100644
--- a/chrome/browser/ui/webui/chromeos/register_page_ui.cc
+++ b/chrome/browser/ui/webui/chromeos/register_page_ui.cc
@@ -130,7 +130,8 @@ class RegisterPageHandler : public WebUIMessageHandler,
void HandleGetUserInfo(const ListValue* args);
// Callback from chromeos::VersionLoader giving the version.
- void OnVersion(chromeos::VersionLoader::Handle handle, std::string version);
+ void OnVersion(chromeos::VersionLoader::Handle handle,
+ const std::string& version);
// Skips registration logging |error_msg| with log type ERROR.
void SkipRegistration(const std::string& error_msg);
@@ -230,7 +231,7 @@ void RegisterPageHandler::HandleGetUserInfo(const ListValue* args) {
}
void RegisterPageHandler::OnVersion(chromeos::VersionLoader::Handle handle,
- std::string version) {
+ const std::string& version) {
version_ = version;
SendUserInfo();
}
diff --git a/chrome/browser/ui/webui/help/help_handler.cc b/chrome/browser/ui/webui/help/help_handler.cc
index 10ae5ba..7319f0c 100644
--- a/chrome/browser/ui/webui/help/help_handler.cc
+++ b/chrome/browser/ui/webui/help/help_handler.cc
@@ -393,14 +393,14 @@ void HelpHandler::SetPromotionState(VersionUpdater::PromotionState state) {
#if defined(OS_CHROMEOS)
void HelpHandler::OnOSVersion(chromeos::VersionLoader::Handle handle,
- std::string version) {
+ const std::string& version) {
scoped_ptr<Value> version_string(Value::CreateStringValue(version));
web_ui()->CallJavascriptFunction("help.HelpPage.setOSVersion",
*version_string);
}
void HelpHandler::OnOSFirmware(chromeos::VersionLoader::Handle handle,
- std::string firmware) {
+ const std::string& firmware) {
scoped_ptr<Value> firmware_string(Value::CreateStringValue(firmware));
web_ui()->CallJavascriptFunction("help.HelpPage.setOSFirmware",
*firmware_string);
diff --git a/chrome/browser/ui/webui/help/help_handler.h b/chrome/browser/ui/webui/help/help_handler.h
index b662f7a..2d5bef7 100644
--- a/chrome/browser/ui/webui/help/help_handler.h
+++ b/chrome/browser/ui/webui/help/help_handler.h
@@ -70,9 +70,10 @@ class HelpHandler : public content::WebUIMessageHandler,
#if defined(OS_CHROMEOS)
// Callbacks from VersionLoader.
- void OnOSVersion(chromeos::VersionLoader::Handle handle, std::string version);
+ void OnOSVersion(chromeos::VersionLoader::Handle handle,
+ const std::string& version);
void OnOSFirmware(chromeos::VersionLoader::Handle handle,
- std::string firmware);
+ const std::string& firmware);
void OnReleaseChannel(const std::string& channel);
void ProcessLsbFileInfo(