avm2: Add several AIR classes and version-gate `ImageDecodingPolicy` to SWF13+

`NativeProcess`, `NativeProcessStartupInfo`, and `File` classes
This commit is contained in:
Lord-McSweeney 2024-07-14 09:36:27 +03:00 committed by TÖRÖK Attila
parent 2a38a2caf2
commit bed5a2fd86
5 changed files with 114 additions and 10 deletions

View File

@ -0,0 +1,20 @@
package flash.desktop {
import __ruffle__.stub_method;
import flash.events.EventDispatcher;
[API("668")]
public class NativeProcess extends EventDispatcher {
public function NativeProcess() {
super();
}
public static function get isSupported():Boolean {
return false;
}
public function start(info:NativeProcessStartupInfo):void {
stub_method("flash.desktop.NativeProcess", "start");
}
}
}

View File

@ -0,0 +1,43 @@
package flash.desktop {
import __ruffle__.stub_getter;
import __ruffle__.stub_setter;
import flash.filesystem.File;
[API("668")]
public class NativeProcessStartupInfo {
public function NativeProcessStartupInfo() {
super();
}
public function get arguments():Vector.<String> {
stub_getter("flash.desktop.NativeProcessStartupInfo", "arguments");
return null;
}
public function set arguments(value:Vector.<String>):void {
stub_setter("flash.desktop.NativeProcessStartupInfo", "arguments");
}
public function get executable():File {
stub_getter("flash.desktop.NativeProcessStartupInfo", "executable");
return null;
}
public function set executable(value:File):void {
stub_setter("flash.desktop.NativeProcessStartupInfo", "executable");
}
public function get workingDirectory():File {
stub_getter("flash.desktop.NativeProcessStartupInfo", "workingDirectory");
return null;
}
public function set workingDirectory(value:File):void {
stub_setter("flash.desktop.NativeProcessStartupInfo", "workingDirectory");
}
}
}

View File

@ -0,0 +1,36 @@
package flash.filesystem {
import __ruffle__.stub_constructor;
import __ruffle__.stub_getter;
import __ruffle__.stub_method;
import flash.net.FileReference;
[API("661")]
public class File extends FileReference {
private static var _applicationDirectory:File = null;
public function File(path:String = null) {
stub_constructor("flash.filesystem.File");
}
public static function get applicationDirectory():File {
if (_applicationDirectory === null) {
_applicationDirectory = new File();
}
return _applicationDirectory;
}
public function resolvePath(path:String):File {
stub_method("flash.filesystem.File", "resolvePath");
return new File();
}
public function get exists():Boolean {
stub_getter("flash.filesystem.File", "exists");
return false;
}
}
}

View File

@ -1,6 +1,7 @@
package flash.system {
public final class ImageDecodingPolicy {
public static const ON_DEMAND:String = "onDemand";
public static const ON_LOAD:String = "onLoad";
}
[API("674")]
public final class ImageDecodingPolicy {
public static const ON_DEMAND:String = "onDemand";
public static const ON_LOAD:String = "onLoad";
}
}

View File

@ -29,6 +29,9 @@ include "flash/accessibility/AccessibilityProperties.as"
include "flash/accessibility/ISearchableText.as"
include "flash/accessibility/ISimpleTextSelection.as"
include "flash/concurrent/Condition.as"
include "flash/concurrent/Mutex.as"
include "flash/crypto.as"
include "flash/utils/IDataInput.as"
@ -37,16 +40,15 @@ include "flash/utils/IExternalizable.as"
include "flash/utils/ByteArray.as"
include "flash/utils/Dictionary.as"
include "flash/events/IEventDispatcher.as"
include "flash/events/EventDispatcher.as"
include "flash/desktop/ClipboardFormats.as"
include "flash/desktop/ClipboardTransferMode.as"
include "flash/desktop/Clipboard.as"
include "flash/desktop/IFilePromise.as"
include "flash/events/IEventDispatcher.as"
include "flash/events/EventDispatcher.as"
include "flash/concurrent/Condition.as"
include "flash/concurrent/Mutex.as"
include "flash/desktop/NativeProcess.as"
include "flash/desktop/NativeProcessStartupInfo.as"
include "flash/display/IBitmapDrawable.as"
include "flash/display/DisplayObject.as"
@ -301,6 +303,8 @@ include "flash/net/URLStream.as"
include "flash/net/URLVariables.as"
include "flash/net/XMLSocket.as"
include "flash/filesystem/File.as" // File extends FileReference
include "flash/net/drm/AuthenticationMethod.as"
include "flash/net/drm/LoadVoucherSetting.as"