#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "content/browser/metrics/histograms_internals_ui.h"
#include <stddef.h>
#include <memory>
#include <string>
#include <utility>
#include "base/functional/bind.h"
#include "base/metrics/histogram.h"
#include "base/metrics/statistics_recorder.h"
#include "base/values.h"
#include "content/browser/metrics/histogram_synchronizer.h"
#include "content/browser/metrics/histograms_monitor.h"
#include "content/grit/histograms_resources.h"
#include "content/grit/histograms_resources_map.h"
#include "content/public/browser/browser_thread.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 "content/public/browser/web_ui_message_handler.h"
#include "content/public/common/content_client.h"
#include "content/public/common/url_constants.h"
#include "services/network/public/mojom/content_security_policy.mojom.h"
namespace content {
namespace {
const char kHistogramsUIRequestHistograms[] = …;
const char kHistogramsUIStartMonitoring[] = …;
const char kHistogramsUIFetchDiff[] = …;
struct JsParams { … };
void CreateAndAddHistogramsHTMLSource(BrowserContext* browser_context) { … }
class HistogramsMessageHandler : public WebUIMessageHandler { … };
HistogramsMessageHandler::HistogramsMessageHandler() = default;
HistogramsMessageHandler::~HistogramsMessageHandler() = default;
JsParams HistogramsMessageHandler::AllowJavascriptAndUnpackParams(
const base::Value::List& args_list) { … }
void HistogramsMessageHandler::ImportHistograms(bool include_subprocesses) { … }
void HistogramsMessageHandler::HandleRequestHistograms(
const base::Value::List& args) { … }
void HistogramsMessageHandler::HandleStartMoninoring(
const base::Value::List& args) { … }
void HistogramsMessageHandler::HandleFetchDiff(const base::Value::List& args) { … }
void HistogramsMessageHandler::RegisterMessages() { … }
}
HistogramsInternalsUI::HistogramsInternalsUI(WebUI* web_ui)
: … { … }
}