Commit Graph

12203 Commits

Author SHA1 Message Date
Kamil Jarosz 6117c3c68e core: Add copy/paste context menu for EditText
This menu is shown when the EditText is focused and the mouse hovers over it.
It has the following elements, which may be disabled
when e.g. the field is not editable / selectable:
* Cut,
* Copy,
* Paste,
* Delete,
* Select All.
2024-06-09 15:38:35 +02:00
Kamil Jarosz 0910104c3b core: Add EditText::is_text_control_applicable
This method is useful for checking whether the given text control code
may be applied to the current state of the EditText.
2024-06-09 15:38:35 +02:00
Kamil Jarosz 1f3c230691 core: Pass UpdateContext to ContextMenuState::build_builtin_items
This simplifies code, as we do not have to access
the same elements over and over.
2024-06-09 15:38:35 +02:00
Adrian Wielgosik 2955add845 avm2: In Array.sortOn, behave better in presence of nonsense args 2024-06-09 11:11:57 +02:00
Lord-McSweeney 1d1eb6c966 avm2: Fix `NewClass` not popping the base class and better null propagation in optimizer 2024-06-08 14:25:43 -07:00
Lord-McSweeney bb7a315afd avm2: Misc. optimizer improvements 2024-06-08 14:25:43 -07:00
Nathan Adams 39f273bdb1 web: Don't use deflate for zips 2024-06-08 21:53:07 +02:00
Nathan Adams 0ded7c61ea web: Remove jszip, use rust 2024-06-08 21:53:07 +02:00
Nathan Adams eb26616886 web: Fix color parsing test 2024-06-08 08:42:04 +02:00
Nathan Adams dabdcd63ad web: Fix japanese font registration in rust side, and rename them to camelCase for consistency (not a breaking change as it didn't actually work prior to this...) 2024-06-08 08:42:04 +02:00
Nathan Adams 5cb46b1f9b web: Fixed italicnes in font registration 2024-06-08 08:42:04 +02:00
Nathan Adams 49ca3b2ce1 web: Iterate defaultFonts instead of copying things manually; fixes missing japanese entries 2024-06-08 08:42:04 +02:00
Nathan Adams 17d9d01d6b web: Builder is now responsible for making the actual Player 2024-06-08 08:42:04 +02:00
Nathan Adams 8ce7e82a0d web: Add create_storage_backend to builder 2024-06-08 08:42:04 +02:00
Nathan Adams b727610cc4 web: Add create_navigator to builder 2024-06-08 08:42:04 +02:00
Nathan Adams 70fca6fa0a web: Add create_audio to builder 2024-06-08 08:42:04 +02:00
Nathan Adams 77a65be5a2 web: Move create_renderer to builder 2024-06-08 08:42:04 +02:00
Nathan Adams a6ab799e1f web: Create a RuffleInstanceBuilder::create_log_subscriber 2024-06-08 08:42:04 +02:00
Nathan Adams c18520bd70 web: Create a global_init function, move our 'do this if first instance' stuff there 2024-06-08 08:42:04 +02:00
Nathan Adams 85ca0aeff8 web: Move font registration to builder, not after we've made the instance 2024-06-08 08:42:04 +02:00
Nathan Adams aa804e520b web: Store StageQuality in builder, do the defaulting in JS 2024-06-08 08:42:04 +02:00
Nathan Adams af71ef3276 web: Store StageScaleMode directly in builder, not Option<> 2024-06-08 08:42:04 +02:00
Nathan Adams 7c340f5b6c web: Store CompatibilityRules in builder, remove a bit of abstraction 2024-06-08 08:42:04 +02:00
Nathan Adams 3fa8735e97 web: Don't parse config in Rust, do it in Typescript with some tests 2024-06-08 08:42:04 +02:00
Lord-McSweeney 6e53f98068 avm2: Fix performance regression
A `ScriptObject` was being allocated on every `call_method` call
2024-06-08 00:31:29 +02:00
Kamil Jarosz 7e0f2ded9d tests: Add tab_ordering_stage_tab_children_remove_root
This test verifies how Stage.tabChildren behaves
when the root movie is removed.
2024-06-08 00:12:53 +02:00
Kamil Jarosz 2704e1f506 core: Implement setting tabChildren for AVM1 for debug UI 2024-06-08 00:12:53 +02:00
Kamil Jarosz b43f23ce9a core: Move a tabChildren-related comment to the proper place 2024-06-08 00:12:53 +02:00
Kamil Jarosz 0e3a8c33e6 tests: Add avm2/tab_ordering_stage_tab_children test
This test verifies the behavior of Stage.tabChildren.
2024-06-08 00:12:53 +02:00
Kamil Jarosz 191e879172 avm2: Properly implement Stage.tabChildren
Stage.tabChildren does not modify the value of tabChildren of the stage,
but rather sets the tabChildren of the root movie.
2024-06-08 00:12:53 +02:00
Kamil Jarosz da80f6d76e debug_ui: Add "Tab children enabled" 2024-06-08 00:12:53 +02:00
Daniel Jacobs 69a2a026ae chore: Fix subject-verb agreement 2024-06-07 13:05:50 -04:00
Nathan Adams b81e5e6217 web: Update eval documentation 2024-06-07 16:58:57 +02:00
Nathan Adams f9f7ece8e3 web: Support ExternalInterface.call("function(){....}") 2024-06-07 16:58:57 +02:00
Nathan Adams 30aad921f7 web: Add ExternalInterface tests (some skipped for not working) 2024-06-07 16:58:57 +02:00
Tom Schuster 26f4126840 tests: Improve the test for XML.namespace() 2024-06-06 20:14:40 +02:00
Tom Schuster c1ace7edc7 avm2: Use an empty string as the prefix for xmlns= 2024-06-06 20:14:40 +02:00
Kamil Jarosz 0c50083c8e tests: Add avm1/movieclip_create_text_field test
This test verifies the behavior of MovieClip.createTextField's params.
2024-06-06 17:08:52 +02:00
Kamil Jarosz c3ad08c810 avm1: Treat MovieClip.createTextField params as integers
The parameters x,y,width,height of MovieClip.createTextField
should be integers.
2024-06-06 17:08:52 +02:00
Crowdin Bot e74010334f chore: Update translations from Crowdin 2024-06-06 13:07:11 +02:00
Kamil Jarosz 091aa2361f tests: Add avm2/focus_root_movie test
This test verifies the behavior of focus and focusrect
on the root movie clip.
2024-06-05 02:08:13 +02:00
Kamil Jarosz 5c89dd8374 avm2: Make the root movie non-highlightable 2024-06-05 02:08:13 +02:00
Kamil Jarosz c51f13e4e4 debug_ui: Add "Is Root" to Display tab 2024-06-05 02:08:13 +02:00
Kamil Jarosz 348cb6ea6d core: Remove unnecessary SWF version check in is_focusable
This check is unnecessary as is_focusable is only used in AVM1.
2024-06-05 02:08:13 +02:00
Kamil Jarosz b0eb0ef1d9 tests: Add avm1/focus_root_movie test
This test verifies the behavior of focusing
and tabbing into the root movie.
2024-06-05 02:08:13 +02:00
Kamil Jarosz d39c7339d9 avm1: Make the root movie clip non-focusable and non-tabbable
Root movie clip should be neither focusable, nor tabbable.
2024-06-05 02:08:13 +02:00
Lord-McSweeney 488fc4ae9f avm2: `Script` doesn't need to be borrowed 2024-06-04 15:31:14 -07:00
Lord-McSweeney 6acfc3953a avm2: Slightly improve findprop optimizations when property is found on script 2024-06-04 15:31:14 -07:00
Lord-McSweeney b523ad4b32 avm2: Fix a typo 2024-06-04 15:31:14 -07:00
Lord-McSweeney ad2c5c547e avm2: Cleanup optimizer 2024-06-04 15:31:14 -07:00