summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/ui/webui/management_ui_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/ui/webui/management_ui_handler.cc')
-rw-r--r--chromium/chrome/browser/ui/webui/management_ui_handler.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/chromium/chrome/browser/ui/webui/management_ui_handler.cc b/chromium/chrome/browser/ui/webui/management_ui_handler.cc
index 494590b0dd1..e3f9cbfb588 100644
--- a/chromium/chrome/browser/ui/webui/management_ui_handler.cc
+++ b/chromium/chrome/browser/ui/webui/management_ui_handler.cc
@@ -28,6 +28,8 @@
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/policy/device_status_collector.h"
+#include "chrome/browser/chromeos/policy/policy_cert_service.h"
+#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h"
#include "chrome/browser/chromeos/policy/status_uploader.h"
#include "chrome/browser/chromeos/policy/system_log_uploader.h"
#endif // defined(OS_CHROMEOS)
@@ -176,6 +178,10 @@ void ManagementUIHandler::RegisterMessages() {
"getExtensions",
base::BindRepeating(&ManagementUIHandler::HandleGetExtensions,
base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
+ "getLocalTrustRootsInfo",
+ base::BindRepeating(&ManagementUIHandler::HandleGetLocalTrustRootsInfo,
+ base::Unretained(this)));
}
void ManagementUIHandler::HandleGetDeviceManagementStatus(
@@ -225,3 +231,20 @@ void ManagementUIHandler::HandleGetExtensions(const base::ListValue* args) {
base::Value(base::Value::Type::LIST));
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
}
+
+void ManagementUIHandler::HandleGetLocalTrustRootsInfo(
+ const base::ListValue* args) {
+ CHECK_EQ(1U, args->GetSize());
+ base::Value trust_roots_configured(false);
+// Only Chrome OS could have installed trusted certificates.
+#if defined(OS_CHROMEOS)
+ policy::PolicyCertService* policy_service =
+ policy::PolicyCertServiceFactory::GetForProfile(
+ Profile::FromWebUI(web_ui()));
+ if (policy_service && policy_service->has_policy_certificates())
+ trust_roots_configured = base::Value(true);
+#endif // defined(OS_CHROMEOS)
+
+ ResolveJavascriptCallback(args->GetList()[0] /* callback_id */,
+ trust_roots_configured);
+}