3 exports.__esModule = true;
5 var _document = require('global/document');
7 var _document2 = _interopRequireDefault(_document);
9 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
12 * Store the browser-specific methods for the fullscreen API.
15 * @see [Specification]{@link https://fullscreen.spec.whatwg.org}
16 * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}
18 var FullscreenApi = {};
20 // browser API methods
22 * @file fullscreen-api.js
23 * @module fullscreen-api
26 var apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror'],
28 ['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror'],
29 // Old WebKit (Safari 5.1)
30 ['webkitRequestFullScreen', 'webkitCancelFullScreen', 'webkitCurrentFullScreenElement', 'webkitCancelFullScreen', 'webkitfullscreenchange', 'webkitfullscreenerror'],
32 ['mozRequestFullScreen', 'mozCancelFullScreen', 'mozFullScreenElement', 'mozFullScreenEnabled', 'mozfullscreenchange', 'mozfullscreenerror'],
34 ['msRequestFullscreen', 'msExitFullscreen', 'msFullscreenElement', 'msFullscreenEnabled', 'MSFullscreenChange', 'MSFullscreenError']];
36 var specApi = apiMap[0];
37 var browserApi = void 0;
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];
48 // map the browser API names to the spec API names
50 for (var _i = 0; _i < browserApi.length; _i++) {
51 FullscreenApi[specApi[_i]] = browserApi[_i];
55 exports['default'] = FullscreenApi;