| OLD | NEW |
| 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 = []; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 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.stop(); |
| 28 }); | 28 }); |
| 29 }, | 29 }, |
| 30 | 30 |
| 31 function getCapturedTabs() { | 31 function getCapturedTabs() { |
| 32 chrome.tabs.create({active:true}, function(secondTab) { | 32 chrome.tabs.create({active: true}, function(secondTab) { |
| 33 // chrome.tabCapture.capture() will only capture the active tab. | 33 // chrome.tabCapture.capture() will only capture the active tab. |
| 34 chrome.test.assertTrue(secondTab.active); | 34 chrome.test.assertTrue(secondTab.active); |
| 35 | 35 |
| 36 function checkInfoForSecondTabHasStatus(infos, status) { | 36 function checkInfoForSecondTabHasStatus(infos, status) { |
| 37 for (var i = 0; i < infos.length; ++i) { | 37 for (var i = 0; i < infos.length; ++i) { |
| 38 if (infos[i].tabId == secondTab) { | 38 if (infos[i].tabId == secondTab) { |
| 39 chrome.test.assertNe(null, status); | 39 chrome.test.assertNe(null, status); |
| 40 chrome.test.assertEq(status, infos[i].status); | 40 chrome.test.assertEq(status, infos[i].status); |
| 41 chrome.test.assertEq(false, infos[i].fullscreen); | 41 chrome.test.assertEq(false, infos[i].fullscreen); |
| 42 return; | 42 return; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 chrome.test.succeed(); | 90 chrome.test.succeed(); |
| 91 }; | 91 }; |
| 92 | 92 |
| 93 tabCapture.capture({audio: true, video: true}, function(stream) { | 93 tabCapture.capture({audio: true, video: true}, function(stream) { |
| 94 chrome.test.assertTrue(!!stream); | 94 chrome.test.assertTrue(!!stream); |
| 95 stream1 = stream; | 95 stream1 = stream; |
| 96 tabCapture.capture({audio: true, video: true}, tabMediaRequestCallback2); | 96 tabCapture.capture({audio: true, video: true}, tabMediaRequestCallback2); |
| 97 }); | 97 }); |
| 98 }, | 98 }, |
| 99 | 99 |
| 100 function tabIsUnmutedWhenTabCaptured() { |
| 101 var stream1 = null; |
| 102 |
| 103 chrome.tabs.getCurrent(function(tab) { |
| 104 var stopListener = chrome.test.listenForever(chrome.tabs.onUpdated, |
| 105 function(tabId, changeInfo, updatedTab) { |
| 106 if ((changeInfo["muted"] === true)) { |
| 107 tabCapture.capture({audio: true}, function(stream) { |
| 108 stream1 = stream; |
| 109 }); |
| 110 } |
| 111 else if ((changeInfo["mutedCause"] == "capture") && |
| 112 (changeInfo["muted"] === false)) { |
| 113 stream1.stop(); |
| 114 stopListener(); |
| 115 } |
| 116 }); |
| 117 |
| 118 chrome.tabs.update(tab.id, {muted: true}); |
| 119 }); |
| 120 }, |
| 121 |
| 100 function onlyVideo() { | 122 function onlyVideo() { |
| 101 tabCapture.capture({video: true}, function(stream) { | 123 tabCapture.capture({video: true}, function(stream) { |
| 102 chrome.test.assertTrue(!!stream); | 124 chrome.test.assertTrue(!!stream); |
| 103 stream.stop(); | 125 stream.stop(); |
| 104 chrome.test.succeed(); | 126 chrome.test.succeed(); |
| 105 }); | 127 }); |
| 106 }, | 128 }, |
| 107 | 129 |
| 108 function onlyAudio() { | 130 function onlyAudio() { |
| 109 tabCapture.capture({audio: true}, function(stream) { | 131 tabCapture.capture({audio: true}, function(stream) { |
| 110 chrome.test.assertTrue(!!stream); | 132 chrome.test.assertTrue(!!stream); |
| 111 stream.stop(); | 133 stream.stop(); |
| 112 chrome.test.succeed(); | 134 chrome.test.succeed(); |
| 113 }); | 135 }); |
| 114 }, | 136 }, |
| 115 | 137 |
| 116 function noAudioOrVideoRequested() { | 138 function noAudioOrVideoRequested() { |
| 117 // If not specified, video is not requested. | 139 // If not specified, video is not requested. |
| 118 tabCapture.capture({audio: false}, function(stream) { | 140 tabCapture.capture({audio: false}, function(stream) { |
| 119 chrome.test.assertTrue(!stream); | 141 chrome.test.assertTrue(!stream); |
| 120 chrome.test.succeed(); | 142 chrome.test.succeed(); |
| 121 }); | 143 }); |
| 122 } | 144 } |
| 123 ]); | 145 ]); |
| OLD | NEW |