Commit Graph

312 Commits

Author SHA1 Message Date
relrelb 2e77895839 web: Remove unused esm dependency
It's no longer used since 43d0f7a527.
2021-07-03 21:18:42 +03:00
relrelb 276e77d188 web: Cleanup tsconfig.json files
* Extend from the recommended config.
* Remove the exclude field that doesn't contribute to the file
inclusion (include alone should be enough).
* Remove the esModuleInterop field that shouldn't be necessary.
2021-07-03 21:18:42 +03: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 0ece8bfb38 web: Fix build without wasm-opt on Windows
Since #3111, `wasm-opt` became mandatory on GitHub Actions. But the
check whether we run on GitHub Actions is Bash-specific, and fails
on Windows. That means builds on Windows without `wasm-opt` always
fail.

As a workaround, use the trick from https://gist.github.com/prail/24acc95908e581722c0e9df5795180f6
to run the check only on Unix, and skip it on Windows:

```
echo ; [ \"$GITHUB_ACTIONS\" != true ] # > nul
```

On Unix, `echo` does nothing, the check runs, and the rest is
considered a comment.
On Windows, `echo` prints everything until the `> nul`, which
suppresses the print by redirection, making the whole statement
effectively a no-op.
2021-07-02 13:58:38 +03:00
relrelb a09733ae4c web: Fix mocha integration with ES modules
Use the workaround from https://github.com/mochajs/mocha-examples/tree/master/packages/typescript#es-modules
to help mocha run with ES modules.
The `cross-env` package is for both Unix and Windows systems support.
2021-07-02 12:38:16 +03:00
dependabot[bot] 1ac370d4bd chore: Bump mocha from 8.4.0 to 9.0.1 in /web
Bumps [mocha](https://github.com/mochajs/mocha) from 8.4.0 to 9.0.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.4.0...v9.0.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 12:38:16 +03:00
relrelb 43d0f7a527 web: Extract .mocharc.json 2021-07-02 12:38:16 +03:00
relrelb d1bf06786a web: Replace chai with Node.js built-in assert module 2021-07-02 12:38:16 +03:00
dependabot[bot] 1fbda1716e chore: Bump @typescript-eslint/parser from 4.27.0 to 4.28.1 in /web
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.27.0 to 4.28.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.28.1/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 10:44:14 +03:00
dependabot[bot] 6563670634 chore: Update eslint-plugin-jsdoc requirement in /web
Updates the requirements on [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) to permit the latest version.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v35.3.2...v35.4.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-02 00:19:49 +03:00
dependabot[bot] b166106bf7 chore: Bump @typescript-eslint/eslint-plugin in /web
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.27.0 to 4.28.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.28.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 23:33:50 +03:00
dependabot[bot] 8c7230fbc6 chore: Update typedoc requirement from ^0.21.0 to ^0.21.2 in /web
Updates the requirements on [typedoc](https://github.com/TypeStrong/TypeDoc) to permit the latest version.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.21.0...v0.21.2)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 22:25:24 +02:00
relrelb 6010fac5d4 web: Fix lint warnings
Using `npm run format`.
2021-06-23 15:04:54 +03:00
dependabot[bot] ee69567fa5 chore: Update @types/chai requirement from ^4.2.18 to ^4.2.19 in /web
Updates the requirements on [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) to permit the latest version.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 02:55:04 -07:00
Chris Midgley c2a7953943 dev: downgrade mocha to 8.4.0
Both ts-node 10 and mocha 9 include native ESM support, but I can't find
the combination of flags to get this to work.
2021-06-20 02:21:17 -07:00
Chris Midgley 55685b0a2d lint: fix prettier errors 2021-06-20 02:21:17 -07:00
Chris Midgley 8927500489 dev: update all package.json devDependencies to latest 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
relrelb dbeeb42098 web: Remove package-lock.json in core 2021-06-07 11:27:30 -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
dependabot[bot] 6061e5c6cf chore: Bump eslint-plugin-jsdoc from 33.3.0 to 35.1.2 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 33.3.0 to 35.1.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v33.3.0...v35.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 09:13:24 -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
dependabot[bot] f2130f3c58 chore: Bump eslint-plugin-jsdoc from 32.3.4 to 33.0.0 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 32.3.4 to 33.0.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v32.3.4...v33.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-01 12:56:12 -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 ff6adaf706 chore: Bump JS packages 2021-04-26 12:09:42 -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
valadaptive f6602dd377
web: Handle errors from CSPs which block WebAssembly
This removes the "Report Bug" link from the error case in which
WebAssembly code generation is disallowed by the host's content security
policy, because there's nothing we can do to fix that, and directs
people to the wiki instead.
2021-04-17 19:21:39 -07:00
Mike Welsh ae9be98821 web: Disable context menu from touch events
Once a touch event is seen, completely disable the context menu to
prevent a long press from triggering the context menu.

Fixes #1972.
2021-04-12 16:28:43 -07:00
Chris Midgley aab3ff781d web: use customElements.get over try-catch 2021-04-09 14:37:09 -07:00
Chris Midgley a171883d39 web: check for window.customElements before entering loop 2021-04-09 14:37:09 -07:00
Chris Midgley 2e42942058 web: try a limited number of times defining a custom element 2021-04-09 14:37:09 -07:00
Chris Midgley 20480ef6d8 web: crash out of infinite loop if not NotSupportedError 2021-04-09 14:37:09 -07:00
Mike Welsh d0c7aa0dff web: Fix fullscreen sizing on Safari
When Ruffle would go fullscreen on Safari, the content would often
not fill the viewport because Ruffle's width/height CSS would
override the :-webkit-full-screen CSS that Safari adds.

Add our own :-webkit-full-screen CSS with !important to force 100%
dimensions in fullscreen.
2021-03-25 16:26:37 -07:00
Suhao Jeffrey Huang ce72277a07 web: Hide navigation bar in fullscreen on Android (fix #1698) 2021-03-25 16:26:37 -07:00
relrelb 56cece3336 web: Use publicPath() instead of ruffleRuntimePath
Similarly to how selfhosted currently does.
2021-03-13 02:19:05 -08:00
relrelb 32ff16e1da web: Remove packages/core/.eslintrc.json 2021-03-05 23:07:55 -08:00
relrelb 47c7a05340 web: Add packages/core/tools/.eslintrc.json 2021-03-05 23:07:55 -08:00
relrelb 1ed8dea599 web: Improvements 2021-03-05 23:07:55 -08:00
relrelb f64e5d5b41 web: Get rid of move-file-cli 2021-03-03 07:08:43 -08:00
dependabot-preview[bot] ac056e7f83 build(deps-dev): bump eslint-plugin-jsdoc from 31.6.1 to 32.1.0 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 31.6.1 to 32.1.0.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v31.6.1...v32.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-25 14:36:42 -08:00
relrelb d62c3c0500 web: Fix CSS variables in shadow-template.ts
Apparently CSS variables need to be defined in :host rather than in
:root when it comes to shadow DOM.
2021-02-25 14:34:40 -08:00
relrelb 1b41f8fad1 web: Fix panic message alignment 2021-02-25 14:34:40 -08:00
Mike Welsh eb173f06ca web: Strip query params from URL in GitHub issue titles 2021-02-20 14:12:07 -08:00
relrelb 73b5916b2a
web: Fix player positioning 2021-02-19 17:40:43 -08:00
relrelb d3a006f62a web: Cleanup JSON files
Change indentation to 4 spaces and put newline at EOF.
2021-02-19 16:28:09 -08:00
relrelb 6a710fa1f3 web: Remove stale globals definitions
They were removed in 3e084963c6.
2021-02-19 16:28:09 -08:00
relrelb 524fb30acb chore: Cleanup .gitignore
And split it across multiple files.
2021-02-19 16:28:09 -08:00
Mike Welsh 836b631237 web: Revert style changes in #3239 2021-02-18 04:11:04 -08:00
relrelb 1c21856980
web: General refactoring
* web: Don't load a random SWF Instead, show a prompt to select or drag an SWF.
* web: Refactor webpack.config.js
* demo: Refactor index.js
* demo: Cleanup CSS
2021-02-16 20:39:46 -08:00
Ben Lubar 1c620b2c9b add TypeScript documentation for maxExecutionDuration 2021-02-16 20:31:40 -08:00
Adrian Wielgosik f787cffe54
web: Minimal polyfill of window.Reflect 2021-02-09 19:10:47 -08:00
TÖRÖK Attila 4ea1d9e33c web/build: Make successful wasm-opt invocation mandatory on GitHub Actions 2021-02-05 10:38:47 -08:00
Toad06 b5749ee228
web: Fix some context menu and warning message issues 2021-02-04 15:10:04 -08:00
Mads Marquart 1990e51639 avm2: Add UiBackend::display_unsupported_message
To allow displaying rich content when unsupported ActionScript 3 content is encountered.
2021-01-31 23:04:20 -08:00
Brian Gontowski 31dd2729e2 web: Add an onFSCommand callback into JavaScript 2021-01-31 18:03:31 -08:00
Toad06 b62ca3d589
web: Move `allowScriptAccess` to `BaseLoadOptions` 2021-01-30 16:59:58 -08:00
Omar Shehata 218f1f1da5 web: Pause player when tab is inactive (close #347) 2021-01-26 22:34:43 -08:00
Adrian Wielgosik 9195491f1b web: Redesign the context menu 2021-01-26 17:12:43 -08:00
relrelb aeda974143 web: Rename contextMenu to contextMenuElement
Firefox has a read-only "contextMenu" property, so avoid
shadowing it.
2021-01-25 03:51:50 -08:00
relrelb b07eb07afb web: Revert config removal 2021-01-25 03:51:50 -08:00
relrelb 5827801b03 web: Rename config.showContextMenu to config.contextMenu 2021-01-25 03:51:50 -08:00
relrelb 70326108b9 web: Rename "right click menu" to "context menu" 2021-01-25 03:51:50 -08:00
relrelb 21b0128bca web: Add option to disable the context menu 2021-01-25 03:51:50 -08:00
Toad06 dc2b4fcc42 web: Use enum instead of arbitrary values 2021-01-20 15:03:52 -08:00
Toad06 bc47bfb9e9 web: Display appropriate errors when Ruffle fails to initialize 2021-01-20 15:03:52 -08:00
Adrian Wielgosik b69e17bf35
web: Allow customizing log level 2021-01-19 18:10:35 -08:00
Mike Welsh c2b768c453 web: Fallback to instantiate with improper MIME type
Use --target web in wasm-bindgen and file-loader for WASM files,
allowing wasm-bindgen's built-in fallback from
WebAssembly.instantiateStreaming to instantiate.

file-loader spits out the WASM file directly in the output folder,
and imports will resolve to the URL, so that we can load the file
directly, avoiding webpack's built-in wasm loaders.

This allows Ruffle to function on web servers even if they serve
WASM files with the incorrect MIME type, fixing one of our biggest
support requests (#400, #1458). There is some performance impact
on loading with the fallback, but this is preferable to not
working at all.
2021-01-16 15:30:11 -08:00
TÖRÖK Attila 2858faaaf2
web: Drop wasm-pack, invoke wasm-bindgen and wasm-opt directly from npm (#2482) 2021-01-15 12:59:25 -08:00
Mike Welsh 9bb36885bb web: Add backgroundColor option and support bgcolor attribute
Add `backgroundColor` setting to the config options, allowing
a user to override the background color of an SWF. The polyfill
will now look for the `bgcolor` HTML attribute on the embed
and fill in this setting appropriately.
2021-01-13 11:57:19 -08:00
dependabot-preview[bot] 4dbc4e55cc build(deps-dev): bump eslint-plugin-jsdoc from 30.7.13 to 31.0.3 in /web
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 30.7.13 to 31.0.3.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v30.7.13...v31.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-11 12:04:14 -08:00
TÖRÖK Attila cce3a8199d web: Add a config option to disable the message about unsupported content 2021-01-10 16:02:23 -08:00
relrelb 828d8b7339
demo: General refactor
General cleanup and refactoring of the web demo
2021-01-09 19:36:05 -08:00
Toad06 b81fb64be9 web: Prevent "414 URI Too Long" error on Github when reporting bugs 2021-01-07 11:51:00 -08:00
Mike Welsh 01aca9f861 web: Remove upgrade_to_https param from Ruffle::new
Grab it from the `config` directly instead of using an extra param.
2021-01-07 11:46:07 -08:00
Mike Welsh 8728804f28 web: Add letterbox config option 2021-01-07 11:46:07 -08:00
Toad06 24362d72e3
web: Fix minor issues in `ruffle-player.ts` 2021-01-06 12:04:03 -08:00
Toad06 201d014edb web: Read the `allowScriptAccess` property from `embed` tags 2021-01-04 13:08:02 -08:00
dependabot-preview[bot] 338e43888a build(deps-dev): bump typescript from 4.0.5 to 4.1.3 in /web
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.0.5 to 4.1.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.0.5...v4.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-03 02:01:54 -08:00
Toad06 3ae9ad57fc web: Prevent crashes when native `Window` is overridden 2020-12-30 13:18:13 -08:00
Mike Welsh 3ea8c2fc7e chore: Fix typedoc config for typedoc 0.20 2020-12-29 17:27:48 -08:00
dependabot-preview[bot] 268ed44d6d build(deps-dev): bump typedoc from 0.19.2 to 0.20.0 in /web
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.19.2 to 0.20.0.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Commits](https://github.com/TypeStrong/TypeDoc/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-28 12:53:16 -08:00
Sam Morrow 38bdb8b39a web/desktop: Add basic dialog handling (closes #1978) 2020-12-23 19:08:18 -08:00
Toad06 777734f6ba web: Maintain compatibility with prototype.js 2020-12-21 16:26:14 -08:00
Toad06 a6b7474a6b web: Prevent crashes with external libraries 2020-12-20 15:28:52 -08:00
dependabot-preview[bot] 5503399545 build(deps-dev): bump @wdio/cli from 6.10.5 to 6.10.11 in /web
Bumps [@wdio/cli](https://github.com/webdriverio/webdriverio) from 6.10.5 to 6.10.11.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v6.10.5...v6.10.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-19 13:19:11 -08:00
Toad06 d6a857803a web: Fix extension and self-hosted builds conflicting with each other 2020-12-17 12:48:32 -08:00
JMcKiern 63be0455a8
web: Add query string to `Report Bug` link
* web: Add query string to the Report Bug link (closes #1753)
2020-12-14 11:25:10 -08:00
Sam Morrow c4d7b24629 web: Fix cors issues with http (close ruffle-rs#1486) 2020-12-14 05:51:28 -08:00
Toad06 d55f3959b9 web: Detect file extension using the `URL()` constructor 2020-12-13 15:38:18 -08:00