@swf2es/player 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/LICENSE.third-party +51 -0
- package/README.md +38 -2
- package/dist/air-definitions.d.ts +2 -0
- package/dist/air-definitions.d.ts.map +1 -0
- package/dist/air-definitions.js +130 -0
- package/dist/air-definitions.js.map +1 -0
- package/dist/avm1/amf.d.ts +155 -0
- package/dist/avm1/amf.d.ts.map +1 -0
- package/dist/avm1/amf.js +508 -0
- package/dist/avm1/amf.js.map +1 -0
- package/dist/avm1/avm1.d.ts +448 -0
- package/dist/avm1/avm1.d.ts.map +1 -0
- package/dist/avm1/avm1.js +1305 -0
- package/dist/avm1/avm1.js.map +1 -0
- package/dist/avm1/bindings.d.ts +56 -0
- package/dist/avm1/bindings.d.ts.map +1 -0
- package/dist/avm1/bindings.js +215 -0
- package/dist/avm1/bindings.js.map +1 -0
- package/dist/avm1/classes.d.ts +33 -0
- package/dist/avm1/classes.d.ts.map +1 -0
- package/dist/avm1/classes.js +76 -0
- package/dist/avm1/classes.js.map +1 -0
- package/dist/avm1/clips.d.ts +54 -0
- package/dist/avm1/clips.d.ts.map +1 -0
- package/dist/avm1/clips.js +230 -0
- package/dist/avm1/clips.js.map +1 -0
- package/dist/avm1/compile.d.ts +8 -0
- package/dist/avm1/compile.d.ts.map +1 -0
- package/dist/avm1/compile.js +141 -0
- package/dist/avm1/compile.js.map +1 -0
- package/dist/avm1/external.d.ts +44 -0
- package/dist/avm1/external.d.ts.map +1 -0
- package/dist/avm1/external.js +80 -0
- package/dist/avm1/external.js.map +1 -0
- package/dist/avm1/focus.d.ts +68 -0
- package/dist/avm1/focus.d.ts.map +1 -0
- package/dist/avm1/focus.js +279 -0
- package/dist/avm1/focus.js.map +1 -0
- package/dist/avm1/globals/BitmapData.d.ts +30 -0
- package/dist/avm1/globals/BitmapData.d.ts.map +1 -0
- package/dist/avm1/globals/BitmapData.js +543 -0
- package/dist/avm1/globals/BitmapData.js.map +1 -0
- package/dist/avm1/globals/Button.d.ts +8 -0
- package/dist/avm1/globals/Button.d.ts.map +1 -0
- package/dist/avm1/globals/Button.js +32 -0
- package/dist/avm1/globals/Button.js.map +1 -0
- package/dist/avm1/globals/Color.d.ts +11 -0
- package/dist/avm1/globals/Color.d.ts.map +1 -0
- package/dist/avm1/globals/Color.js +116 -0
- package/dist/avm1/globals/Color.js.map +1 -0
- package/dist/avm1/globals/ExternalInterface.d.ts +20 -0
- package/dist/avm1/globals/ExternalInterface.d.ts.map +1 -0
- package/dist/avm1/globals/ExternalInterface.js +311 -0
- package/dist/avm1/globals/ExternalInterface.js.map +1 -0
- package/dist/avm1/globals/FileReference.d.ts +4 -0
- package/dist/avm1/globals/FileReference.d.ts.map +1 -0
- package/dist/avm1/globals/FileReference.js +218 -0
- package/dist/avm1/globals/FileReference.js.map +1 -0
- package/dist/avm1/globals/Key.d.ts +21 -0
- package/dist/avm1/globals/Key.d.ts.map +1 -0
- package/dist/avm1/globals/Key.js +61 -0
- package/dist/avm1/globals/Key.js.map +1 -0
- package/dist/avm1/globals/LoadVars.d.ts +39 -0
- package/dist/avm1/globals/LoadVars.d.ts.map +1 -0
- package/dist/avm1/globals/LoadVars.js +209 -0
- package/dist/avm1/globals/LoadVars.js.map +1 -0
- package/dist/avm1/globals/LocalConnection.d.ts +5 -0
- package/dist/avm1/globals/LocalConnection.d.ts.map +1 -0
- package/dist/avm1/globals/LocalConnection.js +93 -0
- package/dist/avm1/globals/LocalConnection.js.map +1 -0
- package/dist/avm1/globals/MovieClip.d.ts +156 -0
- package/dist/avm1/globals/MovieClip.d.ts.map +1 -0
- package/dist/avm1/globals/MovieClip.js +1071 -0
- package/dist/avm1/globals/MovieClip.js.map +1 -0
- package/dist/avm1/globals/MovieClipLoader.d.ts +29 -0
- package/dist/avm1/globals/MovieClipLoader.d.ts.map +1 -0
- package/dist/avm1/globals/MovieClipLoader.js +91 -0
- package/dist/avm1/globals/MovieClipLoader.js.map +1 -0
- package/dist/avm1/globals/NetConnection.d.ts +68 -0
- package/dist/avm1/globals/NetConnection.d.ts.map +1 -0
- package/dist/avm1/globals/NetConnection.js +262 -0
- package/dist/avm1/globals/NetConnection.js.map +1 -0
- package/dist/avm1/globals/PrintJob.d.ts +4 -0
- package/dist/avm1/globals/PrintJob.d.ts.map +1 -0
- package/dist/avm1/globals/PrintJob.js +38 -0
- package/dist/avm1/globals/PrintJob.js.map +1 -0
- package/dist/avm1/globals/Selection.d.ts +17 -0
- package/dist/avm1/globals/Selection.d.ts.map +1 -0
- package/dist/avm1/globals/Selection.js +63 -0
- package/dist/avm1/globals/Selection.js.map +1 -0
- package/dist/avm1/globals/SharedObject.d.ts +20 -0
- package/dist/avm1/globals/SharedObject.d.ts.map +1 -0
- package/dist/avm1/globals/SharedObject.js +246 -0
- package/dist/avm1/globals/SharedObject.js.map +1 -0
- package/dist/avm1/globals/Sound.d.ts +36 -0
- package/dist/avm1/globals/Sound.d.ts.map +1 -0
- package/dist/avm1/globals/Sound.js +239 -0
- package/dist/avm1/globals/Sound.js.map +1 -0
- package/dist/avm1/globals/Stage.d.ts +7 -0
- package/dist/avm1/globals/Stage.d.ts.map +1 -0
- package/dist/avm1/globals/Stage.js +13 -0
- package/dist/avm1/globals/Stage.js.map +1 -0
- package/dist/avm1/globals/StyleSheet.d.ts +10 -0
- package/dist/avm1/globals/StyleSheet.d.ts.map +1 -0
- package/dist/avm1/globals/StyleSheet.js +206 -0
- package/dist/avm1/globals/StyleSheet.js.map +1 -0
- package/dist/avm1/globals/TextField.d.ts +44 -0
- package/dist/avm1/globals/TextField.d.ts.map +1 -0
- package/dist/avm1/globals/TextField.js +397 -0
- package/dist/avm1/globals/TextField.js.map +1 -0
- package/dist/avm1/globals/TextFormat.d.ts +19 -0
- package/dist/avm1/globals/TextFormat.d.ts.map +1 -0
- package/dist/avm1/globals/TextFormat.js +195 -0
- package/dist/avm1/globals/TextFormat.js.map +1 -0
- package/dist/avm1/globals/TextSnapshot.d.ts +6 -0
- package/dist/avm1/globals/TextSnapshot.d.ts.map +1 -0
- package/dist/avm1/globals/TextSnapshot.js +89 -0
- package/dist/avm1/globals/TextSnapshot.js.map +1 -0
- package/dist/avm1/globals/XML.d.ts +9 -0
- package/dist/avm1/globals/XML.d.ts.map +1 -0
- package/dist/avm1/globals/XML.js +397 -0
- package/dist/avm1/globals/XML.js.map +1 -0
- package/dist/avm1/globals/XMLNode.d.ts +93 -0
- package/dist/avm1/globals/XMLNode.d.ts.map +1 -0
- package/dist/avm1/globals/XMLNode.js +414 -0
- package/dist/avm1/globals/XMLNode.js.map +1 -0
- package/dist/avm1/globals/XMLSocket.d.ts +19 -0
- package/dist/avm1/globals/XMLSocket.d.ts.map +1 -0
- package/dist/avm1/globals/XMLSocket.js +206 -0
- package/dist/avm1/globals/XMLSocket.js.map +1 -0
- package/dist/avm1/globals/drawing.d.ts +8 -0
- package/dist/avm1/globals/drawing.d.ts.map +1 -0
- package/dist/avm1/globals/drawing.js +203 -0
- package/dist/avm1/globals/drawing.js.map +1 -0
- package/dist/avm1/globals/filters.d.ts +30 -0
- package/dist/avm1/globals/filters.d.ts.map +1 -0
- package/dist/avm1/globals/filters.js +636 -0
- package/dist/avm1/globals/filters.js.map +1 -0
- package/dist/avm1/globals/geom.d.ts +28 -0
- package/dist/avm1/globals/geom.d.ts.map +1 -0
- package/dist/avm1/globals/geom.js +601 -0
- package/dist/avm1/globals/geom.js.map +1 -0
- package/dist/avm1/input.d.ts +106 -0
- package/dist/avm1/input.d.ts.map +1 -0
- package/dist/avm1/input.js +484 -0
- package/dist/avm1/input.js.map +1 -0
- package/dist/avm1/keyboard.d.ts +17 -0
- package/dist/avm1/keyboard.d.ts.map +1 -0
- package/dist/avm1/keyboard.js +114 -0
- package/dist/avm1/keyboard.js.map +1 -0
- package/dist/avm1/loads.d.ts +67 -0
- package/dist/avm1/loads.d.ts.map +1 -0
- package/dist/avm1/loads.js +353 -0
- package/dist/avm1/loads.js.map +1 -0
- package/dist/avm1/net.d.ts +83 -0
- package/dist/avm1/net.d.ts.map +1 -0
- package/dist/avm1/net.js +220 -0
- package/dist/avm1/net.js.map +1 -0
- package/dist/avm1/paths.d.ts +30 -0
- package/dist/avm1/paths.d.ts.map +1 -0
- package/dist/avm1/paths.js +105 -0
- package/dist/avm1/paths.js.map +1 -0
- package/dist/avm1/pointer.d.ts +113 -0
- package/dist/avm1/pointer.d.ts.map +1 -0
- package/dist/avm1/pointer.js +513 -0
- package/dist/avm1/pointer.js.map +1 -0
- package/dist/avm1/queue.d.ts +106 -0
- package/dist/avm1/queue.d.ts.map +1 -0
- package/dist/avm1/queue.js +304 -0
- package/dist/avm1/queue.js.map +1 -0
- package/dist/avm1/sound.d.ts +36 -0
- package/dist/avm1/sound.d.ts.map +1 -0
- package/dist/avm1/sound.js +107 -0
- package/dist/avm1/sound.js.map +1 -0
- package/dist/avm1/swf.d.ts +90 -0
- package/dist/avm1/swf.d.ts.map +1 -0
- package/dist/avm1/swf.js +142 -0
- package/dist/avm1/swf.js.map +1 -0
- package/dist/avm1/timers.d.ts +49 -0
- package/dist/avm1/timers.d.ts.map +1 -0
- package/dist/avm1/timers.js +114 -0
- package/dist/avm1/timers.js.map +1 -0
- package/dist/bitmap/bitmap.d.ts +231 -0
- package/dist/bitmap/bitmap.d.ts.map +1 -0
- package/dist/bitmap/bitmap.js +628 -0
- package/dist/bitmap/bitmap.js.map +1 -0
- package/dist/bitmap/draw.d.ts +11 -0
- package/dist/bitmap/draw.d.ts.map +1 -0
- package/dist/bitmap/draw.js +69 -0
- package/dist/bitmap/draw.js.map +1 -0
- package/dist/bitmap/dxt.d.ts +5 -0
- package/dist/bitmap/dxt.d.ts.map +1 -0
- package/dist/bitmap/dxt.js +12 -0
- package/dist/bitmap/dxt.js.map +1 -0
- package/dist/bitmap/filters.d.ts +82 -0
- package/dist/bitmap/filters.d.ts.map +1 -0
- package/dist/bitmap/filters.js +657 -0
- package/dist/bitmap/filters.js.map +1 -0
- package/dist/bitmap/images.d.ts +30 -0
- package/dist/bitmap/images.d.ts.map +1 -0
- package/dist/bitmap/images.js +241 -0
- package/dist/bitmap/images.js.map +1 -0
- package/dist/bitmap/kernel.d.ts +12 -0
- package/dist/bitmap/kernel.d.ts.map +1 -0
- package/dist/bitmap/kernel.js +66 -0
- package/dist/bitmap/kernel.js.map +1 -0
- package/dist/bitmap/ops.d.ts +144 -0
- package/dist/bitmap/ops.d.ts.map +1 -0
- package/dist/bitmap/ops.js +1240 -0
- package/dist/bitmap/ops.js.map +1 -0
- package/dist/bitmap/pixel-bender.d.ts +89 -0
- package/dist/bitmap/pixel-bender.d.ts.map +1 -0
- package/dist/bitmap/pixel-bender.js +912 -0
- package/dist/bitmap/pixel-bender.js.map +1 -0
- package/dist/bitmap/png.d.ts +4 -0
- package/dist/bitmap/png.d.ts.map +1 -0
- package/dist/bitmap/png.js +140 -0
- package/dist/bitmap/png.js.map +1 -0
- package/dist/bitmap/turbulence.d.ts +17 -0
- package/dist/bitmap/turbulence.d.ts.map +1 -0
- package/dist/bitmap/turbulence.js +90 -0
- package/dist/bitmap/turbulence.js.map +1 -0
- package/dist/clock.d.ts +60 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +183 -0
- package/dist/clock.js.map +1 -0
- package/dist/display/bitmapobject.d.ts +18 -0
- package/dist/display/bitmapobject.d.ts.map +1 -0
- package/dist/display/bitmapobject.js +26 -0
- package/dist/display/bitmapobject.js.map +1 -0
- package/dist/display/bounds.d.ts +59 -0
- package/dist/display/bounds.d.ts.map +1 -0
- package/dist/display/bounds.js +521 -0
- package/dist/display/bounds.js.map +1 -0
- package/dist/display/buttonobject.d.ts +76 -0
- package/dist/display/buttonobject.d.ts.map +1 -0
- package/dist/display/buttonobject.js +306 -0
- package/dist/display/buttonobject.js.map +1 -0
- package/dist/display/color.d.ts +9 -0
- package/dist/display/color.d.ts.map +1 -0
- package/dist/display/color.js +41 -0
- package/dist/display/color.js.map +1 -0
- package/dist/display/container.d.ts +49 -0
- package/dist/display/container.d.ts.map +1 -0
- package/dist/display/container.js +151 -0
- package/dist/display/container.js.map +1 -0
- package/dist/display/display.d.ts +11 -0
- package/dist/display/display.d.ts.map +1 -0
- package/dist/display/display.js +15 -0
- package/dist/display/display.js.map +1 -0
- package/dist/display/displayobject.d.ts +363 -0
- package/dist/display/displayobject.d.ts.map +1 -0
- package/dist/display/displayobject.js +665 -0
- package/dist/display/displayobject.js.map +1 -0
- package/dist/display/drawing.d.ts +111 -0
- package/dist/display/drawing.d.ts.map +1 -0
- package/dist/display/drawing.js +614 -0
- package/dist/display/drawing.js.map +1 -0
- package/dist/display/filters.d.ts +99 -0
- package/dist/display/filters.d.ts.map +1 -0
- package/dist/display/filters.js +286 -0
- package/dist/display/filters.js.map +1 -0
- package/dist/display/geometry.d.ts +37 -0
- package/dist/display/geometry.d.ts.map +1 -0
- package/dist/display/geometry.js +190 -0
- package/dist/display/geometry.js.map +1 -0
- package/dist/display/gradients.d.ts +29 -0
- package/dist/display/gradients.d.ts.map +1 -0
- package/dist/display/gradients.js +118 -0
- package/dist/display/gradients.js.map +1 -0
- package/dist/display/graphicsdata.d.ts +41 -0
- package/dist/display/graphicsdata.d.ts.map +1 -0
- package/dist/display/graphicsdata.js +593 -0
- package/dist/display/graphicsdata.js.map +1 -0
- package/dist/display/instantiate.d.ts +15 -0
- package/dist/display/instantiate.d.ts.map +1 -0
- package/dist/display/instantiate.js +72 -0
- package/dist/display/instantiate.js.map +1 -0
- package/dist/display/matrix3d.d.ts +68 -0
- package/dist/display/matrix3d.d.ts.map +1 -0
- package/dist/display/matrix3d.js +374 -0
- package/dist/display/matrix3d.js.map +1 -0
- package/dist/display/morph.d.ts +17 -0
- package/dist/display/morph.d.ts.map +1 -0
- package/dist/display/morph.js +227 -0
- package/dist/display/morph.js.map +1 -0
- package/dist/display/movieclip.d.ts +115 -0
- package/dist/display/movieclip.d.ts.map +1 -0
- package/dist/display/movieclip.js +681 -0
- package/dist/display/movieclip.js.map +1 -0
- package/dist/display/perspective.d.ts +35 -0
- package/dist/display/perspective.d.ts.map +1 -0
- package/dist/display/perspective.js +194 -0
- package/dist/display/perspective.js.map +1 -0
- package/dist/display/plane.d.ts +52 -0
- package/dist/display/plane.d.ts.map +1 -0
- package/dist/display/plane.js +142 -0
- package/dist/display/plane.js.map +1 -0
- package/dist/display/scale9.d.ts +78 -0
- package/dist/display/scale9.d.ts.map +1 -0
- package/dist/display/scale9.js +237 -0
- package/dist/display/scale9.js.map +1 -0
- package/dist/display/shapeobject.d.ts +53 -0
- package/dist/display/shapeobject.d.ts.map +1 -0
- package/dist/display/shapeobject.js +132 -0
- package/dist/display/shapeobject.js.map +1 -0
- package/dist/display/shapes.d.ts +146 -0
- package/dist/display/shapes.d.ts.map +1 -0
- package/dist/display/shapes.js +408 -0
- package/dist/display/shapes.js.map +1 -0
- package/dist/display/stretch.d.ts +42 -0
- package/dist/display/stretch.d.ts.map +1 -0
- package/dist/display/stretch.js +192 -0
- package/dist/display/stretch.js.map +1 -0
- package/dist/display/textobjects.d.ts +98 -0
- package/dist/display/textobjects.d.ts.map +1 -0
- package/dist/display/textobjects.js +223 -0
- package/dist/display/textobjects.js.map +1 -0
- package/dist/display/timeline.d.ts +252 -0
- package/dist/display/timeline.d.ts.map +1 -0
- package/dist/display/timeline.js +472 -0
- package/dist/display/timeline.js.map +1 -0
- package/dist/display/value-lists.d.ts +10 -0
- package/dist/display/value-lists.d.ts.map +1 -0
- package/dist/display/value-lists.js +41 -0
- package/dist/display/value-lists.js.map +1 -0
- package/dist/display/videoobject.d.ts +7 -0
- package/dist/display/videoobject.d.ts.map +1 -0
- package/dist/display/videoobject.js +7 -0
- package/dist/display/videoobject.js.map +1 -0
- package/dist/display/walk.d.ts +45 -0
- package/dist/display/walk.d.ts.map +1 -0
- package/dist/display/walk.js +128 -0
- package/dist/display/walk.js.map +1 -0
- package/dist/files.d.ts +77 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +335 -0
- package/dist/files.js.map +1 -0
- package/dist/hosts.d.ts +406 -0
- package/dist/hosts.d.ts.map +1 -0
- package/dist/hosts.js +208 -0
- package/dist/hosts.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/input/activation.d.ts +12 -0
- package/dist/input/activation.d.ts.map +1 -0
- package/dist/input/activation.js +57 -0
- package/dist/input/activation.js.map +1 -0
- package/dist/input/avm1.d.ts +22 -0
- package/dist/input/avm1.d.ts.map +1 -0
- package/dist/input/avm1.js +83 -0
- package/dist/input/avm1.js.map +1 -0
- package/dist/input/canvas.d.ts +19 -0
- package/dist/input/canvas.d.ts.map +1 -0
- package/dist/input/canvas.js +64 -0
- package/dist/input/canvas.js.map +1 -0
- package/dist/input/context-menu.d.ts +16 -0
- package/dist/input/context-menu.d.ts.map +1 -0
- package/dist/input/context-menu.js +64 -0
- package/dist/input/context-menu.js.map +1 -0
- package/dist/input/keyboard.d.ts +138 -0
- package/dist/input/keyboard.d.ts.map +1 -0
- package/dist/input/keyboard.js +459 -0
- package/dist/input/keyboard.js.map +1 -0
- package/dist/input/pointer.d.ts +186 -0
- package/dist/input/pointer.d.ts.map +1 -0
- package/dist/input/pointer.js +864 -0
- package/dist/input/pointer.js.map +1 -0
- package/dist/input/text-editor.d.ts +47 -0
- package/dist/input/text-editor.d.ts.map +1 -0
- package/dist/input/text-editor.js +320 -0
- package/dist/input/text-editor.js.map +1 -0
- package/dist/input/touch.d.ts +41 -0
- package/dist/input/touch.d.ts.map +1 -0
- package/dist/input/touch.js +210 -0
- package/dist/input/touch.js.map +1 -0
- package/dist/localconnection.d.ts +34 -0
- package/dist/localconnection.d.ts.map +1 -0
- package/dist/localconnection.js +91 -0
- package/dist/localconnection.js.map +1 -0
- package/dist/media/audio.d.ts +67 -0
- package/dist/media/audio.d.ts.map +1 -0
- package/dist/media/audio.js +377 -0
- package/dist/media/audio.js.map +1 -0
- package/dist/media/dynamic-sound.d.ts +10 -0
- package/dist/media/dynamic-sound.d.ts.map +1 -0
- package/dist/media/dynamic-sound.js +91 -0
- package/dist/media/dynamic-sound.js.map +1 -0
- package/dist/media/extract.d.ts +41 -0
- package/dist/media/extract.d.ts.map +1 -0
- package/dist/media/extract.js +136 -0
- package/dist/media/extract.js.map +1 -0
- package/dist/media/mp3.d.ts +19 -0
- package/dist/media/mp3.d.ts.map +1 -0
- package/dist/media/mp3.js +153 -0
- package/dist/media/mp3.js.map +1 -0
- package/dist/media/sounds.d.ts +157 -0
- package/dist/media/sounds.d.ts.map +1 -0
- package/dist/media/sounds.js +508 -0
- package/dist/media/sounds.js.map +1 -0
- package/dist/media/streaming-audio.d.ts +3 -0
- package/dist/media/streaming-audio.d.ts.map +1 -0
- package/dist/media/streaming-audio.js +134 -0
- package/dist/media/streaming-audio.js.map +1 -0
- package/dist/player.d.ts +169 -0
- package/dist/player.d.ts.map +1 -0
- package/dist/player.js +617 -0
- package/dist/player.js.map +1 -0
- package/dist/playerglobal/air/net/WebSocket.d.ts +4 -0
- package/dist/playerglobal/air/net/WebSocket.d.ts.map +1 -0
- package/dist/playerglobal/air/net/WebSocket.js +251 -0
- package/dist/playerglobal/air/net/WebSocket.js.map +1 -0
- package/dist/playerglobal/air-library.d.ts +6 -0
- package/dist/playerglobal/air-library.d.ts.map +1 -0
- package/dist/playerglobal/air-library.js +9 -0
- package/dist/playerglobal/air-library.js.map +1 -0
- package/dist/playerglobal/context3d/context.d.ts +5 -0
- package/dist/playerglobal/context3d/context.d.ts.map +1 -0
- package/dist/playerglobal/context3d/context.js +472 -0
- package/dist/playerglobal/context3d/context.js.map +1 -0
- package/dist/playerglobal/context3d/errors.d.ts +11 -0
- package/dist/playerglobal/context3d/errors.d.ts.map +1 -0
- package/dist/playerglobal/context3d/errors.js +101 -0
- package/dist/playerglobal/context3d/errors.js.map +1 -0
- package/dist/playerglobal/context3d/lifecycle.d.ts +61 -0
- package/dist/playerglobal/context3d/lifecycle.d.ts.map +1 -0
- package/dist/playerglobal/context3d/lifecycle.js +342 -0
- package/dist/playerglobal/context3d/lifecycle.js.map +1 -0
- package/dist/playerglobal/context3d/readback.d.ts +21 -0
- package/dist/playerglobal/context3d/readback.d.ts.map +1 -0
- package/dist/playerglobal/context3d/readback.js +56 -0
- package/dist/playerglobal/context3d/readback.js.map +1 -0
- package/dist/playerglobal/context3d/resources.d.ts +5 -0
- package/dist/playerglobal/context3d/resources.d.ts.map +1 -0
- package/dist/playerglobal/context3d/resources.js +298 -0
- package/dist/playerglobal/context3d/resources.js.map +1 -0
- package/dist/playerglobal/context3d.d.ts +6 -0
- package/dist/playerglobal/context3d.d.ts.map +1 -0
- package/dist/playerglobal/context3d.js +96 -0
- package/dist/playerglobal/context3d.js.map +1 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.d.ts +4 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.d.ts.map +1 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.js +22 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.js.map +1 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts +3 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts.map +1 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.js +33 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.js.map +1 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts +4 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts.map +1 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.js +62 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.js.map +1 -0
- package/dist/playerglobal/flash/desktop/Clipboard.d.ts +9 -0
- package/dist/playerglobal/flash/desktop/Clipboard.d.ts.map +1 -0
- package/dist/playerglobal/flash/desktop/Clipboard.js +174 -0
- package/dist/playerglobal/flash/desktop/Clipboard.js.map +1 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.d.ts +6 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.d.ts.map +1 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.js +180 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.js.map +1 -0
- package/dist/playerglobal/flash/display/AVM1Movie.d.ts +3 -0
- package/dist/playerglobal/flash/display/AVM1Movie.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/AVM1Movie.js +20 -0
- package/dist/playerglobal/flash/display/AVM1Movie.js.map +1 -0
- package/dist/playerglobal/flash/display/Bitmap.d.ts +4 -0
- package/dist/playerglobal/flash/display/Bitmap.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Bitmap.js +59 -0
- package/dist/playerglobal/flash/display/Bitmap.js.map +1 -0
- package/dist/playerglobal/flash/display/BitmapData.d.ts +10 -0
- package/dist/playerglobal/flash/display/BitmapData.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/BitmapData.js +634 -0
- package/dist/playerglobal/flash/display/BitmapData.js.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObject.d.ts +8 -0
- package/dist/playerglobal/flash/display/DisplayObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObject.js +615 -0
- package/dist/playerglobal/flash/display/DisplayObject.js.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts +4 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.js +225 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.js.map +1 -0
- package/dist/playerglobal/flash/display/Graphics.d.ts +8 -0
- package/dist/playerglobal/flash/display/Graphics.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Graphics.js +346 -0
- package/dist/playerglobal/flash/display/Graphics.js.map +1 -0
- package/dist/playerglobal/flash/display/InteractiveObject.d.ts +12 -0
- package/dist/playerglobal/flash/display/InteractiveObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/InteractiveObject.js +88 -0
- package/dist/playerglobal/flash/display/InteractiveObject.js.map +1 -0
- package/dist/playerglobal/flash/display/Loader.d.ts +4 -0
- package/dist/playerglobal/flash/display/Loader.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Loader.js +80 -0
- package/dist/playerglobal/flash/display/Loader.js.map +1 -0
- package/dist/playerglobal/flash/display/LoaderInfo.d.ts +8 -0
- package/dist/playerglobal/flash/display/LoaderInfo.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/LoaderInfo.js +129 -0
- package/dist/playerglobal/flash/display/LoaderInfo.js.map +1 -0
- package/dist/playerglobal/flash/display/MovieClip.d.ts +4 -0
- package/dist/playerglobal/flash/display/MovieClip.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/MovieClip.js +195 -0
- package/dist/playerglobal/flash/display/MovieClip.js.map +1 -0
- package/dist/playerglobal/flash/display/NativeWindow.d.ts +8 -0
- package/dist/playerglobal/flash/display/NativeWindow.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/NativeWindow.js +246 -0
- package/dist/playerglobal/flash/display/NativeWindow.js.map +1 -0
- package/dist/playerglobal/flash/display/Shader.d.ts +4 -0
- package/dist/playerglobal/flash/display/Shader.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Shader.js +27 -0
- package/dist/playerglobal/flash/display/Shader.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderData.d.ts +7 -0
- package/dist/playerglobal/flash/display/ShaderData.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderData.js +86 -0
- package/dist/playerglobal/flash/display/ShaderData.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderInput.d.ts +20 -0
- package/dist/playerglobal/flash/display/ShaderInput.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderInput.js +65 -0
- package/dist/playerglobal/flash/display/ShaderInput.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderJob.d.ts +4 -0
- package/dist/playerglobal/flash/display/ShaderJob.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderJob.js +182 -0
- package/dist/playerglobal/flash/display/ShaderJob.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderParameter.d.ts +4 -0
- package/dist/playerglobal/flash/display/ShaderParameter.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderParameter.js +24 -0
- package/dist/playerglobal/flash/display/ShaderParameter.js.map +1 -0
- package/dist/playerglobal/flash/display/Shape.d.ts +4 -0
- package/dist/playerglobal/flash/display/Shape.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Shape.js +14 -0
- package/dist/playerglobal/flash/display/Shape.js.map +1 -0
- package/dist/playerglobal/flash/display/SimpleButton.d.ts +4 -0
- package/dist/playerglobal/flash/display/SimpleButton.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/SimpleButton.js +104 -0
- package/dist/playerglobal/flash/display/SimpleButton.js.map +1 -0
- package/dist/playerglobal/flash/display/Sprite.d.ts +4 -0
- package/dist/playerglobal/flash/display/Sprite.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Sprite.js +85 -0
- package/dist/playerglobal/flash/display/Sprite.js.map +1 -0
- package/dist/playerglobal/flash/display/Stage.d.ts +4 -0
- package/dist/playerglobal/flash/display/Stage.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Stage.js +232 -0
- package/dist/playerglobal/flash/display/Stage.js.map +1 -0
- package/dist/playerglobal/flash/display/Stage3D.d.ts +4 -0
- package/dist/playerglobal/flash/display/Stage3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Stage3D.js +55 -0
- package/dist/playerglobal/flash/display/Stage3D.js.map +1 -0
- package/dist/playerglobal/flash/display/shaders.d.ts +45 -0
- package/dist/playerglobal/flash/display/shaders.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/shaders.js +229 -0
- package/dist/playerglobal/flash/display/shaders.js.map +1 -0
- package/dist/playerglobal/flash/events/Event.d.ts +4 -0
- package/dist/playerglobal/flash/events/Event.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/Event.js +59 -0
- package/dist/playerglobal/flash/events/Event.js.map +1 -0
- package/dist/playerglobal/flash/events/EventDispatcher.d.ts +11 -0
- package/dist/playerglobal/flash/events/EventDispatcher.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/EventDispatcher.js +104 -0
- package/dist/playerglobal/flash/events/EventDispatcher.js.map +1 -0
- package/dist/playerglobal/flash/events/GestureEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/GestureEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/GestureEvent.js +35 -0
- package/dist/playerglobal/flash/events/GestureEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts +3 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.js +9 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.js +52 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/MouseEvent.d.ts +11 -0
- package/dist/playerglobal/flash/events/MouseEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/MouseEvent.js +60 -0
- package/dist/playerglobal/flash/events/MouseEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js +31 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/TimerEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/TimerEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/TimerEvent.js +17 -0
- package/dist/playerglobal/flash/events/TimerEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/TouchEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/TouchEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/TouchEvent.js +46 -0
- package/dist/playerglobal/flash/events/TouchEvent.js.map +1 -0
- package/dist/playerglobal/flash/external/ExternalInterface.d.ts +4 -0
- package/dist/playerglobal/flash/external/ExternalInterface.d.ts.map +1 -0
- package/dist/playerglobal/flash/external/ExternalInterface.js +74 -0
- package/dist/playerglobal/flash/external/ExternalInterface.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/File.d.ts +22 -0
- package/dist/playerglobal/flash/filesystem/File.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/File.js +341 -0
- package/dist/playerglobal/flash/filesystem/File.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/FileStream.d.ts +4 -0
- package/dist/playerglobal/flash/filesystem/FileStream.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/FileStream.js +454 -0
- package/dist/playerglobal/flash/filesystem/FileStream.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/paths.d.ts +43 -0
- package/dist/playerglobal/flash/filesystem/paths.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/paths.js +157 -0
- package/dist/playerglobal/flash/filesystem/paths.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/writes.d.ts +36 -0
- package/dist/playerglobal/flash/filesystem/writes.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/writes.js +144 -0
- package/dist/playerglobal/flash/filesystem/writes.js.map +1 -0
- package/dist/playerglobal/flash/filters/BevelFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/BevelFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BevelFilter.js +5 -0
- package/dist/playerglobal/flash/filters/BevelFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.d.ts +33 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.js +206 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/BlurFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/BlurFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BlurFilter.js +5 -0
- package/dist/playerglobal/flash/filters/BlurFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.js +12 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.js +27 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts +12 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.js +52 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GlowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GlowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GlowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GlowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.js +54 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.js.map +1 -0
- package/dist/playerglobal/flash/geom/Matrix3D.d.ts +4 -0
- package/dist/playerglobal/flash/geom/Matrix3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Matrix3D.js +362 -0
- package/dist/playerglobal/flash/geom/Matrix3D.js.map +1 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts +13 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.js +123 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.js.map +1 -0
- package/dist/playerglobal/flash/geom/Transform.d.ts +13 -0
- package/dist/playerglobal/flash/geom/Transform.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Transform.js +246 -0
- package/dist/playerglobal/flash/geom/Transform.js.map +1 -0
- package/dist/playerglobal/flash/geom/Utils3D.d.ts +4 -0
- package/dist/playerglobal/flash/geom/Utils3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Utils3D.js +86 -0
- package/dist/playerglobal/flash/geom/Utils3D.js.map +1 -0
- package/dist/playerglobal/flash/globalization/Collator.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/Collator.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/Collator.js +150 -0
- package/dist/playerglobal/flash/globalization/Collator.js.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.js +273 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.js +22 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.js.map +1 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.js +464 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/LocaleID.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/LocaleID.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/LocaleID.js +145 -0
- package/dist/playerglobal/flash/globalization/LocaleID.js.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts +67 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.js +445 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts +3 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.js +23 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.js.map +1 -0
- package/dist/playerglobal/flash/globalization/StringTools.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/StringTools.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/StringTools.js +60 -0
- package/dist/playerglobal/flash/globalization/StringTools.js.map +1 -0
- package/dist/playerglobal/flash/globalization/locale.d.ts +62 -0
- package/dist/playerglobal/flash/globalization/locale.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/locale.js +191 -0
- package/dist/playerglobal/flash/globalization/locale.js.map +1 -0
- package/dist/playerglobal/flash/media/Camera.d.ts +4 -0
- package/dist/playerglobal/flash/media/Camera.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Camera.js +90 -0
- package/dist/playerglobal/flash/media/Camera.js.map +1 -0
- package/dist/playerglobal/flash/media/Microphone.d.ts +4 -0
- package/dist/playerglobal/flash/media/Microphone.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Microphone.js +127 -0
- package/dist/playerglobal/flash/media/Microphone.js.map +1 -0
- package/dist/playerglobal/flash/media/Sound.d.ts +16 -0
- package/dist/playerglobal/flash/media/Sound.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Sound.js +544 -0
- package/dist/playerglobal/flash/media/Sound.js.map +1 -0
- package/dist/playerglobal/flash/media/SoundMixer.d.ts +4 -0
- package/dist/playerglobal/flash/media/SoundMixer.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/SoundMixer.js +75 -0
- package/dist/playerglobal/flash/media/SoundMixer.js.map +1 -0
- package/dist/playerglobal/flash/media/SoundTransform.d.ts +4 -0
- package/dist/playerglobal/flash/media/SoundTransform.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/SoundTransform.js +41 -0
- package/dist/playerglobal/flash/media/SoundTransform.js.map +1 -0
- package/dist/playerglobal/flash/media/Video.d.ts +4 -0
- package/dist/playerglobal/flash/media/Video.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Video.js +44 -0
- package/dist/playerglobal/flash/media/Video.js.map +1 -0
- package/dist/playerglobal/flash/net/FileFilter.d.ts +4 -0
- package/dist/playerglobal/flash/net/FileFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/FileFilter.js +28 -0
- package/dist/playerglobal/flash/net/FileFilter.js.map +1 -0
- package/dist/playerglobal/flash/net/FileReference.d.ts +4 -0
- package/dist/playerglobal/flash/net/FileReference.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/FileReference.js +198 -0
- package/dist/playerglobal/flash/net/FileReference.js.map +1 -0
- package/dist/playerglobal/flash/net/LocalConnection.d.ts +5 -0
- package/dist/playerglobal/flash/net/LocalConnection.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/LocalConnection.js +168 -0
- package/dist/playerglobal/flash/net/LocalConnection.js.map +1 -0
- package/dist/playerglobal/flash/net/NetConnection.d.ts +4 -0
- package/dist/playerglobal/flash/net/NetConnection.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/NetConnection.js +156 -0
- package/dist/playerglobal/flash/net/NetConnection.js.map +1 -0
- package/dist/playerglobal/flash/net/SharedObject.d.ts +4 -0
- package/dist/playerglobal/flash/net/SharedObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/SharedObject.js +300 -0
- package/dist/playerglobal/flash/net/SharedObject.js.map +1 -0
- package/dist/playerglobal/flash/net/Socket.d.ts +4 -0
- package/dist/playerglobal/flash/net/Socket.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/Socket.js +283 -0
- package/dist/playerglobal/flash/net/Socket.js.map +1 -0
- package/dist/playerglobal/flash/net/URLRequest.d.ts +4 -0
- package/dist/playerglobal/flash/net/URLRequest.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/URLRequest.js +94 -0
- package/dist/playerglobal/flash/net/URLRequest.js.map +1 -0
- package/dist/playerglobal/flash/net/URLStream.d.ts +4 -0
- package/dist/playerglobal/flash/net/URLStream.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/URLStream.js +147 -0
- package/dist/playerglobal/flash/net/URLStream.js.map +1 -0
- package/dist/playerglobal/flash/net/XMLSocket.d.ts +4 -0
- package/dist/playerglobal/flash/net/XMLSocket.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/XMLSocket.js +15 -0
- package/dist/playerglobal/flash/net/XMLSocket.js.map +1 -0
- package/dist/playerglobal/flash/net/local-modern.d.ts +4 -0
- package/dist/playerglobal/flash/net/local-modern.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/local-modern.js +143 -0
- package/dist/playerglobal/flash/net/local-modern.js.map +1 -0
- package/dist/playerglobal/flash/net/local-values.d.ts +6 -0
- package/dist/playerglobal/flash/net/local-values.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/local-values.js +218 -0
- package/dist/playerglobal/flash/net/local-values.js.map +1 -0
- package/dist/playerglobal/flash/net/navigateToURL.d.ts +4 -0
- package/dist/playerglobal/flash/net/navigateToURL.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/navigateToURL.js +30 -0
- package/dist/playerglobal/flash/net/navigateToURL.js.map +1 -0
- package/dist/playerglobal/flash/profiler/Telemetry.d.ts +3 -0
- package/dist/playerglobal/flash/profiler/Telemetry.d.ts.map +1 -0
- package/dist/playerglobal/flash/profiler/Telemetry.js +26 -0
- package/dist/playerglobal/flash/profiler/Telemetry.js.map +1 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.d.ts +3 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.d.ts.map +1 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.js +13 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.js.map +1 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.d.ts +4 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.js +70 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.js.map +1 -0
- package/dist/playerglobal/flash/system/Capabilities.d.ts +4 -0
- package/dist/playerglobal/flash/system/Capabilities.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Capabilities.js +164 -0
- package/dist/playerglobal/flash/system/Capabilities.js.map +1 -0
- package/dist/playerglobal/flash/system/FSCommandHost.d.ts +4 -0
- package/dist/playerglobal/flash/system/FSCommandHost.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/FSCommandHost.js +18 -0
- package/dist/playerglobal/flash/system/FSCommandHost.js.map +1 -0
- package/dist/playerglobal/flash/system/Security.d.ts +4 -0
- package/dist/playerglobal/flash/system/Security.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Security.js +47 -0
- package/dist/playerglobal/flash/system/Security.js.map +1 -0
- package/dist/playerglobal/flash/system/SecurityDomain.d.ts +4 -0
- package/dist/playerglobal/flash/system/SecurityDomain.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/SecurityDomain.js +22 -0
- package/dist/playerglobal/flash/system/SecurityDomain.js.map +1 -0
- package/dist/playerglobal/flash/system/System.d.ts +4 -0
- package/dist/playerglobal/flash/system/System.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/System.js +74 -0
- package/dist/playerglobal/flash/system/System.js.map +1 -0
- package/dist/playerglobal/flash/system/Worker.d.ts +6 -0
- package/dist/playerglobal/flash/system/Worker.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Worker.js +113 -0
- package/dist/playerglobal/flash/system/Worker.js.map +1 -0
- package/dist/playerglobal/flash/text/Font.d.ts +8 -0
- package/dist/playerglobal/flash/text/Font.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/Font.js +96 -0
- package/dist/playerglobal/flash/text/Font.js.map +1 -0
- package/dist/playerglobal/flash/text/StaticText.d.ts +3 -0
- package/dist/playerglobal/flash/text/StaticText.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/StaticText.js +17 -0
- package/dist/playerglobal/flash/text/StaticText.js.map +1 -0
- package/dist/playerglobal/flash/text/StyleSheet.d.ts +9 -0
- package/dist/playerglobal/flash/text/StyleSheet.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/StyleSheet.js +66 -0
- package/dist/playerglobal/flash/text/StyleSheet.js.map +1 -0
- package/dist/playerglobal/flash/text/TextField.d.ts +4 -0
- package/dist/playerglobal/flash/text/TextField.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/TextField.js +708 -0
- package/dist/playerglobal/flash/text/TextField.js.map +1 -0
- package/dist/playerglobal/flash/text/TextRenderer.d.ts +4 -0
- package/dist/playerglobal/flash/text/TextRenderer.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/TextRenderer.js +78 -0
- package/dist/playerglobal/flash/text/TextRenderer.js.map +1 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.d.ts +4 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.js +142 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.js.map +1 -0
- package/dist/playerglobal/flash/text/engine/TabStop.d.ts +4 -0
- package/dist/playerglobal/flash/text/engine/TabStop.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/engine/TabStop.js +47 -0
- package/dist/playerglobal/flash/text/engine/TabStop.js.map +1 -0
- package/dist/playerglobal/flash/trace/Trace.d.ts +3 -0
- package/dist/playerglobal/flash/trace/Trace.d.ts.map +1 -0
- package/dist/playerglobal/flash/trace/Trace.js +18 -0
- package/dist/playerglobal/flash/trace/Trace.js.map +1 -0
- package/dist/playerglobal/flash/ui/ContextMenu.d.ts +4 -0
- package/dist/playerglobal/flash/ui/ContextMenu.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/ContextMenu.js +18 -0
- package/dist/playerglobal/flash/ui/ContextMenu.js.map +1 -0
- package/dist/playerglobal/flash/ui/GameInput.d.ts +4 -0
- package/dist/playerglobal/flash/ui/GameInput.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/GameInput.js +20 -0
- package/dist/playerglobal/flash/ui/GameInput.js.map +1 -0
- package/dist/playerglobal/flash/ui/Keyboard.d.ts +3 -0
- package/dist/playerglobal/flash/ui/Keyboard.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Keyboard.js +28 -0
- package/dist/playerglobal/flash/ui/Keyboard.js.map +1 -0
- package/dist/playerglobal/flash/ui/Mouse.d.ts +4 -0
- package/dist/playerglobal/flash/ui/Mouse.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Mouse.js +128 -0
- package/dist/playerglobal/flash/ui/Mouse.js.map +1 -0
- package/dist/playerglobal/flash/ui/Multitouch.d.ts +4 -0
- package/dist/playerglobal/flash/ui/Multitouch.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Multitouch.js +47 -0
- package/dist/playerglobal/flash/ui/Multitouch.js.map +1 -0
- package/dist/playerglobal/flash/utils/ByteArray.d.ts +5 -0
- package/dist/playerglobal/flash/utils/ByteArray.d.ts.map +1 -0
- package/dist/playerglobal/flash/utils/ByteArray.js +156 -0
- package/dist/playerglobal/flash/utils/ByteArray.js.map +1 -0
- package/dist/playerglobal/flash/utils/Timer.d.ts +4 -0
- package/dist/playerglobal/flash/utils/Timer.d.ts.map +1 -0
- package/dist/playerglobal/flash/utils/Timer.js +26 -0
- package/dist/playerglobal/flash/utils/Timer.js.map +1 -0
- package/dist/playerglobal/flash/xml/XMLDocument.d.ts +4 -0
- package/dist/playerglobal/flash/xml/XMLDocument.d.ts.map +1 -0
- package/dist/playerglobal/flash/xml/XMLDocument.js +75 -0
- package/dist/playerglobal/flash/xml/XMLDocument.js.map +1 -0
- package/dist/playerglobal/index.d.ts +6 -0
- package/dist/playerglobal/index.d.ts.map +1 -0
- package/dist/playerglobal/index.js +225 -0
- package/dist/playerglobal/index.js.map +1 -0
- package/dist/playerglobal/libraries.d.ts +5 -0
- package/dist/playerglobal/libraries.d.ts.map +1 -0
- package/dist/playerglobal/libraries.js +11 -0
- package/dist/playerglobal/libraries.js.map +1 -0
- package/dist/playerglobal/playerglobal-library.d.ts +3 -0
- package/dist/playerglobal/playerglobal-library.d.ts.map +1 -0
- package/dist/playerglobal/playerglobal-library.js +23 -0
- package/dist/playerglobal/playerglobal-library.js.map +1 -0
- package/dist/playerglobal/toplevel.d.ts +14 -0
- package/dist/playerglobal/toplevel.d.ts.map +1 -0
- package/dist/playerglobal/toplevel.js +123 -0
- package/dist/playerglobal/toplevel.js.map +1 -0
- package/dist/scene/advanced.d.ts +28 -0
- package/dist/scene/advanced.d.ts.map +1 -0
- package/dist/scene/advanced.js +182 -0
- package/dist/scene/advanced.js.map +1 -0
- package/dist/scene/context-menu.d.ts +16 -0
- package/dist/scene/context-menu.d.ts.map +1 -0
- package/dist/scene/context-menu.js +230 -0
- package/dist/scene/context-menu.js.map +1 -0
- package/dist/scene/fills.d.ts +45 -0
- package/dist/scene/fills.d.ts.map +1 -0
- package/dist/scene/fills.js +39 -0
- package/dist/scene/fills.js.map +1 -0
- package/dist/scene/filter-layers.d.ts +99 -0
- package/dist/scene/filter-layers.d.ts.map +1 -0
- package/dist/scene/filter-layers.js +352 -0
- package/dist/scene/filter-layers.js.map +1 -0
- package/dist/scene/filters.d.ts +47 -0
- package/dist/scene/filters.d.ts.map +1 -0
- package/dist/scene/filters.js +314 -0
- package/dist/scene/filters.js.map +1 -0
- package/dist/scene/hidden.d.ts +8 -0
- package/dist/scene/hidden.d.ts.map +1 -0
- package/dist/scene/hidden.js +33 -0
- package/dist/scene/hidden.js.map +1 -0
- package/dist/scene/lines.d.ts +87 -0
- package/dist/scene/lines.d.ts.map +1 -0
- package/dist/scene/lines.js +242 -0
- package/dist/scene/lines.js.map +1 -0
- package/dist/scene/masks.d.ts +32 -0
- package/dist/scene/masks.d.ts.map +1 -0
- package/dist/scene/masks.js +136 -0
- package/dist/scene/masks.js.map +1 -0
- package/dist/scene/paints.d.ts +86 -0
- package/dist/scene/paints.d.ts.map +1 -0
- package/dist/scene/paints.js +282 -0
- package/dist/scene/paints.js.map +1 -0
- package/dist/scene/parts.d.ts +57 -0
- package/dist/scene/parts.d.ts.map +1 -0
- package/dist/scene/parts.js +156 -0
- package/dist/scene/parts.js.map +1 -0
- package/dist/scene/pixel-bender-glsl.d.ts +32 -0
- package/dist/scene/pixel-bender-glsl.d.ts.map +1 -0
- package/dist/scene/pixel-bender-glsl.js +618 -0
- package/dist/scene/pixel-bender-glsl.js.map +1 -0
- package/dist/scene/planes.d.ts +89 -0
- package/dist/scene/planes.d.ts.map +1 -0
- package/dist/scene/planes.js +177 -0
- package/dist/scene/planes.js.map +1 -0
- package/dist/scene/pointer.d.ts +18 -0
- package/dist/scene/pointer.d.ts.map +1 -0
- package/dist/scene/pointer.js +245 -0
- package/dist/scene/pointer.js.map +1 -0
- package/dist/scene/shapes.d.ts +56 -0
- package/dist/scene/shapes.d.ts.map +1 -0
- package/dist/scene/shapes.js +300 -0
- package/dist/scene/shapes.js.map +1 -0
- package/dist/scene/stale-shapes.d.ts +18 -0
- package/dist/scene/stale-shapes.d.ts.map +1 -0
- package/dist/scene/stale-shapes.js +39 -0
- package/dist/scene/stale-shapes.js.map +1 -0
- package/dist/scene/strokes.d.ts +20 -0
- package/dist/scene/strokes.d.ts.map +1 -0
- package/dist/scene/strokes.js +111 -0
- package/dist/scene/strokes.js.map +1 -0
- package/dist/scene/text-items.d.ts +48 -0
- package/dist/scene/text-items.d.ts.map +1 -0
- package/dist/scene/text-items.js +206 -0
- package/dist/scene/text-items.js.map +1 -0
- package/dist/scene/text.d.ts +98 -0
- package/dist/scene/text.d.ts.map +1 -0
- package/dist/scene/text.js +249 -0
- package/dist/scene/text.js.map +1 -0
- package/dist/scene/view.d.ts +277 -0
- package/dist/scene/view.d.ts.map +1 -0
- package/dist/scene/view.js +1185 -0
- package/dist/scene/view.js.map +1 -0
- package/dist/scripting/clipboard.d.ts +61 -0
- package/dist/scripting/clipboard.d.ts.map +1 -0
- package/dist/scripting/clipboard.js +147 -0
- package/dist/scripting/clipboard.js.map +1 -0
- package/dist/scripting/code.d.ts +294 -0
- package/dist/scripting/code.d.ts.map +1 -0
- package/dist/scripting/code.js +901 -0
- package/dist/scripting/code.js.map +1 -0
- package/dist/scripting/evaluate.d.ts +38 -0
- package/dist/scripting/evaluate.d.ts.map +1 -0
- package/dist/scripting/evaluate.js +145 -0
- package/dist/scripting/evaluate.js.map +1 -0
- package/dist/scripting/events.d.ts +69 -0
- package/dist/scripting/events.d.ts.map +1 -0
- package/dist/scripting/events.js +173 -0
- package/dist/scripting/events.js.map +1 -0
- package/dist/scripting/handover.d.ts +76 -0
- package/dist/scripting/handover.d.ts.map +1 -0
- package/dist/scripting/handover.js +183 -0
- package/dist/scripting/handover.js.map +1 -0
- package/dist/scripting/lazy.d.ts +9 -0
- package/dist/scripting/lazy.d.ts.map +1 -0
- package/dist/scripting/lazy.js +39 -0
- package/dist/scripting/lazy.js.map +1 -0
- package/dist/scripting/lifecycle.d.ts +90 -0
- package/dist/scripting/lifecycle.d.ts.map +1 -0
- package/dist/scripting/lifecycle.js +273 -0
- package/dist/scripting/lifecycle.js.map +1 -0
- package/dist/scripting/loads.d.ts +220 -0
- package/dist/scripting/loads.d.ts.map +1 -0
- package/dist/scripting/loads.js +861 -0
- package/dist/scripting/loads.js.map +1 -0
- package/dist/scripting/sha256.d.ts +5 -0
- package/dist/scripting/sha256.d.ts.map +1 -0
- package/dist/scripting/sha256.js +96 -0
- package/dist/scripting/sha256.js.map +1 -0
- package/dist/scripting/symbols.d.ts +74 -0
- package/dist/scripting/symbols.d.ts.map +1 -0
- package/dist/scripting/symbols.js +349 -0
- package/dist/scripting/symbols.js.map +1 -0
- package/dist/scripting/timers.d.ts +145 -0
- package/dist/scripting/timers.d.ts.map +1 -0
- package/dist/scripting/timers.js +435 -0
- package/dist/scripting/timers.js.map +1 -0
- package/dist/scripting/workers.d.ts +138 -0
- package/dist/scripting/workers.d.ts.map +1 -0
- package/dist/scripting/workers.js +924 -0
- package/dist/scripting/workers.js.map +1 -0
- package/dist/scripting.d.ts +486 -0
- package/dist/scripting.d.ts.map +1 -0
- package/dist/scripting.js +1019 -0
- package/dist/scripting.js.map +1 -0
- package/dist/stage.d.ts +3 -0
- package/dist/stage.d.ts.map +1 -0
- package/dist/stage.js +5 -0
- package/dist/stage.js.map +1 -0
- package/dist/text/csm.d.ts +34 -0
- package/dist/text/csm.d.ts.map +1 -0
- package/dist/text/csm.js +114 -0
- package/dist/text/csm.js.map +1 -0
- package/dist/text/css.d.ts +9 -0
- package/dist/text/css.d.ts.map +1 -0
- package/dist/text/css.js +168 -0
- package/dist/text/css.js.map +1 -0
- package/dist/text/fonts.d.ts +23 -0
- package/dist/text/fonts.d.ts.map +1 -0
- package/dist/text/fonts.js +98 -0
- package/dist/text/fonts.js.map +1 -0
- package/dist/text/layout.d.ts +79 -0
- package/dist/text/layout.d.ts.map +1 -0
- package/dist/text/layout.js +394 -0
- package/dist/text/layout.js.map +1 -0
- package/dist/text/saffron.d.ts +121 -0
- package/dist/text/saffron.d.ts.map +1 -0
- package/dist/text/saffron.js +442 -0
- package/dist/text/saffron.js.map +1 -0
- package/dist/text/static.d.ts +33 -0
- package/dist/text/static.d.ts.map +1 -0
- package/dist/text/static.js +110 -0
- package/dist/text/static.js.map +1 -0
- package/dist/text/text.d.ts +69 -0
- package/dist/text/text.d.ts.map +1 -0
- package/dist/text/text.js +432 -0
- package/dist/text/text.js.map +1 -0
- package/dist/workers/protocol.d.ts +128 -0
- package/dist/workers/protocol.d.ts.map +1 -0
- package/dist/workers/protocol.js +2 -0
- package/dist/workers/protocol.js.map +1 -0
- package/dist/workers/thread.d.ts +15 -0
- package/dist/workers/thread.d.ts.map +1 -0
- package/dist/workers/thread.js +160 -0
- package/dist/workers/thread.js.map +1 -0
- package/dist/workers/wire.d.ts +53 -0
- package/dist/workers/wire.d.ts.map +1 -0
- package/dist/workers/wire.js +199 -0
- package/dist/workers/wire.js.map +1 -0
- package/package.json +55 -3
- package/src/air-definitions.ts +129 -0
- package/src/avm1/amf.ts +564 -0
- package/src/avm1/avm1.ts +1652 -0
- package/src/avm1/bindings.ts +257 -0
- package/src/avm1/classes.ts +85 -0
- package/src/avm1/clips.ts +305 -0
- package/src/avm1/compile.ts +179 -0
- package/src/avm1/external.ts +99 -0
- package/src/avm1/focus.ts +342 -0
- package/src/avm1/globals/BitmapData.ts +736 -0
- package/src/avm1/globals/Button.ts +43 -0
- package/src/avm1/globals/Color.ts +138 -0
- package/src/avm1/globals/ExternalInterface.ts +402 -0
- package/src/avm1/globals/FileReference.ts +249 -0
- package/src/avm1/globals/Key.ts +102 -0
- package/src/avm1/globals/LoadVars.ts +280 -0
- package/src/avm1/globals/LocalConnection.ts +137 -0
- package/src/avm1/globals/MovieClip.ts +1365 -0
- package/src/avm1/globals/MovieClipLoader.ts +150 -0
- package/src/avm1/globals/NetConnection.ts +352 -0
- package/src/avm1/globals/PrintJob.ts +57 -0
- package/src/avm1/globals/Selection.ts +103 -0
- package/src/avm1/globals/SharedObject.ts +300 -0
- package/src/avm1/globals/Sound.ts +326 -0
- package/src/avm1/globals/Stage.ts +19 -0
- package/src/avm1/globals/StyleSheet.ts +280 -0
- package/src/avm1/globals/TextField.ts +611 -0
- package/src/avm1/globals/TextFormat.ts +250 -0
- package/src/avm1/globals/TextSnapshot.ts +128 -0
- package/src/avm1/globals/XML.ts +521 -0
- package/src/avm1/globals/XMLNode.ts +502 -0
- package/src/avm1/globals/XMLSocket.ts +267 -0
- package/src/avm1/globals/drawing.ts +253 -0
- package/src/avm1/globals/filters.ts +782 -0
- package/src/avm1/globals/geom.ts +887 -0
- package/src/avm1/input.ts +556 -0
- package/src/avm1/keyboard.ts +133 -0
- package/src/avm1/loads.ts +461 -0
- package/src/avm1/net.ts +287 -0
- package/src/avm1/paths.ts +132 -0
- package/src/avm1/pointer.ts +607 -0
- package/src/avm1/queue.ts +335 -0
- package/src/avm1/sound.ts +135 -0
- package/src/avm1/swf.ts +193 -0
- package/src/avm1/timers.ts +141 -0
- package/src/bitmap/bitmap.ts +796 -0
- package/src/bitmap/draw.ts +96 -0
- package/src/bitmap/dxt.ts +20 -0
- package/src/bitmap/filters.ts +810 -0
- package/src/bitmap/images.ts +304 -0
- package/src/bitmap/kernel.ts +77 -0
- package/src/bitmap/ops.ts +1608 -0
- package/src/bitmap/pixel-bender.ts +1089 -0
- package/src/bitmap/png.ts +152 -0
- package/src/bitmap/turbulence.ts +117 -0
- package/src/clock.ts +196 -0
- package/src/display/bitmapobject.ts +31 -0
- package/src/display/bounds.ts +702 -0
- package/src/display/buttonobject.ts +382 -0
- package/src/display/color.ts +54 -0
- package/src/display/container.ts +169 -0
- package/src/display/display.ts +28 -0
- package/src/display/displayobject.ts +823 -0
- package/src/display/drawing.ts +744 -0
- package/src/display/filters.ts +393 -0
- package/src/display/geometry.ts +237 -0
- package/src/display/gradients.ts +165 -0
- package/src/display/graphicsdata.ts +745 -0
- package/src/display/instantiate.ts +95 -0
- package/src/display/matrix3d.ts +461 -0
- package/src/display/morph.ts +275 -0
- package/src/display/movieclip.ts +771 -0
- package/src/display/perspective.ts +253 -0
- package/src/display/plane.ts +192 -0
- package/src/display/scale9.ts +321 -0
- package/src/display/shapeobject.ts +160 -0
- package/src/display/shapes.ts +602 -0
- package/src/display/stretch.ts +217 -0
- package/src/display/textobjects.ts +248 -0
- package/src/display/timeline.ts +831 -0
- package/src/display/value-lists.ts +50 -0
- package/src/display/videoobject.ts +7 -0
- package/src/display/walk.ts +169 -0
- package/src/files.ts +466 -0
- package/src/hosts.ts +645 -0
- package/src/index.ts +66 -0
- package/src/input/activation.ts +62 -0
- package/src/input/avm1.ts +102 -0
- package/src/input/canvas.ts +74 -0
- package/src/input/context-menu.ts +105 -0
- package/src/input/keyboard.ts +645 -0
- package/src/input/pointer.ts +1127 -0
- package/src/input/text-editor.ts +361 -0
- package/src/input/touch.ts +302 -0
- package/src/localconnection.ts +129 -0
- package/src/media/audio.ts +484 -0
- package/src/media/dynamic-sound.ts +118 -0
- package/src/media/extract.ts +191 -0
- package/src/media/mp3.ts +205 -0
- package/src/media/sounds.ts +735 -0
- package/src/media/streaming-audio.ts +150 -0
- package/src/player.ts +686 -0
- package/src/playerglobal/air/net/WebSocket.ts +318 -0
- package/src/playerglobal/air-library.ts +14 -0
- package/src/playerglobal/context3d/context.ts +672 -0
- package/src/playerglobal/context3d/errors.ts +116 -0
- package/src/playerglobal/context3d/lifecycle.ts +428 -0
- package/src/playerglobal/context3d/readback.ts +65 -0
- package/src/playerglobal/context3d/resources.ts +406 -0
- package/src/playerglobal/context3d.ts +111 -0
- package/src/playerglobal/flash/accessibility/Accessibility.ts +30 -0
- package/src/playerglobal/flash/crypto/generateRandomBytes.ts +38 -0
- package/src/playerglobal/flash/data/EncryptedLocalStore.ts +75 -0
- package/src/playerglobal/flash/desktop/Clipboard.ts +217 -0
- package/src/playerglobal/flash/desktop/NativeApplication.ts +241 -0
- package/src/playerglobal/flash/display/AVM1Movie.ts +24 -0
- package/src/playerglobal/flash/display/Bitmap.ts +76 -0
- package/src/playerglobal/flash/display/BitmapData.ts +963 -0
- package/src/playerglobal/flash/display/DisplayObject.ts +787 -0
- package/src/playerglobal/flash/display/DisplayObjectContainer.ts +274 -0
- package/src/playerglobal/flash/display/Graphics.ts +489 -0
- package/src/playerglobal/flash/display/InteractiveObject.ts +124 -0
- package/src/playerglobal/flash/display/Loader.ts +126 -0
- package/src/playerglobal/flash/display/LoaderInfo.ts +205 -0
- package/src/playerglobal/flash/display/MovieClip.ts +245 -0
- package/src/playerglobal/flash/display/NativeWindow.ts +313 -0
- package/src/playerglobal/flash/display/Shader.ts +39 -0
- package/src/playerglobal/flash/display/ShaderData.ts +105 -0
- package/src/playerglobal/flash/display/ShaderInput.ts +101 -0
- package/src/playerglobal/flash/display/ShaderJob.ts +234 -0
- package/src/playerglobal/flash/display/ShaderParameter.ts +36 -0
- package/src/playerglobal/flash/display/Shape.ts +19 -0
- package/src/playerglobal/flash/display/SimpleButton.ts +126 -0
- package/src/playerglobal/flash/display/Sprite.ts +115 -0
- package/src/playerglobal/flash/display/Stage.ts +298 -0
- package/src/playerglobal/flash/display/Stage3D.ts +90 -0
- package/src/playerglobal/flash/display/shaders.ts +296 -0
- package/src/playerglobal/flash/events/Event.ts +85 -0
- package/src/playerglobal/flash/events/EventDispatcher.ts +143 -0
- package/src/playerglobal/flash/events/GestureEvent.ts +49 -0
- package/src/playerglobal/flash/events/HTTPStatusEvent.ts +12 -0
- package/src/playerglobal/flash/events/KeyboardEvent.ts +75 -0
- package/src/playerglobal/flash/events/MouseEvent.ts +88 -0
- package/src/playerglobal/flash/events/PressAndTapGestureEvent.ts +48 -0
- package/src/playerglobal/flash/events/TimerEvent.ts +20 -0
- package/src/playerglobal/flash/events/TouchEvent.ts +64 -0
- package/src/playerglobal/flash/external/ExternalInterface.ts +104 -0
- package/src/playerglobal/flash/filesystem/File.ts +450 -0
- package/src/playerglobal/flash/filesystem/FileStream.ts +556 -0
- package/src/playerglobal/flash/filesystem/paths.ts +181 -0
- package/src/playerglobal/flash/filesystem/writes.ts +203 -0
- package/src/playerglobal/flash/filters/BevelFilter.ts +9 -0
- package/src/playerglobal/flash/filters/BitmapFilter.ts +237 -0
- package/src/playerglobal/flash/filters/BlurFilter.ts +8 -0
- package/src/playerglobal/flash/filters/ColorMatrixFilter.ts +15 -0
- package/src/playerglobal/flash/filters/ConvolutionFilter.ts +31 -0
- package/src/playerglobal/flash/filters/DisplacementMapFilter.ts +69 -0
- package/src/playerglobal/flash/filters/DropShadowFilter.ts +9 -0
- package/src/playerglobal/flash/filters/GlowFilter.ts +9 -0
- package/src/playerglobal/flash/filters/GradientBevelFilter.ts +8 -0
- package/src/playerglobal/flash/filters/GradientGlowFilter.ts +8 -0
- package/src/playerglobal/flash/filters/ShaderFilter.ts +75 -0
- package/src/playerglobal/flash/geom/Matrix3D.ts +468 -0
- package/src/playerglobal/flash/geom/PerspectiveProjection.ts +162 -0
- package/src/playerglobal/flash/geom/Transform.ts +335 -0
- package/src/playerglobal/flash/geom/Utils3D.ts +132 -0
- package/src/playerglobal/flash/globalization/Collator.ts +205 -0
- package/src/playerglobal/flash/globalization/CurrencyFormatter.ts +365 -0
- package/src/playerglobal/flash/globalization/CurrencyParseResult.ts +35 -0
- package/src/playerglobal/flash/globalization/DateTimeFormatter.ts +594 -0
- package/src/playerglobal/flash/globalization/LocaleID.ts +202 -0
- package/src/playerglobal/flash/globalization/NumberFormatter.ts +574 -0
- package/src/playerglobal/flash/globalization/NumberParseResult.ts +40 -0
- package/src/playerglobal/flash/globalization/StringTools.ts +78 -0
- package/src/playerglobal/flash/globalization/locale.ts +245 -0
- package/src/playerglobal/flash/media/Camera.ts +122 -0
- package/src/playerglobal/flash/media/Microphone.ts +177 -0
- package/src/playerglobal/flash/media/Sound.ts +714 -0
- package/src/playerglobal/flash/media/SoundMixer.ts +97 -0
- package/src/playerglobal/flash/media/SoundTransform.ts +61 -0
- package/src/playerglobal/flash/media/Video.ts +64 -0
- package/src/playerglobal/flash/net/FileFilter.ts +42 -0
- package/src/playerglobal/flash/net/FileReference.ts +273 -0
- package/src/playerglobal/flash/net/LocalConnection.ts +218 -0
- package/src/playerglobal/flash/net/NetConnection.ts +219 -0
- package/src/playerglobal/flash/net/SharedObject.ts +356 -0
- package/src/playerglobal/flash/net/Socket.ts +360 -0
- package/src/playerglobal/flash/net/URLRequest.ts +140 -0
- package/src/playerglobal/flash/net/URLStream.ts +203 -0
- package/src/playerglobal/flash/net/XMLSocket.ts +18 -0
- package/src/playerglobal/flash/net/local-modern.ts +164 -0
- package/src/playerglobal/flash/net/local-values.ts +245 -0
- package/src/playerglobal/flash/net/navigateToURL.ts +42 -0
- package/src/playerglobal/flash/profiler/Telemetry.ts +35 -0
- package/src/playerglobal/flash/sensors/Accelerometer.ts +15 -0
- package/src/playerglobal/flash/system/ApplicationDomain.ts +94 -0
- package/src/playerglobal/flash/system/Capabilities.ts +203 -0
- package/src/playerglobal/flash/system/FSCommandHost.ts +23 -0
- package/src/playerglobal/flash/system/Security.ts +61 -0
- package/src/playerglobal/flash/system/SecurityDomain.ts +27 -0
- package/src/playerglobal/flash/system/System.ts +96 -0
- package/src/playerglobal/flash/system/Worker.ts +147 -0
- package/src/playerglobal/flash/text/Font.ts +124 -0
- package/src/playerglobal/flash/text/StaticText.ts +21 -0
- package/src/playerglobal/flash/text/StyleSheet.ts +87 -0
- package/src/playerglobal/flash/text/TextField.ts +789 -0
- package/src/playerglobal/flash/text/TextRenderer.ts +104 -0
- package/src/playerglobal/flash/text/engine/FontDescription.ts +198 -0
- package/src/playerglobal/flash/text/engine/TabStop.ts +70 -0
- package/src/playerglobal/flash/trace/Trace.ts +25 -0
- package/src/playerglobal/flash/ui/ContextMenu.ts +26 -0
- package/src/playerglobal/flash/ui/GameInput.ts +27 -0
- package/src/playerglobal/flash/ui/Keyboard.ts +34 -0
- package/src/playerglobal/flash/ui/Mouse.ts +170 -0
- package/src/playerglobal/flash/ui/Multitouch.ts +62 -0
- package/src/playerglobal/flash/utils/ByteArray.ts +184 -0
- package/src/playerglobal/flash/utils/Timer.ts +39 -0
- package/src/playerglobal/flash/xml/XMLDocument.ts +101 -0
- package/src/playerglobal/index.ts +233 -0
- package/src/playerglobal/libraries.ts +12 -0
- package/src/playerglobal/playerglobal-library.ts +28 -0
- package/src/playerglobal/toplevel.ts +158 -0
- package/src/scene/advanced.ts +282 -0
- package/src/scene/context-menu.ts +270 -0
- package/src/scene/fills.ts +90 -0
- package/src/scene/filter-layers.ts +503 -0
- package/src/scene/filters.ts +421 -0
- package/src/scene/hidden.ts +37 -0
- package/src/scene/lines.ts +322 -0
- package/src/scene/masks.ts +195 -0
- package/src/scene/paints.ts +378 -0
- package/src/scene/parts.ts +205 -0
- package/src/scene/pixel-bender-glsl.ts +722 -0
- package/src/scene/planes.ts +260 -0
- package/src/scene/pointer.ts +278 -0
- package/src/scene/shapes.ts +386 -0
- package/src/scene/stale-shapes.ts +56 -0
- package/src/scene/strokes.ts +157 -0
- package/src/scene/text-items.ts +324 -0
- package/src/scene/text.ts +360 -0
- package/src/scene/view.ts +1591 -0
- package/src/scripting/clipboard.ts +169 -0
- package/src/scripting/code.ts +1094 -0
- package/src/scripting/evaluate.ts +178 -0
- package/src/scripting/events.ts +236 -0
- package/src/scripting/handover.ts +253 -0
- package/src/scripting/lazy.ts +67 -0
- package/src/scripting/lifecycle.ts +307 -0
- package/src/scripting/loads.ts +1112 -0
- package/src/scripting/sha256.ts +107 -0
- package/src/scripting/symbols.ts +454 -0
- package/src/scripting/timers.ts +504 -0
- package/src/scripting/workers.ts +1144 -0
- package/src/scripting.ts +1300 -0
- package/src/stage.ts +7 -0
- package/src/text/csm.ts +173 -0
- package/src/text/css.ts +198 -0
- package/src/text/fonts.ts +129 -0
- package/src/text/layout.ts +525 -0
- package/src/text/saffron.ts +539 -0
- package/src/text/static.ts +147 -0
- package/src/text/text.ts +538 -0
- package/src/workers/protocol.ts +124 -0
- package/src/workers/thread.ts +188 -0
- package/src/workers/wire.ts +263 -0
|
@@ -0,0 +1,1112 @@
|
|
|
1
|
+
// What a SWF asks to load, and when it comes: a Loader's SWF or image, from a URL
|
|
2
|
+
// the host fetches or from bytes, compiled and linked off the frame, in
|
|
3
|
+
// the order asked, and given its LoaderInfo's events in the frame after;
|
|
4
|
+
// a URLStream's or a Sound's bytes, and the host's other callbacks, held
|
|
5
|
+
// for the next frame; navigateToURL's and sendToURL's requests; and the
|
|
6
|
+
// LoaderInfo of each, the main SWF's too.
|
|
7
|
+
import { isAs3, readSwf, type Swf } from "@swf2es/format";
|
|
8
|
+
import { avm2 } from "@swf2es/runtime";
|
|
9
|
+
import { Avm1, getUrlNavigate } from "../avm1/avm1.js";
|
|
10
|
+
import { BitmapStore } from "../bitmap/bitmap.js";
|
|
11
|
+
import { decodeImageFile, decodeImages, hasUndecoded, imageFormat } from "../bitmap/images.js";
|
|
12
|
+
import { type Container, MovieClip, rootOf, unloads } from "../display/display.js";
|
|
13
|
+
import { type BitmapPixels, type Library, readLibrary } from "../display/timeline.js";
|
|
14
|
+
import type { FetchPurpose, FetchRequest, FetchResult } from "../hosts.js";
|
|
15
|
+
import { LoadedAvm1Input } from "../input/avm1.js";
|
|
16
|
+
import { streamFrames } from "../media/sounds.js";
|
|
17
|
+
import type { Scripting } from "../scripting.js";
|
|
18
|
+
import { dispatchEvent } from "./events.js";
|
|
19
|
+
|
|
20
|
+
type AsObject = avm2.AsObject;
|
|
21
|
+
type Value = avm2.Value;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A load a Loader asked for. Its SWF's code is compiled and linked as
|
|
25
|
+
* the bytes come, off the frame; what it then does on the display list
|
|
26
|
+
* waits for a frame, as `ready`, or is the error it ended in.
|
|
27
|
+
*/
|
|
28
|
+
interface Load {
|
|
29
|
+
loader: AsObject;
|
|
30
|
+
/** The Loader's count of requests when this was asked: an older one was closed or replaced, and does nothing. */
|
|
31
|
+
generation: number;
|
|
32
|
+
/** The URL asked for, resolved; null for a load from bytes, which told its progress in the call. */
|
|
33
|
+
url: string | null;
|
|
34
|
+
bytes: Uint8Array;
|
|
35
|
+
status: number;
|
|
36
|
+
/** What the content's frame does: it returns what the frame's end does, INIT and COMPLETE. */
|
|
37
|
+
ready: (() => () => void) | null;
|
|
38
|
+
/** The IOErrorEvent text the load ended in, as Flash words one. */
|
|
39
|
+
failed: string | null;
|
|
40
|
+
/** The application domain its code loads into, as the Loader's context chose it when asked. */
|
|
41
|
+
domain: avm2.Domain;
|
|
42
|
+
/** The LoaderContext's parameters, which take the place of the URL's query; null when it set none. */
|
|
43
|
+
parameters: ReadonlyMap<string, string> | null;
|
|
44
|
+
/** The SWF, where the call read it already: a load from bytes. */
|
|
45
|
+
swf: Swf | null;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* An AVM1 movie a loadBytes made, for the end of a frame: Flash makes its
|
|
50
|
+
* AVM1Movie in the call and has it by the end of the frame, once its
|
|
51
|
+
* images are decoded here; `failed` if they could not be.
|
|
52
|
+
*/
|
|
53
|
+
interface Avm1Load {
|
|
54
|
+
load: Load;
|
|
55
|
+
swf: Swf;
|
|
56
|
+
library: Library;
|
|
57
|
+
movie: AsObject;
|
|
58
|
+
ready: boolean;
|
|
59
|
+
failed: boolean;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export class Loads {
|
|
63
|
+
/** Only loaded AVM1 movies enter this map; ordinary AS3 players create no AVM1 runtime. */
|
|
64
|
+
private readonly avm1Movies = new Map<MovieClip, { vm: Avm1; first: Swf | null }>();
|
|
65
|
+
|
|
66
|
+
/** Loads asked for and not yet completed, in order; each prepared after the one before it. */
|
|
67
|
+
private readonly loads: Load[] = [];
|
|
68
|
+
/** AVM1 movies from bytes, in the order asked, for the end of a frame. */
|
|
69
|
+
private readonly avm1Loads: Avm1Load[] = [];
|
|
70
|
+
private preparing: Promise<void> = Promise.resolve();
|
|
71
|
+
/** Host requests are independent of Loader's ordered preparation chain. */
|
|
72
|
+
private readonly pendingRequests = new Set<Promise<void>>();
|
|
73
|
+
/** Completed host byte requests delivered at the next frame, with scripts on the player thread. */
|
|
74
|
+
private readonly readyBytes: (() => void)[] = [];
|
|
75
|
+
/** A load from bytes was asked, and heldTime has not yet told of it ready. */
|
|
76
|
+
private holding = false;
|
|
77
|
+
/** How many loads from bytes there have been: each gets a URL of its own under the main SWF's. */
|
|
78
|
+
private dynamic = 0;
|
|
79
|
+
/** The main SWF's flashvars, as the host gave them. */
|
|
80
|
+
private readonly flashvars: Readonly<Record<string, string>>;
|
|
81
|
+
/** What the next frame does after EXIT_FRAME, before the loads' ends: the main SWF's load events. */
|
|
82
|
+
readonly frameEnds: (() => void)[] = [];
|
|
83
|
+
|
|
84
|
+
constructor(
|
|
85
|
+
private readonly s: Scripting,
|
|
86
|
+
options: { parameters?: Readonly<Record<string, string>> },
|
|
87
|
+
) {
|
|
88
|
+
this.flashvars = options.parameters ?? {};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
tickAvm1(): void {
|
|
92
|
+
if (this.avm1Movies.size === 0) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
for (const [root, movie] of this.avm1Movies) {
|
|
97
|
+
if (movie.first) {
|
|
98
|
+
const swf = movie.first;
|
|
99
|
+
movie.first = null;
|
|
100
|
+
root.fresh = false;
|
|
101
|
+
movie.vm.startScripts(swf);
|
|
102
|
+
} else {
|
|
103
|
+
movie.vm.tick(this.s.frameRate);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
streamFrames(): number {
|
|
109
|
+
if (this.avm1Movies.size === 0) {
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
let frames = 0;
|
|
114
|
+
for (const movie of this.avm1Movies.values()) {
|
|
115
|
+
frames = Math.max(frames, streamFrames(movie.vm.sounds));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return frames;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
destroyAvm1(): void {
|
|
122
|
+
for (const movie of this.avm1Movies.values()) {
|
|
123
|
+
movie.vm.destroy(false);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
this.avm1Movies.clear();
|
|
127
|
+
this.s.avm1Input = null;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** Keep an asynchronous host task visible to settled(). */
|
|
131
|
+
trackRequest(task: Promise<void>): void {
|
|
132
|
+
this.pendingRequests.add(task);
|
|
133
|
+
void task.then(
|
|
134
|
+
() => this.pendingRequests.delete(task),
|
|
135
|
+
() => this.pendingRequests.delete(task),
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/** Cross a host callback into the next player frame, where scripts may run. */
|
|
140
|
+
deferHostEvent(deliver: () => void): void {
|
|
141
|
+
this.readyBytes.push(deliver);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* A LoaderInfo for `loader` (null for the main SWF's), empty until its
|
|
146
|
+
* content is known: what its natives read is kept on it as $ fields.
|
|
147
|
+
*/
|
|
148
|
+
loaderInfo(loader: AsObject | null): AsObject {
|
|
149
|
+
const info = this.s.rt.construct(this.s.rt.classNamed("flash.display::LoaderInfo"));
|
|
150
|
+
info.$loader = loader;
|
|
151
|
+
info.$content = null;
|
|
152
|
+
info.$bytes = null;
|
|
153
|
+
info.$swf = null;
|
|
154
|
+
info.$image = null;
|
|
155
|
+
info.$url = null;
|
|
156
|
+
info.$params = NO_PARAMETERS;
|
|
157
|
+
info.$loaderURL = loader ? this.ownerUrl(loader) : this.s.url;
|
|
158
|
+
info.$loaded = 0;
|
|
159
|
+
info.$total = 0;
|
|
160
|
+
return info;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/** The main SWF's loaderInfo.parameters: its URL's query, then the flashvars. */
|
|
164
|
+
mainParameters(): ReadonlyMap<string, string> {
|
|
165
|
+
const parameters = queryParameters(this.s.url);
|
|
166
|
+
// A host in plain JavaScript may give other values: Flash's are strings.
|
|
167
|
+
for (const [name, value] of Object.entries(this.flashvars)) {
|
|
168
|
+
parameters.set(name, String(value));
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return parameters;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/** What a LoaderInfo knows once its SWF is: the bytes, the header's version, frame rate and size. */
|
|
175
|
+
describe(info: AsObject, bytes: Uint8Array, swf: Swf): void {
|
|
176
|
+
info.$bytes = bytes;
|
|
177
|
+
info.$total = bytes.length;
|
|
178
|
+
info.$swf = {
|
|
179
|
+
version: swf.header.version,
|
|
180
|
+
frameRate: swf.frameRate,
|
|
181
|
+
width: Math.round((swf.frameSize.xMax - swf.frameSize.xMin) / 20),
|
|
182
|
+
height: Math.round((swf.frameSize.yMax - swf.frameSize.yMin) / 20),
|
|
183
|
+
as3: isAs3(swf),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* The domain a load goes into: the LoaderContext's applicationDomain, or
|
|
189
|
+
* by default a new child of the domain of the code that asked, as
|
|
190
|
+
* Flash's `new ApplicationDomain(ApplicationDomain.currentDomain)`.
|
|
191
|
+
*/
|
|
192
|
+
loadDomain(applicationDomain: Value): avm2.Domain {
|
|
193
|
+
const chosen: avm2.Domain | undefined = applicationDomain?.$domain;
|
|
194
|
+
return chosen ?? this.s.rt.childDomain(this.s.code.codeDomain());
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* The URL of the SWF a Loader belongs to, which its content's loaderURL
|
|
199
|
+
* reports and its relative URLs resolve against: Flash's is the SWF whose
|
|
200
|
+
* code made the Loader, which the runtime does not track, so it is the
|
|
201
|
+
* SWF the Loader is on the display list of when it loads, else the main.
|
|
202
|
+
*/
|
|
203
|
+
private ownerUrl(loader: AsObject): string {
|
|
204
|
+
return rootOf(loader.$display)?.loaderInfo?.$url ?? this.s.url;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Whose a loadBytes' content is: the SWF whose code called it. Where the
|
|
209
|
+
* caller cannot be told, as from a timer, only while every SWF ever
|
|
210
|
+
* loaded had one origin is it that origin's, its Loader's SWF's on the
|
|
211
|
+
* display list, else the main SWF's, which then shares it; with several,
|
|
212
|
+
* no one's, an opaque URL that no check allows: never the main SWF's
|
|
213
|
+
* for a Loader nothing places, which an unloaded child may have made.
|
|
214
|
+
*/
|
|
215
|
+
private bytesOwner(loader: AsObject): string {
|
|
216
|
+
// This, requestLoad and Loader's _loadBytes are the player's frames.
|
|
217
|
+
const caller = this.s.code.callerUrl(3);
|
|
218
|
+
if (caller !== null) {
|
|
219
|
+
return caller;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (new Set(this.s.code.everUrls().map(originOf)).size !== 1) {
|
|
223
|
+
return UNKNOWN_OWNER;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return this.ownerUrl(loader);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* A Loader's loadBytes. Flash tells the whole of the progress at once, in
|
|
231
|
+
* the call, the URL still null; the content comes in a later frame, under
|
|
232
|
+
* a URL of the bytes' own.
|
|
233
|
+
*/
|
|
234
|
+
requestLoad(
|
|
235
|
+
loader: AsObject,
|
|
236
|
+
bytes: Uint8Array,
|
|
237
|
+
domain = this.loadDomain(null),
|
|
238
|
+
parameters: ReadonlyMap<string, string> | null = null,
|
|
239
|
+
): void {
|
|
240
|
+
const begun = this.begin(loader, parameters);
|
|
241
|
+
if (!begun) {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
const { info, generation } = begun;
|
|
246
|
+
// The bytes' SWF is the calling SWF's, as Flash gave loadBytes content
|
|
247
|
+
// the domain of the SWF that loaded it: its code is judged as that SWF's.
|
|
248
|
+
info.$loaderURL = this.bytesOwner(loader);
|
|
249
|
+
info.$dynamic = `${info.$loaderURL}/[[DYNAMIC]]/${++this.dynamic}`;
|
|
250
|
+
info.$bytes = bytes;
|
|
251
|
+
info.$total = bytes.length;
|
|
252
|
+
// A listener of either event may close the Loader or load anew, which ends this load.
|
|
253
|
+
this.progress(info, 0);
|
|
254
|
+
if (loader.$generation !== generation) {
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
this.progress(info, bytes.length);
|
|
259
|
+
if (loader.$generation !== generation) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
info.$domain = domain;
|
|
264
|
+
let swf: Swf | null = null;
|
|
265
|
+
try {
|
|
266
|
+
swf = readSwf(bytes);
|
|
267
|
+
} catch {
|
|
268
|
+
// Not a SWF: refused when its turn comes, as Flash refuses it in a later frame.
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
if (swf && !isAs3(swf)) {
|
|
272
|
+
const load = this.newLoad(loader, generation, null, domain, parameters, swf);
|
|
273
|
+
load.bytes = bytes;
|
|
274
|
+
this.requestAvm1(load, swf);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
this.holding = true;
|
|
279
|
+
this.enqueue(
|
|
280
|
+
loader,
|
|
281
|
+
generation,
|
|
282
|
+
null,
|
|
283
|
+
Promise.resolve({ bytes, status: 0, headers: [] }),
|
|
284
|
+
domain,
|
|
285
|
+
parameters,
|
|
286
|
+
swf,
|
|
287
|
+
);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* An AVM1 SWF from bytes. Flash makes its AVM1Movie in the call, named
|
|
292
|
+
* then, and has it in the Loader at the end of the frame, after
|
|
293
|
+
* EXIT_FRAME, before the next frame begins: the last asked first, INIT
|
|
294
|
+
* and COMPLETE with each, as adl traces it (the `avm1-movie` case). A
|
|
295
|
+
* SWF with images has them decoded first, which may take frames; one
|
|
296
|
+
* whose images the decoder refuses ends in IOError #2124 there instead.
|
|
297
|
+
*/
|
|
298
|
+
private requestAvm1(load: Load, swf: Swf): void {
|
|
299
|
+
const library = this.avm1Library(swf, load.domain);
|
|
300
|
+
const pending: Avm1Load = {
|
|
301
|
+
load,
|
|
302
|
+
swf,
|
|
303
|
+
library,
|
|
304
|
+
movie: this.avm1Movie(library),
|
|
305
|
+
ready: false,
|
|
306
|
+
failed: false,
|
|
307
|
+
};
|
|
308
|
+
this.avm1Loads.push(pending);
|
|
309
|
+
if (!hasUndecoded(library)) {
|
|
310
|
+
pending.ready = true;
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
this.trackRequest(
|
|
315
|
+
decodeImages(library, this.s.decodeImage).then(
|
|
316
|
+
() => {
|
|
317
|
+
pending.ready = true;
|
|
318
|
+
},
|
|
319
|
+
() => {
|
|
320
|
+
pending.ready = true;
|
|
321
|
+
pending.failed = true;
|
|
322
|
+
},
|
|
323
|
+
),
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/** An AVM1 SWF's library: its timelines play by themselves, with no AS3 objects but the root's. */
|
|
328
|
+
private avm1Library(swf: Swf, domain: avm2.Domain): Library {
|
|
329
|
+
const library = readLibrary(swf);
|
|
330
|
+
library.domain = domain;
|
|
331
|
+
return library;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* An AVM1 SWF's root, not yet on its first frame, as AS3 sees it: an
|
|
336
|
+
* AVM1Movie, which is no InteractiveObject, so the pointer's hits on the
|
|
337
|
+
* movie's artwork go to its Loader; its own VM picks its buttons (input/avm1.ts).
|
|
338
|
+
*/
|
|
339
|
+
private avm1Movie(library: Library): AsObject {
|
|
340
|
+
const root = new MovieClip(library.root, library);
|
|
341
|
+
root.avm1Root = true;
|
|
342
|
+
return this.s.constructAs(root, this.s.rt.classNamed("flash.display::AVM1Movie"));
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/** The AVM1 movies from bytes ready by the end of this frame, the last asked first. */
|
|
346
|
+
deliverAvm1Loads(): void {
|
|
347
|
+
for (let i = this.avm1Loads.length - 1; i >= 0; i--) {
|
|
348
|
+
const pending = this.avm1Loads[i];
|
|
349
|
+
if (!pending.ready) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
this.avm1Loads.splice(i, 1);
|
|
354
|
+
try {
|
|
355
|
+
this.deliverAvm1(pending);
|
|
356
|
+
} catch (error) {
|
|
357
|
+
this.s.reportUncaught(error);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* An AVM1 movie from bytes as the Loader's content, then its INIT and
|
|
364
|
+
* COMPLETE. It keeps its first frame through the next frame's advance,
|
|
365
|
+
* as adl shows it, then plays at the stage's frame rate.
|
|
366
|
+
*/
|
|
367
|
+
private deliverAvm1(pending: Avm1Load): void {
|
|
368
|
+
const { load, swf, library, movie } = pending;
|
|
369
|
+
if (load.generation !== load.loader.$generation) {
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
if (pending.failed) {
|
|
374
|
+
dispatchEvent(this.s, this.loaderInfoOf(load.loader), this.ioError(this.errorText(2124)));
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const end = this.complete(load, swf, library, null, movie);
|
|
379
|
+
(movie.$display as MovieClip).fresh = true;
|
|
380
|
+
end();
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* A load begins: the one before it is dropped, pending or complete, and
|
|
385
|
+
* its LoaderInfo knows nothing again, as Flash's load() does at the call
|
|
386
|
+
* (Ruffle's `loader_reuse` trace), but the parameters its context gave,
|
|
387
|
+
* which Flash tells from the call on. The old content's REMOVED listeners
|
|
388
|
+
* may load anew themselves, and that load is then the one that counts:
|
|
389
|
+
* null tells the caller so.
|
|
390
|
+
*/
|
|
391
|
+
private begin(
|
|
392
|
+
loader: AsObject,
|
|
393
|
+
parameters: ReadonlyMap<string, string> | null,
|
|
394
|
+
): { info: AsObject; generation: number } | null {
|
|
395
|
+
this.closeLoad(loader);
|
|
396
|
+
const generation: number = loader.$generation;
|
|
397
|
+
this.dropContent(loader);
|
|
398
|
+
if (loader.$generation !== generation) {
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
const info = this.loaderInfoOf(loader);
|
|
403
|
+
info.$loaderURL = this.ownerUrl(loader);
|
|
404
|
+
info.$params = parameters ?? NO_PARAMETERS;
|
|
405
|
+
return { info, generation };
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/** A Loader's close, and what a new load does first: a pending load does nothing when its turn comes, and its fetch is aborted. */
|
|
409
|
+
closeLoad(loader: AsObject): void {
|
|
410
|
+
loader.$generation = (loader.$generation ?? 0) + 1;
|
|
411
|
+
loader.$abort?.abort();
|
|
412
|
+
loader.$abort = null;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
private progress(info: AsObject, loaded: number): void {
|
|
416
|
+
info.$loaded = loaded;
|
|
417
|
+
dispatchEvent(
|
|
418
|
+
this.s,
|
|
419
|
+
info,
|
|
420
|
+
this.s.rt.construct(
|
|
421
|
+
this.s.rt.classNamed("flash.events::ProgressEvent"),
|
|
422
|
+
"progress",
|
|
423
|
+
false,
|
|
424
|
+
false,
|
|
425
|
+
loaded,
|
|
426
|
+
info.$total,
|
|
427
|
+
),
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/** A Loader's load of a URL: the host fetches it, resolved, and the load completes in a frame after the bytes arrive. */
|
|
432
|
+
requestLoadUrl(
|
|
433
|
+
loader: AsObject,
|
|
434
|
+
request: AsObject | string,
|
|
435
|
+
domain = this.loadDomain(null),
|
|
436
|
+
parameters: ReadonlyMap<string, string> | null = null,
|
|
437
|
+
): void {
|
|
438
|
+
const begun = this.begin(loader, parameters);
|
|
439
|
+
if (!begun) {
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
const { info, generation } = begun;
|
|
444
|
+
const outgoing = {
|
|
445
|
+
...this.fetchRequest(request, info.$loaderURL),
|
|
446
|
+
purpose: "content" as const,
|
|
447
|
+
};
|
|
448
|
+
const abort = new AbortController();
|
|
449
|
+
loader.$abort = abort;
|
|
450
|
+
const fetch = this.s.fetch;
|
|
451
|
+
this.enqueue(
|
|
452
|
+
loader,
|
|
453
|
+
generation,
|
|
454
|
+
outgoing.url,
|
|
455
|
+
fetch ? fetch(outgoing, abort.signal) : Promise.reject(),
|
|
456
|
+
domain,
|
|
457
|
+
parameters,
|
|
458
|
+
);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* A URLStream's or a Sound's host request, delivered in a frame after the bytes arrive: a Sound's
|
|
463
|
+
* is "content", a URLStream's "data".
|
|
464
|
+
*/
|
|
465
|
+
requestBytes(
|
|
466
|
+
request: AsObject | string,
|
|
467
|
+
signal: AbortSignal,
|
|
468
|
+
deliver: (result: FetchResult, url: string) => void,
|
|
469
|
+
purpose: FetchPurpose = "data",
|
|
470
|
+
): void {
|
|
471
|
+
const outgoing = { ...this.fetchRequest(request, this.s.url), purpose };
|
|
472
|
+
const fetch = this.s.fetch;
|
|
473
|
+
// Attach both handlers at once; an early rejection must not be unhandled.
|
|
474
|
+
const fetched = (fetch ? fetch(outgoing, signal) : Promise.reject()).then(
|
|
475
|
+
(result) => result,
|
|
476
|
+
() => ({ bytes: null, status: 0, headers: [] }),
|
|
477
|
+
);
|
|
478
|
+
const completed = fetched.then((result) => {
|
|
479
|
+
this.readyBytes.push(() => deliver(result, outgoing.url));
|
|
480
|
+
});
|
|
481
|
+
this.trackRequest(completed);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
/**
|
|
485
|
+
* navigateToURL's page, resolved as a load's URL is; nothing where the
|
|
486
|
+
* host opens none, or for an empty URL, which Ruffle's navigators ignore
|
|
487
|
+
* rather than open the SWF's own directory. A browser navigates only by
|
|
488
|
+
* GET or POST, so any other method goes as a GET, its data in the query,
|
|
489
|
+
* as Flash's does from a browser.
|
|
490
|
+
*/
|
|
491
|
+
navigateTo(request: AsObject, window: string | null): void {
|
|
492
|
+
if (String(request.$url) === "") {
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
const post = String(request.$method ?? "GET").toUpperCase() === "POST";
|
|
497
|
+
this.s.navigate?.(
|
|
498
|
+
this.fetchRequest(request, this.s.url, { method: post ? "POST" : "GET" }),
|
|
499
|
+
window,
|
|
500
|
+
);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/** sendToURL's request, sent by the host's fetch and its response dropped, as Flash ignores it. */
|
|
504
|
+
sendTo(request: AsObject): void {
|
|
505
|
+
const fetch = this.s.fetch;
|
|
506
|
+
if (!fetch || !this.s.sendToUrl) {
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
fetch(
|
|
511
|
+
{ ...this.fetchRequest(request, this.s.url), purpose: "send" },
|
|
512
|
+
new AbortController().signal,
|
|
513
|
+
).catch(() => {});
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/** Security.loadPolicyFile's URL, resolved as a load's is, for the host to judge requests by. */
|
|
517
|
+
policyFile(url: string): void {
|
|
518
|
+
this.s.loadPolicyFile?.(resolve(this.s.base ?? this.s.url, url));
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
/** Snapshot a URLRequest at load time, before scripts can change its data or headers. */
|
|
522
|
+
fetchRequest(
|
|
523
|
+
request: AsObject | string,
|
|
524
|
+
base: string,
|
|
525
|
+
options: { method?: string; requestHeaders?: boolean | "all" } = {},
|
|
526
|
+
): FetchRequest {
|
|
527
|
+
if (typeof request === "string") {
|
|
528
|
+
return { url: resolve(this.s.base ?? base, request), method: "GET", headers: [], body: null };
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
let url = String(request?.$url ?? "");
|
|
532
|
+
const method = options.method ?? String(request?.$method ?? "GET");
|
|
533
|
+
const get = method.toUpperCase() === "GET";
|
|
534
|
+
const post = method.toUpperCase() === "POST";
|
|
535
|
+
const data = request?.$data as Value;
|
|
536
|
+
let body: Uint8Array | null = null;
|
|
537
|
+
if (data !== null && data !== undefined) {
|
|
538
|
+
if (typeof data === "object" && this.s.rt.traitsOf(data).name === "flash.utils::ByteArray") {
|
|
539
|
+
if (!get) {
|
|
540
|
+
const bytes = avm2.bytesOf(this.s.rt, data);
|
|
541
|
+
body = bytes.buffer.slice(0, bytes.length);
|
|
542
|
+
}
|
|
543
|
+
} else {
|
|
544
|
+
const text = this.s.rt.toString(data);
|
|
545
|
+
if (get) {
|
|
546
|
+
url = appendQuery(url, text);
|
|
547
|
+
} else {
|
|
548
|
+
body = new TextEncoder().encode(text);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
const headers: [string, string][] = [];
|
|
554
|
+
if ((post || options.requestHeaders === "all") && options.requestHeaders !== false) {
|
|
555
|
+
for (const header of request?.$headers?.$a ?? []) {
|
|
556
|
+
headers.push([
|
|
557
|
+
this.s.rt.toString(this.s.rt.getProperty(header, this.s.rt.publicName("name"))),
|
|
558
|
+
this.s.rt.toString(this.s.rt.getProperty(header, this.s.rt.publicName("value"))),
|
|
559
|
+
]);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
if (body && !headers.some(([name]) => name.toLowerCase() === "content-type")) {
|
|
564
|
+
headers.push([
|
|
565
|
+
"Content-Type",
|
|
566
|
+
String(request?.$contentType ?? "application/x-www-form-urlencoded"),
|
|
567
|
+
]);
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
return { url: resolve(this.s.base ?? base, url), method, headers, body };
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/** The text a failed stream reports, using Flash Player's message and the resolved URL. */
|
|
574
|
+
streamError(url: string, local = false): string {
|
|
575
|
+
const text = this.errorText(2032);
|
|
576
|
+
return local
|
|
577
|
+
? text.replace(/\.$/, "")
|
|
578
|
+
: `${text} URL: ${resolve(this.s.base ?? this.s.url, url)}`;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Resolves once every load asked for so far has its code linked or has
|
|
583
|
+
* failed, so that a host stepping frames by hand sees each complete in
|
|
584
|
+
* the frame after its request, as Flash's loadBytes does.
|
|
585
|
+
*/
|
|
586
|
+
settled(): Promise<void> {
|
|
587
|
+
return Promise.all([this.preparing, ...this.pendingRequests]).then(() => {});
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* Whether the time since the host's last call was a load from bytes':
|
|
592
|
+
* one was asked since, or was still compiling at that call. Flash has a
|
|
593
|
+
* loadBytes' content in the frame after the call, ENTER_FRAME's,
|
|
594
|
+
* whatever the SWF's size, its code verified as it runs (the
|
|
595
|
+
* `loader-bytes-frames` case; in adl 0.5 MB of ABC and 8 MB of sounds
|
|
596
|
+
* still came in that frame), and content may count on it, as with a
|
|
597
|
+
* timer of a second, set at the call, that reads the Loader's child. True
|
|
598
|
+
* once more after the load is ready, for the call in which it came.
|
|
599
|
+
*/
|
|
600
|
+
heldTime(): boolean {
|
|
601
|
+
if (!this.holding) {
|
|
602
|
+
return false;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
this.holding = this.holdsFrame();
|
|
606
|
+
return true;
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* Whether the next frame waits for the load due next, one from bytes
|
|
611
|
+
* whose code still compiles. Not one behind a load of a URL whose bytes
|
|
612
|
+
* have not come: that is not Flash's to time. A closed one still
|
|
613
|
+
* compiling ahead of it is passed over, as it will never come.
|
|
614
|
+
*/
|
|
615
|
+
holdsFrame(): boolean {
|
|
616
|
+
const next = this.loads.find(
|
|
617
|
+
(load) => !load.ready && !load.failed && load.generation === load.loader.$generation,
|
|
618
|
+
);
|
|
619
|
+
return next !== undefined && next.url === null;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
private newLoad(
|
|
623
|
+
loader: AsObject,
|
|
624
|
+
generation: number,
|
|
625
|
+
url: string | null,
|
|
626
|
+
domain: avm2.Domain,
|
|
627
|
+
parameters: ReadonlyMap<string, string> | null,
|
|
628
|
+
swf: Swf | null,
|
|
629
|
+
): Load {
|
|
630
|
+
return {
|
|
631
|
+
loader,
|
|
632
|
+
generation,
|
|
633
|
+
url,
|
|
634
|
+
domain,
|
|
635
|
+
parameters,
|
|
636
|
+
bytes: new Uint8Array(0),
|
|
637
|
+
status: 0,
|
|
638
|
+
ready: null,
|
|
639
|
+
failed: null,
|
|
640
|
+
swf,
|
|
641
|
+
};
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
private enqueue(
|
|
645
|
+
loader: AsObject,
|
|
646
|
+
generation: number,
|
|
647
|
+
url: string | null,
|
|
648
|
+
bytes: Promise<FetchResult>,
|
|
649
|
+
domain: avm2.Domain,
|
|
650
|
+
parameters: ReadonlyMap<string, string> | null,
|
|
651
|
+
swf: Swf | null = null,
|
|
652
|
+
): void {
|
|
653
|
+
const load = this.newLoad(loader, generation, url, domain, parameters, swf);
|
|
654
|
+
this.loads.push(load);
|
|
655
|
+
// Settled at once, not when its turn in the chain comes: a rejection must find its handler.
|
|
656
|
+
const fetched = bytes.then(
|
|
657
|
+
(result) => result,
|
|
658
|
+
() => ({ bytes: null, status: 0, headers: [] }),
|
|
659
|
+
);
|
|
660
|
+
this.preparing = this.preparing.then(async () => {
|
|
661
|
+
const result = await fetched;
|
|
662
|
+
load.status = result.status;
|
|
663
|
+
if (!result.bytes) {
|
|
664
|
+
load.failed = `${this.errorText(2035)} URL: ${url}`;
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
load.bytes = result.bytes;
|
|
669
|
+
// Where a redirect took it: the SWF is that URL's, for its LoaderInfo and its checks.
|
|
670
|
+
if (url !== null && result.url) {
|
|
671
|
+
load.url = result.url;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
try {
|
|
675
|
+
load.ready = await this.prepare(load);
|
|
676
|
+
} catch {
|
|
677
|
+
// Unknown or undecodable content, or code that does not link.
|
|
678
|
+
load.failed = this.errorText(2124);
|
|
679
|
+
}
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
/** "Error #id: message", as Flash's IOErrorEvent texts begin, debugger or not. */
|
|
684
|
+
private errorText(id: number): string {
|
|
685
|
+
return `Error #${id}: ${avm2.errorMessages[id]}`;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
/** Decode an image or link a SWF off the frame; return what the frame does with it. */
|
|
689
|
+
private async prepare(load: Load): Promise<() => () => void> {
|
|
690
|
+
const format = imageFormat(load.bytes);
|
|
691
|
+
if (format) {
|
|
692
|
+
const pixels = await decodeImageFile(load.bytes, format, this.s.decodeImage);
|
|
693
|
+
if (!pixels) {
|
|
694
|
+
throw new Error("Image decode failed");
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
return () => this.completeImage(load, pixels, `image/${format}`);
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
const swf = load.swf ?? readSwf(load.bytes);
|
|
701
|
+
if (!isAs3(swf)) {
|
|
702
|
+
// An AVM1 SWF from a URL: its content comes as an AS3 SWF's does.
|
|
703
|
+
const library = this.avm1Library(swf, load.domain);
|
|
704
|
+
await decodeImages(library, this.s.decodeImage);
|
|
705
|
+
return () => this.complete(load, swf, library, null);
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
const library = readLibrary(swf);
|
|
709
|
+
library.domain = load.domain;
|
|
710
|
+
// Its images first: once its code is linked, a script in the domain can
|
|
711
|
+
// make its symbols, whose bitmaps take the pixels there are then.
|
|
712
|
+
await decodeImages(library, this.s.decodeImage);
|
|
713
|
+
// One from bytes is the SWF's that loaded it (bytesOwner), as far as its own URL goes.
|
|
714
|
+
const run = await this.s.code.link(
|
|
715
|
+
swf,
|
|
716
|
+
load.domain,
|
|
717
|
+
load.url ?? this.loaderInfoOf(load.loader).$loaderURL ?? this.ownerUrl(load.loader),
|
|
718
|
+
library,
|
|
719
|
+
);
|
|
720
|
+
// Bound as soon as linked, as its classes are found in the domain from
|
|
721
|
+
// here: one made before the load completes, as another SWF loaded into
|
|
722
|
+
// the domain completes, is its symbol's. Not a load closed or replaced
|
|
723
|
+
// meanwhile, which never completes.
|
|
724
|
+
if (load.generation === load.loader.$generation) {
|
|
725
|
+
this.s.bind(swf, library);
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
return () => this.complete(load, swf, library, run);
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/** A Loader's unload: a pending load dropped, its content out of the display list, its LoaderInfo empty, the Loader kept; stopped for good if `stop`, as unloadAndStop has it, else playing on as an orphan. */
|
|
732
|
+
unload(loader: AsObject, stop = false): void {
|
|
733
|
+
this.closeLoad(loader);
|
|
734
|
+
const content: AsObject | null = loader.$content ?? null;
|
|
735
|
+
this.dropContent(loader);
|
|
736
|
+
this.s.rt.forgetCaches();
|
|
737
|
+
if (stop && content) {
|
|
738
|
+
this.s.lifecycle.stopAll(content.$display);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* The content let go of, as unload() and a new load do: the Loader's and
|
|
744
|
+
* the LoaderInfo's first, so an unload a listener asks for finds none,
|
|
745
|
+
* then UNLOAD on the LoaderInfo with the child still attached, as Flash's
|
|
746
|
+
* trace has it (the `loads-init` case), then the child out.
|
|
747
|
+
*/
|
|
748
|
+
private dropContent(loader: AsObject): void {
|
|
749
|
+
const content: AsObject | null = loader.$content ?? null;
|
|
750
|
+
loader.$content = null;
|
|
751
|
+
const info: AsObject | undefined = loader.$loaderInfo;
|
|
752
|
+
if (info) {
|
|
753
|
+
info.$content = null;
|
|
754
|
+
info.$bytes = null;
|
|
755
|
+
info.$swf = null;
|
|
756
|
+
info.$image = null;
|
|
757
|
+
info.$domain = undefined;
|
|
758
|
+
info.$url = null;
|
|
759
|
+
info.$params = NO_PARAMETERS;
|
|
760
|
+
info.$loaded = 0;
|
|
761
|
+
info.$total = 0;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
if (content) {
|
|
765
|
+
const movie = this.avm1Movies.get(content.$display);
|
|
766
|
+
if (movie) {
|
|
767
|
+
movie.vm.destroy(false);
|
|
768
|
+
this.avm1Movies.delete(content.$display);
|
|
769
|
+
if (this.s.avm1Input?.remove(content.$display)) {
|
|
770
|
+
this.s.avm1Input = null;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
unloads.count++;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
if (content && info) {
|
|
778
|
+
dispatchEvent(this.s, info, this.s.event("unload"));
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
const display: Container = loader.$display;
|
|
782
|
+
if (content?.$display?.parent === display) {
|
|
783
|
+
this.s.lifecycle.removing(content.$display);
|
|
784
|
+
display.removeChild(content.$display);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* The main SWF, all of it loaded: INIT, final PROGRESS, then COMPLETE, after its first
|
|
790
|
+
* frame's scripts and EXIT_FRAME. Preloaders may subscribe in that frame's script and
|
|
791
|
+
* advance only from final progress, as AIR does for a streamed URL. Where its
|
|
792
|
+
* document class's constructor threw (`constructed` false), Flash sends
|
|
793
|
+
* COMPLETE alone (measured in adl).
|
|
794
|
+
*/
|
|
795
|
+
mainLoaded(info: AsObject, constructed = true): void {
|
|
796
|
+
this.frameEnds.push(() => {
|
|
797
|
+
if (constructed) {
|
|
798
|
+
dispatchEvent(this.s, info, this.s.event("init"));
|
|
799
|
+
this.progress(info, info.$total);
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
dispatchEvent(this.s, info, this.s.event("complete"));
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* Give the loads whose code is linked their content, oldest first, and
|
|
808
|
+
* stop at one still linking: they complete in the order asked. What
|
|
809
|
+
* each does at the frame's end is returned. Each delivery and each load
|
|
810
|
+
* is on its own: one whose code throws, as a loaded SWF's document
|
|
811
|
+
* class's constructor, is reported, and those after it still come.
|
|
812
|
+
*/
|
|
813
|
+
completeLoads(): (() => void)[] {
|
|
814
|
+
const ends: (() => void)[] = [];
|
|
815
|
+
if (this.readyBytes.length !== 0) {
|
|
816
|
+
for (const deliver of this.readyBytes.splice(0)) {
|
|
817
|
+
try {
|
|
818
|
+
deliver();
|
|
819
|
+
} catch (error) {
|
|
820
|
+
this.s.reportUncaught(error);
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
while (this.loads.length && (this.loads[0].ready || this.loads[0].failed)) {
|
|
826
|
+
const load = this.loads.shift() as Load;
|
|
827
|
+
try {
|
|
828
|
+
this.completeLoad(load, ends);
|
|
829
|
+
} catch (error) {
|
|
830
|
+
this.s.reportUncaught(error);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
return ends;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
private completeLoad(load: Load, ends: (() => void)[]): void {
|
|
838
|
+
if (load.generation !== load.loader.$generation) {
|
|
839
|
+
return;
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
if (load.ready) {
|
|
843
|
+
ends.push(load.ready());
|
|
844
|
+
return;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
const info = this.loaderInfoOf(load.loader);
|
|
848
|
+
if (load.url !== null) {
|
|
849
|
+
dispatchEvent(this.s, info, this.s.httpStatus(load.status));
|
|
850
|
+
if (load.generation !== load.loader.$generation) {
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
dispatchEvent(this.s, info, this.ioError(load.failed ?? ""));
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
/** An IOErrorEvent of `text`, as a failed load ends. */
|
|
859
|
+
private ioError(text: string): AsObject {
|
|
860
|
+
return this.s.rt.construct(
|
|
861
|
+
this.s.rt.classNamed("flash.events::IOErrorEvent"),
|
|
862
|
+
"ioError",
|
|
863
|
+
false,
|
|
864
|
+
false,
|
|
865
|
+
text,
|
|
866
|
+
);
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
private loaderInfoOf(loader: AsObject): AsObject {
|
|
870
|
+
loader.$generation ??= 0;
|
|
871
|
+
loader.$loaderInfo ??= this.loaderInfo(loader);
|
|
872
|
+
return loader.$loaderInfo;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* A load's content, in the frame after its bytes came, after ENTER_FRAME
|
|
877
|
+
* and before FRAME_CONSTRUCTED, as Flash: the SWF's code run; its
|
|
878
|
+
* document class constructed, with parent and stage null; ADDED to it
|
|
879
|
+
* while it still has no parent, as Flash does; then the LoaderInfo's
|
|
880
|
+
* content, and the Loader's child, with ADDED again and ADDED_TO_STAGE
|
|
881
|
+
* if the loader is on the stage. Its first frame's script runs with
|
|
882
|
+
* the frame's, and INIT and COMPLETE follow EXIT_FRAME.
|
|
883
|
+
*/
|
|
884
|
+
private complete(
|
|
885
|
+
load: Load,
|
|
886
|
+
swf: Swf,
|
|
887
|
+
library: Library,
|
|
888
|
+
run: (() => void) | null,
|
|
889
|
+
made: AsObject | null = null,
|
|
890
|
+
): () => void {
|
|
891
|
+
const info = this.startContent(load, swf);
|
|
892
|
+
if (!info) {
|
|
893
|
+
return () => {};
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
const live = () => load.generation === load.loader.$generation;
|
|
897
|
+
let object: AsObject;
|
|
898
|
+
let root: MovieClip;
|
|
899
|
+
let avm1: Avm1 | null = null;
|
|
900
|
+
if (run) {
|
|
901
|
+
run();
|
|
902
|
+
this.s.symbols.addFontLibrary(library);
|
|
903
|
+
root = new MovieClip(library.root, library);
|
|
904
|
+
root.loaderInfo = info;
|
|
905
|
+
root.placeFirstFrame();
|
|
906
|
+
object = this.s.constructAs(
|
|
907
|
+
root,
|
|
908
|
+
this.s.rt.classNamed(library.classes.get(0) ?? "flash.display::MovieClip", load.domain),
|
|
909
|
+
);
|
|
910
|
+
dispatchEvent(this.s, object, this.s.event("added", true));
|
|
911
|
+
// The SWF's own code has run by now, its document class's constructor
|
|
912
|
+
// among it, which reaches the Loader through loaderInfo.loader.
|
|
913
|
+
if (!live()) {
|
|
914
|
+
return () => {};
|
|
915
|
+
}
|
|
916
|
+
} else {
|
|
917
|
+
// Its scripts run in AVM1, sharing only the message broker and host services with AS3.
|
|
918
|
+
object = made ?? this.avm1Movie(library);
|
|
919
|
+
root = object.$display;
|
|
920
|
+
root.loaderInfo = info;
|
|
921
|
+
const s = this.s;
|
|
922
|
+
const vm = new Avm1(s.codegen, {
|
|
923
|
+
print: s.rt.print,
|
|
924
|
+
onUncaught: (error) => s.reportUncaught(error),
|
|
925
|
+
url: load.url ?? info.$dynamic ?? info.$loaderURL ?? s.url,
|
|
926
|
+
base: s.base ?? undefined,
|
|
927
|
+
fetch: s.fetch ?? undefined,
|
|
928
|
+
socket: s.socket ?? undefined,
|
|
929
|
+
audio: s.audio,
|
|
930
|
+
storage: s.storage,
|
|
931
|
+
fileHost: s.fileHost,
|
|
932
|
+
decodeImage: s.decodeImage,
|
|
933
|
+
externalInterface: s.externalInterface ?? undefined,
|
|
934
|
+
navigate: getUrlNavigate(s.navigate, load.url ?? s.url),
|
|
935
|
+
fsCommand: s.fsCommand ?? undefined,
|
|
936
|
+
sendToUrl: s.sendToUrl,
|
|
937
|
+
localConnections: s.localConnections,
|
|
938
|
+
realTime: s.timers.realTime,
|
|
939
|
+
});
|
|
940
|
+
vm.attach(swf, library, root, load.bytes.length, s.frameRate, s);
|
|
941
|
+
this.avm1Movies.set(root, { vm, first: load.url === null ? swf : null });
|
|
942
|
+
s.avm1Input ??= new LoadedAvm1Input(s);
|
|
943
|
+
s.avm1Input.add(root, vm);
|
|
944
|
+
avm1 = vm;
|
|
945
|
+
root.enterFirstFrame();
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
const end = this.attachContent(load, object);
|
|
949
|
+
if (avm1 && load.url !== null) {
|
|
950
|
+
avm1.startScripts(swf);
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
return end;
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
/** URL progress precedes image metadata, while a SWF header is known at full progress. */
|
|
957
|
+
private startContent(load: Load, swf: Swf | null): AsObject | null {
|
|
958
|
+
const info = this.loaderInfoOf(load.loader);
|
|
959
|
+
load.loader.$abort = null;
|
|
960
|
+
// A listener of any of these may close the Loader or load anew, and this load then ends here.
|
|
961
|
+
const live = () => load.generation === load.loader.$generation;
|
|
962
|
+
if (load.url !== null) {
|
|
963
|
+
// A load from bytes told these in the call; one of a URL tells them as
|
|
964
|
+
// the bytes come: OPEN knowing nothing, the total, then the bytes.
|
|
965
|
+
dispatchEvent(this.s, info, this.s.event("open"));
|
|
966
|
+
if (!live()) {
|
|
967
|
+
return null;
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
info.$total = load.bytes.length;
|
|
971
|
+
this.progress(info, 0);
|
|
972
|
+
if (!live()) {
|
|
973
|
+
return null;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
// Its URL's query comes with the SWF, as Flash tells it from the
|
|
977
|
+
// second PROGRESS on, unless the context gave parameters.
|
|
978
|
+
if (!load.parameters) {
|
|
979
|
+
info.$params = queryParameters(load.url);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
info.$domain = load.domain;
|
|
983
|
+
info.$bytes = load.bytes;
|
|
984
|
+
if (swf) {
|
|
985
|
+
this.describe(info, load.bytes, swf);
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
this.progress(info, load.bytes.length);
|
|
989
|
+
if (!live()) {
|
|
990
|
+
return null;
|
|
991
|
+
}
|
|
992
|
+
} else if (swf) {
|
|
993
|
+
this.describe(info, load.bytes, swf);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
return info;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
private completeImage(load: Load, pixels: BitmapPixels, contentType: string): () => void {
|
|
1000
|
+
const info = this.startContent(load, null);
|
|
1001
|
+
if (!info) {
|
|
1002
|
+
return () => {};
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
info.$image = { width: pixels.width, height: pixels.height, contentType };
|
|
1006
|
+
const rt = this.s.rt;
|
|
1007
|
+
const data = rt.construct(rt.classNamed("flash.display::BitmapData"), 1, 1);
|
|
1008
|
+
data.$store = BitmapStore.of(pixels);
|
|
1009
|
+
const object = rt.construct(rt.classNamed("flash.display::Bitmap"), data);
|
|
1010
|
+
object.$display.loaderInfo = info;
|
|
1011
|
+
return this.attachContent(load, object);
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
private attachContent(load: Load, object: AsObject): () => void {
|
|
1015
|
+
const info = this.loaderInfoOf(load.loader);
|
|
1016
|
+
const root = object.$display;
|
|
1017
|
+
const live = () => load.generation === load.loader.$generation;
|
|
1018
|
+
info.$url = load.url ?? info.$dynamic ?? info.$loaderURL;
|
|
1019
|
+
info.$content = object;
|
|
1020
|
+
load.loader.$content = object;
|
|
1021
|
+
const display: Container = load.loader.$display;
|
|
1022
|
+
display.addChildAt(root, display.children.length);
|
|
1023
|
+
this.s.lifecycle.added(root);
|
|
1024
|
+
|
|
1025
|
+
return () => {
|
|
1026
|
+
if (!live()) {
|
|
1027
|
+
return;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
dispatchEvent(this.s, info, this.s.event("init"));
|
|
1031
|
+
if (!live()) {
|
|
1032
|
+
return;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
if (load.url !== null) {
|
|
1036
|
+
dispatchEvent(this.s, info, this.s.httpStatus(load.status));
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
// An INIT or status listener that unloads has no COMPLETE, as Flash.
|
|
1040
|
+
if (live()) {
|
|
1041
|
+
dispatchEvent(this.s, info, this.s.event("complete"));
|
|
1042
|
+
}
|
|
1043
|
+
};
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
const NO_PARAMETERS: ReadonlyMap<string, string> = new Map();
|
|
1048
|
+
|
|
1049
|
+
/**
|
|
1050
|
+
* The names and values of a URL's query, as Flash reads them into
|
|
1051
|
+
* loaderInfo.parameters: decoded, `+` as a space, a name without `=` an
|
|
1052
|
+
* empty value, an empty name left out, and the last of a name kept.
|
|
1053
|
+
*/
|
|
1054
|
+
function queryParameters(url: string): Map<string, string> {
|
|
1055
|
+
const parameters = new Map<string, string>();
|
|
1056
|
+
const path = url.split("#", 1)[0];
|
|
1057
|
+
const at = path.indexOf("?");
|
|
1058
|
+
if (at < 0) {
|
|
1059
|
+
return parameters;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
for (const [name, value] of new URLSearchParams(path.slice(at + 1))) {
|
|
1063
|
+
if (name !== "") {
|
|
1064
|
+
parameters.set(name, value);
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
return parameters;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
function appendQuery(url: string, query: string): string {
|
|
1072
|
+
if (!query) {
|
|
1073
|
+
return url;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
const at = url.indexOf("#");
|
|
1077
|
+
const path = at < 0 ? url : url.slice(0, at);
|
|
1078
|
+
const fragment = at < 0 ? "" : url.slice(at);
|
|
1079
|
+
const separator = path.includes("?") ? (/[?&]$/.test(path) ? "" : "&") : "?";
|
|
1080
|
+
return path + separator + query + fragment;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
/** What loadBytes content of no one SWF is: an opaque origin, which no same-domain check passes. */
|
|
1084
|
+
const UNKNOWN_OWNER = "about:blank";
|
|
1085
|
+
|
|
1086
|
+
/** A URL's origin, or the URL where it has none to read. */
|
|
1087
|
+
function originOf(url: string): string {
|
|
1088
|
+
try {
|
|
1089
|
+
return new URL(url).origin;
|
|
1090
|
+
} catch {
|
|
1091
|
+
return url;
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
* `url` against `base`, enough for a SWF's relative paths: one with a
|
|
1097
|
+
* scheme is itself, one from the root keeps the base's origin, and any
|
|
1098
|
+
* other replaces the base's last segment.
|
|
1099
|
+
*/
|
|
1100
|
+
/** `url` against `base`, as Flash resolves a load's URL: AVM1's loads resolve by it too. */
|
|
1101
|
+
export function resolve(base: string, url: string): string {
|
|
1102
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(url)) {
|
|
1103
|
+
return url;
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
const origin = base.match(/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i)?.[0] ?? "";
|
|
1107
|
+
if (url.startsWith("/")) {
|
|
1108
|
+
return origin + url;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
return base.slice(0, base.lastIndexOf("/") + 1) + url;
|
|
1112
|
+
}
|