chromium/third_party/blink/renderer/core/frame/attribution_src_loader.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_ATTRIBUTION_SRC_LOADER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_ATTRIBUTION_SRC_LOADER_H_

#include <stdint.h>

#include <optional>

#include "components/attribution_reporting/registration_eligibility.mojom-blink-forward.h"
#include "services/network/public/mojom/attribution.mojom-forward.h"
#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/platform/heap/forward.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/member.h"
#include "third_party/blink/renderer/platform/wtf/forward.h"

namespace attribution_reporting {
class SuitableOrigin;
struct RegistrationInfo;
}  // namespace attribution_reporting

namespace blink {

class HTMLAnchorElement;
class HTMLElement;
class KURL;
class LocalFrame;
class ResourceRequest;
class ResourceResponse;
class WebString;

template <typename T>
class WebVector;

struct Impression;

// Handles source and trigger registration from blink.
// See
// https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md#registering-attribution-sources
// and
// https://github.com/WICG/attribution-reporting-api/blob/main/EVENT.md#triggering-attribution.
class CORE_EXPORT AttributionSrcLoader
    : public GarbageCollected<AttributionSrcLoader> {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_FRAME_ATTRIBUTION_SRC_LOADER_H_