Commit Graph

12580 Commits

Author SHA1 Message Date
Nathan Adams 3fa8735e97 web: Don't parse config in Rust, do it in Typescript with some tests 2024-06-08 08:42:04 +02:00
Lord-McSweeney 6e53f98068 avm2: Fix performance regression
A `ScriptObject` was being allocated on every `call_method` call
2024-06-08 00:31:29 +02:00
Kamil Jarosz 7e0f2ded9d tests: Add tab_ordering_stage_tab_children_remove_root
This test verifies how Stage.tabChildren behaves
when the root movie is removed.
2024-06-08 00:12:53 +02:00
Kamil Jarosz 2704e1f506 core: Implement setting tabChildren for AVM1 for debug UI 2024-06-08 00:12:53 +02:00
Kamil Jarosz b43f23ce9a core: Move a tabChildren-related comment to the proper place 2024-06-08 00:12:53 +02:00
Kamil Jarosz 0e3a8c33e6 tests: Add avm2/tab_ordering_stage_tab_children test
This test verifies the behavior of Stage.tabChildren.
2024-06-08 00:12:53 +02:00
Kamil Jarosz 191e879172 avm2: Properly implement Stage.tabChildren
Stage.tabChildren does not modify the value of tabChildren of the stage,
but rather sets the tabChildren of the root movie.
2024-06-08 00:12:53 +02:00
Kamil Jarosz da80f6d76e debug_ui: Add "Tab children enabled" 2024-06-08 00:12:53 +02:00
Daniel Jacobs 69a2a026ae chore: Fix subject-verb agreement 2024-06-07 13:05:50 -04:00
Nathan Adams b81e5e6217 web: Update eval documentation 2024-06-07 16:58:57 +02:00
Nathan Adams f9f7ece8e3 web: Support ExternalInterface.call("function(){....}") 2024-06-07 16:58:57 +02:00
Nathan Adams 30aad921f7 web: Add ExternalInterface tests (some skipped for not working) 2024-06-07 16:58:57 +02:00
Tom Schuster 26f4126840 tests: Improve the test for XML.namespace() 2024-06-06 20:14:40 +02:00
Tom Schuster c1ace7edc7 avm2: Use an empty string as the prefix for xmlns= 2024-06-06 20:14:40 +02:00
Kamil Jarosz 0c50083c8e tests: Add avm1/movieclip_create_text_field test
This test verifies the behavior of MovieClip.createTextField's params.
2024-06-06 17:08:52 +02:00
Kamil Jarosz c3ad08c810 avm1: Treat MovieClip.createTextField params as integers
The parameters x,y,width,height of MovieClip.createTextField
should be integers.
2024-06-06 17:08:52 +02:00
Crowdin Bot e74010334f chore: Update translations from Crowdin 2024-06-06 13:07:11 +02:00
Kamil Jarosz 091aa2361f tests: Add avm2/focus_root_movie test
This test verifies the behavior of focus and focusrect
on the root movie clip.
2024-06-05 02:08:13 +02:00
Kamil Jarosz 5c89dd8374 avm2: Make the root movie non-highlightable 2024-06-05 02:08:13 +02:00
Kamil Jarosz c51f13e4e4 debug_ui: Add "Is Root" to Display tab 2024-06-05 02:08:13 +02:00
Kamil Jarosz 348cb6ea6d core: Remove unnecessary SWF version check in is_focusable
This check is unnecessary as is_focusable is only used in AVM1.
2024-06-05 02:08:13 +02:00
Kamil Jarosz b0eb0ef1d9 tests: Add avm1/focus_root_movie test
This test verifies the behavior of focusing
and tabbing into the root movie.
2024-06-05 02:08:13 +02:00
Kamil Jarosz d39c7339d9 avm1: Make the root movie clip non-focusable and non-tabbable
Root movie clip should be neither focusable, nor tabbable.
2024-06-05 02:08:13 +02:00
Lord-McSweeney 488fc4ae9f avm2: `Script` doesn't need to be borrowed 2024-06-04 15:31:14 -07:00
Lord-McSweeney 6acfc3953a avm2: Slightly improve findprop optimizations when property is found on script 2024-06-04 15:31:14 -07:00
Lord-McSweeney b523ad4b32 avm2: Fix a typo 2024-06-04 15:31:14 -07:00
Lord-McSweeney ad2c5c547e avm2: Cleanup optimizer 2024-06-04 15:31:14 -07:00
Lord-McSweeney 150d9d8bca avm2: Implement `flash.text.IME` package 2024-06-04 15:31:14 -07:00
Lord-McSweeney 43549ab1d7 avm2: Add a vtable to Class, support getting vtable of static methods in optimizer 2024-06-04 15:31:14 -07:00
Kamil Jarosz cc70686592 tests: Add avm1/focus_mouse test
This test verifies how FP handles focus changes on mouse clicks.
2024-06-04 19:39:20 +02:00
Kamil Jarosz 516e10ae26 avm1: Drop focus on EditText when something else is clicked
In AVM1 text fields are somewhat special when handling focus.
When a text field is clicked, it gains focus,
when something else is clicked, it loses the focus.
However, this logic only applies to text fields, other objects
(buttons, movie clips) neither gain focus nor lose it upon press.
2024-06-04 19:39:20 +02:00
Tom Schuster 432dd0a37c tests: Update XML.setName tests 2024-06-04 18:50:49 +02:00
Tom Schuster b6612e8f83 avm2: Support namespaces in XML.setName 2024-06-04 18:50:49 +02:00
Tom Schuster 6af5a9f7ab desktop: Support for spoofing eval("window.location.href") with ExternalInterface 2024-06-04 00:55:08 +02:00
Tom Schuster 35ec0b9e92 tests: Add tests from Dinnerbone 2024-06-04 00:22:42 +02:00
Tom Schuster 690a280fa5 avm2: Improve prefix support in ToXMLString 2024-06-04 00:22:42 +02:00
Tom Schuster 8671bdd8ee avm2: Implement XML.inScopeNamespaces 2024-06-04 00:22:42 +02:00
Tom Schuster 0b446d7cc6 avm2: Implement XML.setNamespace 2024-06-04 00:22:42 +02:00
Tom Schuster 2f7dfd8051 avm2: Implement XML.namespaceDeclarations 2024-06-04 00:22:42 +02:00
Tom Schuster f20f57c6f1 avm2: Implement XML.namespace 2024-06-04 00:22:42 +02:00
Tom Schuster 3f99866ca4 avm2: Implement XML.addNamespace 2024-06-04 00:22:42 +02:00
Lord-McSweeney 540cc5fb68 avm1: Stub `bufferLength` and `bufferTime` on `NetStream` 2024-06-03 23:56:22 +02:00
Thomas Lupin b08750a998 avm1: fix loadvars.send parameters 2024-06-03 23:36:33 +02:00
dependabot[bot] b9d246b2a5 build(deps): bump the cargo-minor group with 4 updates
Bumps the cargo-minor group with 4 updates: [proc-macro2](https://github.com/dtolnay/proc-macro2), [toml_edit](https://github.com/toml-rs/toml), [zip](https://github.com/zip-rs/zip2) and [toml](https://github.com/toml-rs/toml).


Updates `proc-macro2` from 1.0.84 to 1.0.85
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.84...1.0.85)

