blob: 8b5e05ae29d4a84b6605ff107bf01813078f4ad4 [file] [log] [blame]
// Copyright 2025 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/contextual_tasks/contextual_tasks_ui.h"
#include "base/feature_list.h"
#include "chrome/grit/contextual_tasks_resources.h"
#include "chrome/grit/contextual_tasks_resources_map.h"
#include "components/contextual_tasks/public/features.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h"
#include "ui/webui/webui_util.h"
ContextualTasksUI::ContextualTasksUI(content::WebUI* web_ui)
: ui::MojoWebUIController(web_ui) {
content::WebUIDataSource* source = content::WebUIDataSource::CreateAndAdd(
web_ui->GetWebContents()->GetBrowserContext(), kContextualTasksUiHost);
webui::SetupWebUIDataSource(source, kContextualTasksResources,
IDR_CONTEXTUAL_TASKS_CONTEXTUAL_TASKS_HTML);
}
ContextualTasksUI::~ContextualTasksUI() = default;
bool ContextualTasksUIConfig::IsWebUIEnabled(
content::BrowserContext* browser_context) {
return base::FeatureList::IsEnabled(contextual_tasks::kContextualTasks);
}
std::unique_ptr<content::WebUIController>
ContextualTasksUIConfig::CreateWebUIController(content::WebUI* web_ui,
const GURL& url) {
return std::make_unique<ContextualTasksUI>(web_ui);
}
WEB_UI_CONTROLLER_TYPE_IMPL(ContextualTasksUI)