Mike Welsh
b05da5ef0f
avm1: CastOp fails for primitive values
2020-07-01 17:30:56 -07:00
Nathan Adams
d86761db5d
avm1: Implement try {..} catch {..} finally {..} - #731
2020-07-01 17:30:56 -07:00
Nathan Adams
7c0b0a7a57
avm1: Fix instanceof checks with primitives
2020-07-01 16:36:54 -07:00
Nathan Adams
d1732dd3d6
avm1: Returning from with{} should return from the parent activation
2020-07-01 16:21:43 -07:00
Nathan Adams
8bc3eedc43
avm1: Rename StackFrame to Activation now that they're merged
2020-07-02 00:09:43 +02:00
Nathan Adams
9b66b496d0
avm1: Fix double-borrow when calling a getter that calls another method
2020-07-01 18:53:16 +02:00
Nathan Adams
987375299b
avm1: Replace 'run_in_avm' with just building a StackFrame object, letting Rust borrowchecker do our stack management for us
2020-06-30 21:57:51 +02:00
Nathan Adams
47a806a5ee
avm1: Removed errors that are no longer possible to run into
2020-06-30 21:28:32 +02:00
Nathan Adams
a989aa235a
avm1: We don't need to lock StackFrames anymore, the borrow checker will steer us right
2020-06-30 21:26:57 +02:00
Nathan Adams
2288919663
avm1: We don't need to store data in StackFrame, it's only used when actually running data
2020-06-30 21:24:46 +02:00
Nathan Adams
45c3967deb
avm1: Merge Activation into StackFrame
2020-06-30 21:08:42 +02:00
Nathan Adams
d889b98043
avm1: Merge Activation::from_function and Activation::from_action as they're identical
2020-06-30 20:34:05 +02:00
Nathan Adams
6e4dd506da
avm1: Activation doesn't need to be in a GcCell
2020-06-30 20:31:49 +02:00
Nathan Adams
4d24bc7f09
avm1: Removed pc from Activation, it's no longer needed
2020-06-30 19:42:18 +02:00
Nathan Adams
3e9c380ba1
avm1: Remove is_function from Activation, it's no longer needed
2020-06-30 19:40:21 +02:00
Nathan Adams
ec4affcf10
avm1: Use child activations when already running from another activation
2020-06-29 10:13:59 +02:00
Nathan Adams
aaa082fb60
avm1: Replace run_with_stack_frame with run_in_avm
2020-06-29 10:13:57 +02:00
Nathan Adams
0dd2ece371
avm1: Introduce parents to StackFrame, and move run_activation from avm1 to StackFrame
2020-06-29 10:12:17 +02:00
Nathan Adams
9b630bd305
avm1: Remove ReturnValue, it's no longer needed
2020-06-29 10:12:16 +02:00
Nathan Adams
ab4304d634
avm1: Properly and more explicitly work around the double-borrow issue in setters
2020-06-29 10:10:38 +02:00
Nathan Adams
f85684fec0
avm1: Move current_swf_version and is_case_sensitive from avm1 to stackframe
2020-06-29 10:10:11 +02:00
Nathan Adams
d470c52aea
avm1: Move root_object, target_clip_or_root, target_clip and base_clip from avm1 to StackFrame
2020-06-29 10:09:57 +02:00
Nathan Adams
ca305684db
avm1: Removed unused return_value on Activation
2020-06-29 10:09:40 +02:00
Nathan Adams
da8ca1379f
avm1: Change from 'avm, context' to 'activation, context' and restructured to support this
2020-06-29 10:09:38 +02:00
Nathan Adams
a841743962
avm1: Make current_stack_frame return a Result for easy chaining
2020-06-29 10:07:48 +02:00
Nathan Adams
cdfd58d619
avm1: Move register get/setting from avm1 to StackFrame
2020-06-29 10:07:31 +02:00
Nathan Adams
63e66c29eb
avm1: We already have our stack frame, don't refetch it in actions
2020-06-29 10:07:14 +02:00
Nathan Adams
3a093dddbd
avm1: Run activations immediate, not queued up for some-time-later
2020-06-29 10:07:12 +02:00
Nathan Adams
10b8f4abaf
avm1: Handle stack poping in avm
2020-06-29 08:55:50 +02:00
Nathan Adams
84a5fae43f
avm1: Only perform stack-frame adjustments in one place, not scattered throughout actions
2020-06-29 08:51:34 +02:00
Nathan Adams
9109d89daa
avm1: Allow for frame control in StackFrame from any action
2020-06-29 08:51:34 +02:00
Nathan Adams
329716bfe7
avm1: Don't refetch activation.data every action
2020-06-29 08:51:33 +02:00
Nathan Adams
af72f68f0f
avm1: Run entire stack frames at once
2020-06-29 08:51:33 +02:00
Nathan Adams
c6b9de883f
avm1: Add Activation to StackFrame, removing lots of get-and-unwraps
2020-06-29 08:51:33 +02:00
Nathan Adams
4d76e8b24d
avm1: Move all actions from Avm1 to a new StackFrame
2020-06-29 08:51:33 +02:00
Mike Welsh
3bc3d4acb2
text: Fix bindings being incorrectly cleared in StageObject
...
Call to `Vec::retain` was backwards, causing bindings to be
incorrectly cleared/not cleared when a text field was removed.
2020-06-28 23:38:58 -07:00
Mike Welsh
7eeda7d93e
chore: clippy
2020-06-28 18:36:10 -07:00
Mike Welsh
b40f9d4c1a
avm1: Implement TextField.html
2020-06-28 18:36:10 -07:00
Mike Welsh
618fa11acb
avm1: Implement text field variable binding
2020-06-28 18:36:10 -07:00
Mike Welsh
12fca71b21
avm1: Move StageObjectData behind a GC pointer
2020-06-28 18:36:10 -07:00
Mike Welsh
a922fd559f
avm1: Add EditText variable property
...
Add `EditText::variable` as well as `TextField.variable` property.
This commit only adds the getter/setter and does not yet add the
binding functionality.
2020-06-28 18:36:10 -07:00
Mike Welsh
ccf33eedf6
avm1: Array indices are enumerable
2020-06-27 20:25:45 -07:00
Mike Welsh
ecc54d01f7
avm1: Disallow setting "" property
...
object[""] has no effect.
2020-06-27 20:25:45 -07:00
Mike Welsh
ef82fc472e
avm1: Object.hasOwnProperty should coerce_to_string
2020-06-27 20:25:45 -07:00
Nathan Adams
463b79f063
avm1: Implement Action::Throw
2020-06-25 02:03:15 -07:00
Nathan Adams
70e4a40f01
avm1: Allow for user errors inside avm1::error::Error
2020-06-25 02:03:15 -07:00
Mike Welsh
81d75c6256
text: Text formatting for EditText fields (merge #615 )
...
First implementation of HTML parsing and formatting for text fields.
2020-06-24 23:06:11 -07:00
Mike Welsh
5d9701313e
text: Fix TextField.embedFonts setter
2020-06-24 22:46:59 -07:00
David Wendt
d281452fe1
Expose the device font flag to AVM1 code.
2020-06-24 22:55:50 -04:00
Mike Welsh
5a7012923b
avm1: Move TextField methods into functions
2020-06-24 11:11:00 -07:00