Fix the fallback object detection.
This commit is contained in:
parent
5b5aaecb83
commit
3b1ab0e987
|
@ -3,6 +3,32 @@
|
||||||
*/
|
*/
|
||||||
var private_registry = {};
|
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.
|
* Register a custom element.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import load_ruffle from "./load-ruffle";
|
import load_ruffle from "./load-ruffle";
|
||||||
import ruffle_shadow_template from "./shadow-template";
|
import ruffle_shadow_template from "./shadow-template";
|
||||||
|
import { lookup_element } from "./register-element";
|
||||||
|
|
||||||
export let FLASH_MIMETYPE = "application/x-shockwave-flash";
|
export let FLASH_MIMETYPE = "application/x-shockwave-flash";
|
||||||
export let FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
export let FUTURESPLASH_MIMETYPE = "application/futuresplash";
|
||||||
|
@ -61,13 +62,17 @@ export class RufflePlayer extends HTMLElement {
|
||||||
*/
|
*/
|
||||||
is_unused_fallback_object() {
|
is_unused_fallback_object() {
|
||||||
let parent = this.parentNode;
|
let parent = this.parentNode;
|
||||||
|
let element = lookup_element("ruffle-object");
|
||||||
|
|
||||||
|
if (element !== null) {
|
||||||
do {
|
do {
|
||||||
if (parent.nodeName === "RUFFLE-OBJECT") {
|
if (parent.nodeName === element.name) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
parent = parent.parentNode;
|
parent = parent.parentNode;
|
||||||
} while (parent != document);
|
} while (parent != document);
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue