mirror of
https://github.com/servo/servo.git
synced 2025-06-30 12:03:38 +01:00
53 lines
1.5 KiB
HTML
53 lines
1.5 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>idlharness test</title>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<script src="/resources/WebIDLParser.js"></script>
|
|
<script src="/resources/idlharness.js"></script>
|
|
|
|
<pre id='untested_idl' style='display:none'>
|
|
[Global=Window, Exposed=Window]
|
|
interface Window {
|
|
};
|
|
</pre>
|
|
|
|
<pre id='idl'>
|
|
partial interface Window {
|
|
unsigned long requestIdleCallback(IdleRequestCallback callback,
|
|
optional IdleRequestOptions options);
|
|
void cancelIdleCallback(unsigned long handle);
|
|
};
|
|
|
|
dictionary IdleRequestOptions {
|
|
unsigned long timeout;
|
|
};
|
|
|
|
[Exposed=Window] interface IdleDeadline {
|
|
DOMHighResTimeStamp timeRemaining();
|
|
readonly attribute boolean didTimeout;
|
|
};
|
|
|
|
callback IdleRequestCallback = void (IdleDeadline deadline);
|
|
</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({Window: ["window"]});
|
|
|
|
async_test(function() {
|
|
var rIC = this.step_func(function(deadline) {
|
|
idl_array.add_objects({IdleDeadline: [deadline]});
|
|
idl_array.test();
|
|
this.done();
|
|
});
|
|
if (window.requestIdleCallback) {
|
|
requestIdleCallback(rIC);
|
|
} else {
|
|
idl_array.test();
|
|
assert_unreached("IdleDeadline not supported");
|
|
this.done();
|
|
}
|
|
}, "IdleDeadline object setup");
|
|
</script>
|