910e62b5创建于 1月15日历史提交
// Copyright 2025 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_GLIC_GLIC_OCCLUSION_NOTIFIER_H_
#define CHROME_BROWSER_GLIC_GLIC_OCCLUSION_NOTIFIER_H_

#include "chrome/browser/glic/widget/glic_window_controller.h"

namespace glic {

// The GlicOcclusionNotifier notifies the PictureInPictureOcclusionTracker when
// to track the Glic window for occlusion of important security dialogs.
class GlicOcclusionNotifier : public PanelStateObserver {
 public:
  explicit GlicOcclusionNotifier(GlicInstance& instance);
  GlicOcclusionNotifier(const GlicOcclusionNotifier&) = delete;
  GlicOcclusionNotifier& operator=(const GlicOcclusionNotifier&) = delete;
  ~GlicOcclusionNotifier() override;

  // PanelStateObserver:
  void PanelStateChanged(
      const mojom::PanelState& panel_state,
      const GlicWindowController::PanelStateContext& context) override;

 private:
  raw_ref<GlicInstance> glic_instance_;
};

}  // namespace glic

#endif  // CHROME_BROWSER_GLIC_GLIC_OCCLUSION_NOTIFIER_H_