// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Local Font Access API (https://wicg.github.io/local-font-access/)

[SecureContext]
interface mixin NavigatorFonts {
  [SameObject] readonly attribute FontManager fonts;
};
Navigator includes NavigatorFonts;
WorkerNavigator includes NavigatorFonts;

[SecureContext,
 Exposed=(Window,Worker)]
interface FontManager {
  Promise<sequence<FontMetadata>> query(optional QueryOptions options = {});
};

dictionary QueryOptions {
  boolean persistentAccess = false;
  sequence<DOMString> select = [];
};

[Exposed=(Window,Worker)]
interface FontMetadata {
  Promise<Blob> blob();

  readonly attribute USVString postscriptName;
  readonly attribute USVString fullName;
  readonly attribute USVString family;
  readonly attribute USVString style;
};
