Fix the fallback object detection.
This commit is contained in:
parent
5b5aaecb83
commit
3b1ab0e987
|
@ -3,6 +3,32 @@
|
|||
*/
|
||||
var private_registry = {};
|
||||
|
||||
/**
|
||||
* Lookup a previously registered custom element.
|
||||
*
|
||||
* @param {string} element_name The internal element name, previously used to
|
||||
* register the element with the private registry.
|
||||
*
|
||||
* @returns {object|null} The element data in the registry, or null if there is
|
||||
* no such element name registered.
|
||||
*
|
||||
* The returned object will have `name`, `class`, and `internal_name`
|
||||
* properties listing the external name, implementing class, and internal name
|
||||
* respectively.
|
||||
*/
|
||||
export function lookup_element(element_name) {
|
||||
let data = private_registry[element_name];
|
||||
if (data !== undefined) {
|
||||
return {
|
||||
"internal_name": element_name,
|
||||
"name": data.name,
|
||||
"class": data.class
|
||||
};
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a custom element.
|
||||
*
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import load_ruffle from "./load-ruffle";
|
||||
import ruffle_shadow_template from "./shadow-template";
|
||||
import { lookup_element } from "./register-element";
|
||||
|
||||
export let FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||
export let FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||
|
@ -61,13 +62,17 @@ export class RufflePlayer extends HTMLElement {
|
|||
*/
|
||||
is_unused_fallback_object() {
|
||||
let parent = this.parentNode;
|
||||
let element = lookup_element("ruffle-object");
|
||||
|
||||
if (element !== null) {
|
||||
do {
|
||||
if (parent.nodeName === "RUFFLE-OBJECT") {
|
||||
if (parent.nodeName === element.name) {
|
||||
return true;
|
||||
}
|
||||
|
||||
parent = parent.parentNode;
|
||||
} while (parent != document);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue