// Copyright 2026 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_VIEWS_LOCATION_BAR_ZOOM_BUBBLE_MANAGER_VIEWS_H_
#define CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ZOOM_BUBBLE_MANAGER_VIEWS_H_

#include <string>

#include "base/memory/raw_ptr.h"
#include "chrome/browser/ui/views/location_bar/zoom_bubble_manager.h"

class BrowserView;

// A ZoomBubbleManager implementation that connects the zoom bubble to
// BrowserView. This class exposes a subset of BrowserView's functionality
// needed by ZoomBubbleCoordinator and ZoomBubbleView.
class ZoomBubbleManagerViews : public ZoomBubbleManager {
 public:
  explicit ZoomBubbleManagerViews(BrowserView* browser_view);
  ~ZoomBubbleManagerViews() override;

  // ZoomBubbleManager:
  views::BubbleAnchor GetZoomBubbleAnchor() override;
  gfx::NativeView GetNativeView() override;
  std::u16string GetZoomActionAccessibleName() override;

 private:
  raw_ptr<BrowserView> browser_view_ = nullptr;
};

#endif  // CHROME_BROWSER_UI_VIEWS_LOCATION_BAR_ZOOM_BUBBLE_MANAGER_VIEWS_H_
