Mike Welsh
29754eace8
web: Avoid `copyToChannel` on Safari
...
`AudioBuffer.copyToChannel` does not work on Safari, so switch to
using `getChannelData` to fill the audio buffers.
Limitations in wasm-bindgen prevent us from actually modifying the
data returned by `getChannelData` on the Rust side, so import a JS
function to fill the audio buffer (js-src/ruffle-imports.js).
2019-12-03 23:05:42 -08:00
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