2019-08-22 01:02:43 +00:00
|
|
|
import RufflePlayer from "./ruffle-player.js";
|
|
|
|
|
|
|
|
export default class RuffleObject extends RufflePlayer {
|
|
|
|
constructor(...args) {
|
|
|
|
return super(...args);
|
|
|
|
}
|
|
|
|
|
|
|
|
connectedCallback() {
|
2019-08-25 19:46:38 +00:00
|
|
|
super.connectedCallback();
|
|
|
|
|
2019-08-22 01:02:43 +00:00
|
|
|
this.params = RuffleObject.params_of(this);
|
|
|
|
|
|
|
|
//Kick off the SWF download.
|
|
|
|
if (this.params.movie) {
|
2019-08-24 23:56:46 +00:00
|
|
|
super.stream_swf_url(this.params.movie);
|
2019-08-22 01:02:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static is_interdictable(elem) {
|
2019-08-25 23:43:28 +00:00
|
|
|
return elem.type === "application/x-shockwave-flash" || elem.type === "application/futuresplash";
|
2019-08-22 01:02:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
static params_of(elem) {
|
|
|
|
let params = {};
|
|
|
|
|
|
|
|
for (let param of elem.children) {
|
|
|
|
if (param.constructor === HTMLParamElement) {
|
|
|
|
params[param.name] = param.value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return params;
|
|
|
|
}
|
|
|
|
|
|
|
|
static from_native_object_element(elem) {
|
|
|
|
var ruffle_obj = document.createElement("ruffle-object");
|
|
|
|
for (let attrib of elem.attributes) {
|
|
|
|
if (attrib.specified) {
|
|
|
|
ruffle_obj.setAttribute(attrib.name, attrib.value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (let node of elem.children) {
|
|
|
|
ruffle_obj.appendChild(node);
|
|
|
|
}
|
|
|
|
|
|
|
|
return ruffle_obj;
|
|
|
|
}
|
|
|
|
}
|