You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2022/05/30 08:12:53 UTC

[royale-asjs] 02/02: Move flash emulation to emulation layer.

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 <yi...@hotmail.com>
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);
 		}