Commit Graph

12096 Commits

Author SHA1 Message Date
Kamil Jarosz 8a9d4f52c4 tests: Add avm2/focus_stage test
This test verifies the behavior of focus and focus highlight
for the stage object.
2024-05-04 17:05:24 -07:00
Kamil Jarosz 42c26f61d1 core: Call focus handlers on every object
Before this patch, focus handlers were called from on_focus_changed,
only for selected objects. It seems that they should be called for
every object by default.
2024-05-04 17:05:24 -07:00
Kamil Jarosz f5a0751557 avm2: Do not highlight Stage on focus
Stage is never highlightable, even if there's a focus on it.
2024-05-04 17:05:24 -07:00
Crowdin Bot d1553a203e chore: Update translations from Crowdin 2024-05-03 23:40:11 +02:00
TÖRÖK Attila 961b0bc551 chore: Do a conservative `cargo update` manually 2024-05-03 08:08:10 +02:00
Daniel Jacobs 181ddd7429 web: Don't append and subsequently remove link just to download files 2024-05-02 18:05:54 -04:00
Crowdin Bot 0551d8bf1f chore: Update translations from Crowdin 2024-05-02 23:41:08 +02:00
Crowdin Bot aa006f0e8f chore: Update translations from Crowdin 2024-05-02 18:07:40 +02:00
Colin d970c32ac0 tests: add avm1/mcl_loadclip_onload_target 2024-05-02 17:37:20 +02:00
dependabot[bot] 2cced7fcc4 build(deps-dev): bump ejs from 3.1.9 to 3.1.10 in /web
Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](https://github.com/mde/ejs/compare/v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 11:39:06 +02:00
Daniel Jacobs 99eaf7ac2c extension: Add exclusions for Time4Learning and Edgenuity 2024-05-01 15:40:42 -04:00
Crowdin Bot 1e95c6bf66 chore: Update translations from Crowdin 2024-05-01 08:57:45 +02:00
dependabot[bot] 8644fd3c12 build(deps): bump zip from 1.1.2 to 1.1.3 in the cargo-minor group
Bumps the cargo-minor group with 1 update: [zip](https://github.com/zip-rs/zip2).


Updates `zip` from 1.1.2 to 1.1.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.1.2...v1.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 08:35:18 +02:00
dependabot[bot] cca6c13710 build(deps): bump libflate from 2.0.0 to 2.1.0 in the cargo-minor group
Bumps the cargo-minor group with 1 update: [libflate](https://github.com/sile/libflate).


Updates `libflate` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/sile/libflate/releases)
- [Commits](https://github.com/sile/libflate/compare/2.0.0...2.1.0)

---
updated-dependencies:
- dependency-name: libflate
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 15:03:17 +02:00
Kamil Jarosz e89869660f tests: Add avm1/tab_ordering_custom_m1
This test verifies the behavior of tabIndex = -1.
2024-04-30 14:23:45 +02:00
Kamil Jarosz 8f288b5e97 tests: Update avm2/tab_ordering_properties
Add a case with tabIndex = -1.
2024-04-30 14:23:45 +02:00
Kamil Jarosz 8ee514e62f avm2: Handle setting tabIndex to -1
Despite throwing an error that `tabIndex` cannot be negative,
the value of -1 is allowed, and it means that `tabIndex` is unset.
2024-04-30 14:23:45 +02:00
Kamil Jarosz f40cb6435f code: Unset tabIndex upon assigning -1
The value of -1 for tabIndex always means that it's unset,
even in AVM1 where tabIndex may have a value of `undefined`.
2024-04-30 14:23:45 +02:00
Crowdin Bot 054d0aab29 chore: Update translations from Crowdin 2024-04-30 01:14:39 +02:00
dependabot[bot] 30beb57ec4 build(deps): bump chromedriver from 123.0.4 to 124.0.1 in /web
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 123.0.4 to 124.0.1.
- [Commits](https://github.com/giggio/node-chromedriver/compare/123.0.4...124.0.1)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 23:48:32 +02:00
Kamil Jarosz 71bcaae3fc tests: Add avm2/focusrect test
This test verifies when the highlight is rendered depending on
the value of `focusRect` and `stageFocusRect` in AVM2.
2024-04-29 23:41:40 +02:00
Kamil Jarosz e2738a6980 tests: Add avm2/focusrect_property test
This test verifies the behavior of InteractiveObject.focusRect
property in AVM2.
2024-04-29 23:41:40 +02:00
Kamil Jarosz ec2aaa0549 avm2: Implement InteractiveObject.focusRect 2024-04-29 23:41:40 +02:00
dependabot[bot] 6191984dd6 build(deps): bump the cargo-minor group with 4 updates
Bumps the cargo-minor group with 4 updates: [flate2](https://github.com/rust-lang/flate2-rs), [hashbrown](https://github.com/rust-lang/hashbrown), [gilrs](https://gitlab.com/gilrs-project/gilrs) and [zip](https://github.com/Pr0methean/zip).


Updates `flate2` from 1.0.29 to 1.0.30
- [Release notes](https://github.com/rust-lang/flate2-rs/releases)
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.0.29...1.0.30)

Updates `hashbrown` from 0.14.3 to 0.14.5
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.14.3...v0.14.5)

Updates `gilrs` from 0.10.6 to 0.10.7
- [Commits](https://gitlab.com/gilrs-project/gilrs/compare/v0.10.6...v0.10.7)

Updates `zip` from 1.1.1 to 1.1.2
- [Release notes](https://github.com/Pr0methean/zip/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Pr0methean/zip/compare/1.1.1...v1.1.2)

---
updated-dependencies:
- dependency-name: flate2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: hashbrown
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: gilrs
  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
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 23:18:44 +02:00
dependabot[bot] bb11e561ec build(deps): 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.7.1` | `7.8.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.7.1` | `7.8.0` |
| [stylelint](https://github.com/stylelint/stylelint) | `16.3.1` | `16.4.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `18.2.0` | `18.3.1` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.2.79` | `18.3.1` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `18.2.0` | `18.3.1` |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `18.2.25` | `18.3.0` |
| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `4.6.0` | `4.6.2` |
| [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) | `0.0.266` | `0.0.267` |


Updates `@typescript-eslint/eslint-plugin` from 7.7.1 to 7.8.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.8.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.7.1 to 7.8.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.8.0/packages/parser)

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

Updates `react` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react)

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

Updates `react-dom` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react-dom)

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

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

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

Updates `eslint-plugin-react-hooks` from 4.6.0 to 4.6.2
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/HEAD/packages/eslint-plugin-react-hooks)

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

---
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: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: eslint-plugin-react-hooks
  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-04-29 23:02:12 +02:00
Kamil Jarosz 4715c2d459 tests: Fix matching tests with test kinds
libtest_mimic adds test kind as a prefix (e.g. `[kind] test`
instead of `test`), which has to be taken into account when
filtering for possible test candidates. This patch ensures
compatibility with libtest_mimic when using test kinds.
2024-04-29 22:45:16 +02:00
Kamil Jarosz e40374c403 tests: Improve test lookup on exact match
Regression tests were looked up using full directory walk
regardless of whether there was an exact match or not.
This patch looks up the test on exact match without
scanning for all tests. This improvement is important
due to how nextest executes tests: one by one using exact matches.
2024-04-29 22:45:16 +02:00
Kamil Jarosz 7006b08095 tests: Add avm2/tab_ordering_properties
This is an AVM2 version of avm1/tab_ordering_properties
2024-04-29 21:54:06 +02:00
Kamil Jarosz b915b21622 tests: Add avm2/tab_ordering_children test
This test verifies the behavior of tabChildren.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 0479259fb9 avm2: Implement DisplayObjectContainer.tabChildren 2024-04-29 21:54:06 +02:00
Kamil Jarosz e3bc63f2bf core: Add possibility to set tab_children for containers 2024-04-29 21:54:06 +02:00
Kamil Jarosz 9e751824ff tests: Add avm2/tab_ordering_automatic_basic
This is an AVM2 version of avm1/tab_ordering_automatic_basic
2024-04-29 21:54:06 +02:00
Kamil Jarosz 1624cc9c98 tests: Add avm2/tab_ordering_custom_basic
This is an AVM2 version of avm1/tab_ordering_custom_basic
2024-04-29 21:54:06 +02:00
Kamil Jarosz 566590ac1f tests: Add avm2/tab_ordering_tabbable
This is an AVM2 version of avm1/tab_ordering_tabbable
2024-04-29 21:54:06 +02:00
Kamil Jarosz 39b6c9d096 avm2: Implement InteractiveObject.tabEnabled 2024-04-29 21:54:06 +02:00
Kamil Jarosz 1ecdaea392 avm2: Implement InteractiveObject.tabIndex 2024-04-29 21:54:06 +02:00
Kamil Jarosz 14f7665912 core: Allow setting tabEnabled for AVM2
The field tab_enabled in AVM1 is effectively read-only as
tabEnabled is not a built-in property of objects.
That is not the case in AVM2, where tab_enabled is native.

This patch covers both of these cases by introducing methods:
* tab_enabled,
* set_tab_enabled,
* tab_enabled_avm1,
* tab_enabled_avm2_default.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 036b898122 avm2: Call focus handler in AVM2 buttons
The focus handler should also be called for AVM2 buttons when
the focus is being changed.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 40bc787fd7 tests: Add tab_ordering_custom_i32_vs_u32 test
This test verifies the behavior of i32/u32 discrepancy
in tabIndex in AVM1.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 02091e590d avm1: Move tab_index to InteractiveObject and make it i32
The i32/u32 discrepancy is only a data presentation issue,
as the value is treated as i32 in every case.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 712ab7fce1 tests: Update avm1/tab_ordering_properties
Add a case of a non-editable text field.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 0c03aacb59 tests: Update avm1/tab_ordering_tabbable
Add a case of a dynamic text field with tab enabled.
2024-04-29 21:54:06 +02:00
Kamil Jarosz 86c0a30166 tests: Add textline_inapplicable_properties test
This test verifies the behavior of inapplicable
properties of `TextLine`.
2024-04-29 21:18:08 +02:00
Kamil Jarosz e7eaf2a640 avm2: Override inapplicable properties in TextLine
Some inherited properties of `TextLine` are inapplicable.
They always return the default value and throw an error when set.
2024-04-29 21:18:08 +02:00
sleepycatcoding 7eae6ad90b desktop: Add translatable string for recents menu entry 2024-04-29 20:46:42 +02:00
sleepycatcoding 15a0d18b16 desktop: Filter out invalid and unavailable recent entries 2024-04-29 20:46:42 +02:00
sleepycatcoding c5dade88dd desktop: Separate menu bar into a module 2024-04-29 20:46:42 +02:00
sleepycatcoding c37677e27a desktop: Move about window into dialogs 2024-04-29 20:46:42 +02:00
sleepycatcoding e21f7c1aab desktop: Move VolumeControls into dialogs 2024-04-29 20:46:42 +02:00
sleepycatcoding eb9c95c660 desktop: Separate dialogs into a separate struct 2024-04-29 20:46:42 +02:00