7a46cb8b98d955a3661b8cde1601f4ec98ce2146
[platform/framework/web/crosswalk.git] / src / xwalk / test / android / data / device_capabilities.html
1 <html>
2   <head>
3     <title></title>
4   </head>
5   <style type="text/css">
6     body { margin: auto; width: 100%; }
7     div { margin: 15; padding: 10; width: 100%; }
8     textarea { margin: 10; padding: 10; width: 95%; height: 15%; font-size: 12; resize: none;}
9     .title { margin: 20; padding: 20; font-size: 32; font-weight: bold; }
10     .subtitle { margin: 10; padding: 10; font-size: 25; }
11     .text { font-size: 18; }
12     .center { text-align: center; }
13     .cpu { background-color: #FFFACD; }
14     .display { background-color: #CAE1FF; }
15     .memory { background-color: #FFF0F5; }
16     .storage { background-color: #F0FFF0; }
17     .event { background-color: #D1D1D1; }
18   </style>
19   <body>
20   <script>
21     var Error = function(error) {
22       document.title = "Fail";
23       console.log(error.message);
24     }
25
26     function enumerateAllProps(obj) {
27       var msg = '';
28       var props = Object.getOwnPropertyNames(obj);
29       for (var j = 0; j < props.length; ++j) {
30         msg += props[j] + ': ' + obj[props[j]] + '\n';
31       }
32       return msg;
33     }
34
35     var successCount = 0;
36     function onSuccess() {
37       // Only count the success get operation, the event part need manual interaction.
38       ++successCount;
39       if(successCount >= 5) {
40         document.title = "Pass";
41       }
42     }
43
44     window.onload = function() {
45       try {
46         var system = navigator.system || xwalk.experimental.system;
47         system.getCPUInfo()
48             .then(function(cpu) {
49               document.getElementById('cpu').innerHTML = 'First level promise:<br>' +
50                                                          '-> numOfProcessors: ' + cpu.numOfProcessors + '<br>' +
51                                                          '-> archName: ' + cpu.archName + '<br>' +
52                                                          '-> cpu load: ' + cpu.load;
53               onSuccess();
54               return cpu;
55             }, Error)
56             .then(function(cpu) {
57               document.getElementById('cpu_chain').innerHTML = 'Second level promise:<br>' +
58                                                                '-> numOfProcessors: ' + cpu.numOfProcessors + '<br>' +
59                                                                '-> archName: ' + cpu.archName + '<br>' +
60                                                                '-> cpu load: ' + cpu.load;
61               onSuccess();
62             }, Error);
63
64         system.getMemoryInfo()
65             .then(function(memory) {
66               document.getElementById('memory').innerHTML = 'Total capacity: ' + memory.capacity / (1024 * 1024) + '(MB)<br>' +
67                                                             'Avail capacity: ' + memory.availCapacity / (1024 * 1024) + '(MB)';
68               onSuccess();
69             }, Error);
70
71         system.getAVCodecs()
72             .then(function(avcodecs) {
73               var msg = "";
74               for (var i = 0; i < avcodecs.audioCodecs.length; ++i) {
75                   msg += enumerateAllProps(avcodecs.audioCodecs[i]);
76                   msg += '---------\n';
77               }
78               for (var i = 0; i < avcodecs.videoCodecs.length; ++i) {
79                   msg += enumerateAllProps(avcodecs.videoCodecs[i]);
80                   msg += '---------\n';
81               }
82               var output = document.getElementById("avcodecs");
83               output.value += msg;
84               output.scrollTop = output.scrollHeight;
85               onSuccess();
86             }, Error);
87
88         system.getDisplayInfo()
89             .then(function(display) {
90               var msg = ''; 
91               for (var i = 0; i < display.displays.length; ++i) {
92                 msg += enumerateAllProps(display.displays[i]);
93                 msg += '---------\n';
94               }
95               var output = document.getElementById('display');
96               output.value += msg;
97               output.scrollTop = output.scrollHeight;
98               onSuccess();
99             }, Error);
100
101         system.getStorageInfo()
102             .then(function(storage) {
103               var msg = '';
104               for (var i = 0; i < storage.storages.length; ++i) {
105                 msg += enumerateAllProps(storage.storages[i]);
106                 msg += '---------\n';
107               }
108               var output = document.getElementById('storage');
109               output.value += msg;
110               output.scrollTop = output.scrollHeight;
111               onSuccess();
112             }, Error);
113
114         system.onstorageattach = function(storage) {
115             var output = document.getElementById('event');
116             output.value += 'Error! Should not appear.\n';
117             output.scrollTop = output.scrollHeight;
118           };
119
120         system.onstorageattach = function(storage) {
121             var output = document.getElementById('event');
122             var msg = enumerateAllProps(storage);
123             output.value += 'From storage attach listener(onstorageattch):\n' + msg + '--------\n';
124             output.scrollTop = output.scrollHeight;
125           };
126
127         system.addEventListener('storageattach', function(storage) {
128             var output = document.getElementById('event');
129             output.value += 'attach Listener1 test success!\n';
130             output.scrollTop = output.scrollHeight;
131           });
132
133         system.addEventListener('storageattach', function(storage) {
134             var output = document.getElementById('event');
135             output.value += 'attach Listener2 test success!\n';
136             output.scrollTop = output.scrollHeight;
137           });
138
139         system.addEventListener('storagedetach', function(storage) {
140             var output = document.getElementById('event');
141             var msg = enumerateAllProps(storage);
142             output.value += 'From storage detach listener(addEventListener):\n' + msg + '--------\n';
143             output.scrollTop = output.scrollHeight;
144           });
145
146         system.onstoragedetach = function(storage) {
147             var output = document.getElementById('event');
148             var msg = enumerateAllProps(storage);
149             output.value += 'From storage detach listener(onstoragedetach):\n' + msg + '--------\n';
150             output.scrollTop = output.scrollHeight;
151           };
152
153         system.addEventListener('displayconnect', function(display) {
154             var output = document.getElementById('event');
155             var msg = enumerateAllProps(display);
156             output.value += 'From display connect listener(addEventListener):\n' + msg + '--------\n';
157             output.scrollTop = output.scrollHeight;
158           });
159
160         system.ondisplayconnect = function(display) {
161             var output = document.getElementById('event');
162             var msg = enumerateAllProps(display);
163             output.value += 'From display connect listener(ondisplayconnect):\n' + msg + '--------\n';
164             output.scrollTop = output.scrollHeight;
165           };
166
167         system.addEventListener('displaydisconnect', function(display) {
168             var output = document.getElementById('event');
169             var msg = enumerateAllProps(display);
170             output.value += 'From display disconnect listener(addEventListener):\n' + msg + '--------\n';
171             output.scrollTop = output.scrollHeight;
172           });
173
174         system.ondisplaydisconnect = function(display) {
175             var output = document.getElementById('event');
176             var msg = enumerateAllProps(display);
177             output.value += 'From display disconnect listener(ondisplaydisconnect):\n' + msg + '--------\n';
178             output.scrollTop = output.scrollHeight;
179           };
180
181       } catch(e) {
182         console.log(e);
183       }
184     };
185   </script>
186   <div class="title center">SysApp EXAMPLE</div>
187   <div class="cpu">
188     <p class="subtitle center">CPUInfo</p>
189     <p class="text" id="cpu"></p>
190     <p class="text" id="cpu_chain"></p>
191   </div>
192   <div class="memory">
193     <p class="subtitle center">MemoryInfo</p>
194     <p class="text" id="memory"></p>
195   </div>
196   <div class="avcodecs">
197     <p class="subtitle center">avcodecs</p>
198     <textarea id="avcodecs" readonly=true></textarea>
199   </div>
200   <div class="display">
201     <p class="subtitle center">DisplayInfo</p>
202     <textarea id="display" readonly=true></textarea>
203   </div>
204   <div class="storage">
205     <p class="subtitle center">Storage</p>
206     <textarea id="storage" readonly=true></textarea>
207   </div>
208   <div class="event">
209     <p class="subtitle center">Event</p>
210     <textarea id="event" readonly=true></textarea>
211   </div>
212   </body>
213 </html>