Commit Graph

12430 Commits

Author SHA1 Message Date
Nathan Adams 148fa6bdf1 web: Fixed some remaining references to tools-as-js 2024-06-12 23:33:01 +02:00
Nathan Adams 8c753972ca web: Replace ts-node with tsx (mostly) 2024-06-12 23:33:01 +02:00
Nathan Adams 9f121947e7 web: Convert extension tools to typescript 2024-06-12 23:33:01 +02:00
Nathan Adams d5788d0f88 web: Convert core/tools to typescript 2024-06-12 23:33:01 +02:00
Daniel Jacobs a071b9ea3f extension: Don't use scripting API for plugin polyfill where unsupported 2024-06-12 23:15:39 +02:00
Daniel Jacobs a4550f5091 extension: Add comment about wrappedJSObject 2024-06-12 23:15:39 +02:00
Daniel Jacobs e1efe90dbd extension: Polyfill plugin using scripting API when MAIN world supported 2024-06-12 23:15:39 +02:00
Daniel Jacobs c0d094a948 extension: Use scripting permission for Flash spoofing on Firefox too 2024-06-12 23:15:39 +02:00
TÖRÖK Attila 516c56db15 chore: Suppress a `clippy::doc_lazy_continuation` beta lint false positive 2024-06-12 23:09:39 +02:00
TÖRÖK Attila 3a01dc5545 ci: Set the `-znostart-stop-gc` flag for lld when testing 2024-06-12 22:50:29 +02:00
TÖRÖK Attila 0d25b5dba8 chore: Fix `clippy::needless_borrows_for_generic_args` beta lint 2024-06-12 22:42:18 +02:00
TÖRÖK Attila 6b4ee7dfde chore: Fix most `clippy::doc_lazy_continuation` beta lints 2024-06-12 22:42:18 +02:00
Lord-McSweeney 0e062c4b9b avm2: Replace two more uses of `instance_of` with `instance_class` 2024-06-12 19:46:32 +02:00
Lord-McSweeney 97f75cc0b4 avm2: Move interface logic from `ClassObject` to `Class` 2024-06-12 19:46:32 +02:00
Lord-McSweeney 90c370d61b avm2: Always store a Class on vtable 2024-06-12 19:46:32 +02:00
Lord-McSweeney 2c9028d2f9 avm2: Replace most uses of `instance_of` with `instance_class`
Also store a Class -> alias mapping instead of a ClassObject -> alias mapping for AMF.
2024-06-12 19:46:32 +02:00
dependabot[bot] 2b17b6ce20 build(deps-dev): bump the npm-minor group in /web with 2 updates
Bumps the npm-minor group in /web with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@typescript-eslint/eslint-plugin` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.12.0 to 7.13.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.13.0/packages/parser)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 22:53:27 +02:00
Kamil Jarosz 439f3f6d62 tests: Add filters/any_blur_scales_with_screen test
This test verifies how the blur scales when the screen is scaled.
The test includes all known filters which have a blur,
but some of them (gradient filters) are disabled (made invisible)
because they are not yet fully implemented in Ruffle.
They can be made visible when they are functional
so that this test also covers them.
2024-06-10 18:50:43 +02:00
Kamil Jarosz 88a9c74ee0 swf: Fix blur scaling in filters
The blur of 1.0 is invariant, so that it should be preserved when scaling.
Using `blur * scale` also scales the invariant, which is wrong.
Tests show that `(blur - 1) * scale + 1` matches FP's behavior.
2024-06-10 18:50:43 +02:00
dependabot[bot] 0c4d551e90 build(deps-dev): bump the npm-minor group in /web with 4 updates
Bumps the npm-minor group in /web with 4 updates: [prettier](https://github.com/prettier/prettier), [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc), [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `prettier` from 3.3.0 to 3.3.1
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.0...3.3.1)

Updates `eslint-plugin-jsdoc` from 48.2.7 to 48.2.9
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v48.2.7...v48.2.9)

Updates `@vitejs/plugin-react` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.1/packages/plugin-react)

Updates `vite` from 5.2.12 to 5.2.13
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.2.13/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.13/packages/vite)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@vitejs/plugin-react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 15:59:35 +02:00
Crowdin Bot 3b9bb3f5db chore: Update translations from Crowdin 2024-06-10 00:02:16 +02:00
Adrian Wielgosik bc85638920 avm2: Port registerClassAlias logic to Rust 2024-06-09 09:14:20 -07:00
Kamil Jarosz f994c69805 tests: Add edittext_password_copy test
This test verifies how FP behaves with regard to
copying or cutting text from a password text field.
2024-06-09 15:38:35 +02:00
Kamil Jarosz 142fc1d232 core: Prevent copying and cutting text from a password field 2024-06-09 15:38:35 +02:00
Kamil Jarosz b50db4255c tests: Add edittext_paste_empty test
This test verifies how FP behaves when pasting with an empty clipboard.
2024-06-09 15:38:35 +02:00
Kamil Jarosz c23ec0782a core: Prevent pasting empty string when the clipboard is empty 2024-06-09 15:38:35 +02:00
Kamil Jarosz a2751c3c0f core: Add English translations for copy/paste context menu 2024-06-09 15:38:35 +02:00
Kamil Jarosz 6117c3c68e core: Add copy/paste context menu for EditText
This menu is shown when the EditText is focused and the mouse hovers over it.
It has the following elements, which may be disabled
when e.g. the field is not editable / selectable:
* Cut,
* Copy,
* Paste,
* Delete,
* Select All.
2024-06-09 15:38:35 +02:00
Kamil Jarosz 0910104c3b core: Add EditText::is_text_control_applicable
This method is useful for checking whether the given text control code
may be applied to the current state of the EditText.
2024-06-09 15:38:35 +02:00
Kamil Jarosz 1f3c230691 core: Pass UpdateContext to ContextMenuState::build_builtin_items
This simplifies code, as we do not have to access
the same elements over and over.
2024-06-09 15:38:35 +02:00
Adrian Wielgosik 2955add845 avm2: In Array.sortOn, behave better in presence of nonsense args 2024-06-09 11:11:57 +02:00
Lord-McSweeney 1d1eb6c966 avm2: Fix `NewClass` not popping the base class and better null propagation in optimizer 2024-06-08 14:25:43 -07:00
Lord-McSweeney bb7a315afd avm2: Misc. optimizer improvements 2024-06-08 14:25:43 -07:00
Nathan Adams 39f273bdb1 web: Don't use deflate for zips 2024-06-08 21:53:07 +02:00
Nathan Adams 0ded7c61ea web: Remove jszip, use rust 2024-06-08 21:53:07 +02:00
Nathan Adams eb26616886 web: Fix color parsing test 2024-06-08 08:42:04 +02:00
Nathan Adams dabdcd63ad web: Fix japanese font registration in rust side, and rename them to camelCase for consistency (not a breaking change as it didn't actually work prior to this...) 2024-06-08 08:42:04 +02:00
Nathan Adams 5cb46b1f9b web: Fixed italicnes in font registration 2024-06-08 08:42:04 +02:00
Nathan Adams 49ca3b2ce1 web: Iterate defaultFonts instead of copying things manually; fixes missing japanese entries 2024-06-08 08:42:04 +02:00
Nathan Adams 17d9d01d6b web: Builder is now responsible for making the actual Player 2024-06-08 08:42:04 +02:00
Nathan Adams 8ce7e82a0d web: Add create_storage_backend to builder 2024-06-08 08:42:04 +02:00
Nathan Adams b727610cc4 web: Add create_navigator to builder 2024-06-08 08:42:04 +02:00
Nathan Adams 70fca6fa0a web: Add create_audio to builder 2024-06-08 08:42:04 +02:00
Nathan Adams 77a65be5a2 web: Move create_renderer to builder 2024-06-08 08:42:04 +02:00
Nathan Adams a6ab799e1f web: Create a RuffleInstanceBuilder::create_log_subscriber 2024-06-08 08:42:04 +02:00
Nathan Adams c18520bd70 web: Create a global_init function, move our 'do this if first instance' stuff there 2024-06-08 08:42:04 +02:00
Nathan Adams 85ca0aeff8 web: Move font registration to builder, not after we've made the instance 2024-06-08 08:42:04 +02:00
Nathan Adams aa804e520b web: Store StageQuality in builder, do the defaulting in JS 2024-06-08 08:42:04 +02:00
Nathan Adams af71ef3276 web: Store StageScaleMode directly in builder, not Option<> 2024-06-08 08:42:04 +02:00
Nathan Adams 7c340f5b6c web: Store CompatibilityRules in builder, remove a bit of abstraction 2024-06-08 08:42:04 +02:00