Commit Graph

12430 Commits

Author SHA1 Message Date
Kamil Jarosz 0c3ab81671 debug_ui: Fix a positioning issue in Stage tab 2024-05-13 20:48:48 +02:00
Kamil Jarosz a5b7933c26 debug_ui: Add a tab for interactive objects 2024-05-13 20:48:48 +02:00
Kamil Jarosz 4253525f8b core: Add InteractiveObject.tab_enabled_default
This patch removes two methods:
* `tab_enabled_avm1`, and
* `tab_enabled_avm2_default`,
and replaces them with `tab_enabled_default`.

This refactor makes the code more readable and simple.
2024-05-13 20:48:48 +02:00
dependabot[bot] 819abe8420 build(deps): bump the cargo-minor group with 14 updates
Bumps the cargo-minor group with 14 updates:

| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel) | `2.2.1` | `2.3.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.200` | `1.0.201` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.59` | `1.0.60` |
| [linkme](https://github.com/dtolnay/linkme) | `0.3.25` | `0.3.26` |
| [bitstream-io](https://github.com/tuffy/bitstream-io) | `2.2.0` | `2.3.0` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.116` | `1.0.117` |
| [ttf-parser](https://github.com/RazrFalcon/ttf-parser) | `0.20.0` | `0.21.1` |
| [num-bigint](https://github.com/rust-num/num-bigint) | `0.4.4` | `0.4.5` |
| [syn](https://github.com/dtolnay/syn) | `2.0.60` | `2.0.63` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.81` | `1.0.82` |
| [fontdb](https://github.com/RazrFalcon/fontdb) | `0.16.2` | `0.17.0` |
| [unic-langid](https://github.com/zbraniecki/unic-locale) | `0.9.4` | `0.9.5` |
| [zip](https://github.com/zip-rs/zip2) | `1.2.0` | `1.2.3` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic) | `0.7.2` | `0.7.3` |


Updates `async-channel` from 2.2.1 to 2.3.0
- [Release notes](https://github.com/smol-rs/async-channel/releases)
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.1...v2.3.0)

Updates `serde` from 1.0.200 to 1.0.201
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201)

Updates `thiserror` from 1.0.59 to 1.0.60
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60)

Updates `linkme` from 0.3.25 to 0.3.26
- [Release notes](https://github.com/dtolnay/linkme/releases)
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.25...0.3.26)

Updates `bitstream-io` from 2.2.0 to 2.3.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.2.0...v2.3.0)

Updates `serde_json` from 1.0.116 to 1.0.117
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117)

Updates `ttf-parser` from 0.20.0 to 0.21.1
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.20.0...v0.21.1)

Updates `num-bigint` from 0.4.4 to 0.4.5
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.4...num-bigint-0.4.5)

Updates `syn` from 2.0.60 to 2.0.63
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.60...2.0.63)

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

Updates `fontdb` from 0.16.2 to 0.17.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.16.2...v0.17.0)

Updates `unic-langid` from 0.9.4 to 0.9.5
- [Release notes](https://github.com/zbraniecki/unic-locale/releases)
- [Commits](https://github.com/zbraniecki/unic-locale/commits)

Updates `zip` from 1.2.0 to 1.2.3
- [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/v1.2.0...v1.2.3)

Updates `libtest-mimic` from 0.7.2 to 0.7.3
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases)
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/compare/v0.7.2...v0.7.3)

