Commit Graph

1471 Commits

Author SHA1 Message Date
Nathan Adams 4e3cd75c30 chore: Use workspace version for bitflags 2024-04-04 17:29:00 +02:00
Nathan Adams 8a390163d6 chore: Use workspace version for async-channel 2024-04-04 17:29:00 +02:00
Nathan Adams 8e4127aef6 chore: Use workspace version for anyhow 2024-04-04 17:29:00 +02:00
Kamil Jarosz 7f3c046a76 tests: Add focusrect_swf5 test
This test verifies the behavior of _focusrect for SWF5.
2024-04-04 10:58:42 +02:00
Kamil Jarosz cebd7f0e5c tests: Add focusrect_swf6 test
This test verifies the behavior of _focusrect for SWF6.
2024-04-04 10:58:42 +02:00
Kamil Jarosz 254cdabaf3 tests: Add focusrect_property_swf5 test
This test verifies the behavior of _focusrect for SWF 5.
2024-04-04 10:58:42 +02:00
Kamil Jarosz 7510780c67 tests: Add focusrect_property_swf6 test
This test verifies the behavior of _focusrect for SWF 6.
2024-04-04 10:58:42 +02:00
Kamil Jarosz fe43e1aa6a tests: Add focusrect_property_swf7 test
This test verifies the behavior of _focusrect for SWF 7.
2024-04-04 10:58:42 +02:00
Kamil Jarosz 501b42c63f tests: Add tab_ordering_movieclip_enabled_default test
This test verifies the logic behind the default value of
`MovieClip.tabEnabled` when it's undefined.
2024-04-02 00:31:34 +02:00
Kamil Jarosz a150fb3e69 tests: Add focus_highlight/focus_highlight_render 2024-04-01 23:38:59 +02:00
Kamil Jarosz 04eedcd4b4 tests: Add focus_highlight/focus_highlight_basic 2024-04-01 23:38:59 +02:00
Kamil Jarosz 95983bf4f3 core: Render yellow highlight on keyboard focus
This patch implements rendering of the yellow rectangle around
a focused element after pressing Tab. Focus tracker which is responsible
for keeping track of the current focus is now also responsible
for keeping track of the highlight and rendering thereof.
2024-04-01 23:38:59 +02:00
Kamil Jarosz f30824bf06 tests: Add tab_ordering_automatic_order_same_position test
This test verifies the behavior of duplicate (x,y) positions of objects.
Turns out, FP actually ignores other objects with the same position,
retaining only the first one.
2024-04-01 22:48:59 +02:00
Kamil Jarosz 12ff34d536 tests: Add tab_ordering_automatic_order_grid test
This test tests a grid with randomized (x,y) positions,
depths, and SWF tag positions.
It proves that mainly the position on the screen
determines the automatic order.
2024-04-01 22:48:59 +02:00
TÖRÖK Attila 36413a70f2 chore: Remove or ignore any unused deps detected by cargo-machete 2024-04-01 22:29:38 +02:00
Tom Schuster a8c917a788 tests: Add a test for DisplayObject.metaData 2024-04-01 12:31:59 +02:00
Kamil Jarosz d0e2483bc7 tests: Add tab_ordering_children test
This test verifies the behavior of `tabChildren`: how it affects
automatic and custom tabbing, and how it behaves in a hierarchy.
2024-03-30 00:15:45 +01:00
Kamil Jarosz c3843d2bf9 tests: Add tab_ordering_reverse test 2024-03-29 23:20:15 +01:00
Kamil Jarosz bc9aa18d6f tests: Add AutomatedEvent::KeyUp 2024-03-29 23:20:15 +01:00
Kamil Jarosz 67a04dcc75 tests: Add tab_ordering_properties_tab_index_edge_case test
This test covers the edge case of MovieClip.tabIndex,
where setting it to a string at the start returns this string
instead of a numerical value.
2024-03-27 00:40:24 +01:00
Kamil Jarosz 14820e59bf tests: Add tab_ordering_properties test
This test verifies the behavior of properties related to tab ordering.
2024-03-27 00:40:24 +01:00
Kamil Jarosz cc800da878 tests: Add tab_ordering_custom_basic test
This test checks the basic support of tab ordering
and its custom mode.
2024-03-27 00:40:24 +01:00
Kamil Jarosz 7e872a1b00 tests: Add tab_ordering_automatic_basic test
This test checks the basic support of tab ordering
and its automatic mode.
2024-03-27 00:40:24 +01:00
renovate[bot] 9dfc6dc224 fix(deps): update rust dependencies 2024-03-26 13:56:59 +01:00
renovate[bot] 98cbe9cf31 fix(deps): update rust dependencies 2024-03-25 02:47:32 +01:00
Lord-McSweeney af19d6f385 avm2: Fix `newactivation` in script initializer
This works the same as in a normal function
2024-03-22 18:55:23 -07:00
renovate[bot] d70560cb82 fix(deps): update rust dependencies 2024-03-22 11:10:59 +01:00
TÖRÖK Attila d9f17dac44 chore: Bump `image` to `v0.25`, without the `dxt` feature 2024-03-19 00:14:48 +01:00
michiel2005 ec99bedcf8 avm1: added mouse_wheel_enabled to text fields 2024-03-18 22:17:32 +01:00
TÖRÖK Attila 7a269c054d fix(deps): update rust dependencies 2024-03-18 12:21:47 +01:00
renovate[bot] 3f9f19b7ac fix(deps): update rust dependencies 2024-03-14 16:45:29 +01:00
Tom Schuster a3a83ab1b8 tests: Test Object.prototype.toString when called on Vectors 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 a72d56c3ad tests: Test AVM2 toString on primitive objects 2024-03-12 21:00:26 -07:00
Tom Schuster 0466605b62 tests: Test RegExp toString behavior 2024-03-10 21:27:39 +01:00
Aaron Hill 7752c32c8e
avm2: Stub GameInput.getDeviceAt and GameInputControl (#15409) 2024-03-09 22:01:10 +00:00
Tom Schuster f27d11443b tests: Test avm2 Stage.stage3Ds vector-ness 2024-03-07 19:33:09 +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 41bac2ce98 tests: Add another verification test 2024-03-06 07:21:28 -08:00
Lord-McSweeney 2ff4bf5634 tests: Improve verification test 2024-03-06 07:21:28 -08:00
Nathan Adams 09dfa6427e desktop: Allow changing the language in Preferences 2024-03-05 00:02:27 +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
renovate[bot] c2179e88db fix(deps): update rust dependencies 2024-03-02 10:05:43 +01:00
Kamil Jarosz cc8b0aa5dd core: Use async channels in NavigatorBackend
This has several advantages:
1. it allows using async variants of send and recv,
2. it adds consistency as until now Receiver was async,
   and Sender was not.
2024-02-28 19:42:54 +01:00
TÖRÖK Attila e288375543 tests: Add a failing test for Timer.setDelay changing ID 2024-02-27 23:56:33 +01:00
renovate[bot] 9cdb2f31cc fix(deps): update rust dependencies 2024-02-26 08:14:26 +01:00
renovate[bot] 6b89737093 fix(deps): update rust dependencies 2024-02-19 11:32:22 +01:00
Tom Schuster ba7c9a4e31 avm2: Always serialize as ECMAArray, which produces an AMF0 MixedArray 2024-02-19 10:13:18 +01:00