Lord-McSweeney
e7924e564b
avm2: Fix some parameter types and signatures for XML
2024-03-17 20:01:19 -07:00
Adrian Wielgosik
27cd08deeb
avm2: Provide an option to disable the optimizer
2024-03-16 22:40:15 +01:00
soonsouth
abf7d3fa20
chore: remove repetitive words
...
Signed-off-by: soonsouth <cuibuwei@163.com>
2024-03-15 21:10:53 +01:00
Adrian Wielgosik
69ba551f0d
avm2: Add extra type propagation to astype
2024-03-14 22:32:48 +01:00
Adrian Wielgosik
88e5f9a898
avm2: unify abstract type propagation
2024-03-14 22:32:48 +01:00
renovate[bot]
3f9f19b7ac
fix(deps): update rust dependencies
2024-03-14 16:45:29 +01:00
sleepycatcoding
c7a34bb7dd
avm2: Set default for XML.elements `name` argument in AS
...
This makes it consistent with other methods on XML and XMLList.
2024-03-14 15:38:49 +01:00
sleepycatcoding
2a70f45423
avm2: Implement XMLList.elements
2024-03-14 15:38:49 +01:00
Tom Schuster
eabf7a0d58
avm2: Add Namespace.prototype.toString
2024-03-13 22:26:47 +01:00
Tom Schuster
623dba6f1f
avm2: Remove all to_string implementations except Object and Class.
...
Turns out the Vector to_string function that I added (#15562 ) was just duplicating what the
default implementation did. The Namespace one was just plain wrong.
Fixes #15474
2024-03-13 22:26:47 +01:00
Tom Schuster
09a7bd61b5
avm2: Fix Object.prototype.toString applied to Vector
2024-03-13 20:16:49 +01:00
Tom Schuster
8ec203a227
avm2: Add Function.prototype.toString and toLocaleString
2024-03-13 10:14:27 +01:00
Tom Schuster
3f17523879
avm2: Fix toString for primitive objects
2024-03-12 21:00:26 -07:00
Adrian Wielgosik
dce71fdfcb
avm2: Make Activation::from_builtin non-Result
2024-03-10 23:08:04 +01:00
Adrian Wielgosik
064cc14905
avm2: Reduce memcpy overhead in BytecodeMethod calls
2024-03-10 23:08:04 +01:00
Tom Schuster
53aee62c38
avm2: Re-implement RegExp.prototype.toString
...
Also remove the TObject to_string implementation that isn't necessary.
2024-03-10 21:27:39 +01:00
Lord-McSweeney
788c3da4aa
avm2: Add a `make_error_1014` function and use it
2024-03-10 09:49:24 -07:00
Lord-McSweeney
f76117a2be
avm2: Better target class and target variable name handling for exceptions
...
Lookup on the target class and variable name is now done in the verifier.
2024-03-10 09:49:24 -07:00
Lord-McSweeney
b5f7fa0cd0
swf: `CallMethod` takes a `disp_id`, not any sort of `Index`
2024-03-10 09:49:24 -07:00
Lord-McSweeney
028a61e744
avm2: Pre-pool multiname for `FindDef`
2024-03-10 09:49:24 -07:00
Lord-McSweeney
fdf92a9f2d
avm2: Also early lookup classes for `IsType` and `AsType`
2024-03-10 09:49:24 -07:00
Lord-McSweeney
51b9dcfb1d
avm2: Pool strings in verifier
2024-03-10 09:49:24 -07:00
Lord-McSweeney
b69eabfcdc
avm2: Lookup multinames in verifier and store them in `Op`
2024-03-10 09:49:24 -07:00
Aaron Hill
7752c32c8e
avm2: Stub GameInput.getDeviceAt and GameInputControl ( #15409 )
2024-03-09 22:01:10 +00:00
Tom Schuster
ed4bb00115
avm2: Stage.stage3Ds must return a vector
...
Fixes #15472
2024-03-07 19:33:09 +01:00
Lord-McSweeney
12ffc8a347
avm2: Remove unused and unnecessary `init_slot`
2024-03-06 20:49:19 -08:00
Nathan Adams
1a6b73f496
avm2: Use chrono's new Duration::try_ methods
2024-03-06 21:58:40 +01:00
renovate[bot]
a916369f21
fix(deps): update rust dependencies
2024-03-06 21:58:40 +01:00
Lord-McSweeney
95b5c700f5
avm2: Fix a minor optimizer bug
2024-03-06 07:21:28 -08:00
Lord-McSweeney
24d194a8b1
avm2: Propagate normal error for bad Multiname read in verifier
2024-03-06 07:21:28 -08:00
Lord-McSweeney
9a1196a7a0
avm2: Fix bugs and resolve reviews
2024-03-06 07:21:28 -08:00
Lord-McSweeney
c98d61c376
avm2: Add a `make_error_1021` function and use it
2024-03-06 07:21:28 -08:00
Lord-McSweeney
f28928dbc9
avm2: Match verifier reading implementation with FP's
2024-03-06 07:21:28 -08:00
Kamil Jarosz
c260a45603
core: Close sockets and timers when replacing the root movie
...
Turns out that the comment from `set_root_movie` was right all along!
`set_root_movie` should not be used when replacing the root movie,
because it will leave out unclosed resources.
This patch introduces `replace_root_movie`, which is dedicated to be
used when replacing (instead of just setting) the root movie.
The best solution would be to use RAII, e.g. destroy and recreate
the whole Player instance, but this patch is a first step towards
proper resource control.
2024-03-05 23:14:08 +01:00
Nathan Adams
09dfa6427e
desktop: Allow changing the language in Preferences
2024-03-05 00:02:27 +01:00
renovate[bot]
fae1c458ec
fix(deps): update rust dependencies
2024-03-04 22:18:19 +01:00
TÖRÖK Attila
7f268bf50e
chore: Update `wasm-bindgen` to `v0.2.92`, wasm-bindgen-futures to `v0.4.42`
2024-03-04 19:01:04 +01:00
TÖRÖK Attila
755fa6cded
chore: Switch `fluent-templates` back from `master` to `v0.9.0`
2024-03-04 11:05:08 +01:00
TÖRÖK Attila
85dd258168
cleanup: Remove a stale workaround for a `generational-arena` bug
2024-03-03 21:18:39 +01:00
TÖRÖK Attila
8764c08b01
cleanup: Define distinct key types for different kinds of slotmaps
2024-03-03 21:18:39 +01:00
TÖRÖK Attila
5bfd8af257
cleanup: Rename `Handle` in `loader.rs` to `LoaderHandle` to follow convention
2024-03-03 21:18:39 +01:00
Adrian Wielgosik
17c5b38bb1
avm2: Only construct type_error on error in astype, instanceof
2024-03-03 20:58:54 +01:00
MrCheeze
a119e3e130
core: Improve placement of cursor when clicking in textbox
...
Currently when clicking in a textbox, the cursor will only be placed
correctly if you click exactly on top of a letter. The basic purpose of
this commit is to make it so that clicking in the surrounding margin
will put the cursor in the closest available position, as in Flash Player.
The logic is a bit complex because a single row of text can contain
multiple layout boxes, each with a different Y offset (but all with the
same Y extent). To be accurate, we need to treat each layout box in the
row "as if" it had the same Y offset that the tallest box in its row has.
This commit also contains a fix for an issue where lower_from_text_spans
was passing the wrong text strings and indexes to fixup_line for
newlines, which needed to be fixed in order to be able to click to place
the cursor in an empty row that was created by newlines.
2024-03-02 20:30:50 +01:00
Lv Yitian
556d16302b
avm2: Implement flash.media.ID3Info ( #14916 )
2024-03-02 19:13:31 +00:00
TÖRÖK Attila
55773f0205
chore: Replace `generational-arena` with `slotmap`
2024-03-02 19:42:11 +01:00
renovate[bot]
c2179e88db
fix(deps): update rust dependencies
2024-03-02 10:05:43 +01:00
renovate[bot]
35d72115a4
fix(deps): update wasm-bindgen
2024-03-02 02:42:45 +01:00
renovate[bot]
6e84b05b66
fix(deps): update rust dependencies
2024-03-01 22:46:32 +01:00
TÖRÖK Attila
10fa4175c4
chore: Bump jpegxr and nellymoser-rs git references
2024-03-01 21:54:18 +01:00
Tom Schuster
0cea5a0a9e
core: Introduce gamepad button mapping support
2024-02-28 21:21:09 +01:00