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