ruffle/core/src
Aaron Hill 487017e7c5 avm2: Properly handle Dictionary enumerants
Previously, there was an off-by-one bug in `get_enumerant_name`,
which caused us to produce a spurious 'null' as a key.
However, the 'dictionary_foreach' test only checked that certain
keys were present, so the presence of an additional key didn't break
the test.

This commit makes Dictionary enumerants behave in the same way as
Array enumerants - all of the object-specific enumerants
(in this case, the non-primitive dicitonar keys) come first,
followed by 'base' enumerants from ScriptObject (in this case,
primtive/String keys). Additionally, `setPropertyIsEnumerable` is now
ignored for `Dictionary`, consistent with Flash's behavior.

The `dictionary_foreach` test is updated to print out all of
the keys when inspecting the dictionary. Since the enumeration
order is unstable (under both Flash and Ruffle) due to the dependency
on pointer hashing, the test sorts the keys before printing them.
This ensures that we get stable output which is consistent between
Ruffle and Flash.
2022-06-07 00:39:42 +02:00
..
avm1 avm1: Correct `Value::as_bool(String)` in SWFv6 and below 2022-05-27 23:05:55 +03:00
avm2 avm2: Properly handle Dictionary enumerants 2022-06-07 00:39:42 +02:00
backend render: Introduce `RenderBackend::register_bitmap` 2022-06-02 15:27:29 -07:00
bitmap render: Introduce `RenderBackend::register_bitmap` 2022-06-02 15:27:29 -07:00
display_object core: Use `swf::Matrix::translate` in more places 2022-05-29 21:33:53 +03:00
html swf: Introduce `Color::BLACK` 2022-05-12 12:12:06 -07:00
xml xml: Remove `XmlAttributesObject` 2022-05-07 10:24:45 -07:00
avm1.rs avm1: Pass ExecutionReason to `Object::call_method` 2022-05-14 22:29:44 -07:00
avm2.rs avm2: Partially implement `URLLoader` and related classes 2022-05-20 11:41:17 -07:00
backend.rs core: Remove `LocaleBackend` 2022-03-16 19:57:53 +02:00
binary_data.rs core: Add DefineBinaryData and SymbolClass connection (Part of #1368) 2021-08-21 12:24:46 -06:00
bitmap.rs avm2: Implement `BitmapData`'s constructor. 2021-09-11 12:11:35 -07:00
bounding_box.rs chore: Appease clippy 2022-05-22 02:34:18 -07:00
character.rs core: Add DefineBinaryData and SymbolClass connection (Part of #1368) 2021-08-21 12:24:46 -06:00
color_transform.rs chore: Appease clippy 2022-05-22 02:34:18 -07:00
config.rs core: Require `serde` feature 2022-02-27 23:19:46 +02:00
context.rs core: Use `Arc::new_cyclic` in player initialization 2022-04-29 09:14:32 -07:00
context_menu.rs core: Require `serde` feature 2022-02-27 23:19:46 +02:00
display_object.rs core: Cleanup PlaceObject comments 2022-05-06 11:33:52 -07:00
drawing.rs swf: Clean up LineStyle 2022-04-11 22:50:40 -07:00
ecma_conversions.rs avm1: Format floating-point numbers 2022-04-09 22:40:59 -07:00
events.rs core: Add some KeyCode variants 2022-04-21 21:40:04 -07:00
external.rs avm1: Grab SWF version from executing clip 2022-05-07 10:25:10 -07:00
focus_tracker.rs avm1: Grab SWF version from executing clip 2022-05-07 10:25:10 -07:00
font.rs swf: Use bitflags for `FontFlag` 2022-03-26 11:33:26 -07:00
html.rs core: Fix caret position in multi layout text 2020-11-02 11:43:10 -08:00
lib.rs core: Add PlayerBuilder 2022-04-29 09:14:32 -07:00
library.rs core: Cleanup `Avm1ConstructorRegistry` 2022-02-10 07:58:30 +02:00
loader.rs chore: Appease clippy 2022-05-22 02:34:18 -07:00
locale.rs core: Remove `LocaleBackend` 2022-03-16 19:57:53 +02:00
matrix.rs chore: Stop using traits available in prelude 2022-03-14 01:16:00 +02:00
player.rs core: Run `update_drag` in `Player::handle_event` 2022-05-23 19:05:35 -07:00
prelude.rs core: Store `DisplayObjectBase` in `InteractiveObjectBase`. 2021-11-09 16:48:29 -07:00
shape_utils.rs chore: Appease clippy 2022-05-22 02:34:18 -07:00
string.rs Move back AvmString into ruffle_core::string 2022-03-26 13:42:57 -07:00
tag_utils.rs web: Fix some warnings 2022-05-09 22:28:43 -07:00
transform.rs core: Use `swf::Matrix::translate` in more places 2022-05-29 21:33:53 +03:00
types.rs chore: Appease clippy 2021-01-04 13:17:26 -08:00
vminterface.rs chore: Use matches!(...) in more places 2021-04-16 15:25:22 -07:00
xml.rs xml: Refactor `XmlNode` creation methods 2022-04-08 16:34:57 -07:00