Version 1
[yaffs-website] / node_modules / video.js / es5 / fullscreen-api.js
1 'use strict';
2
3 exports.__esModule = true;
4
5 var _document = require('global/document');
6
7 var _document2 = _interopRequireDefault(_document);
8
9 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
10
11 /**
12  * Store the browser-specific methods for the fullscreen API.
13  *
14  * @type {Object}
15  * @see [Specification]{@link https://fullscreen.spec.whatwg.org}
16  * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}
17  */
18 var FullscreenApi = {};
19
20 // browser API methods
21 /**
22  * @file fullscreen-api.js
23  * @module fullscreen-api
24  * @private
25  */
26 var apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'],
27 // WebKit
28 ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'],
29 // Old WebKit (Safari 5.1)
30 ['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'],
31 // Mozilla
32 ['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'],
33 // Microsoft
34 ['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];
35
36 var specApi = apiMap[0];
37 var browserApi = void 0;
38
39 // determine the supported set of functions
40 for (var i = 0; i < apiMap.length; i++) {
41   // check for exitFullscreen function
42   if (apiMap[i][1] in _document2['default']) {
43     browserApi = apiMap[i];
44     break;
45   }
46 }
47
48 // map the browser API names to the spec API names
49 if (browserApi) {
50   for (var _i = 0; _i < browserApi.length; _i++) {
51     FullscreenApi[specApi[_i]] = browserApi[_i];
52   }
53 }
54
55 exports['default'] = FullscreenApi;