chromium/chrome/browser/ui/browser_window/public/browser_window_features.h

// Copyright 2024 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_BROWSER_WINDOW_PUBLIC_BROWSER_WINDOW_FEATURES_H_
#define CHROME_BROWSER_UI_BROWSER_WINDOW_PUBLIC_BROWSER_WINDOW_FEATURES_H_

#include <memory>

#include "base/functional/callback.h"

class Browser;
class BrowserView;
class ChromeLabsCoordinator;
class ReadAnythingCoordinator;
class SidePanelCoordinator;
class SidePanelUI;
class TabStripModel;
class ToastController;
class ToastService;

namespace extensions {
class Mv2DisabledDialogController;
}  // namespace extensions

namespace tabs {
class TabDeclutterController;
}  // namespace tabs

namespace commerce {
class ProductSpecificationsEntryPointController;
}  // namespace commerce

namespace lens {
class LensOverlayEntryPointController;
}  // namespace lens

namespace tab_groups {
class SessionServiceTabGroupSyncObserver;
}  // namespace tab_groups

// This class owns the core controllers for features that are scoped to a given
// browser window on desktop. It can be subclassed by tests to perform
// dependency injection.
class BrowserWindowFeatures {};

#endif  // CHROME_BROWSER_UI_BROWSER_WINDOW_PUBLIC_BROWSER_WINDOW_FEATURES_H_