#include "third_party/blink/renderer/core/html/fenced_frame/fence.h"
#include <optional>
#include "base/feature_list.h"
#include "base/ranges/algorithm.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/fenced_frame/fenced_frame_utils.h"
#include "third_party/blink/public/common/frame/frame_policy.h"
#include "third_party/blink/public/mojom/fenced_frame/fenced_frame.mojom-blink.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_fence_event.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_fenceevent_string.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/frame/frame_owner.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
namespace {
blink::FencedFrame::ReportingDestination ToPublicDestination(
const V8FenceReportingDestination& destination) { … }
std::optional<mojom::blink::AutomaticBeaconType> GetAutomaticBeaconType(
const WTF::String& input) { … }
}
Fence::Fence(LocalDOMWindow& window) : … { … }
void Fence::Trace(Visitor* visitor) const { … }
void Fence::reportEvent(const V8UnionFenceEventOrString* event,
ExceptionState& exception_state) { … }
void Fence::reportEvent(const FenceEvent* event,
ExceptionState& exception_state) { … }
void Fence::reportEventToDestinationEnum(const FenceEvent* event,
ExceptionState& exception_state) { … }
void Fence::reportEventToDestinationURL(const FenceEvent* event,
ExceptionState& exception_state) { … }
void Fence::setReportEventDataForAutomaticBeacons(
const FenceEvent* event,
ExceptionState& exception_state) { … }
HeapVector<Member<FencedFrameConfig>> Fence::getNestedConfigs(
ExceptionState& exception_state) { … }
ScriptPromise<IDLUndefined> Fence::disableUntrustedNetwork(
ScriptState* script_state,
ExceptionState& exception_state) { … }
void Fence::reportPrivateAggregationEvent(const String& event,
ExceptionState& exception_state) { … }
void Fence::notifyEvent(const Event* triggering_event,
ExceptionState& exception_state) { … }
void Fence::AddConsoleMessage(const String& message,
mojom::blink::ConsoleMessageLevel level) { … }
}