blob: 7a427d079d591fcef5a02110d366ee42d345056f [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/ash/remote_maintenance_curtain_ui.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/ash/login/oobe_ui.h"
#include "chrome/browser/ui/webui/webui_util.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/grit/remote_maintenance_curtain_resources.h"
#include "chrome/grit/remote_maintenance_curtain_resources_map.h"
#include "content/public/browser/web_ui_data_source.h"
#include "ui/webui/mojo_web_ui_controller.h"
namespace ash {
RemoteMaintenanceCurtainUI::RemoteMaintenanceCurtainUI(content::WebUI* web_ui)
: ui::MojoWebUIController(web_ui) {
content::WebUIDataSource* source = content::WebUIDataSource::CreateAndAdd(
Profile::FromWebUI(web_ui), chrome::kChromeUIRemoteManagementCurtainHost);
webui::SetupWebUIDataSource(
source,
base::make_span(kRemoteMaintenanceCurtainResources,
kRemoteMaintenanceCurtainResourcesSize),
IDR_REMOTE_MAINTENANCE_CURTAIN_MAIN_HTML);
// Add OOBE resources so our WebUI can find the OOBE WebUI resources (css,
// javascript files, ...) at runtime.
OobeUI::AddOobeComponents(source);
// Add localized strings
source->AddLocalizedString("curtainTitle", IDS_SECURITY_CURTAIN_TITLE);
source->AddLocalizedString("curtainDescription",
IDS_SECURITY_CURTAIN_DESCRIPTION);
}
RemoteMaintenanceCurtainUI::~RemoteMaintenanceCurtainUI() = default;
void RemoteMaintenanceCurtainUI::BindInterface(
mojo::PendingReceiver<color_change_listener::mojom::PageHandler> receiver) {
color_provider_handler_ = std::make_unique<ui::ColorChangeHandler>(
web_ui()->GetWebContents(), std::move(receiver));
}
WEB_UI_CONTROLLER_TYPE_IMPL(RemoteMaintenanceCurtainUI)
} // namespace ash