// 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.
enum OpaqueProperty {"opaque"};
typedef (unsigned long or OpaqueProperty) FencedFrameConfigSize;
typedef (USVString or OpaqueProperty) FencedFrameConfigURL;
[Exposed=Window, RuntimeEnabled=FencedFrames, Serializable]
interface FencedFrameConfig {
// TODO(crbug.com/1374716): Attributes of this class should mirror the fields
// of `blink::FencedFrame::RedactedFencedFrameConfig`.
// For more information on why this is needed please see:
// https://github.com/WICG/fenced-frame/issues/48#issuecomment-1245809738
[RuntimeEnabled=FencedFramesDefaultMode] constructor(USVString url);
void setSharedStorageContext(DOMString contextString);
};