Commit Graph

12089 Commits

Author SHA1 Message Date
Daniel Jacobs 7a36473f0f chore: Remove inaccurate syntax comment from AS file 2024-05-29 09:36:04 -04:00
Nathan Adams 1712cd61e5 web: Wait until the player is fully ready, for tests 2024-05-29 00:03:47 +02:00
Nathan Adams dda7411589 web: Specify polyfill/ path specifically, so it can be other paths later 2024-05-29 00:03:47 +02:00
Nathan Adams de36fc2d82 web: Clean up utils.ts optional args a bit 2024-05-29 00:03:47 +02:00
Nathan Adams 885c443737 web: Check TS types with 'lint' 2024-05-29 00:03:47 +02:00
Nathan Adams c7566d5a4a web: Convert selfhosted tests to typescript 2024-05-29 00:03:47 +02:00
Kamil Jarosz fe4e180adf tests: Add attach_movie_stop test
This test verifies that stop() works properly for a movie clip
attached with attachMovie in DoInitAction.
2024-05-28 23:57:13 +02:00
Kamil Jarosz c32b27c294 core: Fix stop() when executing attachMovie in DoInitAction
This fixes a bug where the code in the first frame of a movie clip
could have been executed after the second frame
(so that instructions like stop did not work properly).

That is because when the first frame was executed in preload
(e.g. for a sprite attached using attachMovie), the actions were queued,
the second frame was executed in run_frame, and then the actions from
the first frame were executed.

Ensuring that all actions are executed after preload fixes this issue.
2024-05-28 23:57:13 +02:00
Adrian Wielgosik 2532d7e927 avm2: Refactor Executable->BoundMethod, introduce freestanding exec() 2024-05-28 23:32:21 +02:00
Kamil Jarosz 3bb47db5f9 avm1: Move FunctionObject's base to FunctionObjectData
This shrinks AVM1's Object (from 24 to 16 bytes on x64), and
allows future shrinkage of AVM1's Value (e.g. from 24 to 16 bytes
on x64 after putting all strings behind a Gc pointer).
2024-05-28 23:18:11 +02:00
Kamil Jarosz 2ee5d522bf tests: Add focus_visibility_change test
This test verifies the behavior of focus when its visibility is changed.
2024-05-28 23:01:12 +02:00
Kamil Jarosz 658e800dfc core: Drop the focus when it's made invisible
When an object has focus and is made invisible,
the focus should be dropped.
2024-05-28 23:01:12 +02:00
Kamil Jarosz 23c1d32990 core: Pass UpdateContext to set_visible 2024-05-28 23:01:12 +02:00
Kamil Jarosz 133ea462ba tests: Update focus_remove test
Make sure that focus change is logged even if the focus is removed.
That additionally verifies that handlers are properly called.
2024-05-28 23:01:12 +02:00
Crowdin Bot c29e1420ce chore: Update translations from Crowdin 2024-05-28 01:08:35 +02:00
dependabot[bot] a6a683ffa1 build(deps): bump the cargo-minor group with 2 updates
Bumps the cargo-minor group with 2 updates: [serde](https://github.com/serde-rs/serde) and [proc-macro2](https://github.com/dtolnay/proc-macro2).


Updates `serde` from 1.0.202 to 1.0.203
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.202...v1.0.203)

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

---
updated-dependencies:
- dependency-name: serde
  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
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-28 00:48:13 +02:00
dependabot[bot] 87b57527cc build(deps-dev): bump the npm-minor group in /web with 3 updates
Bumps the npm-minor group in /web with 3 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [replace-in-file](https://github.com/adamreisnz/replace-in-file).


Updates `@typescript-eslint/eslint-plugin` from 7.10.0 to 7.11.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.11.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.10.0 to 7.11.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.11.0/packages/parser)

