This is an automated email from the ASF dual-hosted git repository. yishayw pushed a commit to branch file_upload in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 51cc721ce74ce7bad1bf3368012082e1e2980a60 Author: Yishay Weiss <[email protected]> AuthorDate: Mon May 30 11:10:54 2022 +0300 Move flash emulation to emulation layer. It may be the appropriate behavior for non-emulation components as well but that could be considered later. Plus, this keeps original classes slightly leaner which is more PAYG. --- .../src/main/royale/mx/net/FileReference.as | 2 +- .../royale/mx/net}/beads/FileLoaderAndUploader.as | 71 +++++++++-------- .../src/main/royale/mx/net}/beads/FileUploader.as | 90 ++-------------------- .../mx/net/beads/FileUploaderUsingFormData.as | 1 - .../royale/file/beads/FileLoaderAndUploader.as | 17 ---- .../org/apache/royale/file/beads/FileUploader.as | 14 ---- 6 files changed, 44 insertions(+), 151 deletions(-) diff --git a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/FileReference.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/FileReference.as index 6221004af0..1b0d4e8770 100644 --- a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/FileReference.as +++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/FileReference.as @@ -25,12 +25,12 @@ package mx.net import mx.utils.ByteArray; import org.apache.royale.file.beads.FileLoader; import org.apache.royale.file.beads.FileModel; - import org.apache.royale.file.beads.FileLoaderAndUploader; import org.apache.royale.events.Event; import org.apache.royale.net.URLRequest; import org.apache.royale.file.beads.FileUploader; import mx.net.beads.FileUploaderUsingFormData; import mx.net.supportClasses.ByteArrayFileLoader; + import mx.net.beads.FileLoaderAndUploader; public class FileReference extends FileProxy { diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileLoaderAndUploader.as similarity index 93% copy from frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as copy to frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileLoaderAndUploader.as index c87d5106b7..46f9922dee 100644 --- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as +++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileLoaderAndUploader.as @@ -15,14 +15,15 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package org.apache.royale.file.beads +package mx.net.beads { import org.apache.royale.core.IBead; import org.apache.royale.core.IStrand; import org.apache.royale.events.Event; import org.apache.royale.file.FileProxy; import org.apache.royale.file.IFileModel; -import org.apache.royale.net.URLRequest; + import org.apache.royale.file.beads.FileLoader; + import org.apache.royale.net.URLRequest; /** * The FileLoaderAndUploader is a compound bead that allows you @@ -33,7 +34,7 @@ import org.apache.royale.net.URLRequest; * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion Royale 0.9 + * @productversion Royale 0.9.10 */ public class FileLoaderAndUploader implements IBead { @@ -46,32 +47,6 @@ import org.apache.royale.net.URLRequest; super(); } - /** - * @copy org.apache.royale.core.IBead#strand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9 - */ - public function set strand(value:IStrand):void - { - _strand = value; - _loader = value.getBeadByType(FileLoader) as FileLoader; - if (!_loader) - { - _loader = new FileLoader(); - value.addBead(_loader); - } - _uploader = value.getBeadByType(FileUploader) as FileUploader; - if (!_uploader) - { - _uploader = new FileUploader(); - value.addBead(_uploader); - } - } - - private var _referenceRequest:URLRequest = null; public function set referenceRequest(value:URLRequest):void{ @@ -89,7 +64,7 @@ import org.apache.royale.net.URLRequest; * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion Royale 0.9 + * @productversion Royale 0.9.10 */ public function upload(url:String):void @@ -108,6 +83,14 @@ import org.apache.royale.net.URLRequest; } } + private function blobChangedHandler(e:Event):void + { + (_strand as FileProxy).model.removeEventListener('blobChanged', blobChangedHandler); + _uploader.referenceRequest = _referenceRequest; + _uploader.uploadDataFieldName = _uploadDataFieldName; + _uploader.upload(_url); + } + /** * @private */ @@ -115,13 +98,29 @@ import org.apache.royale.net.URLRequest; { _uploader.cancel(); } - - private function blobChangedHandler(e:Event):void + /** + * @copy org.apache.royale.core.IBead#strand + * + * @langversion 3.0 + * @playerversion Flash 10.2 + * @playerversion AIR 2.6 + * @productversion Royale 0.9.10 + */ + public function set strand(value:IStrand):void { - (_strand as FileProxy).model.removeEventListener('blobChanged', blobChangedHandler); - _uploader.referenceRequest = _referenceRequest; - _uploader.uploadDataFieldName = _uploadDataFieldName; - _uploader.upload(_url); + _strand = value; + _loader = value.getBeadByType(FileLoader) as FileLoader; + if (!_loader) + { + _loader = new FileLoader(); + value.addBead(_loader); + } + _uploader = value.getBeadByType(FileUploader) as FileUploader; + if (!_uploader) + { + _uploader = new FileUploader(); + value.addBead(_uploader); + } } } diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploader.as similarity index 57% copy from frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as copy to frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploader.as index 6c4089ed13..d9aeb50694 100644 --- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as +++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploader.as @@ -15,29 +15,14 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package org.apache.royale.file.beads +package mx.net.beads { - import org.apache.royale.core.IBead; - import org.apache.royale.core.IStrand; - import org.apache.royale.events.Event; - import org.apache.royale.events.IEventDispatcher; - import org.apache.royale.file.FileProxy; - import org.apache.royale.file.IFileModel; - import org.apache.royale.net.URLBinaryLoader; import org.apache.royale.net.URLRequest; + import org.apache.royale.file.beads.FileUploader; + import org.apache.royale.net.URLBinaryLoader; + import org.apache.royale.file.IFileModel; + import org.apache.royale.events.Event; - COMPILE::SWF - { -// import flash.net.URLRequest; - } - - COMPILE::JS - { - import org.apache.royale.events.Event; - import org.apache.royale.core.WrappedHTMLElement; - import goog.events; - - } /** * Indicates that the upload operation is complete @@ -59,10 +44,8 @@ package org.apache.royale.file.beads * @playerversion AIR 2.6 * @productversion Royale 0.9 */ - public class FileUploader implements IBead + public class FileUploader extends org.apache.royale.file.beads.FileUploader { - private var _strand:IStrand; - private var _contentType:String; protected var _referenceRequest:URLRequest; public function set referenceRequest(value:URLRequest):void{ @@ -80,16 +63,11 @@ package org.apache.royale.file.beads * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 - * @productversion Royale 0.9 + * @productversion Royale 0.9.10 * @royaleignorecoercion org.apache.royale.file.IFileModel */ - public function upload(url:String):void + override public function upload(url:String):void { -// COMPILE::SWF -// { -// var flashURL:flash.net.URLRequest = new URLRequest(url.url); -// (host.model as IFileModel).fileReference.upload(flashURL); -// } var binaryUploader:URLBinaryLoader = new URLBinaryLoader(); var req:URLRequest = new URLRequest(); req.contentType = contentType; @@ -105,57 +83,5 @@ package org.apache.royale.file.beads binaryUploader.load(req); } - public function cancel():void - { - // TODO maybe save a reference to binaryUploader - //binaryUploader.close(); - } - - protected function completeHandler(event:Event):void - { - (event.target as IEventDispatcher).removeEventListener(Event.COMPLETE, completeHandler); - (host as IEventDispatcher).dispatchEvent(event); - } - - /** - * @copy org.apache.royale.core.IBead#strand - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9 - */ - public function set strand(value:IStrand):void - { - _strand = value; - } - - /** - * @private - * @royaleignorecoercion org.apache.royale.file.FileProxy - */ - protected function get host():FileProxy - { - return _strand as FileProxy; - } - - - /** - * The content type. Default is the default in URLRequest. - * - * @langversion 3.0 - * @playerversion Flash 10.2 - * @playerversion AIR 2.6 - * @productversion Royale 0.9.6 - */ - public function get contentType():String - { - return _contentType; - } - - public function set contentType(value:String):void - { - _contentType = value; - } } } diff --git a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploaderUsingFormData.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploaderUsingFormData.as index 39b40b5060..8ec3b337e2 100644 --- a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploaderUsingFormData.as +++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/net/beads/FileUploaderUsingFormData.as @@ -20,7 +20,6 @@ package mx.net.beads { import org.apache.royale.events.DetailEvent; -import org.apache.royale.file.beads.FileUploader; import org.apache.royale.file.IFileModel; import mx.events.DataEvent; diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as index c87d5106b7..7aa66a6e3c 100644 --- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as +++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as @@ -22,7 +22,6 @@ package org.apache.royale.file.beads import org.apache.royale.events.Event; import org.apache.royale.file.FileProxy; import org.apache.royale.file.IFileModel; -import org.apache.royale.net.URLRequest; /** * The FileLoaderAndUploader is a compound bead that allows you @@ -70,18 +69,6 @@ import org.apache.royale.net.URLRequest; value.addBead(_uploader); } } - - - - private var _referenceRequest:URLRequest = null; - public function set referenceRequest(value:URLRequest):void{ - _referenceRequest = value; - } - - private var _uploadDataFieldName:String = "Filedata"; - public function set uploadDataFieldName(value:String):void{ - _uploadDataFieldName = value; - } /** * Upload a file to the specified url. If file hasn't been loaded already it will be. @@ -102,8 +89,6 @@ import org.apache.royale.net.URLRequest; _loader.load(); } else { - _uploader.referenceRequest = _referenceRequest; - _uploader.uploadDataFieldName = _uploadDataFieldName; _uploader.upload(url); } } @@ -119,8 +104,6 @@ import org.apache.royale.net.URLRequest; private function blobChangedHandler(e:Event):void { (_strand as FileProxy).model.removeEventListener('blobChanged', blobChangedHandler); - _uploader.referenceRequest = _referenceRequest; - _uploader.uploadDataFieldName = _uploadDataFieldName; _uploader.upload(_url); } diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as index 6c4089ed13..c081dc4d67 100644 --- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as +++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as @@ -63,16 +63,6 @@ package org.apache.royale.file.beads { private var _strand:IStrand; private var _contentType:String; - - protected var _referenceRequest:URLRequest; - public function set referenceRequest(value:URLRequest):void{ - _referenceRequest = value; - } - - protected var _uploadDataFieldName:String = "Filedata"; - public function set uploadDataFieldName(value:String):void{ - _uploadDataFieldName = value; - } /** * Upload a file to the specified url. @@ -97,10 +87,6 @@ package org.apache.royale.file.beads req.method = "POST"; req.data = (host.model as IFileModel).blob; req.url = url; - if (_referenceRequest) { - req.requestHeaders = _referenceRequest.requestHeaders; - } - binaryUploader.addEventListener(Event.COMPLETE, completeHandler); binaryUploader.load(req); }
