chromium/third_party/blink/renderer/modules/encryptedmedia/media_key_status_map.idl

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/encrypted-media/#mediakeystatusmap-interface

enum MediaKeyStatus {
    "usable",
    "expired",
    "released",
    "output-restricted",
    "output-downscaled",
    "status-pending",
    "internal-error"
};

[
    Exposed=Window,
    SecureContext
] interface MediaKeyStatusMap {
    iterable <BufferSource, MediaKeyStatus>;
    readonly attribute unsigned long size;
    boolean has(BufferSource keyId);
    [CallWith=ScriptState] any get(BufferSource keyId);
};