Updates `replace-in-file` from 7.1.0 to 7.2.0
- [Release notes](https://github.com/adamreisnz/replace-in-file/releases)
- [Changelog](https://github.com/adamreisnz/replace-in-file/blob/main/CHANGELOG.md)
- [Commits](https://github.com/adamreisnz/replace-in-file/commits)

---
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: replace-in-file
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 22:37:11 +02:00
sleepycatcoding cd24b91a82 avm2: Implement XMLList to XML proxy methods 2024-05-27 21:47:22 +02:00
sleepycatcoding ab0792904b avm2: Stub XML.add/set/removeNamespace 2024-05-27 21:47:22 +02:00
Marco Bartoli 60e6bb3600
docs: Add jpegxr in extension readme (#16470) 2024-05-27 16:32:44 +02:00
Crowdin Bot ee6e82c010 chore: Update translations from Crowdin 2024-05-27 11:57:19 +02:00
Nathan Adams 381b0897c9 avm2: Implement ExternalInterface.objectID 2024-05-26 23:00:33 +02:00
dependabot[bot] bb659b904a build(deps): bump the npm-minor group in /web with 12 updates
Bumps the npm-minor group in /web with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli) | `8.36.1` | `8.38.0` |
| [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) | `8.36.1` | `8.38.0` |
| [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `8.36.1` | `8.38.0` |
| [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `8.36.1` | `8.38.0` |
| [@wdio/static-server-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-static-server-service) | `8.36.1` | `8.38.0` |
| [stylelint](https://github.com/stylelint/stylelint) | `16.5.0` | `16.6.0` |
| [chromedriver](https://github.com/giggio/node-chromedriver) | `125.0.0` | `125.0.2` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `48.2.5` | `48.2.6` |
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.3.2` | `18.3.3` |
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `4.2.1` | `4.3.0` |
| [axios](https://github.com/axios/axios) | `1.7.1` | `1.7.2` |
| [webdriverio](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/webdriverio) | `8.36.1` | `8.38.0` |


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

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

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

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

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

Updates `stylelint` from 16.5.0 to 16.6.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.5.0...16.6.0)

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

Updates `eslint-plugin-jsdoc` from 48.2.5 to 48.2.6
- [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.5...v48.2.6)

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

Updates `@vitejs/plugin-react` from 4.2.1 to 4.3.0
- [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.0/packages/plugin-react)

Updates `axios` from 1.7.1 to 1.7.2
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.1...v1.7.2)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-26 13:14:35 +02:00
Crowdin Bot f889b18397 chore: Update translations from Crowdin 2024-05-26 13:07:02 +02:00
Kamil Jarosz f195b5b38a tests: Add edittext_drag_select test
This test verifies that text in ExitText may be selected by dragging.
2024-05-26 12:38:16 +02:00
Kamil Jarosz 1bf9756b4e text: Allow selecting text by dragging
This patch allows selecting text by pressing and dragging the mouse.
2024-05-26 12:38:16 +02:00
Adrian Wielgosik bafc5d250e tests: Add a depdendent string test, with test-only AS3 2024-05-26 12:14:30 +02:00
Adrian Wielgosik d6dbc5e767 core: Support dependent strings for concatenation 2024-05-26 12:14:30 +02:00
sleepycatcoding 3c944e35c7 desktop/frontend-utils: Show filename or bundle name in recent list
This should lead to shorter recent entries in the GUI by only showing the filename or bundle name (depending on which was opened).

If name field is missing from `recents.toml`, which would be the case with files created by previous Ruffle versions, it falls back to the filename from the URL.
2024-05-26 00:37:35 +03:00
dependabot[bot] f712c9212c build(deps): bump syn from 2.0.65 to 2.0.66 in the cargo-minor group
Bumps the cargo-minor group with 1 update: [syn](https://github.com/dtolnay/syn).


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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-25 17:35:23 +02:00
dependabot[bot] 019b80b2f3 build(deps): bump zip from 1.3.0 to 2.1.0
Bumps [zip](https://github.com/zip-rs/zip2) from 1.3.0 to 2.1.0.
- [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.3.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-25 17:13:25 +02:00
Aaron Hill f8e97808e4 core: Store MovieClip avm2_class in MovieClipStatic
This is preparation for allowing a class to be linked
to the root movie clip and instantiated.
2024-05-25 10:14:44 -04:00
Nathan Adams aefe56a8b6 web: Stub the PercentLoaded() JS method 2024-05-25 01:31:43 +02:00
Kamil Jarosz 1080c8bffa tests: Add button_keypress_vs_tab test
This test verifies that the KeyPress event handling
has precedence over tabbing.
2024-05-25 01:12:43 +02:00
Kamil Jarosz 0edb7d6890 core: KeyPress events have precedence over tabbing
When there's a button that handles KeyPress "Tab" event (code 18),
the tabbing should not be performed.
2024-05-25 01:12:43 +02:00
Crowdin Bot d996f12d58 chore: Update translations from Crowdin 2024-05-25 00:46:40 +02:00
Marco Bartoli e1f014ea85
desktop: Add HTTP Referer and Cookie (#16424) 2024-05-24 22:07:36 +00:00
Kamil Jarosz 3aa7c07e95 tests: Add edittext_selection_filter test
This test verifies that selection is rendered when filters are present.
2024-05-24 23:52:03 +02:00
Kamil Jarosz 277390aab4 core: Render EditText's selection when filters are present
This patch ensures that the selection in EditText is rendered even when
filters are present (so that cache as bitmap is enabled).
This is done by invalidating the cached bitmap on selection change.
2024-05-24 23:52:03 +02:00
Kamil Jarosz 8ac7a58d4e debug_ui: Improve EditText tab
This patch adds multiple properties and controls to EditText tab.
This includes for instance:
* border, border color,
* background, background color,
* editable, selectable, word wrap properties,
* autosize, max chars, restrict, etc.
2024-05-24 09:07:21 -04:00
Kamil Jarosz 6c67e7485e core: Invalidate EditText's bitmap when border is disabled
This patch makes sure that the bitmap is invalidated not only when
a border or background was enabled, but also when both were disabled
and the drawing has only been cleared.
2024-05-24 09:07:21 -04:00
Crowdin Bot 8082bf37b8 chore: Update translations from Crowdin 2024-05-24 11:40:04 +02:00
sleepycatcoding 671be1a810 avm2: Fix a few XML prototype method signatures 2024-05-21 23:51:35 +02:00
Tom Schuster 3949110f6b avm2: request_from_url_request should fail when the url property is null 2024-05-21 20:45:20 +02:00
Tom Schuster f54e3fdbd0 avm2: Introduce the make_error_2007 helper 2024-05-21 20:45:20 +02:00
sleepycatcoding a5c3474bbc avm2: Implement Namespace enumeration 2024-05-21 20:26:35 +02:00
Nathan Adams b9947a2d1c avm2: Add more Namespace tests and fixed some other cases 2024-05-21 19:57:39 +02:00
Nathan Adams 3692cbbb2e avm2: Implement Namespace constructor and prefix 2024-05-21 19:57:39 +02:00
TÖRÖK Attila 4eb1bb358a chore: Bump h263-rs git reference 2024-05-21 18:38:29 +02:00
TÖRÖK Attila 2dec49941a chore: Refer to a specific git hash of jpegxr instead of a branch 2024-05-21 18:38:29 +02:00