diff options
author | mfoltz@chromium.org <mfoltz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-15 22:40:22 +0000 |
---|---|---|
committer | mfoltz@chromium.org <mfoltz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-15 22:40:22 +0000 |
commit | cd54999a1c3188ad9830a7d13be811dd3ca12768 (patch) | |
tree | 1be609209e8e3cd7b9eeac842ef3e01fab7eb4d7 /chrome/test | |
parent | 670108eb566a80220ac01649dd5b28c63fbb819b (diff) | |
download | chromium_src-cd54999a1c3188ad9830a7d13be811dd3ca12768.zip chromium_src-cd54999a1c3188ad9830a7d13be811dd3ca12768.tar.gz chromium_src-cd54999a1c3188ad9830a7d13be811dd3ca12768.tar.bz2 |
This contains the implementation of the chrome.dial API (API side in https://codereview.chromium.org/11444020/).
Summary of classes:
DialDeviceData - Data class that contains what we know about a device that has responded to a search request. Used to fill the device list that is sent back to the API.
DialRegistry - Keeps track of DialDeviceData, deduplicates/merges responses, creates/destroys the DialService, starts/stops periodic discovery requests, and determines when an event should be fired to the chrome.dial.onDeviceList listeners. Observed by the DialApi.
DialService - Network service that sends a discovery (M-SEARCH) request, receives and parses responses, notifies observers when a valid response has been received. Manages sockets & network resources. Observed by the DialRegistry.
TBR for chrome_browser_extensions.gypi
BUG=163288
TBR=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11299056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173335 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/data/extensions/api_test/dial/experimental/discovery.js | 14 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/dial/experimental/runtest.js | 9 |
2 files changed, 7 insertions, 16 deletions
diff --git a/chrome/test/data/extensions/api_test/dial/experimental/discovery.js b/chrome/test/data/extensions/api_test/dial/experimental/discovery.js index ee2689c..917462c 100644 --- a/chrome/test/data/extensions/api_test/dial/experimental/discovery.js +++ b/chrome/test/data/extensions/api_test/dial/experimental/discovery.js @@ -5,27 +5,13 @@ onload = function() { chrome.test.runTests([ function discovery() { - var discoverNowShouldSucceed = function(result) { - if (result) - chrome.test.succeed(); - else - chrome.test.fail(); - }; - - var onDeviceList = function(deviceList) { - // Unused. - }; - var discoverNowShouldFail = function(result) { if (!result) { chrome.test.succeed(); - chrome.dial.onDeviceList.addListener(onDeviceList); - chrome.dial.discoverNow(discoverNowShouldSucceed); } else { chrome.test.fail(); } }; - chrome.dial.discoverNow(discoverNowShouldFail); } ]); diff --git a/chrome/test/data/extensions/api_test/dial/experimental/runtest.js b/chrome/test/data/extensions/api_test/dial/experimental/runtest.js index a028f5e..3c70f98b 100644 --- a/chrome/test/data/extensions/api_test/dial/experimental/runtest.js +++ b/chrome/test/data/extensions/api_test/dial/experimental/runtest.js @@ -8,6 +8,11 @@ var devices = []; chrome.test.sendMessage('ready', function(message) { if (message == 'setup') { function handleOnDeviceList(deviceList) { + if (deviceList.length == 0) { + // Empty list event fired by the registry when the listener is added + // (not by DialAPITest). + return; + } var newDevices = []; for (var i = 0; i < deviceList.length; ++i) { newDevices.push(deviceList[i]); @@ -33,12 +38,12 @@ chrome.test.sendMessage('ready', function(message) { // Not exposing the device id right now. chrome.test.assertTrue(!('deviceId' in devices[0][0])); chrome.test.assertEq("1", devices[0][0].deviceLabel); - chrome.test.assertEq("http://1", + chrome.test.assertEq("http://127.0.0.1/dd.xml", devices[0][0].deviceDescriptionUrl); chrome.test.assertTrue(!('deviceId' in devices[2][2])); chrome.test.assertEq("3", devices[2][2].deviceLabel); - chrome.test.assertEq("http://3", + chrome.test.assertEq("http://127.0.0.3/dd.xml", devices[2][2].deviceDescriptionUrl); chrome.test.succeed(); |