web: Add additional flash MIME types to polyfill

Co-authored-by: Justin Bester <justin@frankenmando.local>
This commit is contained in:
Justin-CB 2020-04-01 21:45:32 -04:00 committed by GitHub
parent 2bdbac9247
commit ba19e6c2e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 7 deletions

View File

@ -131,6 +131,8 @@ class RufflePluginArray {
export const FLASH_PLUGIN = new RufflePlugin("Shockwave Flash", "Shockwave Flash 32.0 r0", "ruffle.js", [
new RuffleMimeType("application/futuresplash", "Shockwave Flash", "spl"),
new RuffleMimeType("application/x-shockwave-flash", "Shockwave Flash", "swf"),
new RuffleMimeType("application/x-shockwave-flash2-preview", "Shockwave Flash", "swf"),
new RuffleMimeType("application/vnd.adobe.flash-movie", "Shockwave Flash", "swf")
]);
/**

View File

@ -1,4 +1,4 @@
import { FLASH_MIMETYPE, FUTURESPLASH_MIMETYPE, is_swf_filename, RufflePlayer } from "./ruffle-player.js";
import { FLASH_MIMETYPE, FUTURESPLASH_MIMETYPE, FLASH7_AND_8_MIMETYPE, FLASH_MOVIE_MIMETYPE, is_swf_filename, RufflePlayer } from "./ruffle-player.js";
import { register_element } from "./register-element";
export default class RuffleEmbed extends RufflePlayer {
@ -34,7 +34,7 @@ export default class RuffleEmbed extends RufflePlayer {
}
static is_interdictable(elem) {
if (elem.type === FLASH_MIMETYPE || elem.type === FUTURESPLASH_MIMETYPE) {
if (elem.type === FLASH_MIMETYPE || elem.type === FUTURESPLASH_MIMETYPE || elem.type == FLASH7_AND_8_MIMETYPE || elem.type == FLASH_MOVIE_MIMETYPE) {
return true;
} else if (elem.type === undefined || elem.type === "") {
return is_swf_filename(elem.src);

View File

@ -1,4 +1,4 @@
import { FLASH_MIMETYPE, FUTURESPLASH_MIMETYPE, FLASH_ACTIVEX_CLASSID, is_swf_filename, RufflePlayer } from "./ruffle-player.js";
import { FLASH_MIMETYPE, FUTURESPLASH_MIMETYPE, FLASH7_AND_8_MIMETYPE, FLASH_MOVIE_MIMETYPE, FLASH_ACTIVEX_CLASSID, is_swf_filename, RufflePlayer } from "./ruffle-player.js";
import { register_element } from "./register-element";
export default class RuffleObject extends RufflePlayer {
@ -28,7 +28,7 @@ export default class RuffleObject extends RufflePlayer {
}
static is_interdictable(elem) {
if (elem.type === FLASH_MIMETYPE || elem.type === FUTURESPLASH_MIMETYPE) {
if (elem.type === FLASH_MIMETYPE || elem.type === FUTURESPLASH_MIMETYPE || elem.type == FLASH7_AND_8_MIMETYPE || elem.type == FLASH_MOVIE_MIMETYPE) {
return true;
} else if (elem.attributes && elem.attributes.classid && elem.attributes.classid.value === FLASH_ACTIVEX_CLASSID) {
return true;

View File

@ -4,6 +4,8 @@ import { lookup_element } from "./register-element";
export let FLASH_MIMETYPE = "application/x-shockwave-flash";
export let FUTURESPLASH_MIMETYPE = "application/futuresplash";
export let FLASH7_AND_8_MIMETYPE = "application/x-shockwave-flash2-preview";
export let FLASH_MOVIE_MIMETYPE = "application/vnd.adobe.flash-movie";
export let FLASH_ACTIVEX_CLASSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
const DIMENSION_REGEX = /^\s*(\d+(\.\d+)?(%)?)/;