1 <!-- Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ -->
7 <meta charset=
"utf-8"/>
8 <meta http-equiv=
"Cache-Control" content=
"no-cache, no-store, must-revalidate" />
9 <meta http-equiv=
"Pragma" content=
"no-cache" />
10 <meta http-equiv=
"Expires" content=
"0" />
11 <title>Network Monitor test page
</title>
15 <p>Performing a custom number of GETs
</p>
17 <script type=
"text/javascript">
18 /* exported performRequests hasOfflineEventFired */
21 function get(address
) {
22 return new Promise(resolve
=> {
23 const xhr
= new XMLHttpRequest();
24 xhr
.open("GET", address
, true);
26 xhr
.onreadystatechange = function() {
27 if (this.readyState
== this.DONE
) {
35 // Use a count parameter to defeat caching.
38 async
function performRequests(total
, url
, timeout
= 0) {
42 await
get(url
|| "request_" + (count
++));
43 setTimeout(performRequests
.bind(this, --total
, url
, timeout
), timeout
);
46 // For testing the offline mode in the netmonitor
47 let isOfflineEventFired
= false;
48 window
.addEventListener("offline", () => {
49 isOfflineEventFired
= true
52 function hasOfflineEventFired() {
53 return isOfflineEventFired
;