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

Side by Side Diff: chrome/test/data/extensions/api_test/tab_capture/api_tests.js

Issue 1344753002: Update tests for chrome, as MediaStream label, ended attributes and stop() method will be removed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var tabCapture = chrome.tabCapture; 5 var tabCapture = chrome.tabCapture;
6 6
7 chrome.test.runTests([ 7 chrome.test.runTests([
8 function captureTabAndVerifyStateTransitions() { 8 function captureTabAndVerifyStateTransitions() {
9 // Tab capture events in the order they happen. 9 // Tab capture events in the order they happen.
10 var tabCaptureEvents = []; 10 var tabCaptureEvents = [];
11 11
12 var tabCaptureListener = function(info) { 12 var tabCaptureListener = function(info) {
13 console.log(info.status); 13 console.log(info.status);
14 if (info.status == 'stopped') { 14 if (info.status == 'stopped') {
15 chrome.test.assertEq('active', tabCaptureEvents.pop()); 15 chrome.test.assertEq('active', tabCaptureEvents.pop());
16 chrome.test.assertEq('pending', tabCaptureEvents.pop()); 16 chrome.test.assertEq('pending', tabCaptureEvents.pop());
17 tabCapture.onStatusChanged.removeListener(tabCaptureListener); 17 tabCapture.onStatusChanged.removeListener(tabCaptureListener);
18 chrome.test.succeed(); 18 chrome.test.succeed();
19 return; 19 return;
20 } 20 }
21 tabCaptureEvents.push(info.status); 21 tabCaptureEvents.push(info.status);
22 }; 22 };
23 tabCapture.onStatusChanged.addListener(tabCaptureListener); 23 tabCapture.onStatusChanged.addListener(tabCaptureListener);
24 24
25 tabCapture.capture({audio: true, video: true}, function(stream) { 25 tabCapture.capture({audio: true, video: true}, function(stream) {
26 chrome.test.assertTrue(!!stream); 26 chrome.test.assertTrue(!!stream);
27 stream.stop(); 27 stream.getVideoTracks()[0].stop();
28 stream.getAudioTracks()[0].stop();
28 }); 29 });
29 }, 30 },
30 31
31 function getCapturedTabs() { 32 function getCapturedTabs() {
32 chrome.tabs.create({active: true}, function(secondTab) { 33 chrome.tabs.create({active: true}, function(secondTab) {
33 // chrome.tabCapture.capture() will only capture the active tab. 34 // chrome.tabCapture.capture() will only capture the active tab.
34 chrome.test.assertTrue(secondTab.active); 35 chrome.test.assertTrue(secondTab.active);
35 36
36 function checkInfoForSecondTabHasStatus(infos, status) { 37 function checkInfoForSecondTabHasStatus(infos, status) {
37 for (var i = 0; i < infos.length; ++i) { 38 for (var i = 0; i < infos.length; ++i) {
(...skipping 21 matching lines...) Expand all
59 // returns 'stopped' capturing status for the second tab. 60 // returns 'stopped' capturing status for the second tab.
60 var capturedTabsAfterStopCapture = function(infos) { 61 var capturedTabsAfterStopCapture = function(infos) {
61 checkInfoForSecondTabHasStatus(infos, 'stopped'); 62 checkInfoForSecondTabHasStatus(infos, 'stopped');
62 chrome.tabs.remove(secondTab.id); 63 chrome.tabs.remove(secondTab.id);
63 }; 64 };
64 65
65 // Step 2: After the stream is started, check that getCapturedTabs() 66 // Step 2: After the stream is started, check that getCapturedTabs()
66 // returns 'active' capturing status for the second tab. 67 // returns 'active' capturing status for the second tab.
67 var capturedTabsAfterStartCapture = function(infos) { 68 var capturedTabsAfterStartCapture = function(infos) {
68 checkInfoForSecondTabHasStatus(infos, 'active'); 69 checkInfoForSecondTabHasStatus(infos, 'active');
69 activeStream.stop(); 70 activeStream.getVideoTracks()[0].stop();
71 activeStream.getAudioTracks()[0].stop();
70 tabCapture.getCapturedTabs(capturedTabsAfterStopCapture); 72 tabCapture.getCapturedTabs(capturedTabsAfterStopCapture);
71 }; 73 };
72 74
73 // Step 1: Start capturing the second tab (the currently active tab). 75 // Step 1: Start capturing the second tab (the currently active tab).
74 tabCapture.capture({audio: true, video: true}, function(stream) { 76 tabCapture.capture({audio: true, video: true}, function(stream) {
75 chrome.test.assertTrue(!!stream); 77 chrome.test.assertTrue(!!stream);
76 activeStream = stream; 78 activeStream = stream;
77 tabCapture.getCapturedTabs(capturedTabsAfterStartCapture); 79 tabCapture.getCapturedTabs(capturedTabsAfterStartCapture);
78 }); 80 });
79 }); 81 });
80 }, 82 },
81 83
82 function captureSameTab() { 84 function captureSameTab() {
83 var stream1 = null; 85 var stream1 = null;
84 86
85 var tabMediaRequestCallback2 = function(stream) { 87 var tabMediaRequestCallback2 = function(stream) {
86 chrome.test.assertLastError( 88 chrome.test.assertLastError(
87 'Cannot capture a tab with an active stream.'); 89 'Cannot capture a tab with an active stream.');
88 chrome.test.assertTrue(!stream); 90 chrome.test.assertTrue(!stream);
89 stream1.stop(); 91 stream1.getVideoTracks()[0].stop();
92 stream1.getAudioTracks()[0].stop();
90 chrome.test.succeed(); 93 chrome.test.succeed();
91 }; 94 };
92 95
93 tabCapture.capture({audio: true, video: true}, function(stream) { 96 tabCapture.capture({audio: true, video: true}, function(stream) {
94 chrome.test.assertTrue(!!stream); 97 chrome.test.assertTrue(!!stream);
95 stream1 = stream; 98 stream1 = stream;
96 tabCapture.capture({audio: true, video: true}, tabMediaRequestCallback2); 99 tabCapture.capture({audio: true, video: true}, tabMediaRequestCallback2);
97 }); 100 });
98 }, 101 },
99 102
100 function tabIsUnmutedWhenTabCaptured() { 103 function tabIsUnmutedWhenTabCaptured() {
101 var stream1 = null; 104 var stream1 = null;
102 105
103 chrome.tabs.getCurrent(function(tab) { 106 chrome.tabs.getCurrent(function(tab) {
104 var stopListener = chrome.test.listenForever(chrome.tabs.onUpdated, 107 var stopListener = chrome.test.listenForever(chrome.tabs.onUpdated,
105 function(tabId, changeInfo, updatedTab) { 108 function(tabId, changeInfo, updatedTab) {
106 if ((changeInfo.mutedInfo.muted === true)) { 109 if ((changeInfo.mutedInfo.muted === true)) {
107 tabCapture.capture({audio: true}, function(stream) { 110 tabCapture.capture({audio: true}, function(stream) {
108 stream1 = stream; 111 stream1 = stream;
109 }); 112 });
110 } 113 }
111 else if ((changeInfo.mutedInfo.reason == "capture") && 114 else if ((changeInfo.mutedInfo.reason == "capture") &&
112 (changeInfo.mutedInfo.muted === false)) { 115 (changeInfo.mutedInfo.muted === false)) {
113 stream1.stop(); 116 stream1.getAudioTracks()[0].stop();
114 stopListener(); 117 stopListener();
115 } 118 }
116 }); 119 });
117 120
118 chrome.tabs.update(tab.id, {muted: true}); 121 chrome.tabs.update(tab.id, {muted: true});
119 }); 122 });
120 }, 123 },
121 124
122 function onlyVideo() { 125 function onlyVideo() {
123 tabCapture.capture({video: true}, function(stream) { 126 tabCapture.capture({video: true}, function(stream) {
124 chrome.test.assertTrue(!!stream); 127 chrome.test.assertTrue(!!stream);
125 stream.stop(); 128 stream.getVideoTracks()[0].stop();
126 chrome.test.succeed(); 129 chrome.test.succeed();
127 }); 130 });
128 }, 131 },
129 132
130 function onlyAudio() { 133 function onlyAudio() {
131 tabCapture.capture({audio: true}, function(stream) { 134 tabCapture.capture({audio: true}, function(stream) {
132 chrome.test.assertTrue(!!stream); 135 chrome.test.assertTrue(!!stream);
133 stream.stop(); 136 stream.getAudioTracks()[0].stop();
134 chrome.test.succeed(); 137 chrome.test.succeed();
135 }); 138 });
136 }, 139 },
137 140
138 function noAudioOrVideoRequested() { 141 function noAudioOrVideoRequested() {
139 // If not specified, video is not requested. 142 // If not specified, video is not requested.
140 tabCapture.capture({audio: false}, function(stream) { 143 tabCapture.capture({audio: false}, function(stream) {
141 chrome.test.assertTrue(!stream); 144 chrome.test.assertTrue(!stream);
142 chrome.test.succeed(); 145 chrome.test.succeed();
143 }); 146 });
144 } 147 }
145 ]); 148 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698