Commit Graph

12236 Commits

Author SHA1 Message Date
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
Lord-McSweeney 150d9d8bca avm2: Implement `flash.text.IME` package 2024-06-04 15:31:14 -07:00
Lord-McSweeney 43549ab1d7 avm2: Add a vtable to Class, support getting vtable of static methods in optimizer 2024-06-04 15:31:14 -07:00
Kamil Jarosz cc70686592 tests: Add avm1/focus_mouse test
This test verifies how FP handles focus changes on mouse clicks.
2024-06-04 19:39:20 +02:00
Kamil Jarosz 516e10ae26 avm1: Drop focus on EditText when something else is clicked
In AVM1 text fields are somewhat special when handling focus.
When a text field is clicked, it gains focus,
when something else is clicked, it loses the focus.
However, this logic only applies to text fields, other objects
(buttons, movie clips) neither gain focus nor lose it upon press.
2024-06-04 19:39:20 +02:00
Tom Schuster 432dd0a37c tests: Update XML.setName tests 2024-06-04 18:50:49 +02:00
Tom Schuster b6612e8f83 avm2: Support namespaces in XML.setName 2024-06-04 18:50:49 +02:00
Tom Schuster 6af5a9f7ab desktop: Support for spoofing eval("window.location.href") with ExternalInterface 2024-06-04 00:55:08 +02:00
Tom Schuster 35ec0b9e92 tests: Add tests from Dinnerbone 2024-06-04 00:22:42 +02:00
Tom Schuster 690a280fa5 avm2: Improve prefix support in ToXMLString 2024-06-04 00:22:42 +02:00
Tom Schuster 8671bdd8ee avm2: Implement XML.inScopeNamespaces 2024-06-04 00:22:42 +02:00
Tom Schuster 0b446d7cc6 avm2: Implement XML.setNamespace 2024-06-04 00:22:42 +02:00
Tom Schuster 2f7dfd8051 avm2: Implement XML.namespaceDeclarations 2024-06-04 00:22:42 +02:00
Tom Schuster f20f57c6f1 avm2: Implement XML.namespace 2024-06-04 00:22:42 +02:00
Tom Schuster 3f99866ca4 avm2: Implement XML.addNamespace 2024-06-04 00:22:42 +02:00
Lord-McSweeney 540cc5fb68 avm1: Stub `bufferLength` and `bufferTime` on `NetStream` 2024-06-03 23:56:22 +02:00
Thomas Lupin b08750a998 avm1: fix loadvars.send parameters 2024-06-03 23:36:33 +02:00
dependabot[bot] b9d246b2a5 build(deps): bump the cargo-minor group with 4 updates
Bumps the cargo-minor group with 4 updates: [proc-macro2](https://github.com/dtolnay/proc-macro2), [toml_edit](https://github.com/toml-rs/toml), [zip](https://github.com/zip-rs/zip2) and [toml](https://github.com/toml-rs/toml).


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

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

Updates `zip` from 2.1.1 to 2.1.2
- [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/v2.1.1...v2.1.2)

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

---
updated-dependencies:
- dependency-name: proc-macro2
  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: zip
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-06-03 23:21:12 +02:00