chromium/chrome/browser/ui/webui/whats_new/whats_new_ui.h

// Copyright 2021 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_WHATS_NEW_WHATS_NEW_UI_H_
#define CHROME_BROWSER_UI_WEBUI_WHATS_NEW_WHATS_NEW_UI_H_

#include "base/memory/raw_ptr.h"
#include "chrome/browser/ui/webui/whats_new/whats_new.mojom.h"
#include "components/prefs/pref_registry_simple.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/webui_config.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "ui/base/resource/resource_scale_factor.h"
#include "ui/webui/mojo_web_ui_controller.h"
#include "ui/webui/resources/js/browser_command/browser_command.mojom.h"

namespace base {
class RefCountedMemory;
}

namespace content {
class WebUI;
}

class BrowserCommandHandler;
class PrefRegistrySimple;
class Profile;
class WhatsNewHandler;
class WhatsNewUI;

class WhatsNewUIConfig : public content::DefaultWebUIConfig<WhatsNewUI> {};

// The Web UI controller for the chrome://whats-new page.
class WhatsNewUI : public ui::MojoWebUIController,
                   public whats_new::mojom::PageHandlerFactory,
                   public browser_command::mojom::CommandHandlerFactory,
                   content::WebContentsObserver {};

#endif  // CHROME_BROWSER_UI_WEBUI_WHATS_NEW_WHATS_NEW_UI_H_