chromium/third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl

// 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);
};