Commit Graph

12553 Commits

Author SHA1 Message Date
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
TÖRÖK Attila 1b3701e1aa ci: Disable rust-lld on Rust nightly 2024-05-21 11:15:36 +02:00
Aaron Hill d8b8ffa4f3 chore: Bump jpegxr dep to fix compiling with latest Clang 2024-05-20 23:23:28 +02:00
dependabot[bot] c0b0b8257f
build(deps): bump the cargo-minor group with 6 updates
----
updated-dependencies:
- dependency-name: anyhow
  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: 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: crossbeam-channel
  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-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 20:56:02 +00:00
dependabot[bot] 48e9eab7cc
build(deps-dev): bump the npm-minor group in /web with 3 updates
---
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: axios
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-20 22:38:55 +02:00
Aaron Hill f301b23f6e core: Treat NaN rotation as 0.0 when setting scaleX/scaleY
The `rotation` value is still reported to ActionScript as `NaN`,
but we treat it as 0.0 when computing the new matrix in the
scaleX/scaleY setters.
2024-05-19 09:52:07 -07:00
Lord-McSweeney 78e9426ba9 avm2: Add some comments for clarification 2024-05-18 17:01:49 -07:00
Lord-McSweeney c93873a7a2 avm2: Add a note on the `FindProp(Strict)` to `GetScriptGlobals` optimization 2024-05-18 17:01:49 -07:00
Lord-McSweeney a88d9dc07b avm2: Simple scoping is not required to optimize GetGlobalScope and GetGlobalSlot 2024-05-18 17:01:49 -07:00
Lord-McSweeney 267e3693ca Appease clippy 2024-05-18 17:01:49 -07:00
Lord-McSweeney 3fb549f1b5 avm2: Handle lazy multiname in findprop optimization 2024-05-18 17:01:49 -07:00
Lord-McSweeney eb27151af7 avm2: Don't call global init in optimizer 2024-05-18 17:01:49 -07:00
Lord-McSweeney 12174b5219 avm2: Propagate types from getslot, getglobalscope, and getglobalslot in optimizer 2024-05-18 17:01:49 -07:00
Lord-McSweeney 92de618261 avm2: Fix some very minor bugs with findprop optimization 2024-05-18 17:01:49 -07:00
Lord-McSweeney 796dda1ae0 avm2: Remove `fork_vtable` hack 2024-05-18 17:01:49 -07:00
Lord-McSweeney 767b7b4e44 avm2: Optimize findproperty and findpropstrict to getouterscope, getscopeobject, and getscriptglobals when possible 2024-05-18 17:01:49 -07:00
Lord-McSweeney f50b68abfd avm2: Split `GetLex` into `FindPropStrict` and `GetProperty` 2024-05-18 17:01:49 -07:00
Colin f573f7b141 avm1: Make clip have correct properties when the target of loadClip 2024-05-17 23:07:44 +02:00
TÖRÖK Attila 9522acf61d render/wgpu: Switch to pipeline-overridable constant for bitmap saturation order toggle
Also call it `late_saturate` instead, to avoid the confusing negation
between the constant name and the (now removed) shader module name.
2024-05-17 22:13:13 +02:00
TÖRÖK Attila 45a7cbbc81 ci: Test with Node.js 22 instead of 21 2024-05-17 21:53:01 +02:00
TÖRÖK Attila 6d45a766aa chore: Run `cargo update` to bump indirect deps in `Cargo.lock`
As usual, taking care not to duplicate `tracy-client` by holding back `profiling`.
2024-05-17 21:36:22 +02:00
dependabot[bot] 5fbf39fd7a build(deps): bump the cargo-minor group across 1 directory with 7 updates
Bumps the cargo-minor group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel) | `2.3.0` | `2.3.1` |
| [serde](https://github.com/serde-rs/serde) | `1.0.201` | `1.0.202` |
| [either](https://github.com/rayon-rs/either) | `1.11.0` | `1.12.0` |
| [syn](https://github.com/dtolnay/syn) | `2.0.63` | `2.0.64` |
| [toml_edit](https://github.com/toml-rs/toml) | `0.22.12` | `0.22.13` |
| [insta](https://github.com/mitsuhiko/insta) | `1.38.0` | `1.39.0` |
| [toml](https://github.com/toml-rs/toml) | `0.8.12` | `0.8.13` |



Updates `async-channel` from 2.3.0 to 2.3.1
- [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.3.0...v2.3.1)

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

Updates `either` from 1.11.0 to 1.12.0
- [Commits](https://github.com/rayon-rs/either/compare/1.11.0...1.12.0)

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

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

Updates `insta` from 1.38.0 to 1.39.0
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.38.0...1.39.0)

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

---
updated-dependencies:
- dependency-name: async-channel
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: either
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: syn
  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: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
  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-05-17 01:41:44 +02:00
dependabot[bot] fa1ac0e42d build(deps-dev): bump eslint-plugin-jsdoc in /web in the npm-minor group
Bumps the npm-minor group in /web with 1 update: [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc).


Updates `eslint-plugin-jsdoc` from 48.2.4 to 48.2.5
- [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.4...v48.2.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 01:23:24 +02:00
dependabot[bot] e356aaf310 build(deps): bump chromedriver from 124.0.3 to 125.0.0 in /web
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 124.0.3 to 125.0.0.
- [Commits](https://github.com/giggio/node-chromedriver/compare/124.0.3...125.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 01:15:39 +02:00
Nathan Adams b25fe69bac avm1: Implement StyleSheet.load 2024-05-17 00:37:39 +02:00
Nathan Adams c1e197189d avm1: Implement most of StyleSheet 2024-05-17 00:37:39 +02:00
TÖRÖK Attila 7f0e6bfaa5 meta: Deny including multiple versions of `image`
To prevent https://github.com/ruffle-rs/ruffle/issues/15836 from reoccurring.
2024-05-17 01:19:01 +03:00
TÖRÖK Attila 331d1789da render,core,desktop: Port to `wgpu` `v0.20.0`, switch to `egui` `master` 2024-05-17 01:19:01 +03:00
Nathan Adams b8c1263f9e avm1: Expose NativeObjects through SuperObject - fixes g2conline 2024-05-17 00:02:45 +02:00
Nathan Adams dfd9a26a7b avm1: Implement NetConnection, more or less 2024-05-17 00:02:45 +02:00
Daniel Jacobs 8f67d401f8 Revert "github: Add a Dependabot group just for bumping Cargo.lock"
This reverts commit 6c144a038f.
2024-05-16 23:37:34 +02:00
Kamil Jarosz 710232ee69 tests: Add tab_ordering_automatic_advanced test
This test verifies the exact behavior of the automatic tab order.
2024-05-16 21:40:56 +02:00
Kamil Jarosz aeabe3cbb5 core: Implement proper automatic tab ordering
This patch implements proper automatic tab ordering that
behaves exactly the same as in FP.

The automatic order depends only on the position of
the top-left highlight bound corner, referred to as `(x,y)`.
It does not depend on object's size or other corners.

The value of `6y+x` is used to order objects by it.
This means that the next object to be tabbed is the next one
that touches the line `y=-(x-p)/6` (with the smallest `p`).

When two objects have the same value of `6y+x`
(i.e. when the line touches two objects at the same time),
only one of them is included.

This behavior is similar to the naive approach of
"left-to-right, top-to-bottom", but (besides being sometimes
seen as random jumps) takes into account the fact that
the next object to the right may be positioned slightly higher.
This is especially true for objects placed by hand or objects with
different heights (as FP uses the top left corner instead of the center).

This behavior has been discovered experimentally by placing
tabbable objects randomly and bisecting one of their
coordinates to find a difference in behavior.
2024-05-16 21:40:56 +02:00
Kamil Jarosz f4fb689c7b tests: Fix tab_ordering_automatic_order_same_position
This test was passing totally by accident.

It contained two objects that were lying on the same y=-(x-p)/6 line.
Using the automatic order, only one of these objects should be tabbable,
however in output.txt we can see them both (clipInner2 and clip5b).
That's because the test was performed in FP with a zoom less than 100%,
which apparently changed how FP sees coordinates.
2024-05-16 21:40:56 +02:00
TÖRÖK Attila f9f4c3bb82 render/wgpu: Drop `naga_oil` in favor of manual string manipulation 2024-05-16 20:24:49 +02:00
TÖRÖK Attila 6c144a038f github: Add a Dependabot group just for bumping Cargo.lock
Hopefully, now that it runs on GHA infra, it won't timeout.
2024-05-16 20:06:02 +02:00
TÖRÖK Attila b0e812c718 github: Make Dependabot also ignore "profiling"
The other two crates are indirect through this.
2024-05-16 20:06:02 +02:00