From c7bf0c5c03a5c7716a39a0f2f5a11681eedbac7f Mon Sep 17 00:00:00 2001 From: Jesper Date: Tue, 10 Mar 2020 09:19:34 +0100 Subject: [PATCH 1/2] Fix prototype used for selector matcher function --- src/js/utils/elements.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/utils/elements.js b/src/js/utils/elements.js index b88aad0c..43f46416 100644 --- a/src/js/utils/elements.js +++ b/src/js/utils/elements.js @@ -221,7 +221,7 @@ export function hasClass(element, className) { // Element matches selector export function matches(element, selector) { - const prototype = { Element }; + const prototype = Element.prototype; function match() { return Array.from(document.querySelectorAll(selector)).includes(this); From 99ae4eb3c5aa335926ea76e868d236112404dc22 Mon Sep 17 00:00:00 2001 From: Jesper Date: Tue, 10 Mar 2020 09:30:42 +0100 Subject: [PATCH 2/2] Compare fullscreenElement with shadowroot host if player is in shadow DOM --- src/js/fullscreen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/fullscreen.js b/src/js/fullscreen.js index c74b3406..6dc069b2 100644 --- a/src/js/fullscreen.js +++ b/src/js/fullscreen.js @@ -118,7 +118,7 @@ class Fullscreen { const element = !this.prefix ? document.fullscreenElement : document[`${this.prefix}${this.property}Element`]; - return element === this.target; + return (element && element.shadowRoot) ? element === this.target.getRootNode().host : element === this.target; } // Get target element