Commit Graph

1052 Commits

Author SHA1 Message Date
CUB3D f3aa6f7f01 core: Add stub of ContextMenuItem 2020-07-12 15:25:58 -07:00
CUB3D c8fefc56b5 core: Add stubs for context menu 2020-07-12 15:25:58 -07:00
Nathan Adams 180891c58e avm1: Add impl_custom_object!() macro to simplify custom object types 2020-07-10 16:48:05 -07:00
Nathan Adams eb94cc54b2 chore: Move avm1 objects to their own module, we have plenty of them now 2020-07-10 16:48:05 -07:00
Mike Welsh 3322c2d916 avm1: Implement updateAfterEvent 2020-07-10 14:38:48 -07:00
Mike Welsh 98e7da7d93 avm1: Implement setInterval 2020-07-10 14:38:48 -07:00
Mike Welsh a1ff80bb18 avm1: Object.watch is case insensitive on SWFv6 2020-07-10 12:02:26 -07:00
Nathan Adams 8a0430d744 avm1: Implement Object.watch & Object.unwatch (#268) 2020-07-10 12:02:26 -07:00
Nathan Adams ecbab536b5 avm1: Respect ScriptLimits for recursion depth, and use that in infinite_recursion_function 2020-07-08 14:47:38 -07:00
Nathan Adams 2b30fd32b7 avm1: Activation depth can be up to u16. 2020-07-08 14:47:38 -07:00
Nathan Adams 51ec5739c6 avm1: Throw errors when functions (user-called, or special) go too deep 2020-07-08 14:47:38 -07:00
Nathan Adams aa98c2c24f avm1: Track the reason for executions, if it's a function call vs
something special, like a getter
2020-07-08 14:47:38 -07:00
Nathan Adams 65396ba87a avm1: All errors are ignored during getters or setters 2020-07-08 14:47:38 -07:00
Nathan Adams 3ee1902117 avm1: Don't log errors at every Activation, only at the "root" frames 2020-07-08 14:47:38 -07:00
Nathan Adams 8218e14824 avm1: Remove unused field is_executing from Activation 2020-07-08 14:47:38 -07:00
Mike Welsh bd7f986594 avm1: Allow overwriting _parent 2020-07-05 15:15:31 -07:00
Mike Welsh ad6e2ceed4 avm1: Remove TObject::is_property_overwritable
Local virtual properties take precedence over prototype/parent
scopes, even for read-only propreties.
2020-07-05 15:15:31 -07:00
Mike Welsh 1240c79f70 avm1: StageObject::has_property should return true for _x, etc. 2020-07-05 15:15:31 -07:00
Mike Welsh 6feb266576 avm1: with(undefined) or with(null) is ignored 2020-07-05 15:15:31 -07:00
CUB3D 00d55b05a0 chore: Fix formatting 2020-07-05 13:49:59 -07:00
CUB3D 64eed4def9 chore: Cleanup 2020-07-05 13:49:59 -07:00
CUB3D ab58cff8b3 core: Add tests for ColorTransform and cleanup code 2020-07-05 13:49:59 -07:00
CUB3D 0dcbd05f5d chore: Fix formatting 2020-07-05 13:49:59 -07:00
CUB3D 68eb6a6342 core: Fix ColorTransformObject virtual prototype setters 2020-07-05 13:49:59 -07:00
CUB3D 73e9dc1a82 core: Refactor ColorTransform 2020-07-05 13:49:59 -07:00
CUB3D 26ae182584 core: Update to reflect avm changes 2020-07-05 13:49:59 -07:00
CUB3D 431cc532be core: ColorTransform no longer passed through engine ColorTransform object 2020-07-05 13:49:59 -07:00
CUB3D a8b1be2afa core: Remove useless to_owned in color_transform 2020-07-05 13:49:59 -07:00
CUB3D c0315dce3f chore: Format 2020-07-05 13:49:59 -07:00
CUB3D a8f7638d99 core: Implement ColorTransform 2020-07-05 13:49:59 -07:00
Mike Welsh 7b4045f32b core: Remove some unneccessary `take` calls in tag functions 2020-07-03 18:52:26 -07:00
Mike Welsh 08569ae979 core: Limit tag parsing to slice of tag data 2020-07-03 18:52:26 -07:00
Nathan Adams c50c835790 avm1: Made Executable::Action take in a Gc to Avm1Function, reducing the size of the struct significantly 2020-07-03 18:47:34 -07:00
Nathan Adams c4980d0bf5 core: Make XMLName::node_name return Cow<str>. It's not always owned, and we don't always need it to be. 2020-07-03 17:30:59 -07:00
Nathan Adams c036e2cf88 avm1: Made f64_to_string return Cow<str> instead of String, as we sometimes return static values 2020-07-03 17:30:59 -07:00
Nathan Adams 938d644d7d core: Made PropertyMap::insert take &str instead of String, as ownership isn't always needed 2020-07-03 17:30:59 -07:00
Nathan Adams fb84999778 core: Made VacantEntry store a &str instead of a String, avoiding allocation until insertation is requested 2020-07-03 17:30:59 -07:00
Nathan Adams f4921fad45 core: Made PropertyMap::entry take &str instead of String. We often don't need ownership here. 2020-07-03 17:30:59 -07:00
Nathan Adams b5c06be8a2 avm1: Anonymous function names for debugging when not in debug mode 2020-07-03 17:24:20 -07:00
Nathan Adams 51321713b5 avm1: Show stack frame with the avm_debug feature 2020-07-03 17:24:20 -07:00
Nathan Adams c976cf8efb avm1: Replace action.avm() with activation.avm to help with borrow checker in next commit 2020-07-03 17:24:20 -07:00
Jon Pacheco 48c65f02a1 avm1: Implement Error object (see #251) 2020-07-02 20:58:01 -07:00
Adrian Wielgosik 301d696670 Add a fast path for ASCII case conversions 2020-07-02 12:48:50 -07:00
Mike Welsh dd32acd8fc avm1: Empty text field does not initialize variable binding
If a text field with a variable binding is placed on the stage,
usually the variable is initialized with the initial text. However,
if the text field is empty, the variable remains undefined.

Fixes #777.
2020-07-02 01:29:41 -07:00
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