chromium/chrome/browser/ui/webui/autofill_and_password_manager_internals/internals_ui_handler.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_WEBUI_AUTOFILL_AND_PASSWORD_MANAGER_INTERNALS_INTERNALS_UI_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_AUTOFILL_AND_PASSWORD_MANAGER_INTERNALS_INTERNALS_UI_HANDLER_H_

#include <optional>
#include <string>

#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "components/autofill/core/browser/logging/log_receiver.h"
#include "content/public/browser/browsing_data_remover.h"
#include "content/public/browser/web_ui_message_handler.h"

namespace autofill {
class LogRouter;
}

namespace content {
class BrowserContext;
}  // namespace content

class Profile;

namespace autofill {

constexpr char kCacheResetDone[] =;
constexpr char kCacheResetAlreadyInProgress[] =;

void CreateAndAddInternalsHTMLSource(Profile* profile,
                                     const std::string& source_name);

// Class that wipes responses from the Autofill server from the HTTP cache.
class AutofillCacheResetter : public content::BrowsingDataRemover::Observer {};

// UI handler for chrome://password-manager-internals and
// chrome://autofill-internals that takes care of subscribing to the autofill
// logging instance.
class InternalsUIHandler : public content::WebUIMessageHandler,
                           public autofill::LogReceiver {};

}  // namespace autofill

#endif  // CHROME_BROWSER_UI_WEBUI_AUTOFILL_AND_PASSWORD_MANAGER_INTERNALS_INTERNALS_UI_HANDLER_H_