Add @webref/idl dependency

Signed-off-by: Victor Porof <victorporof@chromium.org>
Bug: 1325812
Change-Id: I044170880d20ce0402062755787cccafd63c6a42
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3695370
Reviewed-by: Mathias Bynens <mathias@chromium.org>
diff --git a/node_modules/@webref/idl/css-font-loading.idl b/node_modules/@webref/idl/css-font-loading.idl
new file mode 100644
index 0000000..89de61d
--- /dev/null
+++ b/node_modules/@webref/idl/css-font-loading.idl
@@ -0,0 +1,134 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: CSS Font Loading Module Level 3 (https://drafts.csswg.org/css-font-loading/)
+
+typedef (ArrayBuffer or ArrayBufferView) BinaryData;
+
+dictionary FontFaceDescriptors {
+  CSSOMString style = "normal";
+  CSSOMString weight = "normal";
+  CSSOMString stretch = "normal";
+  CSSOMString unicodeRange = "U+0-10FFFF";
+  CSSOMString variant = "normal";
+  CSSOMString featureSettings = "normal";
+  CSSOMString variationSettings = "normal";
+  CSSOMString display = "auto";
+  CSSOMString ascentOverride = "normal";
+  CSSOMString descentOverride = "normal";
+  CSSOMString lineGapOverride = "normal";
+};
+
+enum FontFaceLoadStatus { "unloaded", "loading", "loaded", "error" };
+
+[Exposed=(Window,Worker)]
+interface FontFace {
+  constructor(CSSOMString family, (CSSOMString or BinaryData) source,
+                optional FontFaceDescriptors descriptors = {});
+  attribute CSSOMString family;
+  attribute CSSOMString style;
+  attribute CSSOMString weight;
+  attribute CSSOMString stretch;
+  attribute CSSOMString unicodeRange;
+  attribute CSSOMString variant;
+  attribute CSSOMString featureSettings;
+  attribute CSSOMString variationSettings;
+  attribute CSSOMString display;
+  attribute CSSOMString ascentOverride;
+  attribute CSSOMString descentOverride;
+  attribute CSSOMString lineGapOverride;
+
+  readonly attribute FontFaceLoadStatus status;
+
+  Promise<FontFace> load();
+  readonly attribute Promise<FontFace> loaded;
+};
+
+[Exposed=(Window,Worker)]
+interface FontFaceFeatures {
+  /* The CSSWG is still discussing what goes in here */
+};
+
+[Exposed=(Window,Worker)]
+interface FontFaceVariationAxis {
+  readonly attribute DOMString name;
+  readonly attribute DOMString axisTag;
+  readonly attribute double minimumValue;
+  readonly attribute double maximumValue;
+  readonly attribute double defaultValue;
+};
+
+[Exposed=(Window,Worker)]
+interface FontFaceVariations {
+  readonly setlike<FontFaceVariationAxis>;
+};
+
+[Exposed=(Window,Worker)]
+interface FontFacePalette {
+  iterable<DOMString>;
+  readonly attribute unsigned long length;
+  getter DOMString (unsigned long index);
+  readonly attribute boolean usableWithLightBackground;
+  readonly attribute boolean usableWithDarkBackground;
+};
+
+[Exposed=(Window,Worker)]
+interface FontFacePalettes {
+  iterable<FontFacePalette>;
+  readonly attribute unsigned long length;
+  getter FontFacePalette (unsigned long index);
+};
+
+partial interface FontFace {
+  readonly attribute FontFaceFeatures features;
+  readonly attribute FontFaceVariations variations;
+  readonly attribute FontFacePalettes palettes;
+};
+
+dictionary FontFaceSetLoadEventInit : EventInit {
+  sequence<FontFace> fontfaces = [];
+};
+
+[Exposed=(Window,Worker)]
+interface FontFaceSetLoadEvent : Event {
+  constructor(CSSOMString type, optional FontFaceSetLoadEventInit eventInitDict = {});
+  [SameObject] readonly attribute FrozenArray<FontFace> fontfaces;
+};
+
+enum FontFaceSetLoadStatus { "loading", "loaded" };
+
+[Exposed=(Window,Worker)]
+interface FontFaceSet : EventTarget {
+  constructor(sequence<FontFace> initialFaces);
+
+  setlike<FontFace>;
+  FontFaceSet add(FontFace font);
+  boolean delete(FontFace font);
+  undefined clear();
+
+  // events for when loading state changes
+  attribute EventHandler onloading;
+  attribute EventHandler onloadingdone;
+  attribute EventHandler onloadingerror;
+
+  // check and start loads if appropriate
+  // and fulfill promise when all loads complete
+  Promise<sequence<FontFace>> load(CSSOMString font, optional CSSOMString text = " ");
+
+  // return whether all fonts in the fontlist are loaded
+  // (does not initiate load if not available)
+  boolean check(CSSOMString font, optional CSSOMString text = " ");
+
+  // async notification that font loading and layout operations are done
+  readonly attribute Promise<FontFaceSet> ready;
+
+  // loading state, "loading" while one or more fonts loading, "loaded" otherwise
+  readonly attribute FontFaceSetLoadStatus status;
+};
+
+interface mixin FontFaceSource {
+  readonly attribute FontFaceSet fonts;
+};
+
+Document includes FontFaceSource;
+WorkerGlobalScope includes FontFaceSource;