Commit Graph

1205 Commits

Author SHA1 Message Date
Nathan Adams f0d356589a core: Implement avm2 event: links in texts 2023-08-20 22:31:27 +02:00
Nathan Adams 814a900b03 avm1: asfunction goes by the parent, not root 2023-08-20 22:31:27 +02:00
Nathan Adams b8cda975f3 core: Allow clicking EditTexts if we're clicking links 2023-08-20 22:31:27 +02:00
Nathan Adams 658ac2dd9f core: Implement url handling (+asfunction) in textedits 2023-08-20 22:31:27 +02:00
TÖRÖK Attila a11725c27c tests: Exclude WARP from running the acid_gradient_2 visual test (ported from Shumway)
This was the culprit for most of our recent Windows CI failures.
2023-08-20 12:49:37 +02:00
Kornelius Rohrschneider a50f5cd072 avm1: Remove delay to enter the unloaded state for non-root MovieClips
avm1_unload_movie has been adapted to only enter the unloaded state with
one frame delay if the MovieClip is a root MovieClip. The unloaded state
is now immediately entered for non-root MovieClips.
This fixes the regressions #12254 and #12265 which got introduced
because of this delay.

However, in Flash Player, even non-root MovieClips enter the unloaded
state one frame after the unloadMovie command has been read. Ruffle is
probably replacing a MovieClip differently to Flash, therefore
introducing these regressions when trying to emulate that delay.
Documentation explaining this all has been added to avm1_unload_movie.

