| Index: chrome/test/data/extensions/api_test/tab_capture/fullscreen_test.js
|
| diff --git a/chrome/test/data/extensions/api_test/tab_capture/fullscreen_test.js b/chrome/test/data/extensions/api_test/tab_capture/fullscreen_test.js
|
| index 00897c0532283ef117cdfd59a37577dd232ddbfe..7c54fe3d93594abcc9fc9bcb6b9f32bdbbb6d61e 100644
|
| --- a/chrome/test/data/extensions/api_test/tab_capture/fullscreen_test.js
|
| +++ b/chrome/test/data/extensions/api_test/tab_capture/fullscreen_test.js
|
| @@ -2,77 +2,49 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -window.addEventListener('load', () => {
|
| - // Register the fullscreen change listener. This is used to determine when to
|
| - // signal the C++ side of this test that the document has entered/exited
|
| - // fullscreen. NOTE: It's very important NOT to use the
|
| - // tabCapture.onStatusChanged listener to signal the C++ side of this test
|
| - // because sometimes the document's fullscreen state change lags behind what
|
| - // the tabCapture API knows about the browser window's fullscreen state.
|
| - // Otherwise, the C++ side of this test might proceed out-of-sync and fail.
|
| - // http://crbug.com/675851
|
| - if (document.fullscreenEnabled) {
|
| - document.onfullscreenchange = () => {
|
| - if (document.fullscreenElement)
|
| - chrome.test.sendMessage('entered_fullscreen');
|
| - };
|
| - } else if (document.webkitFullscreenEnabled) {
|
| - document.onwebkitfullscreenchange = () => {
|
| - if (document.webkitFullscreenElement)
|
| - chrome.test.sendMessage('entered_fullscreen');
|
| - };
|
| - } else {
|
| - chrome.test.assertTrue(!'HTML5 Fullscreen API missing');
|
| - }
|
| -
|
| - // Register an onclick listener that toggles the entire document into or
|
| - // out-of fullscreen mode. The clicks are generated by the C++ side of this
|
| - // test.
|
| - document.documentElement.onclick = () => {
|
| +window.addEventListener('load', function() {
|
| + document.body.onclick = function toggleBodyFullscreen() {
|
| if (document.fullscreenElement || document.webkitFullscreenElement) {
|
| if (document.exitFullscreen)
|
| document.exitFullscreen();
|
| else if (document.webkitExitFullscreen)
|
| document.webkitExitFullscreen();
|
| else
|
| - chrome.test.assertTrue(!'HTML5 Fullscreen API missing');
|
| + chrome.test.assertTrue(!"HTML5 Fullscreen API missing");
|
| } else {
|
| - if (document.documentElement.requestFullscreen)
|
| - document.documentElement.requestFullscreen();
|
| - else if (document.documentElement.webkitRequestFullscreen)
|
| - document.documentElement.webkitRequestFullscreen();
|
| + if (document.body.requestFullscreen)
|
| + document.body.requestFullscreen();
|
| + else if (document.body.webkitRequestFullscreen)
|
| + document.body.webkitRequestFullscreen();
|
| else
|
| - chrome.test.assertTrue(!'HTML5 Fullscreen API missing');
|
| + chrome.test.assertTrue(!"HTML5 Fullscreen API missing");
|
| }
|
| };
|
| +});
|
|
|
| - let mediaStream = null;
|
| - const events = [];
|
| +var mediaStream = null;
|
| +var events = [];
|
|
|
| - // Register the tab capture status change listener, which records the changes
|
| - // to fullscreen state according to the tab capture API implementation. Once
|
| - // there are three changes, check the results and succeed() the test.
|
| - chrome.tabCapture.onStatusChanged.addListener(info => {
|
| - if (info.status == 'active') {
|
| - events.push(info.fullscreen);
|
| - if (events.length == 3) {
|
| - mediaStream.getVideoTracks()[0].stop();
|
| - mediaStream.getAudioTracks()[0].stop();
|
| - chrome.test.assertFalse(events[0]);
|
| - chrome.test.assertTrue(events[1]);
|
| - chrome.test.assertFalse(events[2]);
|
| - chrome.test.succeed();
|
| - }
|
| +chrome.tabCapture.onStatusChanged.addListener(function(info) {
|
| + if (info.status == 'active') {
|
| + events.push(info.fullscreen);
|
| + if (events.length == 3) {
|
| + chrome.test.assertFalse(events[0]);
|
| + chrome.test.assertTrue(events[1]);
|
| + chrome.test.assertFalse(events[2]);
|
| + mediaStream.getVideoTracks()[0].stop();
|
| + mediaStream.getAudioTracks()[0].stop();
|
| + chrome.test.succeed();
|
| }
|
| - });
|
|
|
| - // Now that all listeners are in-place, start tab capture. Once tab capture is
|
| - // running, notify the C++ side of this test that it may commence with the
|
| - // "fullscreen toggle mouse clicks."
|
| - chrome.tabCapture.capture({audio: true, video: true}, stream => {
|
| - chrome.test.assertTrue(!!stream);
|
| - mediaStream = stream;
|
| - chrome.test.notifyPass();
|
| - chrome.test.sendMessage('tab_capture_started');
|
| - });
|
| + if (info.fullscreen)
|
| + chrome.test.sendMessage('entered_fullscreen');
|
| + }
|
| });
|
| +
|
| +chrome.tabCapture.capture({audio: true, video: true}, function(stream) {
|
| + chrome.test.assertTrue(!!stream);
|
| + mediaStream = stream;
|
| + chrome.test.notifyPass();
|
| + chrome.test.sendMessage('tab_capture_started');
|
| +});
|
|
|