Commit Graph

44 Commits

Author SHA1 Message Date
Mike Welsh 9f85686666 web: Add missing return to VersionRange.from_requirement_string 2019-11-17 17:43:19 -05:00
Mike Welsh f41708a584 web: Add missing return to Ruffle.newest() 2019-11-17 17:43:19 -05:00
David Wendt 5d8d02a5a2 Add `local` and `local_compatible` methods to the Public API. 2019-11-17 17:43:19 -05:00
David Wendt ab9af6958e Enforce the opt-out entirely within trusted extension space, so that we don't load any untrusted world code at all in that case. 2019-11-17 17:43:19 -05:00
David Wendt 5aab97053b Don't depend on the legacy elements polyfill anymore, as that no longer exists, and we define all elements on demand. 2019-11-17 17:43:19 -05:00
David Wendt d964afe72e Expose the `RufflePlayer` element directly. 2019-11-17 17:43:19 -05:00
David Wendt 75e00aff7b Allow looking up sources directly by version. 2019-11-17 17:43:19 -05:00
David Wendt 99714d445c Expand version handling to support ranges and requirements. 2019-11-17 17:43:19 -05:00
David Wendt 3b1ab0e987 Fix the fallback object detection. 2019-11-17 17:43:19 -05:00
David Wendt 5b5aaecb83 Interdictions are now called polyfills 2019-11-17 17:43:19 -05:00
David Wendt 2fa42e3b31 Allow fault tolerance for naming conflicts with Ruffle elements 2019-11-17 17:43:19 -05:00
David Wendt d53f9c8f47 Allow configuring the Webpack path 2019-11-17 17:43:19 -05:00
David Wendt fbca5a0a6f Fix broken interdictions 2019-11-17 17:43:19 -05:00
David Wendt ccd763b696 Tolerate Ruffle loading after the page loads 2019-11-17 17:43:19 -05:00
David Wendt 6d34997975 Fix some bugs in the Public API 2019-11-17 17:43:19 -05:00
David Wendt 4163ea7975 Add the ability to upgrade the Public API itself.
This isn't intended to be used right away.
2019-11-17 17:43:19 -05:00
David Wendt 6b0881e3f2 Add proper version negotiation 2019-11-17 17:43:19 -05:00
David Wendt db01ee8984 Add class to parse version strings 2019-11-17 17:43:19 -05:00
David Wendt bb184469d8 Actually install new sources 2019-11-17 17:43:19 -05:00
David Wendt f957ec4744 Create a standard list of interdictions rather than checking for specific strings. 2019-11-17 17:43:19 -05:00
David Wendt d1aa71e488 Add explicit classes for the Ruffle Public API. 2019-11-17 17:43:19 -05:00
David Wendt 5dcbe43fe1 Consolidate public API into a shared module 2019-11-17 17:43:19 -05:00
David Wendt 4742baf40d Make interdictions configured via a window object call 2019-11-17 17:43:18 -05:00
David Wendt 48fd6cc7a7 Fix declarative configuration reader 2019-11-17 17:43:18 -05:00
David Wendt 485f166df3 Add data attributes to declaratively control Ruffle. 2019-11-17 17:43:18 -05:00
David Wendt fe782e5db3 Create a third web target: "selfhosted".
Currently, selfhosted just omits some of the crazier interdictions.
2019-11-17 17:43:18 -05:00
David Wendt 4502ad54c2 Allow dynamic interdiction to apply to object/embed tags directly 2019-09-14 15:15:26 -05:00
David Wendt a942eb3ab2 Support data parameter for SWF url. 2019-09-14 15:15:26 -05:00
David Wendt 84759f8cea Fix our previous changes to the Ruffle core loader so that both the extension and demo work 2019-09-11 20:28:58 -04:00
David Wendt f59d62516e Fix demo site regressions. 2019-09-03 18:38:05 -04:00
David Wendt 406cc746ce The MimeType for `application/x-shockwave-flash` should list it's extension as `swf`, not `spl`. 2019-08-31 18:57:26 -04:00
David Wendt fc67f0872f Don't break Ruffle if we encounter an embed or object without a size. 2019-08-30 22:27:51 -04:00
David Wendt b4b38057e4 Add checks for the Ruffle element being connected.
When a Ruffle player element is disconnected, attempts to play SWF files
fail semi-silently.

We also check for nested objects, since only the top should be
successful in loading.
2019-08-30 22:27:50 -04:00
David Wendt f01f479f54 Don't forget random bits of object tag contents! 2019-08-30 22:27:50 -04:00
David Wendt 2b2f27afad Falsify a better-sounding version of Flash.
This is at least the version Chrome claims to have.
2019-08-30 22:27:50 -04:00
David Wendt 0d8b72acce Don't try to wrap text nodes, it won't end well. 2019-08-30 22:27:50 -04:00
David Wendt 190666fe91 Interdict Flash tags that use ActiveX. 2019-08-30 22:27:50 -04:00
David Wendt 21454b327b Fix incorrect centering on homestarrunner.net its dot com 2019-08-30 22:27:49 -04:00
David Wendt 61171037cd Recognize really old FutureSplash era tags as Flash 2019-08-30 22:27:49 -04:00
David Wendt c02b4c111b Overwrite navigator.plugins to defeat flash detects 2019-08-30 22:27:48 -04:00
David Wendt 101b1e5715 Fix not being able to handle multiple embeds.
This is caused by `HTMLCollection` being too smart for it's own good and
removing elements behind the loop's back.
2019-08-30 22:27:48 -04:00
David Wendt 6fbdc6f1f4 Respect the page's width and height settings in our custom elements 2019-08-30 22:27:47 -04:00
David Wendt 8060802465 Kill `bootstrap.js`, load the WASM ourselves.
Instead of forcing a chunk load on Webpack just so we can have Webpack prepare the WASM for us, we're now using the `no-modules` mode of `wasm-pack` manually and loading the resulting files ourselves.

I still have to force Ruffle to load outside of the extension sandbox though...
2019-08-30 22:27:47 -04:00
David Wendt de5a2c31c0 Add embed support. 2019-08-30 22:27:47 -04:00