Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Side by Side Diff: chrome/test/data/extensions/api_test/debugger_remote/background.js

Issue 12319114: Extract debugger target enumeration into a separate class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@debugger
Patch Set: Fixed thumbnail url generation, added a test Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
pfeldman 2013/03/04 11:48:42 This should be placed next to the implementation,
Vladislav Kaznacheev 2013/03/04 14:30:03 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var pass = chrome.test.callbackPass;
6 var fail = chrome.test.callbackFail;
7
8 function requestUrl(url, callback) {
9 var req = new XMLHttpRequest();
10 req.open('GET', url, true);
11 req.onload = function() {
12 if (req.status == 200)
13 callback(req.responseText);
14 else
15 req.onerror();
16 };
17 req.onerror = function() {
18 chrome.test.fail('XHR failed: ' + req.status);
19 };
20 req.send(null);
21 }
22
23 var REMOTE_DEBUGGER_HOST = 'localhost:9222';
24
25 function checkTarget(targets, url, type, opt_title, opt_faviconUrl) {
26 var target =
27 targets.filter(function(t) { return t.url == url }) [0];
28 if (!target)
29 chrome.test.fail('Cannot find a target with url ' + url);
30
31 var wsAddress = REMOTE_DEBUGGER_HOST + '/devtools/page/' + target.id;
32
33 chrome.test.assertEq(
34 '/devtools/devtools.html?ws=' + wsAddress,
35 target.devtoolsFrontendUrl);
36 chrome.test.assertEq(opt_faviconUrl || '', target.faviconUrl);
37 chrome.test.assertEq('/thumb/' + target.url, target.thumbnailUrl);
38 chrome.test.assertEq(opt_title || target.url, target.title);
39 chrome.test.assertEq(type, target.type);
40 chrome.test.assertEq('ws://' + wsAddress, target.webSocketDebuggerUrl);
41 }
42
43 chrome.test.runTests([
44 function discoverTargets() {
45 var testPageUrl = chrome.extension.getURL('test_page.html');
46
47 chrome.tabs.create({url: testPageUrl}, function() {
48 requestUrl('http://' + REMOTE_DEBUGGER_HOST + '/json', function(text) {
49 var targets = JSON.parse(text);
50
51 checkTarget(targets, 'about:blank', 'page');
52 checkTarget(targets, testPageUrl, 'page', 'Test page',
53 chrome.extension.getURL('favicon.png'));
54 checkTarget(targets,
55 chrome.extension.getURL('_generated_background_page.html'),
56 'other');
57
58 chrome.test.succeed();
59 });
60 });
61 }
62 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698