Mike Welsh
41bbb42071
ci: Bump to Rust 1.37
2019-09-04 13:55:28 -07:00
Mike Welsh
840d16216a
ci: Run cargo fmt and clippy on builds
2019-09-04 13:49:36 -07:00
Mike Welsh
9c9b3db7f4
Merge pull request #52 from Dinnerbone/feature/movie_clip_object
...
Movie clip access from actionscript
2019-09-04 15:16:00 -05:00
Nathan Adams
4ba12517d9
Implemented more Math methods (with tests)
2019-09-04 20:35:48 +02:00
Mike Welsh
a4eb67be10
Merge pull request #53 from kmeisthax/extension
...
Ruffle WebExtension
2019-09-04 11:47:13 -05:00
David Wendt
f59d62516e
Fix demo site regressions.
2019-09-03 18:38:05 -04:00
Nathan Adams
a4cdbc4f70
Added `Math` unit tests, first avm tests :)
2019-09-02 22:19:09 +02:00
Nathan Adams
63f85446b7
Renamed builtins to globals, `_global` is a reference to the globals object
2019-09-02 20:45:19 +02:00
Nathan Adams
200129452a
Pass along `ActionContext` to functions
2019-09-02 19:28:38 +02:00
David Wendt
9dd01494f3
build.sh should be executable
2019-09-01 11:49:27 -06: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
Nathan Adams
002272d7b5
Functions return `[type Function]` when converted to strings
2019-08-31 18:28:28 +02:00
Nathan Adams
7a18ece455
`DisplayObject`s all have a AVM1 `Value`. Added `toString()` default method for Objects (but not functions)
2019-08-31 17:54:15 +02:00
Nathan Adams
bd63a82e9e
Split off `Value` into its own file, for slightly less code clutter
2019-08-31 14:29:46 +02:00
Nathan Adams
2eca394a58
Implemented `typeof` for movieclips and functions
2019-08-31 14:09:37 +02: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
adc1a79155
Place the extension related build system back .
...
Built extension files now live in `web/extension/build`.
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
9ec4892ae7
Fix regression caused by the extension file move
2019-08-30 22:27:49 -04:00
David Wendt
de00145755
Add icons for the extension
2019-08-30 22:27:49 -04:00
David Wendt
cdf50e29bd
Move the build system and package files out of the extension directory.
...
This keeps the node_modules out of the extension package.
2019-08-30 22:27:49 -04:00
David Wendt
ce5ab95a9a
Compatibility with Chrome's extension environment
2019-08-30 22:27:48 -04:00
David Wendt
fa5a3164ea
should be executable on unixlikes
2019-08-30 22:27:48 -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
7c6ad57443
Let's completely force webpack to run outside of the extension sandbox.
...
This idea was stolen from @devsnek, whom I'm currently writing an explanation for.
2019-08-30 22:27:47 -04:00
David Wendt
7a6169275d
Tell webpack about the extension resource URLs
2019-08-30 22:27:47 -04:00
David Wendt
385b9f807e
Fix most (though not all) of our extension bugs.
...
I still can't figure out how to keep Webpack from making requests to the
injected site...
2019-08-30 22:27:47 -04:00
David Wendt
de5a2c31c0
Add embed support.
2019-08-30 22:27:47 -04:00
David Wendt
9529893437
Add console error logging for failed SWF loads
2019-08-30 22:27:46 -04:00
David Wendt
ee8b6d57ba
Don't pull params until after we've been connected.
...
Otherwise, we don't have any params yet...
2019-08-30 22:27:46 -04:00
David Wendt
5655ad44a3
It turns out, we don't need to wait for DOMContentLoaded.
2019-08-30 22:27:46 -04:00
David Wendt
c0e6866745
Fix the demo file upload option
2019-08-30 22:27:46 -04:00
David Wendt
be21a0dbbb
Configure the `<ruffle-object>` tag to style as a
...
block element, like `<object>`
2019-08-30 22:27:45 -04:00
David Wendt
2a2dbba21f
Use a custom element to actually house the Ruffle
...
instance, even though we can't really upgrade `<object>` directly...
2019-08-30 22:27:45 -04:00
David Wendt
6f32fc022c
Copy attributes from hijacked Flash objects
2019-08-30 22:27:45 -04:00
David Wendt
0414e24ce2
First start on extension packaging
2019-08-30 22:27:45 -04:00
David Wendt
bac5ecfe8d
Alter the demo a bit so that it latches onto an
...
already-existing object tag and replaces it with ruffle.
2019-08-30 22:27:45 -04:00
Nathan Adams
14786aeba6
Implemented more movie clip methods + added a basic macro to cut down on boilerplate for movie clip methods
2019-08-31 01:25:14 +02:00
Nathan Adams
543419abee
Added `Object::set_function` helper method
2019-08-30 20:49:56 +02:00
Nathan Adams
2fd7d456a4
Movie clip access from AS. Functions are now callable objects, and receive `this`.
2019-08-30 20:37:48 +02:00
Mike Welsh
35652ae87e
chore: Update dependencies
...
Run cargo update. Remove git dependency on jpeg-decoder (the latest
version was published to crates.io). Update swf-rs to latest to
disable smoothing in SWFv7 and lower (addresses #28 ).
2019-08-29 14:57:12 -07:00