Add Managed by field to chrome://policy
Add a "Managed by" field to the "Device policies" and "User policies"
boxes in chrome://policy. Populate the "Device policies" one with
BrowserPolicyConnectorChromeOS::GetEnterpriseDomainManager and the "User
policies" one with ManagementUIHandler::GetAccountManager.
Bug: b:172679657, b:172683878
Test: Manual
Change-Id: I14d0da72cd3230b2d38229e47258b51991b1ff9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2673424
Commit-Queue: Jana Grill <[email protected]>
Reviewed-by: Mike Dougherty <[email protected]>
Reviewed-by: Denis Kuznetsov [CET] <[email protected]>
Reviewed-by: Brian Malcolm <[email protected]>
Reviewed-by: Pavol Marko <[email protected]>
Cr-Commit-Position: refs/heads/master@{#851668}
diff --git a/chrome/browser/ui/webui/policy/policy_ui.cc b/chrome/browser/ui/webui/policy/policy_ui.cc
index 0ba5b819..16336b60 100644
--- a/chrome/browser/ui/webui/policy/policy_ui.cc
+++ b/chrome/browser/ui/webui/policy/policy_ui.cc
@@ -52,6 +52,7 @@
{"labelStatus", IDS_POLICY_LABEL_STATUS},
{"labelTimeSinceLastRefresh", IDS_POLICY_LABEL_TIME_SINCE_LAST_REFRESH},
{"labelUsername", IDS_POLICY_LABEL_USERNAME},
+ {"labelManagedBy", IDS_POLICY_LABEL_MANAGED_BY},
{"labelVersion", IDS_POLICY_LABEL_VERSION},
{"noPoliciesSet", IDS_POLICY_NO_POLICIES_SET},
{"offHoursActive", IDS_POLICY_OFFHOURS_ACTIVE},
diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browser/ui/webui/policy/policy_ui_handler.cc
index 6f6b1219..df1a0d2 100644
--- a/chrome/browser/ui/webui/policy/policy_ui_handler.cc
+++ b/chrome/browser/ui/webui/policy/policy_ui_handler.cc
@@ -36,6 +36,7 @@
#include "chrome/browser/policy/schema_registry_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/chrome_select_file_policy.h"
+#include "chrome/browser/ui/webui/management/management_ui_handler.h"
#include "chrome/browser/ui/webui/version/version_ui.h"
#include "chrome/browser/ui/webui/webui_util.h"
#include "chrome/common/channel_info.h"
@@ -241,6 +242,15 @@
off_hours_controller->is_off_hours_mode());
}
}
+
+void GetUserManager(base::DictionaryValue* dict, Profile* profile) {
+ DCHECK(profile);
+
+ std::string account_manager = ManagementUIHandler::GetAccountManager(profile);
+ if (!account_manager.empty()) {
+ dict->SetString("enterpriseDomainManager", account_manager);
+ }
+}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
void ExtractDomainFromUsername(base::DictionaryValue* dict) {
@@ -365,6 +375,7 @@
private:
std::string enterprise_enrollment_domain_;
+ std::string enterprise_domain_manager_;
DISALLOW_COPY_AND_ASSIGN(DeviceCloudPolicyStatusProviderChromeOS);
};
@@ -428,7 +439,8 @@
public:
DeviceActiveDirectoryPolicyStatusProvider(
policy::ActiveDirectoryPolicyManager* policy_manager,
- const std::string& enterprise_realm);
+ const std::string& enterprise_realm,
+ const std::string& enterprise_domain_manager);
~DeviceActiveDirectoryPolicyStatusProvider() override = default;
@@ -437,6 +449,7 @@
private:
std::string enterprise_realm_;
+ std::string enterprise_domain_manager_;
DISALLOW_COPY_AND_ASSIGN(DeviceActiveDirectoryPolicyStatusProvider);
};
@@ -529,6 +542,7 @@
return;
UserCloudPolicyStatusProvider::GetStatus(dict);
GetUserAffiliationStatus(dict, profile_);
+ GetUserManager(dict, profile_);
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -611,6 +625,7 @@
: CloudPolicyCoreStatusProvider(
connector->GetDeviceCloudPolicyManager()->core()) {
enterprise_enrollment_domain_ = connector->GetEnterpriseEnrollmentDomain();
+ enterprise_domain_manager_ = connector->GetEnterpriseDomainManager();
}
DeviceCloudPolicyStatusProviderChromeOS::
@@ -620,6 +635,7 @@
base::DictionaryValue* dict) {
GetStatusFromCore(core_, dict);
dict->SetString("enterpriseEnrollmentDomain", enterprise_enrollment_domain_);
+ dict->SetString("enterpriseDomainManager", enterprise_domain_manager_);
GetOffHoursStatus(dict);
}
@@ -703,6 +719,7 @@
dict->SetString("timeSinceLastRefresh",
GetTimeSinceLastRefreshString(last_refresh_time));
GetUserAffiliationStatus(dict, profile_);
+ GetUserManager(dict, profile_);
}
void UserActiveDirectoryPolicyStatusProvider::OnStoreLoaded(
@@ -718,14 +735,17 @@
DeviceActiveDirectoryPolicyStatusProvider::
DeviceActiveDirectoryPolicyStatusProvider(
policy::ActiveDirectoryPolicyManager* policy_manager,
- const std::string& enterprise_realm)
+ const std::string& enterprise_realm,
+ const std::string& enterprise_domain_manager)
: UserActiveDirectoryPolicyStatusProvider(policy_manager, nullptr),
- enterprise_realm_(enterprise_realm) {}
+ enterprise_realm_(enterprise_realm),
+ enterprise_domain_manager_(enterprise_domain_manager) {}
void DeviceActiveDirectoryPolicyStatusProvider::GetStatus(
base::DictionaryValue* dict) {
UserActiveDirectoryPolicyStatusProvider::GetStatus(dict);
dict->SetString("enterpriseEnrollmentDomain", enterprise_realm_);
+ dict->SetString("enterpriseDomainManager", enterprise_domain_manager_);
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -848,7 +868,7 @@
device_status_provider_ =
std::make_unique<DeviceActiveDirectoryPolicyStatusProvider>(
connector->GetDeviceActiveDirectoryPolicyManager(),
- connector->GetRealm());
+ connector->GetRealm(), connector->GetEnterpriseDomainManager());
} else {
device_status_provider_ =
std::make_unique<DeviceCloudPolicyStatusProviderChromeOS>(connector);