Commit Graph

242 Commits

Author SHA1 Message Date
Chris Midgley f0b29cc5d0
web: allow entering fullscreen after using escape to exit (#5714)
* web: allow entering fullscreen after using escape to exit

* chore: fmt

* web: fix fullscreen for Safari too

* web: dedupe methods and always set fullscreen

* chore: fmt

* web: use isFullscreen method
2021-12-10 19:54:22 +02:00
Daniel Jacobs d3a5561e8f web: Give toggleable option to download swfs in extension/selfhosted 2021-11-15 23:12:27 +02:00
Tal Hayon 7ed38850fd core: implement displayState for Stage in avm1/2 2021-11-11 16:20:05 -07:00
Toad06 a24d469f27 web: Unmute audio on iOS when silent mode is enabled
Co-Authored-By: Christoph Guttandin <158417+chrisguttandin@users.noreply.github.com>
2021-10-28 08:48:22 -07:00
Mike Welsh 16c443165f web: Add error-report label to bug report link 2021-10-24 17:21:03 -07:00
Mike Welsh 4141909bcb web: Support wgpu on web
Add wgpu feature to web build (disabled by default currently).
2021-10-24 17:20:19 -07:00
Mike Welsh df270c55af wgpu: Make WgpuRenderBackend::build_descriptors async
This will be necessary for using wgpu on web, where the whole
renderer creation will need to be async.
2021-10-24 17:20:19 -07:00
Toad06 7f317bca49 web: Don't polyfill files meant to be used as fallback content 2021-10-17 11:44:15 -07:00
Mike Welsh 04d84a3386 web: Implement WebAudioBackend::get_sound_position 2021-10-16 22:53:25 -07:00
relrelb d27e29bd26 web: Mark TypeScript enums as const
Unlike regular enums, const enums are completely removed during
compilation, and as such are zero-cost in bundle size terms.
Since it is not possible to query the possible values of a const
enum at runtime, adapt the `autoplay` and `unmuteOverlay` validation
logic.
2021-09-24 20:38:44 +03:00
Daniel Jacobs 2213e7d012 web: Menu embed/object attribute true value is case-insensitive 2021-09-11 14:25:52 -07:00
Daniel Jacobs 5ac9796ffd web: Support salign, quality, & scale embed/object attributes (part of #4258) 2021-09-08 16:25:47 -07:00
relrelb acd462745d web: Fix `publicPath()` being called from non-global scope
`document.currentScript` works only while the script is initially
being processed. This means that when `publicPath()` was called from
a non-global scope, it failed to detect where ruffle.js is located,
which in turn failed to determine the .wasm location.
2021-09-08 02:25:05 -07:00
relrelb 375269417f web: Set `__webpack_public_path__` in `load-ruffle.ts`
Use wasm-bindgen's built-in loader instead of relying on Webpack.
In order to still respect the `publicPath` config, set
`__webpack_public_path__` just before fetching the WebAssembly module.
This allows to no longer declare `.wasm` files as resource assets in
each `webpack.config.js`.
2021-09-08 02:25:05 -07:00
relrelb 28a155a099 web: Remove `config.publicPaths`
This simplifies the `publicPath` function and makes it useable inside
`fetchRuffle`.

Assuming `publicPaths` isn't used anywhere, this shouldn't be harmless.
2021-09-08 02:25:05 -07:00
Tal Hayon 4625ca0e0b web: fix base param 2021-09-07 16:45:35 -07:00
Daniel Jacobs 3982f3af98 web: Support menu embed/object attribute (part of #4258) 2021-08-28 14:56:35 +02:00
Tal Hayon 8cb5cf0252 web: Adds support for base embed/object attribute (Part of #4258) 2021-08-19 21:22:47 +02:00
Daniel Jacobs 985a97d599
web: Re-enable context menu on mobile, with option to disable (#5000)
* Re-enable context menu on mobile, with option to disable

* Review refactors

Co-authored-by: Adrian Wielgosik <adrian.wielgosik@gmail.com>
2021-08-19 20:28:40 +02:00
Daniel Jacobs 88f368ad0a Link all CompileErrors to wiki without a report bug button 2021-08-08 11:56:20 +02:00
Daniel Jacobs 38ae22e834 Add a loadeddata event, which triggers when loadedmetadata does for now 2021-08-03 14:28:20 -07:00
Adrian Wielgosik 02dd0ae463 web: add isExtension info to panic info and context menu version string 2021-08-03 17:47:42 +02:00
Adrian Wielgosik b940e7f00f Extension: Sidestep CORS issues by offering to load the SWF in a tab 2021-08-02 21:28:16 +02:00
relrelb 508f541ada Revert "web: Simplify .wasm loading"
This reverts commit 66bfff7687.
2021-07-27 11:19:55 +03:00
relrelb 66bfff7687 web: Simplify .wasm loading
Use wasm-bindgen's built-in loader instead of relying on Webpack.

This allows to no longer declare .wasm files as resource assets in
each webpack.config.js.

Also the bundled JS is a bit smaller (e.g. demo is now ~88KB vs.
~90KB before).
2021-07-24 14:18:19 -07:00
relrelb 49e26338bc web: Fix and cleanup npm build scripts
* Remove `buildProduction` as it was equivalent to `build`.
* Fix `build:avm_debug` and change it to `build:debug`, which also
disables Webpack optimizations.
2021-07-17 11:40:25 +03:00
relrelb f9be5c2230 web: Unify "menu_item" and "active" CSS classes
It seems that these two classes were totally equivalent, so simply
drop "active" and use only "menu_item".
Also, don't highlight disabled context menu items on hover.
2021-07-13 23:45:18 +03:00
divinity76 c94ebf133a open "not yet supported more info" in new tab
i fully intended to press "run anyway" just to see what happened, and it was annoying that Ruffle took me to another page so i had to re-load the flash.. (from a page with 10 seconds worth of ads before playing the flash, even)
2021-07-13 21:42:50 +03:00
relrelb df47c53f5c web: Remove unused `RufflePlayer._trace_observer` 2021-07-12 23:21:14 +03:00
relrelb 803da71e9c web: Remove `RufflePlayer.playButtonClicked`
Replace its few usages with `play` which is part of the public API.
Also made little cleanups to the selfhosted test utils along the way.
2021-07-12 23:21:14 +03:00
Daniel Jacobs bdf693c9c4 Remove error report link from could not download wasm module 2021-07-08 20:20:57 +02:00
relrelb 558bbdb520 web: Cleanup .eslintrc.json files
* `eslint:recommended` is not needed in the each file as it already
appears in the root config.
* The default `@typescript-eslint/naming-convention` rule is preferred.
* Other formatting improvements.
2021-07-03 21:18:42 +03:00
relrelb 6010fac5d4 web: Fix lint warnings
Using `npm run format`.
2021-06-23 15:04:54 +03:00
Chris Midgley 55685b0a2d lint: fix prettier errors 2021-06-20 02:21:17 -07:00
Daniel Jacobs b52b2a64da
web: Fix wasm compile error check 2021-06-07 11:30:17 -07:00
Daniel Jacobs bd2db4cca3
web: Add better error information about wasm CompileErrors 2021-06-05 10:15:34 -07:00
Chris Midgley cb601255d9 web: improve typescript types 2021-06-05 10:12:59 -07:00
Mike Welsh 22948789b8 web: Add MovieData.isActionScript3 and backgroundColor 2021-05-23 23:02:38 -07:00
Toad06 c5233ed172 web: Make `unmuteOverlay: "hidden"` resume audio without extra click 2021-05-16 23:34:11 -07:00
Toad06 0ee6b62517 web: Add a `none` value to completely disable the unmute overlay 2021-05-16 23:34:11 -07:00
Adrian Wielgosik c40d08e73a web: Fix context menu checkmark in web builds 2021-05-10 00:19:29 -07:00
Adrian Wielgosik 8ca22c1f02
core: Support for custom context menu items on movie root 2021-05-02 15:28:00 -07:00
relrelb f8a8b82c04 web: Cleanup ESLint configuration
* Cleanup .eslintrc.json files.
* Avoid unnecessary eslint-* directives.
2021-04-30 18:16:55 -07:00
Adrian Wielgosik 940cb8d2f7
web: Use unicode escapes for checkbox emojis 2021-04-28 13:58:04 -07:00
Adrian Wielgosik a1737b5922 avm1: Respect menu.builtInItems, but on root clip only 2021-04-27 16:42:02 -07:00
Adrian Wielgosik be40e2ce28 Fix formatting 2021-04-27 16:42:02 -07:00
Adrian Wielgosik ce4d66e0f4 avm1: support Stage.showMenu 2021-04-27 16:42:02 -07:00
Adrian Wielgosik 41a126885c web: Minimal context menu buttons for movie control 2021-04-27 16:42:02 -07:00
Mike Welsh d34b72cc47 web: Expose SWF metadata to JavaScript
Add `RufflePlayer.metadata` that exposes the SWF header fields to
JavaScript.

Add `RufflePlayer.readyState` and fire a `loadedmetadata` event
once the metadata is available, mimicking the HTML5 media APIs.
2021-04-23 16:58:24 -07:00
relrelb 0fa24b4ce0 web: Migrate file-loader to asset modules
file-loader is deprecated and asset modules are the recommended
alternative.
2021-04-21 19:03:19 -07:00