https://github.com/web-platform-tests/wpt
Revision 951ade940eacfdad4de7530058690a10637a277d authored by Geoffrey Sneddon on 09 April 2018, 11:49:58 UTC, committed by Geoffrey Sneddon on 09 April 2018, 11:49:58 UTC
1 parent 5d7a6b3
Raw File
Tip revision: 951ade940eacfdad4de7530058690a10637a277d authored by Geoffrey Sneddon on 09 April 2018, 11:49:58 UTC
fixup! Move the config into its own class
Tip revision: 951ade9
idlharness.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Resource Timing IDL tests</title>
<link rel="author" title="W3C" href="http://www.w3.org/" />
<link rel="help" href="https://w3c.github.io/resource-timing/"/>
<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>Resource Timing IDL tests</h1>
<div id="log"></div>

<pre id='untested_idl' style='display:none'>

interface Window {
};

interface Performance {
};

interface PerformanceEntry {
  readonly attribute DOMString           name;
  readonly attribute DOMString           entryType;
  readonly attribute DOMHighResTimeStamp startTime;
  readonly attribute DOMHighResTimeStamp duration;
  [Default] object toJSON();
};

[Exposed=(Window,Worker)]
interface EventHandler {
};

typedef double DOMHighResTimeStamp;

[Exposed=(Window,Worker)]
partial interface Performance {
  PerformanceEntryList getEntries();
  PerformanceEntryList getEntriesByType(DOMString entryType);
  PerformanceEntryList getEntriesByName(DOMString name, optional DOMString entryType);
};

partial interface Window {
  [Replaceable] readonly attribute Performance performance;
};
</pre>

<pre id='idl'>
[Exposed=(Window,Worker)]
interface PerformanceResourceTiming : PerformanceEntry {
    readonly attribute DOMString           initiatorType;
    readonly attribute DOMString           nextHopProtocol;
    readonly attribute DOMHighResTimeStamp workerStart;
    readonly attribute DOMHighResTimeStamp redirectStart;
    readonly attribute DOMHighResTimeStamp redirectEnd;
    readonly attribute DOMHighResTimeStamp fetchStart;
    readonly attribute DOMHighResTimeStamp domainLookupStart;
    readonly attribute DOMHighResTimeStamp domainLookupEnd;
    readonly attribute DOMHighResTimeStamp connectStart;
    readonly attribute DOMHighResTimeStamp connectEnd;
    readonly attribute DOMHighResTimeStamp secureConnectionStart;
    readonly attribute DOMHighResTimeStamp requestStart;
    readonly attribute DOMHighResTimeStamp responseStart;
    readonly attribute DOMHighResTimeStamp responseEnd;
    readonly attribute unsigned long long  transferSize;
    readonly attribute unsigned long long  encodedBodySize;
    readonly attribute unsigned long long  decodedBodySize;
    [Default] object toJSON();
};

partial interface Performance {
    void clearResourceTimings();
    void setResourceTimingBufferSize(unsigned long maxSize);
    attribute EventHandler onresourcetimingbufferfull;
};
</pre>

<script>

(function () {
  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({Performance: ['window.performance'],
                         PerformanceResourceTiming: ["window.performance.getEntriesByType('resource')[0]"]});

  idl_array.test();
})();

</script>
</body>
</html>
back to top