---
updated-dependencies:
- dependency-name: async-channel
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: linkme
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: bitstream-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: ttf-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: num-bigint
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: fontdb
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: unic-langid
  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: libtest-mimic
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:49:29 +02:00
dependabot[bot] 512f733131 build(deps): bump the npm-minor group in /web with 6 updates
Bumps the npm-minor group in /web with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [chai](https://github.com/chaijs/chai) | `5.1.0` | `5.1.1` |
| [chromedriver](https://github.com/giggio/node-chromedriver) | `124.0.1` | `124.0.3` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.2.3` | `48.2.4` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.1` | `18.3.2` |
| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.4.6` | `0.4.7` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) | `0.0.267` | `0.0.268` |


Updates `chai` from 5.1.0 to 5.1.1
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v5.1.0...v5.1.1)

Updates `chromedriver` from 124.0.1 to 124.0.3
- [Commits](https://github.com/giggio/node-chromedriver/compare/124.0.1...124.0.3)

Updates `eslint-plugin-jsdoc` from 48.2.3 to 48.2.4
- [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.3...v48.2.4)

Updates `@types/react` from 18.3.1 to 18.3.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Updates `eslint-plugin-react-refresh` from 0.4.6 to 0.4.7
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.6...v0.4.7)

Updates `@types/chrome` from 0.0.267 to 0.0.268
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: chromedriver
  dependency-type: direct:production
  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: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: eslint-plugin-react-refresh
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:20:20 +02:00
Crowdin Bot 0b92233522 chore: Update translations from Crowdin 2024-05-13 07:37:06 +02:00
Crowdin Bot 3d412c955f chore: Update translations from Crowdin 2024-05-11 10:27:05 +02:00
Jacob Greenfield 272c07ea3b
avm2: Implement `describeType(null)` stub (#16235) 2024-05-10 22:06:56 +00:00
Kamil Jarosz 636011e95e tests: Add focus_highlight_avm1_button test
This test verifies how the highlight behaves for AVM1 buttons.
2024-05-10 23:52:01 +02:00
Kamil Jarosz b1b7ccfbd2 avm1: Highlight buttons using their hit bounds
Buttons are always highlighted using their hit bounds.
I guess it does have some sense to it, because their bounds
usually change on hover (children are swapped out),
which would cause the automatic tab order to change during tabbing.
That could potentially create a loop in the tab ordering
(soft locking the tab).
2024-05-10 23:52:01 +02:00
Kamil Jarosz 1e5439ab68 core: Add InteractiveObject.highlight_bounds() method
This method returns the world bounds of
the focus highlight for the interactive object.
2024-05-10 23:52:01 +02:00
Kamil Jarosz b4cbac6964 tests: Add button_keypress_vs_press test
This test ensures that button key press events take precedence
over pressing focused buttons with keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz df5e5e6035 tests: Add focus_keyboard_press test
This test verifies the behavior of pressing buttons with a keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz da9c9527e5 core: Allow pressing buttons with keyboard
This patch allows the keyboard to be used (Enter/Space) to press buttons.
2024-05-10 22:42:03 +02:00
Kamil Jarosz 18d9035685 core: Fire button event handlers only when highlight is active
It seems that button event handlers not only require focus to be fired,
but also an active highlight.
2024-05-10 22:42:03 +02:00
Kamil Jarosz 97a454cc36 core: Refactor a common condition to should_fire_button_event_handlers
This condition is identical for buttons and movie clips.
2024-05-10 22:42:03 +02:00
Kamil Jarosz bfb7e57277 debug_ui: Improve highlight display, add re-focus button
Since highlight has 3 states now, it's better represented by
describing the state instead of having a checkbox.
A re-focus button has been added to compensate for the fact
that the highlight cannot be automatically enabled anymore.
2024-05-10 22:42:03 +02:00
Kamil Jarosz df714d35bd core: Differentiate between active and visible highlight
Some button events (e.g. KeyUp/KeyDown) seem to require a state when
the highlight is not visible, but is active (i.e. a focus is selected).
That is why this patch introduces a third possible state of
the highlight: ActiveHidden.
2024-05-10 22:42:03 +02:00
Nathan Adams e31bba081e frontend-utils: Move player_options up from bundle 2024-05-10 19:51:37 +02:00
Nathan Adams 58a0f03bdf desktop: default_player_options -> default_launch_options 2024-05-10 19:51:37 +02:00
Nathan Adams 313ee5dd27 frontend-utils: Extracted out a PlayerOptions struct from desktop 2024-05-10 19:51:37 +02:00
Nathan Adams f748dd747d desktop: Made upgrade_to_https Option 2024-05-10 19:51:37 +02:00
Nathan Adams 1771e09e5e desktop: Made dummy_external_interface Option 2024-05-10 19:51:37 +02:00
Nathan Adams 34ec60aaa2 desktop: Made player_runtime Option and added to Open Advanced menu 2024-05-10 19:51:37 +02:00
Nathan Adams d3b3119c9d desktop: Made player_version Option 2024-05-10 19:51:37 +02:00
Nathan Adams 09e5339fab desktop: Made letterbox Option 2024-05-10 19:51:37 +02:00
Nathan Adams 446f567e87 desktop: Made load_behavior Option 2024-05-10 19:51:37 +02:00
Nathan Adams 230c895c92 desktop: Made scale and force_scale Option 2024-05-10 19:51:37 +02:00
Nathan Adams 55161f431c desktop: Made align and force_align Option 2024-05-10 19:51:37 +02:00
Nathan Adams 22a2bf56a2 desktop: Made quality Option 2024-05-10 19:51:37 +02:00
Nathan Adams 86c2015524 desktop: Made tcp_connections Option 2024-05-10 19:51:37 +02:00
Nathan Adams 9a74da2782 desktop: Made max_execution_duration Option<Duration>, where None is infinite 2024-05-10 19:51:37 +02:00
Nathan Adams 34c994a28f desktop: Made OptionalUrlField an OptionalField<UrlField> 2024-05-10 19:51:37 +02:00
Nathan Adams 9d6d945ca4 desktop: Rename PlayerOptions to LaunchOptions 2024-05-10 19:51:37 +02:00
TÖRÖK Attila 11c1120364 core: Invalidate cached bitmap on every newly decoded video frame
Not just when seeking manually. And request rendering to be sure.
2024-05-10 09:56:47 +02:00
Lord-McSweeney 8eaede1c2c avm2: Try to speed up domain memory ops 2024-05-09 16:41:12 -07:00
Lord-McSweeney 8ab19054aa avm2: Create bad branch errors lazily in verifier 2024-05-09 16:41:12 -07:00
Lord-McSweeney 4df7722aab avm2: Add fast path for setting array property 2024-05-09 16:41:12 -07:00
Crowdin Bot 6d89f657f8 chore: Update translations from Crowdin 2024-05-10 00:49:55 +02:00
Kamil Jarosz ea3ac098dd tests: Add avm1/button_key_events_special test
This test verifies the behavior of button events when
special characters are pressed.
2024-05-09 21:13:13 +02:00
Kamil Jarosz ed037214b1 core: Always fire KeyPress after KeyDown for buttons
Button events are actually handled twofold:
1. KeyPress for printable characters is handled on TextInput,
2. KeyPress for special characters (e.g. enter, arrows)
   is handled on KeyDown.

Before this patch, KeyPress was fired too early, so that for
special characters (2) it fired BEFORE KeyDown.
This was not a problem for printable characters, as they
fired on TextInput, which always fired separately after KeyDown.

This patch ensures that KeyPress is fired always in the proper order.
2024-05-09 21:13:13 +02:00
Kamil Jarosz fb2d8222eb tests: Add avm1/button_keypress_vs_textinput test
This test ensures that button key press events take precedence
over text input.
2024-05-09 21:13:13 +02:00
Kamil Jarosz 5541daa105 debug_ui: Add interactive tab order list 2024-05-09 20:57:53 +02:00
Kamil Jarosz baa87ff016 core: Add FocusTracker::tab_order method
This method returns the current tab order as a list of objects.
2024-05-09 20:57:53 +02:00
Kamil Jarosz ccf6b3edb5 debug_ui: Add possibility to clear current focus 2024-05-09 20:57:53 +02:00
Kamil Jarosz ab62b740a7 debug_ui: Use open_display_object_button for focus 2024-05-09 20:57:53 +02:00
sleepycatcoding 18f86634a4 frontend-utils: Do not panic when recent limit is zero and file is empty 2024-05-09 19:55:45 +03:00
Kamil Jarosz 4e39598da4 debug_ui: Exclude hidden objects properly when searching
The option "Include Hidden" was not working properly,
as it did not exclude all hidden objects when disabled.
An object is hidden also when its ancestor is not visible.
2024-05-09 08:12:59 -07:00
sleepycatcoding 059abb17ce desktop: Add a way to clear recently played files 2024-05-09 11:10:44 +02:00
Crowdin Bot 4422445f6a chore: Update translations from Crowdin 2024-05-09 10:36:21 +02:00