Chromium Code Reviews| 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 var helloWorldPageUri = 'data:text/html;charset=UTF-8,' + | |
| 8 encodeURIComponent('<html><body>Hello world!</body></html>'); | |
| 9 | |
| 7 chrome.test.runTests([ | 10 chrome.test.runTests([ |
| 8 function captureTabAndVerifyStateTransitions() { | 11 function captureTabAndVerifyStateTransitions() { |
| 9 // Tab capture events in the order they happen. | 12 // Tab capture events in the order they happen. |
| 10 var tabCaptureEvents = []; | 13 var tabCaptureEvents = []; |
| 11 | 14 |
| 12 var tabCaptureListener = function(info) { | 15 var tabCaptureListener = function(info) { |
| 13 console.log(info.status); | 16 console.log(info.status); |
| 14 if (info.status == 'stopped') { | 17 if (info.status == 'stopped') { |
| 15 chrome.test.assertEq('active', tabCaptureEvents.pop()); | 18 chrome.test.assertEq('active', tabCaptureEvents.pop()); |
| 16 chrome.test.assertEq('pending', tabCaptureEvents.pop()); | 19 chrome.test.assertEq('pending', tabCaptureEvents.pop()); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 112 chrome.test.succeed(); | 115 chrome.test.succeed(); |
| 113 }); | 116 }); |
| 114 }, | 117 }, |
| 115 | 118 |
| 116 function noAudioOrVideoRequested() { | 119 function noAudioOrVideoRequested() { |
| 117 // If not specified, video is not requested. | 120 // If not specified, video is not requested. |
| 118 tabCapture.capture({audio: false}, function(stream) { | 121 tabCapture.capture({audio: false}, function(stream) { |
| 119 chrome.test.assertTrue(!stream); | 122 chrome.test.assertTrue(!stream); |
| 120 chrome.test.succeed(); | 123 chrome.test.succeed(); |
| 121 }); | 124 }); |
| 125 }, | |
| 126 | |
| 127 function offscreenTabsDoNotShowUpAsCapturedTabs() { | |
| 128 tabCapture.getCapturedTabs(function(captured_tabs_without_pres) { | |
| 129 tabCapture.capturePresentation( | |
| 130 helloWorldPageUri, | |
| 131 "puppies", | |
| 132 {video: true}, | |
| 133 function(stream) { | |
| 134 chrome.test.assertTrue(!!stream); | |
| 135 tabCapture.getCapturedTabs(function(captured_tabs) { | |
| 136 // Confirm that the same set of tabs is present (no more, no | |
| 137 // less). | |
| 138 chrome.test.assertEq(captured_tabs_without_pres.length, | |
|
Kevin M
2015/06/29 22:17:02
Consider comparing the stringified arrays instead,
miu
2015/06/30 04:09:59
Done.
| |
| 139 captured_tabs.length); | |
| 140 function tabIdSortFunction(a, b) { | |
| 141 return (a.tabId || 0) - (b.tabId || 0); | |
| 142 } | |
| 143 captured_tabs_without_pres.sort(tabIdSortFunction); | |
| 144 captured_tabs.sort(tabIdSortFunction); | |
| 145 for (var i = 0, end = captured_tabs.length; i < end; ++i) { | |
| 146 chrome.test.assertEq(captured_tabs_without_pres[i], | |
| 147 captured_tabs[i]); | |
| 148 } | |
| 149 | |
| 150 stream.stop(); | |
| 151 chrome.test.succeed(); | |
| 152 }); | |
| 153 }); | |
| 154 }); | |
| 155 }, | |
| 156 | |
| 157 function offscreenTabsDoNotShowUpInTabsQuery() { | |
| 158 chrome.tabs.query({/* all tabs */}, function(first_tab_list) { | |
| 159 tabCapture.capturePresentation( | |
| 160 helloWorldPageUri, | |
| 161 'kittens', | |
| 162 {video: true}, | |
| 163 function(stream) { | |
| 164 chrome.test.assertTrue(!!stream); | |
| 165 chrome.tabs.query({/* all tabs */}, function(second_tab_list) { | |
| 166 // Confirm that the same set of tabs is present (no more, no | |
| 167 // less). | |
| 168 chrome.test.assertEq(first_tab_list.length, | |
| 169 second_tab_list.length); | |
| 170 function tabIdSortFunction(a, b) { | |
| 171 return (a.id || 0) - (b.id || 0); | |
| 172 } | |
| 173 first_tab_list.sort(tabIdSortFunction); | |
| 174 second_tab_list.sort(tabIdSortFunction); | |
| 175 for (var i = 0, end = first_tab_list.length; i < end; ++i) { | |
| 176 chrome.test.assertEq(first_tab_list[i], second_tab_list[i]); | |
| 177 } | |
| 178 | |
| 179 stream.stop(); | |
| 180 chrome.test.succeed(); | |
| 181 }); | |
| 182 }); | |
| 183 }); | |
| 122 } | 184 } |
| 123 ]); | 185 ]); |
| OLD | NEW |