blob: a8f3a08d9c00e9a71979d6624558a3ad1cf20e09 [file] [log] [blame]
Avi Drissman4e1b7bc32022-09-15 14:03:501// Copyright 2018 The Chromium Authors
John Abd-El-Malekdc02601a2020-06-15 23:28:562// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_BROWSER_UKM_INTERNALS_UI_H_
6#define CONTENT_BROWSER_UKM_INTERNALS_UI_H_
7
rbpottere5eca5d2025-02-24 21:51:478#include "content/public/browser/internal_webui_config.h"
John Abd-El-Malekdc02601a2020-06-15 23:28:569#include "content/public/browser/web_ui_controller.h"
Giovanni Ortuño Urquidid93540b2022-06-21 02:01:5410#include "content/public/common/url_constants.h"
John Abd-El-Malekdc02601a2020-06-15 23:28:5611
12namespace content {
13
Giovanni Ortuño Urquidid93540b2022-06-21 02:01:5414class UkmInternalsUI;
15
16// Config for chrome://ukm.
rbpottere5eca5d2025-02-24 21:51:4717class UkmInternalsUIConfig : public DefaultInternalWebUIConfig<UkmInternalsUI> {
Giovanni Ortuño Urquidid93540b2022-06-21 02:01:5418 public:
rbpottere5eca5d2025-02-24 21:51:4719 UkmInternalsUIConfig() : DefaultInternalWebUIConfig(kChromeUIUkmHost) {}
Giovanni Ortuño Urquidid93540b2022-06-21 02:01:5420};
21
John Abd-El-Malekdc02601a2020-06-15 23:28:5622// Handles serving the chrome://ukm HTML and JS.
23class UkmInternalsUI : public WebUIController {
24 public:
25 explicit UkmInternalsUI(WebUI* web_ui);
26
Peter Boström9b036532021-10-28 23:37:2827 UkmInternalsUI(const UkmInternalsUI&) = delete;
28 UkmInternalsUI& operator=(const UkmInternalsUI&) = delete;
John Abd-El-Malekdc02601a2020-06-15 23:28:5629};
30
31} // namespace content
32
33#endif // CONTENT_BROWSER_UKM_INTERNALS_UI_H_