Therefore, the test movieclip_library_state_values has been added. It
tests the default state and the unloaded state of a (non-root) child
MovieClip that's loaded from the library. It is marked as known_failure
because Ruffle currently doesn't implement the delay before entering the
unloaded state for non-root MovieClips.
2023-08-19 17:29:00 +02:00
nosamu 050da0740a avm1: Pass flashvars in loadMovie and MovieClipLoader
Fixes #11497
2023-08-19 16:45:01 +02:00
Lord-McSweeney 89b9bc3827 core/avm2: Support accessing applicationDomain on a LoaderInfo before load starts/finishes; also improve Loader.unload stub. 2023-08-19 00:24:03 +02:00
Nathan Adams a6aa72351f avm2: Add a Function() call handler 2023-08-18 22:13:46 +02:00
Nathan Adams 7df861f212 avm2: Disallow 'new Function(args)' 2023-08-18 22:13:46 +02:00
Nathan Adams f2233855c7 avm2: Throw proper error on 'x is SomethingThatIsntAClass' 2023-08-18 22:13:46 +02:00
Nathan Adams 46381d181a avm2: Use correct error when trying to construct something invalid 2023-08-18 22:13:46 +02:00
Nathan Adams 8bbf8f4ea1 avm2: Use correct error in toString with invalid radix 2023-08-18 22:13:46 +02:00
Nathan Adams c9c2e213bb avm2: Use correct error in toPrecision 2023-08-18 22:13:46 +02:00
sleepycatcoding 2f98da44fb avm2: String.indexOf returns -1 when passed in undefined 2023-08-18 20:41:41 +02:00
sleepycatcoding cde49de1fb avm2: Remove undefined specific behavior in String.split 2023-08-18 20:41:41 +02:00
sleepycatcoding a44546ab1c avm2: Do not ignore nulls in String.fromCharCode 2023-08-18 20:41:41 +02:00
sleepycatcoding 7316f51cb1 avm2: String.toString defaults to "" 2023-08-18 20:41:41 +02:00
sleepycatcoding b835cc8091 avm2: Boolean.valueOf and Boolean.toString default to false
Makes tests `e15_6_3_1`, `e15_6_3_1_3`, `e15_6_4`, `e15_6_4__1` and `ecall_1` pass.
2023-08-18 16:07:15 +02:00
nosamu f3feabb59a avm2: nextScene() and prevScene() should fall back to current scene
Fixes #12797
2023-08-18 00:33:32 +02:00
nosamu 5618ebe6eb tests: Add failing test for queued gotos in AVM2 framescripts
This minimally reproduces #12069 and #10113
2023-08-17 22:46:38 +02:00
Nathan Adams f00671e9cc core: Fix rendering masks + scrollRects when cacheAsBitmap 2023-08-16 16:34:24 +02:00
Aaron Hill b1981debc9 tests: Include test name in error context 2023-08-15 17:04:28 +02:00
Tom Schuster d93c449199 avm2: Throw TypeError on unbound namespace prefix 2023-08-14 19:58:21 +02:00
Tom Schuster 7639d045ad avm2: Limited XML namespace support 2023-08-14 19:58:21 +02:00
Nathan Adams 5e1a30cf4a core: Fix avm2 button bounding box when using scroll rects 2023-08-13 14:14:34 +02:00
Nathan Adams db7c6dec00 core: Implement XML.toString for comments and processing instructions 2023-08-12 20:15:21 +02:00
Nathan Adams bf7c17737b avm2: Trim the start of processing instruction values 2023-08-12 20:15:21 +02:00
Nathan Adams 90b3fa4c63 avm2: Implement to_xml_string_inner for procesing instructions 2023-08-12 20:15:21 +02:00
Nathan Adams f4216aefc1 avm2: Implement XMLList.comments() 2023-08-12 20:15:21 +02:00
Nathan Adams d9847d0167 tests: Rename some files because windows is dumb and they're too long I guess 2023-08-12 17:37:17 +02:00
TÖRÖK Attila 0591fd882a tests: Update displacement_map expected output. 2023-08-12 14:15:40 +02:00
Nathan Adams adda66723e core: Use filters to calculate render sizes of objects 2023-08-12 13:00:27 +02:00
Nathan Adams d35b2b8b84 core: Inform Bitmaps to invalidate, if their backing BitmapDatas change 2023-08-12 11:56:18 +02:00
Nathan Adams e73cd91283 tests: Fix running tests without img_tests feature 2023-08-11 20:15:24 +02:00
Nathan Adams 1858db65c4 tests: Add known_failure test for CABs containing grown filters 2023-08-11 11:23:03 +02:00
Nathan Adams f55147d7c3 core: Override render_bounds_with_transform in Avm2Button 2023-08-11 11:23:03 +02:00
Nathan Adams a9c5bdfbab core: Better handle scroll_rect and/or masks with cacheAsBitmap 2023-08-11 11:23:03 +02:00
Nathan Adams b1aeb010a4 tests: Add CAB + Masks test 2023-08-11 11:23:03 +02:00
TÖRÖK Attila fb01473bb3 tests: Exclude WARP from shumway_acid_tests/acid_image, it was flaky 2023-08-09 21:04:59 +02:00
TÖRÖK Attila 0c4bb22491 chore: Update dependencies of the crates within tests. 2023-08-08 23:19:16 +02:00
MrCheeze 68f8cd6149 avm2: Remove focus from an EditText when it unloads (close #12092) 2023-08-07 23:16:06 +02:00
Nathan Adams bdd2a7ea9e tests: Allow capturing images on specific frames/ticks 2023-08-07 22:52:10 +02:00
Nathan Adams ca8fc23a6c tests: Allow fscommand("captureImage", "IMAGE_NAME") 2023-08-07 22:52:10 +02:00
Nathan Adams 1c8724a458 tests: Turn image_comparison into image_comparisons.NAME, allowing multiple comparisons per test 2023-08-07 22:52:10 +02:00
Nathan Adams 42b4812601 avm2: Throw error when using descendants op (..) on anything that isn't XML, even if it has descendants property 2023-08-06 10:51:25 +02:00
michiel2005 690ce110d8
avm1: reference displayObjects parents if parent is a button (#12541) 2023-08-05 20:32:03 +00:00
sleepycatcoding aac1931569 avm1: Prevent panic when close is called in event handler
Also adds a test case for this.
2023-08-05 14:42:09 +02:00
sleepycatcoding d8ae2ce6b9 avm1: Fix only one message arriving when multiple are sent in the same packet
Test case has been improved to cover this.
2023-08-05 14:42:09 +02:00
sleepycatcoding cec74242cf core: Socket subsystem fixes
Clears the read and write buffer of Socket before returning to ActionScript, this could potentially be problematic
when a SWF reuses the same Socket to connect.

Also remove the handle from Arena when server closes the connection, this fixes
connected still returning true after server disconnection.
2023-08-05 14:42:09 +02:00
sleepycatcoding 0a1f645177 tests: Add onData test for XMLSocket 2023-08-05 14:42:09 +02:00
sleepycatcoding 43e1e72258 tests: Add AVM1 XMLSocket test 2023-08-05 14:42:09 +02:00
sleepycatcoding 1c0426a747 tests: Expand test case as per review 2023-08-05 14:17:02 +02:00
sleepycatcoding e8bc47a569 avm2: Return correct error if Event.clone() returns null 2023-08-05 14:17:02 +02:00
sleepycatcoding 925ed2e82b avm2: Clone event if it has been dispatched before 2023-08-05 14:17:02 +02:00
Nathan Adams fc54c111c3 tests: Port avmplus as3 AMF test 2023-08-04 16:29:27 +02:00
Nathan Adams 5f200dc2a9 avm2: Use correct error in write ops when reading past bounds 2023-08-03 16:28:25 +02:00
Nathan Adams af46301020 avm2: Use correct error in Li ops when reading past bounds 2023-08-03 16:28:25 +02:00
Nathan Adams 3d76953574 avm2: Use correct error when accessing domain memory out of bounds 2023-08-03 16:28:25 +02:00
Nathan Adams c3a283e23d tests: Port avmplus MOPS tests 2023-08-03 16:28:25 +02:00
sleepycatcoding 85db727f17 avm2: Implement XMLSocket 2023-08-02 22:16:16 +02:00
Nathan Adams 3834462abf avm2: Hook up XMLDocument.ignoreWhite 2023-08-02 15:55:08 +02:00
Nathan Adams 6f2420d983 avm2: Implement ignoreComments/ignoreProcessingInstructions/ignoreWhitespace 2023-08-02 15:55:08 +02:00
Nathan Adams da7ee01730 avm2: Implement XML.settings/XML.setSettings/XML.defaultSettings, and add appropriate properties to XML class 2023-08-02 15:55:08 +02:00
Nathan Adams 10e59067d0 avm2: Rewrote XMLDocument/XMLNode to be more correct 2023-08-02 15:55:08 +02:00
Lord-McSweeney 84e4215ece avm2+tests: Various Vector-related fixes; activate now-passing Vector tests 2023-08-02 15:26:53 +02:00
relrelb 006393c581 chore: Appease nightly clippy 2023-08-01 22:44:00 +03:00
TÖRÖK Attila f036fd7aff tests/visual: Also test DisplacementMapFilter with componentX or componentY of 0 2023-08-01 12:54:56 +02:00
Adrian Wielgosik 2621dd78ee avm2: Vector doesn't support propertyIsEnumerable 2023-08-01 00:13:46 +02:00
Adrian Wielgosik b61e92ee12 avm2: Fix property_is_enumerable on arrays 2023-08-01 00:13:46 +02:00
sleepycatcoding a40e8d8ac4 tests: Split read/writeObject off into a separate test 2023-07-31 22:32:03 +02:00
sleepycatcoding cd9ed1a1da tests: remove unneeded loops 2023-07-31 22:32:03 +02:00
sleepycatcoding 1b765e2a45 tests: Use new socket API 2023-07-31 22:32:03 +02:00
sleepycatcoding 749ba80c8a tests: Lower socket test task timeout to 1 microsecond
This was hiding the fact that the test technically did not run and failed, as it only happened very rarely in some scenarios.
2023-07-31 22:32:03 +02:00
Nathan Adams 91bfbe6ab1 tests: Port avmplus as3 MethodClosures test 2023-07-31 19:52:12 +02:00
Nathan Adams 4de8301f75 tests: Port avmplus as3 RuntimeErrors test 2023-07-31 19:52:12 +02:00
Nathan Adams 27fc81f0f3 tests: Port avmplus as3 Dictionary test 2023-07-31 19:52:12 +02:00
Nathan Adams 9ba9ec17a7 tests: Port avmplus as3 e12_6_3_12 Statement test 2023-07-31 19:52:12 +02:00
Nathan Adams cc302a56de tests: Port avmplus as3 for-each-in tests 2023-07-31 19:52:12 +02:00
Nathan Adams d6f83ce9c3 tests: Port avmplus es3 switch tests 2023-07-31 19:52:12 +02:00
Nathan Adams 98f9316fa7 tests: Port avmplus es3 Int tests 2023-07-31 19:52:12 +02:00
Nathan Adams b42ae15759 tests: Port avmplus es3 Number tests 2023-07-31 19:52:12 +02:00
Nathan Adams dab0779493 tests: Port avmplus es3 uint tests 2023-07-31 19:52:12 +02:00
Nathan Adams 01bacb51ba tests: Port avmplus es3 Type Conversions tests 2023-07-31 19:52:12 +02:00
Nathan Adams cdc8e65f0c tests: Port avmplus es3 const tests 2023-07-31 19:52:12 +02:00
Nathan Adams c903c0081c tests: Port avmplus es3 ClassDef tests 2023-07-31 19:52:12 +02:00
Abiel Deneke 6552b4e132 avm2: Implement `Matrix3D.prependScale` 2023-07-31 17:00:44 +02:00
TÖRÖK Attila 288ed7e341 tests: Add an avm1 visual test for BitmapData::perlinNoise() 2023-07-31 16:41:01 +02:00
Adrian Wielgosik 399ac2490c avm2: Remove accidentally duplicated tests 2023-07-30 18:05:24 +02:00
Nathan Adams 647b49ad52 tests: Move from_avmplus up one level 2023-07-30 13:59:33 +02:00
Nathan Adams c8a86966b0 tests: Port avmplus e4x XMLList tests 2023-07-30 13:59:33 +02:00
Nathan Adams 2e1f848144 tests: Port avmplus e4x XML tests 2023-07-30 13:59:33 +02:00
Nathan Adams 0ac0ea21c5 tests: Port avmplus e4x Types tests 2023-07-30 13:59:33 +02:00
Nathan Adams f97559066b tests: Port avmplus e4x TypeConversion tests 2023-07-30 13:59:33 +02:00
Nathan Adams 068a4b38ac tests: Port avmplus e4x Regress tests 2023-07-30 13:59:33 +02:00
Nathan Adams 8a0e57ca95 tests: Port avmplus e4x Namespace tests 2023-07-30 13:59:33 +02:00
Nathan Adams 6030ed563b tests: Port avmplus ecma3 Number tests 2023-07-30 13:59:33 +02:00
Nathan Adams 495f19f10d tests: Port avmplus ecma3 ObjectObjects tests 2023-07-30 13:59:33 +02:00
Nathan Adams e25c18beed tests: Port avmplus ecma3 Statements tests 2023-07-30 13:59:33 +02:00
Nathan Adams 04dbff285a tests: Port avmplus ecma3 String tests 2023-07-30 13:59:33 +02:00