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);
                }

Reply via email to