Revision 8c503e75150f239ea2884392d26740a284859d1c authored by Bobby Holley on 09 April 2018, 05:22:47 UTC, committed by moz-wptsync-bot on 09 April 2018, 05:38:06 UTC
dbaron asked for this in bug 507762, but it never happened.
bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1451421
gecko-commit: 2189673fb8ea87ac07cd3cffe5a86cbdf497865d
gecko-integration-branch: central
gecko-reviewers: xidorn
1 parent 99e1ae2
Raw File
idlharness.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Media Capabilities IDL tests</title>
<link rel="help" href="https://wicg.github.io/media-capabilities/"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
</head>
<body>
<h1>Media Session IDL tests</h1>
<pre id='untested_idl' style='display:none'>
[Global=Window, Exposed=Window]
interface Window {
};
interface Worker {
};
interface Navigator {
};
interface WorkerNavigator {
};
</pre>
<pre id='idl'>
dictionary MediaConfiguration {
  VideoConfiguration video;
  AudioConfiguration audio;
};

dictionary MediaDecodingConfiguration : MediaConfiguration {
  required MediaDecodingType type;
};

dictionary MediaEncodingConfiguration : MediaConfiguration {
  required MediaEncodingType type;
};

enum MediaDecodingType {
  "file",
  "media-source",
};

dictionary VideoConfiguration {
  required DOMString contentType;
  required unsigned long width;
  required unsigned long height;
  required unsigned long bitrate;
  required double framerate;
};

dictionary AudioConfiguration {
  required DOMString contentType;
  DOMString channels;
  unsigned long bitrate;
  unsigned long samplerate;
};

interface MediaCapabilitiesInfo {
  readonly attribute boolean supported;
  readonly attribute boolean smooth;
  readonly attribute boolean powerEfficient;
};

[Exposed=(Window)]
partial interface Navigator {
  [SameObject] readonly attribute MediaCapabilities mediaCapabilities;
};

[Exposed=(Worker)]
partial interface WorkerNavigator {
  [SameObject] readonly attribute MediaCapabilities mediaCapabilities;
};

[Exposed=(Window, Worker)]
interface MediaCapabilities {
  Promise<MediaCapabilitiesInfo> decodingInfo(MediaDecodingConfiguration configuration);
  Promise<MediaCapabilitiesInfo> encodingInfo(MediaEncodingConfiguration configuration);
};
</pre>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
idl_array.add_idls(document.getElementById("idl").textContent);
idl_array.add_objects({
  Navigator: ["navigator"]
});
idl_array.test();
</script>
<div id="log"></div>
</body>
</html>
back to top