chromium/chrome/browser/tpcd/heuristics/opener_heuristic_tab_helper.h

// Copyright 2023 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_TPCD_HEURISTICS_OPENER_HEURISTIC_TAB_HELPER_H_
#define CHROME_BROWSER_TPCD_HEURISTICS_OPENER_HEURISTIC_TAB_HELPER_H_

#include <optional>

#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "chrome/browser/dips/dips_utils.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"

namespace base {
class Clock;
}

// TODO(rtarpine): remove dependence on DIPSService.
class DIPSState;

// Observers a WebContents to detect pop-ups with user interaction, in order to
// grant storage access.
class OpenerHeuristicTabHelper
    : public content::WebContentsObserver,
      public content::WebContentsUserData<OpenerHeuristicTabHelper> {};

#endif  // CHROME_BROWSER_TPCD_HEURISTICS_OPENER_HEURISTIC_TAB_HELPER_H_