Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / ManualTests / eventsource / eventsource-loader-buffering.html
blob896b7908cd5dbba4ca8bd393e270058d9710f4eb
1 <!doctype html>
2 <html>
3 <head>
4 <title>EventSource Loader Buffering</title>
5 <script>
6 window.onload = function () {
7 setTimeout(test_es, 500);
8 };
10 function test_es() {
11 var len = 0;
12 var count = 0;
13 var step = 1000;
14 var es = new EventSource("eventsource-loader-buffering.php");
15 es.onopen = function () {
16 log("got 'open' event");
17 log("waiting for the first " + step + " 'message' events");
19 es.onmessage = function (evt) {
20 len += evt.data.length;
21 if (++count % step)
22 return;
23 log("got " + count + " 'message' events (" + len + " characters)", 1);
24 if (len >= 1e9)
25 end();
27 es.onerror = function () {
28 log("got 'error' event");
29 end();
31 function end() {
32 if (es.readyState != es.CLOSED)
33 es.close();
34 log("ENDED");
38 function log(message, updateLast) {
39 if (!log.list)
40 log.list = document.getElementById("log");
41 var text = document.createTextNode(message);
42 if (updateLast)
43 log.list.lastChild.replaceChild(text, log.list.lastChild.firstChild);
44 else
45 log.list.appendChild(document.createElement("li")).appendChild(text);
47 </script>
48 </head>
49 <body>
50 <p>Manual test to verify that the EventSource loader does not buffer data (may result in memory growth with long lived connections). Monitor memory usage; it should be stable. This file has to be served from the same web server as the php script with the same name.</p>
51 <ul id="log" style="list-style-type: none"></ul>
52 </body>
53 </html>