| Index: chrome/test/data/devtools/target_list/background.js
|
| diff --git a/chrome/test/data/devtools/target_list/background.js b/chrome/test/data/devtools/target_list/background.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4fb3d9228eee37620ece92d4acbe7a4d80f74e2e
|
| --- /dev/null
|
| +++ b/chrome/test/data/devtools/target_list/background.js
|
| @@ -0,0 +1,62 @@
|
| +// Copyright (c) 2013 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.
|
| +
|
| +function requestUrl(url, callback) {
|
| + var req = new XMLHttpRequest();
|
| + req.open('GET', url, true);
|
| + req.onload = function() {
|
| + if (req.status == 200)
|
| + callback(req.responseText);
|
| + else
|
| + req.onerror();
|
| + };
|
| + req.onerror = function() {
|
| + chrome.test.fail('XHR failed: ' + req.status);
|
| + };
|
| + req.send(null);
|
| +}
|
| +
|
| +var REMOTE_DEBUGGER_HOST = 'localhost:9222';
|
| +
|
| +function checkTarget(targets, url, type, opt_title, opt_faviconUrl) {
|
| + var target =
|
| + targets.filter(function(t) { return t.url == url }) [0];
|
| + if (!target)
|
| + chrome.test.fail('Cannot find a target with url ' + url);
|
| +
|
| + var wsAddress = REMOTE_DEBUGGER_HOST + '/devtools/page/' + target.id;
|
| +
|
| + chrome.test.assertEq(
|
| + '/devtools/devtools.html?ws=' + wsAddress,
|
| + target.devtoolsFrontendUrl);
|
| + chrome.test.assertEq(opt_faviconUrl || '', target.faviconUrl);
|
| + chrome.test.assertEq('/thumb/' + target.id, target.thumbnailUrl);
|
| + chrome.test.assertEq(opt_title || target.url, target.title);
|
| + chrome.test.assertEq(type, target.type);
|
| + chrome.test.assertEq('ws://' + wsAddress, target.webSocketDebuggerUrl);
|
| +}
|
| +
|
| +chrome.test.runTests([
|
| + function discoverTargets() {
|
| + var testPageUrl = chrome.extension.getURL('test_page.html');
|
| +
|
| + function onUpdated() {
|
| + chrome.tabs.onUpdated.removeListener(onUpdated);
|
| + requestUrl('http://' + REMOTE_DEBUGGER_HOST + '/json', function(text) {
|
| + var targets = JSON.parse(text);
|
| +
|
| + checkTarget(targets, 'about:blank', 'page');
|
| + checkTarget(targets, testPageUrl, 'page', 'Test page',
|
| + chrome.extension.getURL('favicon.png'));
|
| + checkTarget(targets,
|
| + chrome.extension.getURL('_generated_background_page.html'),
|
| + 'other');
|
| +
|
| + chrome.test.succeed();
|
| + });
|
| + }
|
| + chrome.tabs.onUpdated.addListener(onUpdated);
|
| + chrome.tabs.create({url: testPageUrl});
|
| + }
|
| +]);
|
|
|