[Laszlo-checkins] r12011 - openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf
bargull@openlaszlo.org
bargull at openlaszlo.org
Mon Dec 8 12:29:08 PST 2008
Author: bargull
Date: 2008-12-08 12:29:02 -0800 (Mon, 08 Dec 2008)
New Revision: 12011
Added:
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLLoader.lzs
Modified:
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/Library.lzs
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzHTTPLoader.as
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoadQueue.as
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs
openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLTranslator.as
Log:
Change 20081127-bargull-2Ji by bargull at dell--p4--2-53 on 2008-11-27 10:07:23
in /home/Admin/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk
Summary: misc data changes (II - swf-kernel)
New Features:
Bugs Fixed: LPP-7350
Technical Reviewer: hminsky
QA Reviewer: (pending)
Doc Reviewer: (pending)
Documentation:
Release Notes:
Details:
LzLibraryLoader:
- marked overriden methods
LzMediaLoader:
- added "minHeader" attribute (was declared in LzLoader, but actually only used for LzMediaLoader)
LzLoader:
- extend from LzEventable, because it takes part in the event-system
- removed stale attributes:
- doPersist: was used for persistent connection
- attachDepth/minHeader: only used in LzMediaLoader
- removed all xml-loading specific methods/attributes
- copyTaskDel, startCopyTask(), removeCopyTask()
- oncontent, requestheaders, setHeaders()
- requestDirectXML(), rawtext, xmlloadobj, gotRawData()
- copyFlashXML(), copyQueue, translateXML(), copyFlashData(), queuedCopyFlashXML(), copyLoopsPerFrame, maxLoopTime, queuedCopyFlashXML_internal()
Motivation: the general LzLoader class does not need to know how to load and parse xml-data. Therefore I've created a specific subclass (XMLLoader). Similar to the LzMediaLoader class, which is specific for media-loading.
LzXMLLoader:
- contains all xml-code from LzLoader
- renamed requestDirectXML() to request()
- also moved LzLoadQueue.XMLOnDataHandler to this class
LzXMLTranslator:
- call LzXMLLoader instead of LzLoader to translate XML
LzLoadQueue:
- updated code to use LzXMLLoader
- use encodeURIComponent() instead of escape() for string-encoding (encodeURIComponent() is just an alias for escape() in the swf8-runtime, but nevertheless we always call encodeURIComponent(), so let's be consistent and call the function under that name)
- renamed loadMovieProxiedOrDirect() to loadMovie()
- moved XMLOnDataHandler to LzXMLLoader (see above)
- updated description
LzHTTPLoader:
- use LzXMLLoader instead of LzLoader
- removed the whole dataloader-movieclip code, we don't use that anymore
- removed LzHTTPLoader.urlencode(), no where referenced and we don't need another alias for escape() ;-)
Tests:
alldata passes
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/Library.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/Library.lzs 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/Library.lzs 2008-12-08 20:29:02 UTC (rev 12011)
@@ -15,6 +15,7 @@
#include "kernel/swf/LzInputTextSprite.as"
#include "kernel/swf/LzMakeLoadSprite.as"
#include "kernel/swf/LzLoader.lzs"
+#include "kernel/swf/LzXMLLoader.lzs"
#include "kernel/swf/LzMediaLoader.lzs"
#include "kernel/swf/LzLibraryLoader.lzs"
#include "kernel/swf/LzFontManager.as"
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzHTTPLoader.as
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzHTTPLoader.as 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzHTTPLoader.as 2008-12-08 20:29:02 UTC (rev 12011)
@@ -12,9 +12,9 @@
* @shortdesc Send and receive text data over HTTP
*/
-// We have an internal 'lzloader' property which points to an LzLoader (Flash-7-8-specific)
+// We have an internal 'lzloader' property which points to an LzXMLLoader (Flash-7-8-specific)
var LzHTTPLoader = function (owner, proxied) {
- this.lzloader = this.makeLzLoader(proxied);
+ this.lzloader = new LzXMLLoader( this, {timeout : Infinity, proxied : proxied} );
this.owner = owner;
this.options = {
// enable server (proxy) caching
@@ -32,7 +32,7 @@
this.dsloadDel = new LzDelegate( this , "_loadSuccessHandler" ,
this.lzloader , "ondata" );
// Handler for raw string content, before parsing
- this.dsloadDel = new LzDelegate( this , "loadContent" ,
+ this.dscontentDel = new LzDelegate( this , "loadContent" ,
this.lzloader , "oncontent" );
this.dserrorDel = new LzDelegate( this , "_loadErrorHandler" ,
this.lzloader , "onerror" );
@@ -184,7 +184,7 @@
//Debug.info("LzHTTPLoader.send parsexml", this.options.parsexml, content);
this.xmlrequestobj.rawpostbody = content;
this.lzloader.setHeaders(this.requestheaders);
- this.lzloader.requestDirectXML( this.xmlrequestobj );
+ this.lzloader.request( this.xmlrequestobj );
}
@@ -221,35 +221,3 @@
// [todo hqm 2006-07] Should we have an API method for setting LzLoader timeout?
this.lzloader.timeout = timeout;
}
-
-////////////////////////////////////////////////////////////////
-// swf-specific stuff
-
-/**
- * This is a helper method to create a loader for the dataset.
- * @access private
- * @return LzLoader
- */
-LzHTTPLoader.prototype.makeLzLoader = function (proxied){
- if ( ! $dataloaders ){
- // SWF-specific
- _root.attachMovie("empty", "$dataloaders", 4242);
- var mc = $dataloaders;
- mc.dsnum = 1;
- }
-
- $dataloaders.attachMovie( "empty",
- "dsloader" + $dataloaders.dsnum,
- $dataloaders.dsnum );
- var newloadermc = $dataloaders[ "dsloader" +
- $dataloaders.dsnum ];
- $dataloaders.dsnum++;
-
- return new LzLoader( this, { attachRef : newloadermc ,
- timeout : Infinity,
- proxied: proxied} );
-}
-
-LzHTTPLoader.urlencode = function (str) {
- return escape(str);
-}
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLibraryLoader.lzs 2008-12-08 20:29:02 UTC (rev 12011)
@@ -29,7 +29,7 @@
/**
* @access private
*/
-function request( req ) {
+override function request( req ) {
//Debug.write("LzLibraryLoader.request() this.proxied=", this.proxied);
var o = { libpath: req, url: req , lzt: "lib", proxied: this.proxied};
super.request( o );
@@ -89,7 +89,7 @@
* @param data: unused by library loading, ResponderLIB server does not return an error swf
* @access private
*/
-function returnData ( loadobj , data ){
+override function returnData ( loadobj , data ){
LzLoadQueue.unloadRequest(loadobj);
var lib = this.owner.owner;
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoadQueue.as
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoadQueue.as 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoadQueue.as 2008-12-08 20:29:02 UTC (rev 12011)
@@ -9,8 +9,7 @@
*/
/**
- * The load queue controls the queuing of data, media, and persistent
- * connection requests at runtime.
+ * The load queue controls the queuing of data and media requests at runtime.
*/
var LzLoadQueue = new Object;
@@ -75,52 +74,9 @@
}
}
-
/**
* @access private
- * This function is the callback ondata handler which gets attached to
- * the XML object that is getting data loaded into it. It is
- * responsible for parsing the raw string into the xmlobj XML object,
- * and then converting that datastructure into an LzDataElement tree,
- * via the xmltolzdata() method.
- *
- * N.B.: when this callback is invoked, 'this' is bound the the Flash
- * XML object which is being used to handle the load request. It is *not* bound to
- * LzLoadQueue!
*/
-LzLoadQueue.XMLOnDataHandler = function (src) {
- // cancel the timeout handler
- LzLoadQueue.unloadRequest(this);
-
- if (src == undefined) {
- if ($debug) {
- if (! this.proxied) {
- Debug.warn("LzLoadQueue.XMLOnDataHandler load failed from URL %w, no data received.", this.url);
- Debug.warn("Failure to load data in serverless apps may be caused by Flash player security policies. Check your data server crossdomain.xml file");
- }
- }
- this.onload(false);
- //Debug.write("this.loader.onerror.ready =", this.loader.onerror.ready);
- if (this.loader.onerror.ready) {
- this.loader.onerror.sendEvent(null);
- }
- } else {
- // If we timed out, and this response came in late, ignore it.
- if (this.timedout) {
- return;
- }
-
- // Create a queue containing one root node, myself, and convert it and all children to
- // LzDataNodes.
-
- this.onload(true);
- this.loader.gotRawData(src, this);
- }
-}
-
-/**
- * @access private
- */
LzLoadQueue.checkTimeout = function(ignore){
// A timed out load may cause new entries on loading, so it is
// important to make a second pass to compute the next timeout
@@ -315,11 +271,8 @@
this.loading.push( loadobj );
- if (loadobj.isaudio == true) {
- //Debug.write('LzLoadQueue makeRequest', loadobj)
- this.loadMovieProxiedOrDirect(loadobj);
- } else if (typeof(loadobj) == "movieclip") {
- this.loadMovieProxiedOrDirect(loadobj);
+ if (loadobj.isaudio == true || typeof(loadobj) == "movieclip") {
+ this.loadMovie(loadobj);
} else {
this.loadXML(loadobj);
}
@@ -330,7 +283,7 @@
/**
* @access private
*/
-LzLoadQueue.loadMovieProxiedOrDirect = function (loadobj) {
+LzLoadQueue.loadMovie = function (loadobj) {
var reqstr;
// TODO [2008-06 hqm] We will eventually deprecate the "proxied" flag, and just use
// proxyurl != null to indicate that we are proxied via the PROXYURL.
@@ -365,7 +318,7 @@
var dopost = (loadobj.reqobj.reqtype.toUpperCase() == 'POST');
if (!dopost) {
for ( var keys in loadobj.reqobj ){
- reqstr += sep + keys + "=" + escape( loadobj.reqobj[ keys ] );
+ reqstr += sep + keys + "=" + encodeURIComponent( loadobj.reqobj[ keys ] );
if ( sep == "?" ){
sep = "&";
}
@@ -414,7 +367,6 @@
}
}
-
/**
* @access private
*/
@@ -439,7 +391,7 @@
*/
// Set the onData handler to intercept returning data
- loadobj.onData = LzLoadQueue.XMLOnDataHandler;
+ loadobj.onData = LzXMLLoader.XMLOnDataHandler;
var dopost = (loadobj.reqtype.toUpperCase() == 'POST');
var lvar = new LoadVars();
@@ -510,6 +462,3 @@
lvar.sendAndLoad(reqstr, loadobj, method );
}
-
-
-
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzLoader.lzs 2008-12-08 20:29:02 UTC (rev 12011)
@@ -11,15 +11,16 @@
/**
* @access private
*/
-class LzLoader {
+class LzLoader extends LzEventable {
-function LzLoader ( owner , args ){
- super(owner, args);
+function LzLoader (owner, args) {
+ super();
//Debug.write("LzLoader initialize owner=",owner,'attachref=', args.attachRef, args);
this.mc = args.attachRef == null ? owner.__LZmovieClipRef : args.attachRef;
//this breaks media loading in swf: this.mc = args.attachRef == null ? owner.getMCRef() : args.attachRef;
if ( args.attachRef == null && args.attachname != null ){
+ // attachname is only used in LzRemote
this.mc.attachMovie( "empty" , args.attachname , this.newContextDepth );
this.mc = this.mc[ args.attachname ];
}
@@ -37,58 +38,29 @@
}
this.owner = owner;
-
- // For SOLO requests, we need to make an idle task to
- // split up the work of copying the Flash XML tree into an LzDataNode tree
- this.copyTaskDel = new LzDelegate( this , "copyFlashData" );
-
}
/**
* @access private
* (not really, but the doc tools will complain
*/
-function destroy () {
+override function destroy () {
// [2005-08-25 ptw] Hosie doorknob black magic: removing a movie
// clip from anywhere will magically delete any properties that
// reference it (i.e., all movieclip references are weak,
// apparently).
this.mc.removeMovieClip();
+ super.destroy();
}
-/**
- * @access private
- */
-function startCopyTask ( ){
- // Debug.write("starting copy idle task ");
- this.copyTaskDel.register( lz.Idle, "onidle" );
-}
-
-/**
- * @access private
- */
-function removeCopyTask() {
- // Remove copyTask delegate
- // Debug.write("removing copy idle task ", this);
- this.copyTaskDel.unregisterAll();
- this.copyQueue = null;
-}
-
-
var ondata = LzDeclaredEvent;
-var oncontent = LzDeclaredEvent;
var onrequest = LzDeclaredEvent;
var ontimeout = LzDeclaredEvent;
var onerror = LzDeclaredEvent;
-var requestheaders = {};
var timeout = 30000;
-var doPersist = false;
var doCacheRequest = true;
-var attachDepth = 9;
-var minHeader = 10;
-
var queuing = false;
var secure = false;
@@ -232,7 +204,6 @@
}
}
-
/**
* @access private
*/
@@ -273,7 +244,7 @@
loadobj.loading = false;
loadobj.data = null;
// N.B. Do _NOT_ re-initialize lmcnum. See comment in
- // LzLoadQueue.loadMovieProxiedOrDirect
+ // LzLoadQueue.loadMovie
// Set to false if aborted
loadobj.valid = true;
@@ -348,28 +319,8 @@
if (this.onrequest.ready) this.onrequest.sendEvent(o);
}
-function setHeaders (headers) {
- this.requestheaders = headers;
-}
-
/**
- * Request a data load using Flash XML object
* @access private
- */
-function requestDirectXML ( o ){
- if ($debug) {
- LzLoader.debugLoadObj(o);
- }
- this.initializeRequestObj(o);
-
- LzLoadQueue.enqueueRequest( o );
- // We should probably be passing something other than the obj itself to
- // the onrequest event
- if (this.onrequest.ready) this.onrequest.sendEvent(o);
-}
-
-/**
- * @access private
* @param MovieClip loadobj: the LoadMovie to unload, defaults to the
* lastrequest
*/
@@ -427,275 +378,6 @@
}
}
-// Recursively copy a Flash XML(Node) tree into a LzDataElement
-// tree. Used by LzDataNode.stringToLzData
-/**
- * @param boolean trimwhitespace: trim whitespace from start and end of text nodes
- * @param boolean nsprefix: preserve namespace prefixes on node names and attribute names
- * @access private
- */
-function copyFlashXML (node, trimwhitespace, nsprefix) {
- var nv = node.nodeValue;
- var lfcnode = null;
- // text node?
- if (node.nodeType == 3) {
- if (trimwhitespace == true) {
- nv = LzDataElement.trim(nv);
- }
- lfcnode = new LzDataText(nv);
- } else {
- if (! nsprefix) {
- // slow but sure way to copy attributes
- var nattrs = node.attributes;
- var cattrs = {};
- var attrlist = [];
- for (var key in nattrs) {
- var nkey = key;
- // strip namespace prefixes
- var colpos = key.indexOf(':');
- if (colpos >= 0) {
- nkey = key.substring(colpos + 1);
- }
- //cattrs[nkey] = nattrs[key];
- attrlist.push(nkey, nattrs[key]);
- }
-
- // Flash iterates over an object in reversed insertion order.
- // But as we want to preserve the original xml-attribute order,
- // we need to insert the attributes also in reversed order.
- for (var i = attrlist.length - 1; i >= 0; i -= 2) {
- cattrs[attrlist[i - 1]] = attrlist[i];
- }
- } else {
- // this is the fast path
- var cattrs = node.attributes;
- cattrs.__proto__ = Object.prototype;
- cattrs.constructor = Object;
- ASSetPropFlags(cattrs, ['__proto__', 'constructor'], 1, 7);
- }
-
- var nname = node.nodeName;
- if (nname && !nsprefix) {
- // strip namespace prefix
- var npos = nname.indexOf(':');
- if (npos >= 0) {
- nname = nname.substring(npos+1);
- }
- }
-
- lfcnode = new LzDataElement(nname, cattrs);
- var children = node.childNodes;
- var newchildren = [];
- for (var i = 0; i < children.length; i++ ) {
- var child = children[i];
- var lfcchild = LzLoader.prototype.copyFlashXML(child, trimwhitespace, nsprefix);
- newchildren[i] = lfcchild;
- }
- lfcnode.setChildNodes(newchildren);
- }
- return lfcnode;
-}
-
-// Holds the state of the copy queue.
-// {ptr: int where we are in the queue
-// q: array of pending work, entries are XMLNodes to be copied.
-// xmlobj: the root Flash XML node we started with
-// }
-//
-var copyQueue = null;
-
-var rawtext = null;
-// native XML request/loader object
-var xmlloadobj = null;
-
-/**
- * @access private
- * called by loader when raw data was arrived, but not yet been parsed
- */
-function gotRawData(content:String, loadobj:XML) {
- this.rawtext = content;
- this.xmlloadobj = loadobj;
- if (this.oncontent.ready) this.oncontent.sendEvent(content);
-}
-
-
-function translateXML (content) {
- this.xmlloadobj.parseXML(content);
- // Copy the Flash XML tree into tree of LFC LzData classes
- this.queuedCopyFlashXML(this.xmlloadobj);
-}
-
-
-// Task that is called periodically from Idle loop.
-// This does the work of copying the Flash XML tree into a LzDataElement tree.
-// Run the copy queue
-/**
- * @access private
- */
-function copyFlashData ( ignore ) {
- // Debug.write("copyFlashData [1]", this.copyQueue.ptr);
- if (this.copyQueue != null) {
- //Debug.write("copyFlashData [2]");
- this.queuedCopyFlashXML_internal();
- } else {
- this.removeCopyTask();
- }
-}
-
-
-// Set up the work queue
-/**
- * @access private
- */
-function queuedCopyFlashXML(xmlnode) {
- var rootnode = new LzDataElement('body');
- this.lfcrootnode = rootnode;
- rootnode.ownerDocument = rootnode;
- xmlnode._lfcparent = rootnode;
- var queue = [xmlnode];
- // set up the work queue
- this.copyQueue = {ptr: 0, q: queue, xmlobj: xmlnode};
- this.trimwhitespace = xmlnode.trimwhitespace;
- this.nsprefix = xmlnode.nsprefix;
- var done = this.queuedCopyFlashXML_internal();
- // If the copy wasn't completed in this quanta, start a task to finish it.
- if (!done) {
- this.startCopyTask();
- }
-}
-
-var copyLoopsPerFrame = 1000;
-var maxLoopTime = 2000; // 2 seconds
-
-// Iterative implementation, using a queue, to translate a XMLNode tree into
-// a tree of LzDataElement.
-//
-// Queue contains list of XMLNodes to be copied
-/**
- * @access private
- */
-function queuedCopyFlashXML_internal () {
- var nsprefix = this.nsprefix;
- var trimwhitespace = this.trimwhitespace;
- var ptr = this.copyQueue.ptr;
- var q = this.copyQueue.q;
- var iter = 0;
- var maxiter = this.copyLoopsPerFrame;
- var loopstart = (new Date).getTime();
- var oproto = Object.prototype;
- while (ptr < q.length && iter++ < maxiter) {
-
- // check time once every 100 iterations
- if ((iter % 100) == 0) {
- var elapsed = (new Date).getTime() - loopstart;
- if (elapsed > this.maxLoopTime) {
- //Debug.write("too much time in queuedCopyFlashXML_internal, break");
- break;
- }
- }
-
- var node = q[ptr++];
- var lfcparent = node._lfcparent;
- delete node._lfcparent;
- var nv = node.nodeValue;
- var lfcnode = null;
-
- // text node?
- if (node.nodeType == 3) {
- if (trimwhitespace == true) {
- nv = LzDataElement.trim(nv);
- }
- // FIXME: [2008-3-31 pbr] This bypasses initialization
- lfcnode = {__proto__: LzDataText.prototype, data: nv, parentNode: lfcparent, nodeType: LzDataElement.TEXT_NODE};
- } else {
- // Do we need to copy attributes list as well?
- // After this works, try bashing the __proto__
- // and see if GC still works.
-
- if (! nsprefix) {
- // this is slow, we iterate over every attribute name
- var nattrs = node.attributes;
- var cattrs = {};
- var attrlist = [];
- for (var key in nattrs) {
- var nkey = key;
- // strip namespace prefixes
- var colpos = key.indexOf(':');
- if (colpos >= 0) {
- nkey = key.substring(colpos + 1);
- }
- //cattrs[nkey] = nattrs[key];
- attrlist.push(nkey, nattrs[key]);
- }
-
- // Flash iterates over an object in reversed insertion order.
- // But as we want to preserve the original xml-attribute order,
- // we need to insert the attributes also in reversed order.
- for (var i = attrlist.length - 1; i >= 0; i -= 2) {
- cattrs[attrlist[i - 1]] = attrlist[i];
- }
- } else {
- // this is the fast path
- var cattrs = node.attributes;
- cattrs.__proto__ = oproto;
- cattrs.constructor = Object;
- ASSetPropFlags(cattrs, ['__proto__', 'constructor'], 1, 7);
- }
-
- //lfcnode = new LzDataElement(node.nodeName, cattrs);
-
- ////////
-
- var nodename = node.nodeName;
- if (nodename && !nsprefix) {
- var npos = nodename.indexOf(':');
- if (npos >= 0) {
- nodename = nodename.substring(npos+1);
- }
- }
-
- // FIXME: [2008-3-31 pbr] This bypasses initialization
- lfcnode = { __proto__: LzDataElement.prototype,
- nodeType: LzDataElement.ELEMENT_NODE,
- nodeName: nodename,
- attributes: cattrs,
- ownerDocument: lfcparent.ownerDocument,
- parentNode: lfcparent};
- }
-
- // Add to the parent's childnodes.
- if (lfcparent.childNodes == null) {
- lfcparent.childNodes = [lfcnode];
- } else {
- lfcparent.childNodes.push(lfcnode);
- }
-
- // queue the XMLNode children for processing
- var children = node.childNodes;
- if (children != null) {
- for ( var i = 0; i < children.length; i++ ){
- var c = children[i];
- c._lfcparent = lfcnode;
- q[q.length] = c;
- }
- }
- }
- this.copyQueue.ptr = ptr;
- //Debug.write("leaving queuedCopyFlashXML_internal main loop", ptr, iter);
- if (ptr >= q.length) {
- // If we get here, we're finished with the tree copy.
- // Unregister the idle loop handler
- var xmlobj = this.copyQueue.xmlobj;
- this.removeCopyTask();
- // Proceed with getting this dataset returned to the customer
- xmlobj.loader.returnData(xmlobj, this.lfcrootnode.childNodes[0].childNodes[0]);
- // Indicate that we finished it all in one go, no need to queue more copy tasks
- return true;
- } else {
- return false;
- }
-}
-
if ($debug) {
/**
* @access private
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzMediaLoader.lzs 2008-12-08 20:29:02 UTC (rev 12011)
@@ -45,6 +45,9 @@
/** @access private */
var LOADERDEPTH = 9;
+/** @access private */
+var minHeader = 10;
+
/**
* @access private
*/
Added: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLLoader.lzs
Property changes on: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLLoader.lzs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLTranslator.as
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLTranslator.as 2008-12-08 19:53:54 UTC (rev 12010)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/swf/LzXMLTranslator.as 2008-12-08 20:29:02 UTC (rev 12011)
@@ -1,7 +1,7 @@
/**
- * LzXMLTranslator.js
+ * LzXMLTranslator.as
*
- * @copyright Copyright 2001-2006 Laszlo Systems, Inc. All Rights Reserved.
+ * @copyright Copyright 2001-2008 Laszlo Systems, Inc. All Rights Reserved.
* Use is subject to license terms.
*
* @topic Kernel
@@ -15,7 +15,7 @@
var LzXMLTranslator = new Object;
LzXMLTranslator.copyXML = function (xmlobj, trimwhitespace, nsprefix) {
- var lfcnode = LzLoader.prototype.copyFlashXML(xmlobj, trimwhitespace, nsprefix);
+ var lfcnode = LzXMLLoader.prototype.copyFlashXML(xmlobj, trimwhitespace, nsprefix);
var fc = lfcnode.childNodes[0];
if ( fc instanceof LzDataText ) return null;
return fc;
More information about the Laszlo-checkins
mailing list