| <!DOCTYPE html> |
| <html> |
| <!-- |
| Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| <head> |
| <title>Enumerate Devices Example</title> |
| <script type="text/javascript"> |
| var device_array = []; |
| var enumerating = false; |
| |
| function HandleMessage(message_event) { |
| if (message_event.data) { |
| var status = document.getElementById('status'); |
| if (message_event.data == 'EnumerationFailed') { |
| status.innerText = 'Device enumeration failed!'; |
| } else { |
| devices_data = |
| message_event.data.substring('EnumerationSuccess'.length); |
| if (devices_data.length > 0) |
| device_array = devices_data.split('#__#'); |
| else |
| device_array = []; |
| |
| var list = document.getElementById('device_list'); |
| if (device_array.length == 0) |
| list.innerHTML = 'No devices.'; |
| for (var i = 0; i < device_array.length; ++i) { |
| var list_item = document.createElement('li'); |
| var span = document.createElement('span'); |
| span.innerText = device_array[i]; |
| list_item.appendChild(span); |
| list.appendChild(list_item); |
| } |
| status.innerText = 'Device enumeration success!'; |
| } |
| enumerating = false; |
| } |
| } |
| |
| function EnumerateDevices(sync) { |
| if (enumerating) |
| return; |
| enumerating = true; |
| var status = document.getElementById('status'); |
| var plugin = document.getElementById('plugin'); |
| if (sync) { |
| status.innerText = 'Enumerating devices sync...' |
| plugin.postMessage('EnumerateDevicesSync'); |
| } else { |
| status.innerText = 'Enumerating devices async...' |
| plugin.postMessage('EnumerateDevicesAsync'); |
| } |
| } |
| |
| function Initialize() { |
| var plugin = document.getElementById('plugin'); |
| plugin.addEventListener('message', HandleMessage, false); |
| EnumerateDevices(true); |
| } |
| |
| document.addEventListener('DOMContentLoaded', Initialize, false); |
| </script> |
| </head> |
| |
| <body> |
| <embed id="plugin" type="application/x-ppapi-example-enumerate-devices" |
| width=0 height=0 /> |
| <div> |
| Press a link to enumerate video devices: |
| <ul> |
| <li><a href="javascript:EnumerateDevices(true)">Enumerate devices sync</a> |
| (only implemented for out-of-process)</li> |
| <li><a href="javascript:EnumerateDevices(false)">Enumerate devices async</a></li> |
| </ul> |
| </div> |
| <div id="available_devices"> |
| Available device(s): |
| <ul id="device_list">No devices.</ul> |
| </div> |
| <div> |
| Status: <span id="status"></span> |
| </div> |
| </body> |
| </html> |