blob: a3bb9625df0683d7cfb17e96ffe7835a60f4b485 [file] [log] [blame]
// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// https://www.w3.org/TR/2016/CR-encrypted-media-20160705/#mediakeystatusmap-interface
enum MediaKeyStatus {
"usable",
"expired",
"released",
"output-restricted",
"output-downscaled",
"status-pending",
"internal-error"
};
//callback MediaKeyStatusMapForEachCallback =
// void(MediaKeyStatus status, BufferSource source, MediaKeyStatusMap map);
// https://www.w3.org/TR/WebIDL-1/#common-BufferSource
typedef (ArrayBufferView or ArrayBuffer) BufferSource;
interface MediaKeyStatusMap {
readonly attribute unsigned long size;
boolean has(BufferSource keyId);
any get(BufferSource keyId);
// iterable<BufferSource, MediaKeyStatus>;
//object entries();
//void forEach(function MediaKeyStatusMapForEachCallback);
//object keys();
//object values();
//Iterator @@iterator();
};