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

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

Issue 364123002: [Cross-Site Isolation] Migrate entire MediaStream verticals to be per-RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: It's random enough. + REBASE Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/tab_capture/api_tests.js
diff --git a/chrome/test/data/extensions/api_test/tab_capture/api_tests.js b/chrome/test/data/extensions/api_test/tab_capture/api_tests.js
index a100d25a084c094a22b901e980a12df1183e2b3e..06e50224d81085cdf51fe6444356aeba934a3ca7 100644
--- a/chrome/test/data/extensions/api_test/tab_capture/api_tests.js
+++ b/chrome/test/data/extensions/api_test/tab_capture/api_tests.js
@@ -29,25 +29,53 @@ chrome.test.runTests([
},
function getCapturedTabs() {
- var activeStream = null;
+ chrome.tabs.create({active:true}, function(secondTab) {
+ // chrome.tabCapture.capture() will only capture the active tab.
+ chrome.test.assertTrue(secondTab.active);
- var capturedTabsAfterClose = function(infos) {
- chrome.test.assertEq(1, infos.length);
- chrome.test.assertEq('stopped', infos[0].status);
- chrome.test.succeed();
- };
+ function checkInfoForSecondTabHasStatus(infos, status) {
+ for (var i = 0; i < infos.length; ++i) {
+ if (infos[i].tabId == secondTab) {
+ chrome.test.assertNe(null, status);
+ chrome.test.assertEq(status, infos[i].status);
+ chrome.test.assertEq(false, infos[i].fullscreen);
+ return;
+ }
+ }
+ }
- var capturedTabsAfterOpen = function(infos) {
- chrome.test.assertEq(1, infos.length);
- chrome.test.assertEq('active', infos[0].status);
- activeStream.stop();
- tabCapture.getCapturedTabs(capturedTabsAfterClose);
- };
+ // Step 4: After the second tab is closed, check that getCapturedTabs()
+ // returns no info at all about the second tab. http://crbug.com/338445
+ chrome.tabs.onRemoved.addListener(function() {
+ tabCapture.getCapturedTabs(function checkNoInfos(infos) {
+ checkInfoForSecondTabHasStatus(infos, null);
+ chrome.test.succeed();
+ });
+ });
- tabCapture.capture({audio: true, video: true}, function(stream) {
- chrome.test.assertTrue(!!stream);
- activeStream = stream;
- tabCapture.getCapturedTabs(capturedTabsAfterOpen);
+ var activeStream = null;
+
+ // Step 3: After the stream is stopped, check that getCapturedTabs()
+ // returns 'stopped' capturing status for the second tab.
+ var capturedTabsAfterStopCapture = function(infos) {
+ checkInfoForSecondTabHasStatus(infos, 'stopped');
+ chrome.tabs.remove(secondTab.id);
+ };
+
+ // Step 2: After the stream is started, check that getCapturedTabs()
+ // returns 'active' capturing status for the second tab.
+ var capturedTabsAfterStartCapture = function(infos) {
+ checkInfoForSecondTabHasStatus(infos, 'active');
+ activeStream.stop();
+ tabCapture.getCapturedTabs(capturedTabsAfterStopCapture);
+ };
+
+ // Step 1: Start capturing the second tab (the currently active tab).
+ tabCapture.capture({audio: true, video: true}, function(stream) {
+ chrome.test.assertTrue(!!stream);
+ activeStream = stream;
+ tabCapture.getCapturedTabs(capturedTabsAfterStartCapture);
+ });
});
},
« no previous file with comments | « chrome/browser/ui/ash/media_delegate_chromeos.cc ('k') | chrome/test/data/extensions/api_test/tab_capture/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698