Updates `toml_edit` from 0.22.13 to 0.22.14
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.13...v0.22.14)

Updates `zip` from 2.1.1 to 2.1.2
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zip-rs/zip2/compare/v2.1.1...v2.1.2)

Updates `toml` from 0.8.13 to 0.8.14
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.13...toml-v0.8.14)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml_edit
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: zip
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 23:21:12 +02:00
TÖRÖK Attila 0add7d0a7b web,chore: Run `npm audit fix` to resolve an `ip` vulnerability
This fixes this advisory:
https://github.com/ruffle-rs/ruffle/security/dependabot/71
https://github.com/advisories/GHSA-78xj-cgh5-2h22
2024-06-03 23:03:16 +02:00
dependabot[bot] 80bbc47bc3 build(deps-dev): bump the npm-minor group in /web with 9 updates
Bumps the npm-minor group in /web with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.11.0` | `7.12.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.11.0` | `7.12.0` |
| [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli) | `8.38.1` | `8.38.2` |
| [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) | `8.38.0` | `8.38.2` |
| [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `8.38.0` | `8.38.2` |
| [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `8.38.0` | `8.38.2` |
| [@wdio/static-server-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-static-server-service) | `8.38.0` | `8.38.2` |
| [prettier](https://github.com/prettier/prettier) | `3.2.5` | `3.3.0` |
| [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) | `8.38.0` | `8.38.2` |


Updates `@typescript-eslint/eslint-plugin` from 7.11.0 to 7.12.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.12.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.11.0 to 7.12.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.12.0/packages/parser)

Updates `@wdio/cli` from 8.38.1 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/wdio-cli)

Updates `@wdio/local-runner` from 8.38.0 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/wdio-local-runner)

Updates `@wdio/mocha-framework` from 8.38.0 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/wdio-mocha-framework)

Updates `@wdio/spec-reporter` from 8.38.0 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/wdio-spec-reporter)

Updates `@wdio/static-server-service` from 8.38.0 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/wdio-static-server-service)

Updates `prettier` from 3.2.5 to 3.3.0
- [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.2.5...3.3.0)

Updates `webdriverio` from 8.38.0 to 8.38.2
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/v8.38.2/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v8.38.2/packages/webdriverio)

---
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
- dependency-name: "@wdio/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/local-runner"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/mocha-framework"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/spec-reporter"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/static-server-service"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 22:45:25 +02:00
Nathan Adams f887a56bcc web: Remove wrong dead_code annotation 2024-06-03 21:50:20 +02:00
Nathan Adams cf9eded421 web: Swap JsCallback closure and is_capture args, to put closure last 2024-06-03 21:50:20 +02:00
Nathan Adams cf2f16f4b4 web: Make JsCallback take a FnMut, and do the Closure internally, to reduce boilerplate 2024-06-03 21:50:20 +02:00
Nathan Adams a9c5928b62 web: Inline all the Closures for JsCallback::register 2024-06-03 21:50:20 +02:00