summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-timing/idlharness.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/navigation-timing/idlharness.html')
-rw-r--r--testing/web-platform/tests/navigation-timing/idlharness.html120
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>