diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-timing/idlharness.html')
-rw-r--r-- | testing/web-platform/tests/navigation-timing/idlharness.html | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-timing/idlharness.html b/testing/web-platform/tests/navigation-timing/idlharness.html new file mode 100644 index 000000000..65a8778f7 --- /dev/null +++ b/testing/web-platform/tests/navigation-timing/idlharness.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Navigation Timing IDL tests</title> +<link rel="author" title="W3C" href="http://www.w3.org/" /> +<link rel="help" href="http://www.w3.org/TR/navigation-timing/#sec-navigation-timing-interface"/> +<link rel="help" href="http://www.w3.org/TR/navigation-timing/#sec-navigation-info-interface"/> +<link rel="help" href="http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute"/> +<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>Navigation Timing IDL tests</h1> +<div id="log"></div> + +<pre id='untested_idl' style='display:none'> + +[PrimaryGlobal] +interface Window { +}; + +callback interface EventListener { + void handleEvent(Event event); +}; + +interface Event { + // PhaseType + const unsigned short NONE = 0; + const unsigned short CAPTURING_PHASE = 1; + const unsigned short AT_TARGET = 2; + const unsigned short BUBBLING_PHASE = 3; + readonly attribute DOMString type; + readonly attribute EventTarget? target; + readonly attribute EventTarget? currentTarget; + readonly attribute unsigned short eventPhase; + readonly attribute boolean bubbles; + readonly attribute boolean cancelable; + readonly attribute DOMTimeStamp timeStamp; + void stopPropagation (); + void preventDefault (); + void initEvent (DOMString eventTypeArg, boolean bubblesArg, boolean cancelableArg); + // Introduced in DOM Level 3 + void stopImmediatePropagation (); + readonly attribute boolean defaultPrevented; + readonly attribute boolean isTrusted; +}; + +interface EventTarget { + // Modified in DOM Level 3 + void addEventListener (DOMString type, EventListener? listener, optional boolean useCapture = false); + void removeEventListener (DOMString type, EventListener? listener, optional boolean useCapture = false); + boolean dispatchEvent (Event event); +}; + +</pre> + +<pre id='idl'> +interface PerformanceTiming { + readonly attribute unsigned long long navigationStart; + readonly attribute unsigned long long unloadEventStart; + readonly attribute unsigned long long unloadEventEnd; + readonly attribute unsigned long long redirectStart; + readonly attribute unsigned long long redirectEnd; + readonly attribute unsigned long long fetchStart; + readonly attribute unsigned long long domainLookupStart; + readonly attribute unsigned long long domainLookupEnd; + readonly attribute unsigned long long connectStart; + readonly attribute unsigned long long connectEnd; + readonly attribute unsigned long long secureConnectionStart; + readonly attribute unsigned long long requestStart; + readonly attribute unsigned long long responseStart; + readonly attribute unsigned long long responseEnd; + readonly attribute unsigned long long domLoading; + readonly attribute unsigned long long domInteractive; + readonly attribute unsigned long long domContentLoadedEventStart; + readonly attribute unsigned long long domContentLoadedEventEnd; + readonly attribute unsigned long long domComplete; + readonly attribute unsigned long long loadEventStart; + readonly attribute unsigned long long loadEventEnd; +}; + +interface PerformanceNavigation { + const unsigned short TYPE_NAVIGATE = 0; + const unsigned short TYPE_RELOAD = 1; + const unsigned short TYPE_BACK_FORWARD = 2; + const unsigned short TYPE_RESERVED = 255; + readonly attribute unsigned short type; + readonly attribute unsigned short redirectCount; +}; + +interface Performance : EventTarget { + readonly attribute PerformanceTiming timing; + readonly attribute PerformanceNavigation navigation; +}; + +partial interface Window { + [Replaceable] readonly attribute Performance performance; +}; +</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({Window: ["window"], + Performance: ["window.performance"], + PerformanceNavigation: ["window.performance.navigation"], + PerformanceTiming: ["window.performance.timing"]}); + + idl_array.test(); +})(); +</script> +</body> +</html> |