Tom Schuster
3ddf0aec28
avm2: Implement FileReference save
2024-01-23 18:43:36 +01:00
Tom Schuster
9101ab322e
avm2: Implement flash.net.FileReference size
2024-01-23 18:43:36 +01:00
Tom Schuster
c73be131f0
avm2: Implement flash.net.FileReference name
2024-01-23 18:43:36 +01:00
Tom Schuster
fff841a22e
avm2: Implement FileReference browse
2024-01-23 18:43:36 +01:00
Tom Schuster
e7b8b75d07
avm2: Basic FileReference object boilerplate
2024-01-23 18:43:36 +01:00
Aaron Hill
dbcefd060f
debug_ui: Add 'Show Domains' menu to view domains and classes
...
This opens a searchable list (similar to what we have for display
objects), which shows a tree of Domains and their associated classes.
Currently, clicking on the domain/class buttons doesn't do anything.
In a follow-up, I'm planning to add additional windows to display
information about a class.
2024-01-23 11:34:14 +01:00
Lv Yitian
bebadb450f
avm2: Make `flash.system.Capabilities#playerType` return "Desktop" within the AIR runtime
...
Unless the SWF is loaded by an HTML page.
2024-01-23 07:45:11 +00:00
Aaron Hill
c1fce1106f
swf: Parse string as Vec<u8> instead of String in SWF
...
Some obfuscated SWFs may have invalid strings in their constant
pool - trying to immediately parse them as a utf-8 String throws
away information. Instead, we now store a `Vec<u8>`, which we
then use to construct an `AvmString` (or with `String::from_utf8_lossy`
for debug printing).
2024-01-22 21:50:45 -05:00
Aaron Hill
8dbcfe26f9
core: Display image load when using Loader.loadBytes
...
The handling of images in Loader.loaderBytes is similar to
the handling of SWFs - some of the data is exposed immediately
following the 'Loader.loadBytes' call, but the DisplayObject isn't
loaded until later.
2024-01-22 19:35:08 -05:00
Tom Schuster
173efbb77a
avm2: Stub flash.desktop.Clipboard
2024-01-22 23:37:22 +01:00
sleepycatcoding
1804c23b93
avm2: Fix `Error.toString` regression
...
This was introduced by #14897 , and to make sure this won't happen again I added a test.
Fixes #14901 .
2024-01-22 19:34:12 +01:00
sleepycatcoding
2057417824
avm2: Implement `Error.prototype.toString`
...
And remove `ErrorObject::to_string` implementation. This fixes a few avmplus tests.
2024-01-22 15:09:55 +01:00
renovate[bot]
262dff83a4
fix(deps): update rust dependencies
2024-01-22 03:09:33 +01:00
cmdocmd
c6331113ed
avm2: Stub `flash.text.engine.TextLine.getAtomIndexAtCharIndex`
2024-01-21 22:09:39 +01:00
Tom Schuster
ab99eb3e09
avm2: Only lookup own properties in flash.net.getClassByAlias
2024-01-21 17:23:29 +01:00
cmdocmd
5cf9e00f9c
avm2: Stub XML::inScopeNamespaces
2024-01-20 14:27:27 -08:00
nosamu
379bed891f
core: Invalidate cached bitmap on state change in AVM2Button
2024-01-20 11:53:19 +01:00
nosamu
284489b721
avm2: Stub Stage colorCorrection and colorCorrectionSupport
2024-01-20 11:35:28 +01:00
Tom Schuster
c9c1326d13
avm2: Allow TLF to use embedded fonts when requested
2024-01-19 23:14:58 +01:00
Tom Schuster
0a6cf92a53
core: Implement DefineFont4
2024-01-19 23:14:58 +01:00
Tom Schuster
e0f5b8906d
desktop: Support device font with a non-zero index
2024-01-19 19:21:48 +01:00
Adrian Wielgosik
11fe70ab65
avm2: Fix possible overflow in address calculations
2024-01-18 23:35:03 +01:00
Tom Schuster
28b20322f0
avm2: Assume we have the default public namespace when matching XML names
2024-01-18 16:31:00 +01:00
TÖRÖK Attila
9aff953163
core: Make `Player::mutate_with_update_context` public
2024-01-18 09:00:40 +01:00
TÖRÖK Attila
d153290fd6
nits: Fix a whole bunch of typos all over the place
2024-01-17 23:59:19 +01:00
Daniel Jacobs
8f2292c2c7
core: Add error for loading invalid SWF files and display as appropriate
2024-01-17 17:38:47 -05:00
Daniel Jacobs
5765177ba7
web: Properly panic when loading invalid SWF files ( fix #14665 )
2024-01-17 17:38:47 -05:00
Aaron Hill
97f868b8d5
avm2: Don't hold GcCell read ref open for Loader.loadBytes
...
We were holding this open while dispatching an event,
leading to a panic if anything attempted to modify the
ByteArray.
2024-01-17 17:05:52 -05:00
Tom Schuster
b54a807b37
avm2: Handle explicitly imported/used namespace for XML lookup
...
Fixes #14792
2024-01-17 21:11:25 +01:00
Aaron Hill
6c420fa5d5
avm2: Run most of Loader.loadBytes immediately
...
This requires moving `set_root_movie` into `UpdateContext`.
Now, we preload the entire movieclip immediately - Flash Player
does this regardless of the size of the SWF.
The 'Loader::load_complete' is delayed to the end of the frame
(which is when the root class is constructed for the loaded clip).
2024-01-17 00:53:08 +01:00
Nathan Adams
f65060e8c9
desktop: Update winit to 0.29.10 and egui to 0.25.0
2024-01-16 21:10:36 +01:00
zhenghaoz
5169d9db3d
avm2: Fix multiply with overflow in `string_to_f64`
2024-01-15 23:44:14 -05:00
Lord-McSweeney
9637682216
avm1: Correctly access topmost `LoaderDisplay` or `Stage` instead of accessing the parent of `avm1_root`
...
This fixes a case where `lockRoot` is involved.
2024-01-15 17:15:36 -08:00
Tom Schuster
1b5eb2e8e2
avm2: Stub XML::namespaceDeclarations
...
Improves #14734
2024-01-15 19:50:09 -05:00
renovate[bot]
3c115238fd
fix(deps): update rust dependencies
2024-01-16 01:13:38 +01:00
sleepycatcoding
5b19ecec97
avm2: Implement XML.setLocalName
2024-01-15 23:53:17 +01:00
renovate[bot]
e0a22b56ce
fix(deps): update wasm-bindgen
2024-01-15 17:24:02 -05:00
Abiel Deneke
df3a033b77
avm2: Stub Accelerometer.isSupported
2024-01-15 22:10:58 +01:00
Kamil Jarosz
5bd643cd4f
core: Improve caret blinking behavior
...
Caret now blinks only when idle.
2024-01-15 08:20:22 +01:00
nosamu
a638715bd8
avm2: Throw null param error in navigateToURL
...
Fixes #14733
2024-01-14 20:17:31 +01:00
Aaron Hill
3cbfbdd4a6
avm2: Add weird parse-as-uint special case to Object keys
...
When handling dynamic properties, avmplus will always try to
parse the string key name as a uint. If it succeeds, then the
key will be stored internally as a integer (via Atom), which is
observable by property iteration. The intention appears to have
been to support `obj[25] = someVal`, but it causes `obj["25"]`
and `obj[25]` to map to the same key (though iterating over the
object's keys will always produce a `number`).
2024-01-13 19:47:58 -05:00
TÖRÖK Attila
55cdfab3d3
avm2: Add API versioning to DisplayObjectContainer
2024-01-13 19:35:54 +01:00
TÖRÖK Attila
4c1d59c4a3
avm2: Cleanup: Make `Domain::get_class` not return a `Result`
...
As it was always the `Ok` variant anyway.
2024-01-13 11:53:35 -05:00
Aaron Hill
195822885e
avm2: Stub all remaining TextField methods and properties
2024-01-12 20:42:18 -05:00
Aaron Hill
639d17d259
Apply 'xml["@myattr"]' logic when setting/deleting properties
...
We previously only applied this when getting properties.
2024-01-12 19:13:35 -05:00
sleepycatcoding
2775c917bf
avm2: Correctly handle `@*` in string_to_multiname
2024-01-13 00:27:28 +02:00
Tom Schuster
79c5112f45
core: Provide a better fallback for Ming typefaces
2024-01-12 21:59:20 +01:00
Kamil Jarosz
70486465e8
core: Support TextField.restrict when pasting
2024-01-11 23:22:49 +01:00
Kamil Jarosz
2ef63d3a61
avm2: Implement TextField.restrict
2024-01-11 23:22:49 +01:00
Kamil Jarosz
1c15cd55b9
avm1: Implement TextField.restrict
2024-01-11 23:22:49 +01:00