06e534b52adf31136153ab2a63dcf2671d4234a8
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / forms / state-restore-skip-stateless.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 <script src="resources/common.js"></script>
6 </head>
7 <body>
8 <div id="console"></div>
9 <div id="elements">
10 <fieldset name=name01></fieldset>
11 <input name=name02 type=hidden>
12 <input name=name03 type=text>
13 <input name=name04 type=tel>
14 <input name=name05 type=url>
15 <input name=name06 type=email>
16 <input name=name07 type=password>
17 <!-- Don't test optional types.
18 <input name=name08 type=datetime>
19 <input name=name09 type=date>
20 <input name=name10 type=month>
21 <input name=name11 type=week>
22 <input name=name12 type=time>
23 <input name=name13 type=datetime-local>
24 -->
25 <input name=name14 type=number>
26 <input name=name15 type=range>
27 <!-- <input name=name16 type=color> -->
28 <input name=name17 type=checkbox>
29 <input name=name18 type=radio>
30 <input name=name19 type=file>
31 <input name=name20 type=submit>
32 <input name=name21 type=reset>
33 <input name=name22 type=button>
34 <button name=name23 type=submit></button>
35 <button name=name24 type=reset></button>
36 <button name=name25 type=button></button>
37 <select name=name26 ></select>
38 <select name=name27 multiple></select>
39 <textarea name=name28></textarea>
40 <keygen name=name29>
41 <output name=name30></output>
42 </div>
43 <script>
44 console.log('Test if state of stateless form control types are not saved.');
45 jsTestIsAsync = true;
46
47 if (sessionStorage.getItem("restore-skip-stateless") == null) {
48     sessionStorage.setItem("restore-skip-stateless", "true");
49     window.onload = function() {
50         setTimeout(function() {
51             location.reload();
52         }, 0);
53     };
54 } else {
55     sessionStorage.removeItem("restore-skip-stateless");
56     if (window.internals) {
57         var statefulTypes = ['hidden', 'text', 'tel', 'url', 'email', 'number', 'range', 'checkbox',
58                              'radio', 'file', 'select-one', 'select-multiple', 'textarea'];
59         var statelessTypes = ['fieldset', 'password', 'submit', 'reset', 'button', 'keygen', 'output'];
60
61         var states = internals.formControlStateOfHistoryItem();
62         for (var i = 0; i < statefulTypes.length; ++i) {
63             if (states.indexOf(statefulTypes[i]) >= 0)
64                 testPassed('There is a state for ' + statefulTypes[i]);
65             else
66                 testFailed('There no state for ' + statefulTypes[i]);
67         }
68
69         for (var i = 0; i < statelessTypes.length; ++i) {
70             if (states.indexOf(statelessTypes[i]) < 0)
71                 testPassed('There is no state for ' + statelessTypes[i]);
72             else
73                 testFailed('There is a state for ' + statelessTypes[i]);
74         }
75     }
76     // Remove the input elements from the document to avoid a bunch of trailing
77     // whitespace in the test output.
78     document.body.removeChild(document.getElementById("elements"));
79     finishJSTest();
80 }
81 </script>
82 </body>