blob: ca30d1ef9264b4329f4cb86b05b43bcc545cbb0a [file] [log] [blame]
// 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_