blob: ca30d1ef9264b4329f4cb86b05b43bcc545cbb0a [file] [log] [blame]
Tommy Steimel2d484042025-06-17 19:16:401// Copyright 2025 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_GLIC_GLIC_OCCLUSION_NOTIFIER_H_
6#define CHROME_BROWSER_GLIC_GLIC_OCCLUSION_NOTIFIER_H_
7
8#include "chrome/browser/glic/widget/glic_window_controller.h"
9
10namespace glic {
11
12// The GlicOcclusionNotifier notifies the PictureInPictureOcclusionTracker when
13// to track the Glic window for occlusion of important security dialogs.
harringtondb7441a332025-10-13 23:50:5814class GlicOcclusionNotifier : public PanelStateObserver {
Tommy Steimel2d484042025-06-17 19:16:4015 public:
harringtondb7441a332025-10-13 23:50:5816 explicit GlicOcclusionNotifier(GlicInstance& instance);
Tommy Steimel2d484042025-06-17 19:16:4017 GlicOcclusionNotifier(const GlicOcclusionNotifier&) = delete;
18 GlicOcclusionNotifier& operator=(const GlicOcclusionNotifier&) = delete;
19 ~GlicOcclusionNotifier() override;
20
harringtondb7441a332025-10-13 23:50:5821 // PanelStateObserver:
Bryant Chandlerb4c8d3f62025-08-21 16:41:4122 void PanelStateChanged(
23 const mojom::PanelState& panel_state,
24 const GlicWindowController::PanelStateContext& context) override;
Tommy Steimel2d484042025-06-17 19:16:4025
26 private:
harringtondb7441a332025-10-13 23:50:5827 raw_ref<GlicInstance> glic_instance_;
Tommy Steimel2d484042025-06-17 19:16:4028};
29
30} // namespace glic
31
32#endif // CHROME_BROWSER_GLIC_GLIC_OCCLUSION_NOTIFIER_H_