MCPcopy Index your code
hub / github.com/MALSync/MALSync / setFullscreen

Function setFullscreen

src/utils/player.ts:113–192  ·  view source on GitHub ↗
(player)

Source from the content-addressed store, hash-verified

111}
112
113async function setFullscreen(player) {
114 if (!(await api.settings.getAsync('autofull'))) return;
115 if (
116 window.fullScreen ||
117 (window.innerWidth === window.screen.width && window.innerHeight === window.screen.height)
118 ) {
119 con.info('Browser already in fullscreen');
120 } else {
121 let playerEl = player;
122
123 const ids = ['player', 'vstr', 'vplayer', 'mgvideo', 'myVideo', 'b-video-wrapper', 'vilos'];
124
125 const classes = ['AT-player', 'plyr', 'AkiraPlayer', 'video-js'];
126
127 let found = false;
128
129 for (const i in ids) {
130 const playerTemp = document.getElementById(ids[i]);
131 if (playerTemp !== null) {
132 found = true;
133 playerEl = playerTemp;
134 break;
135 }
136 }
137
138 for (const i in classes) {
139 const classTemp = document.getElementsByClassName(classes[i]).item(0);
140 if (classTemp !== null) {
141 found = true;
142 playerEl = classTemp;
143 break;
144 }
145 }
146
147 if (!found) {
148 const vHeight = playerEl.offsetHeight;
149 const vWidth = playerEl.offsetWidth;
150
151 while (
152 playerEl.parentElement &&
153 vHeight === playerEl.parentElement.offsetHeight &&
154 vWidth === playerEl.parentElement.offsetWidth
155 ) {
156 playerEl = playerEl.parentElement;
157 found = true;
158 }
159 }
160
161 if (!found && !player.getAttribute('controls')) {
162 if (document.addEventListener) {
163 document.addEventListener('fullscreenchange', exitHandler, false);
164 document.addEventListener('mozfullscreenchange', exitHandler, false);
165 document.addEventListener('MSFullscreenChange', exitHandler, false);
166 document.addEventListener('webkitfullscreenchange', exitHandler, false);
167 }
168
169 function exitHandler() {
170 if (

Callers 1

playerExtrasFunction · 0.85

Calls 1

infoMethod · 0.45

Tested by

no test coverage detected