1 <p>The <code>chrome.dial</code> API is backed by a service that multicasts 2 discovery requests on the local network to discover DIAL-capable devices and 3 maintains a list of devices that have responded. Adding an onDeviceList 4 listener causes the service to periodically issue discovery requests to maintain 5 the device list. (No polling is done when there are no onDeviceList listeners.) 6 </p> 7 8 <p>The onDeviceList event is fired when discovery respnses are received and in 9 other circumstances; see the documentation for onDeviceList.</p> 10 11 <p>The client can request that network discovery can be done immediately by 12 invoking discoverNow() which is useful for presenting the user with an 13 updated list of devices.</p> 14 15 <p>On-demand use (updates when discoverNow() is called): 16 <pre> 17 chrome.dial.onDeviceList.addListener(function (list) { updateMenu(list); }); 18 chrome.dial.discoverNow(); 19 </pre> 20 (Remember to remove the listener when the menu closes.)</p> 21 22 <p>Background use (updates only when periodic polling happens):</p> 23 24 <pre> 25 var myList; 26 chrome.dial.onDeviceList.addListener(function (list) { myList = list; }); 27 </pre> 28 29 <p>These can be combined to poll for devices to prime the device menu, then 30 refresh the menu when it is displayed.</p> 31