Skip to content

Commit

Permalink
Autoplay detection update: ignore NotSupportedError exceptions (#12603)
Browse files Browse the repository at this point in the history
* Ignore NotSupportedError exceptions in autoplay detection

This error is caused by a Content Security Policy that disables data: scheme for media URLs.
Before this PR, this error would cause autoplay to be disabled; now, if this error is raised it has the same effect as disabling autoplay detection.

* Remove warning that has been addressed by #11822
  • Loading branch information
github-matthieu-wipliez authored Dec 23, 2024
1 parent 2f713dd commit eb225a8
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions libraries/autoplayDetection/autoplay.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
let autoplayEnabled = null;

/**
* DEVELOPER WARNING: IMPORTING THIS LIBRARY MAY MAKE YOUR ADAPTER NO LONGER COMPATIBLE WITH APP PUBLISHERS USING WKWEBVIEW
* Note: this function returns true if detection is not done yet. This is by design: if autoplay is not allowed,
* the call to video.play() will fail immediately, otherwise it may not terminate.
* @returns true if autoplay is not forbidden
Expand Down Expand Up @@ -41,8 +40,12 @@ function startDetection() {
// if the video is played on a WebView with playsinline = false, this stops the video, to prevent it from being displayed fullscreen
videoElement.src = '';
})
.catch(() => {
autoplayEnabled = false;
.catch((error) => {
if (error instanceof DOMException && error.name === 'NotSupportedError') {
// ignore this error caused by a Content Security Policy that disables data: scheme for media URLs
} else {
autoplayEnabled = false;
}
});
}

Expand Down

0 comments on commit eb225a8

Please sign in to comment.