| Index: chrome/browser/metrics/chrome_metrics_service_client.cc
|
| diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
|
| index 45130f3a6e9d24a6e5e9d75e679f665988cf7415..61d8c6732194283a7179f30df1aa589249dfadd5 100644
|
| --- a/chrome/browser/metrics/chrome_metrics_service_client.cc
|
| +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
|
| @@ -98,6 +98,7 @@
|
| #include "chrome/browser/metrics/antivirus_metrics_provider_win.h"
|
| #include "chrome/browser/metrics/google_update_metrics_provider_win.h"
|
| #include "chrome/common/metrics_constants_util_win.h"
|
| +#include "chrome/install_static/install_util.h"
|
| #include "chrome/installer/util/browser_distribution.h"
|
| #include "components/browser_watcher/watcher_metrics_provider_win.h"
|
| #endif
|
| @@ -218,6 +219,24 @@ std::unique_ptr<metrics::FileMetricsProvider> CreateFileMetricsProvider(
|
| return file_metrics_provider;
|
| }
|
|
|
| +#if defined(OS_WIN)
|
| +void GetExecutableVersionDetails(base::string16* product_name,
|
| + base::string16* version_number,
|
| + base::string16* channel_name) {
|
| + DCHECK_NE(nullptr, product_name);
|
| + DCHECK_NE(nullptr, version_number);
|
| + DCHECK_NE(nullptr, channel_name);
|
| +
|
| + wchar_t exe_file[MAX_PATH] = {};
|
| + CHECK(::GetModuleFileName(nullptr, exe_file, arraysize(exe_file)));
|
| +
|
| + base::string16 unused_special_build;
|
| + install_static::GetExecutableVersionDetails(
|
| + exe_file, product_name, version_number, &unused_special_build,
|
| + channel_name);
|
| +}
|
| +#endif // OS_WIN
|
| +
|
| } // namespace
|
|
|
|
|
| @@ -500,6 +519,7 @@ void ChromeMetricsServiceClient::Initialize() {
|
| }
|
| watcher_metrics_provider_ = new browser_watcher::WatcherMetricsProviderWin(
|
| chrome::GetBrowserExitCodesRegistryPath(), user_data_dir, crash_dir,
|
| + base::Bind(&GetExecutableVersionDetails),
|
| content::BrowserThread::GetBlockingPool());
|
| metrics_service_->RegisterMetricsProvider(
|
| std::unique_ptr<metrics::MetricsProvider>(watcher_metrics_provider_));
|
|
|