Commit 011b987a authored by Che-Yu Wu's avatar Che-Yu Wu Committed by Commit Bot

Report browser device identifier in the reporting.

Bug: 1104858
Change-Id: I40e12d5922f33036953fcedad3a19faf42557c30
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2313296
Commit-Queue: Che-yu Wu <cheyuw@google.com>
Reviewed-by: default avatarOwen Min <zmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790967}
parent a89fb058
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "chrome/test/base/testing_profile_manager.h" #include "chrome/test/base/testing_profile_manager.h"
#include "components/account_id/account_id.h" #include "components/account_id/account_id.h"
#include "components/enterprise/browser/reporting/report_request_definition.h" #include "components/enterprise/browser/reporting/report_request_definition.h"
#include "components/policy/core/common/cloud/cloud_policy_util.h"
#include "content/public/browser/plugin_service.h" #include "content/public/browser/plugin_service.h"
#include "content/public/common/webplugininfo.h" #include "content/public/common/webplugininfo.h"
#include "content/public/test/browser_task_environment.h" #include "content/public/test/browser_task_environment.h"
...@@ -304,6 +305,9 @@ TEST_F(ReportGeneratorTest, GenerateBasicReport) { ...@@ -304,6 +305,9 @@ TEST_F(ReportGeneratorTest, GenerateBasicReport) {
EXPECT_NE(std::string(), basic_request->computer_name()); EXPECT_NE(std::string(), basic_request->computer_name());
EXPECT_NE(std::string(), basic_request->os_user_name()); EXPECT_NE(std::string(), basic_request->os_user_name());
VerifySerialNumber(basic_request->serial_number()); VerifySerialNumber(basic_request->serial_number());
EXPECT_EQ(
policy::GetBrowserDeviceIdentifier()->SerializePartialAsString(),
basic_request->browser_device_identifier().SerializePartialAsString());
EXPECT_TRUE(basic_request->has_os_report()); EXPECT_TRUE(basic_request->has_os_report());
auto& os_report = basic_request->os_report(); auto& os_report = basic_request->os_report();
......
...@@ -48,6 +48,8 @@ void ReportGenerator::CreateBasicRequest( ...@@ -48,6 +48,8 @@ void ReportGenerator::CreateBasicRequest(
basic_request->set_os_user_name(GetOSUserName()); basic_request->set_os_user_name(GetOSUserName());
basic_request->set_serial_number(GetSerialNumber()); basic_request->set_serial_number(GetSerialNumber());
basic_request->set_allocated_os_report(GetOSReport().release()); basic_request->set_allocated_os_report(GetOSReport().release());
basic_request->set_allocated_browser_device_identifier(
policy::GetBrowserDeviceIdentifier().release());
#endif #endif
browser_report_generator_.Generate(base::BindOnce( browser_report_generator_.Generate(base::BindOnce(
......
...@@ -41,6 +41,9 @@ ...@@ -41,6 +41,9 @@
#include "base/notreached.h" #include "base/notreached.h"
#include "base/stl_util.h" #include "base/stl_util.h"
#include "base/system/sys_info.h" #include "base/system/sys_info.h"
#if defined(OS_WIN)
#include "base/win/wmi.h"
#endif
#include "components/version_info/version_info.h" #include "components/version_info/version_info.h"
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
...@@ -204,4 +207,17 @@ std::string GetDeviceName() { ...@@ -204,4 +207,17 @@ std::string GetDeviceName() {
#endif #endif
} }
std::unique_ptr<em::BrowserDeviceIdentifier> GetBrowserDeviceIdentifier() {
std::unique_ptr<em::BrowserDeviceIdentifier> device_identifier =
std::make_unique<em::BrowserDeviceIdentifier>();
device_identifier->set_computer_name(GetMachineName());
#if defined(OS_WIN)
device_identifier->set_serial_number(base::UTF16ToUTF8(
base::win::WmiComputerSystemInfo::Get().serial_number()));
#else
device_identifier->set_serial_number("");
#endif
return device_identifier;
}
} // namespace policy } // namespace policy
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#ifndef COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_ #ifndef COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_
#define COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_ #define COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_
#include <memory>
#include <string> #include <string>
#include "components/policy/policy_export.h" #include "components/policy/policy_export.h"
...@@ -38,6 +39,11 @@ POLICY_EXPORT enterprise_management::Channel ConvertToProtoChannel( ...@@ -38,6 +39,11 @@ POLICY_EXPORT enterprise_management::Channel ConvertToProtoChannel(
// non-CrOS platforms and returns the serial number of the device on CrOS. // non-CrOS platforms and returns the serial number of the device on CrOS.
POLICY_EXPORT std::string GetDeviceName(); POLICY_EXPORT std::string GetDeviceName();
// Returns the browser device identifier for non-CrOS platforms. It includes
// several identifiers we collect from the device.
POLICY_EXPORT std::unique_ptr<enterprise_management::BrowserDeviceIdentifier>
GetBrowserDeviceIdentifier();
} // namespace policy } // namespace policy
#endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_ #endif // COMPONENTS_POLICY_CORE_COMMON_CLOUD_CLOUD_POLICY_UTIL_H_
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