XIFF-53: More work based on http://community.igniterealtime.org/people/mani

--- src/org/igniterealtime/xiff/util/Zlib.as
+++ src/org/igniterealtime/xiff/util/Zlib.as
@@ -47,6 +47,7 @@
 		{
 			data.position = 0;
 			var uncompressed:ByteArray = new ByteArray();
+			var chunk:ByteArray = new ByteArray();
 			var outBytesLength:int = data.length * 2;

 			var err:int;
@@ -62,7 +63,7 @@
 			stream.next_in = data;
 			stream.next_in_index = 0;

-			stream.next_out = uncompressed;
+			stream.next_out = chunk;
 			stream.next_out_index = 0;

 			stream.avail_out = outBytesLength;
@@ -72,13 +73,13 @@
 			err = stream.inflateInit();
 			checkError(stream, err, "inflateInit");

-			var outcount:int = 0;
 			while (true)
 			{
 				// force small buffers
 				stream.avail_in = 1;
 				stream.avail_out = 1;

+				//err = stream.inflate(JZlib.Z_SYNC_FLUSH);
 				err = stream.inflate(JZlib.Z_NO_FLUSH);
 				switch (err)
 				{
@@ -87,6 +88,7 @@
 						trace("Zlib.uncompress. inflation stream ended");
 						break;
 					case JZlib.Z_BUF_ERROR:
+						emptyByteArrayIntoByteArray(chunk, uncompressed);
 						stream.next_out_index = 0;
 						stream.avail_out = outBytesLength;
 						break;
@@ -94,18 +96,24 @@
 						// unknown error
 						if (err != JZlib.Z_OK)
 						{
-							if (stream.msg == null) {
-								trace("Unknown error. Error code : " + err);
+							if (stream.msg == null)
+							{
+								trace("Zlib.uncompress. Unknown error. Error code : " + err);
 							}
-							else {
-								trace("Unknown error. Error code : " + err + " and message : " + stream.msg);
+							else
+							{
+								trace("Zlib.uncompress. Unknown error. Error code : " + err + " and message : " + stream.msg);
 							}
 						}
 				}
+				stream.avail_in = 1;

-				outcount++;
-				//trace("Zlib.uncompress. outcount: " + outcount + ", stream.total_out: " + stream.total_out);
-
+				if (stream.total_in >= data.length)
+				{
+					emptyByteArrayIntoByteArray(chunk, uncompressed);
+					break;
+				}
+
 				if (!checkError(stream, err, "inflate"))
 				{
 					break;
@@ -134,12 +142,13 @@
 			data.position = 0;
 			var compressed:ByteArray = new ByteArray();
 			var err:int;
-			var i:int = 0;
-			var j:int = 0;

 			trace("Zlib.compress. data.length: " + data.length);
 			trace("Zlib.compress. data: " + data.toString());

+			// How is this number build?
+			var outLen:int = Math.round(data.length * 1.001) + 1 + 12;
+
 			var stream:ZStream = new ZStream();

 			err = stream.deflateInit(JZlib.Z_BEST_COMPRESSION);
@@ -147,41 +156,35 @@

 			stream.next_in = data;
 			stream.next_in_index = 0;
+			stream.avail_in = data.length;

 			stream.next_out = compressed;
 			stream.next_out_index = 0;
-
-
-			// ----
-
-			var comprLen:int = 40000;
-			while (stream.total_in != data.length && stream.total_out < comprLen)
-			{
-				// force small buffers
-				stream.avail_in = 1;
-				stream.avail_out = 1;
-
-				err = stream.deflate(JZlib.Z_NO_FLUSH);
-				checkError(stream, err, "deflate");
-			}
-
-			while (true)
-			{
-				stream.avail_out = 1;
-				err = stream.deflate(JZlib.Z_FINISH);
-				if (err == JZlib.Z_STREAM_END)
-				{
-					break;
-				}
-
-				compressed.position = 0;
-
-				checkError(stream, err, "deflate");
-			}
-
-			err = stream.deflateEnd();
-			checkError(stream, err, "deflateEnd");
-
+			stream.avail_out = outLen;
+
+
+
+
+
+			err = stream.deflate(JZlib.Z_SYNC_FLUSH);
+
+			if (err != JZlib.Z_OK)
+			{
+				compressed = null;
+				trace("Zlib.compress. Compression failed with return value : " + err);
+			}
+
+
+			// TODO: we need this, but why? zlib must be missing something
+
+			if (compressed.length > 2)
+			{
+				compressed.position = compressed.length - 2;
+				compressed.writeByte(0xFF);
+				compressed.writeByte(0xFF);
+			}
+
+

 			trace("Zlib.compress. compressed.length: " + compressed.length);
 			trace("Zlib.compress. compressed: " + compressed.toString());
@@ -211,5 +214,14 @@
 			}
 			return true;
 		}
+
+		private function emptyByteArrayIntoByteArray(chunk:ByteArray, target:ByteArray):void
+		{
+			for (var j:uint = 0; j < chunk.length; j++)
+			{
+				target.writeByte(chunk.readByte());
+			}
+			chunk.clear();
+		}
 	}
 }


Typo.

Typo.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@1125 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/main/as/com/threerings/flex/DSetList.as
+++ src/main/as/com/threerings/flex/DSetList.as
@@ -68,7 +68,7 @@
     }

     /**
-     * Set the aata to be displayed by this List, if not being attached to a DObject.
+     * Set the data to be displayed by this List, if not being attached to a DObject.
      */
     public function setData (array :Array /* of DSet_Entry */) :void
     {


avoid exception when calling play() before MANIFEST_LOADED event is received

--- src/org/mangui/HLS/streaming/FragmentLoader.as
+++ src/org/mangui/HLS/streaming/FragmentLoader.as
@@ -131,6 +131,10 @@

         /**  fragment loading Timer **/
         private function _checkLoading(e : Event) : void {
+            // dont try to load any fragment if _level is not defined (should be the case if manifest not yet loaded for example
+            if (isNaN(_level)) {
+                return;
+            }
             // check fragment loading status, try to load a new fragment if needed
             if (_fragment_loading == false || _need_reload == true) {
                 var loadstatus : Number;


No bug.  Ran fixtabs on AMFSerializer (r=fklockii).

--- test/acceptance/as3/AMF/AMFSerializer.as
+++ test/acceptance/as3/AMF/AMFSerializer.as
@@ -55,204 +55,204 @@

 class CustomDynamicPropertyWriter implements IDynamicPropertyWriter {

-	public function CustomDynamicPropertyWriter() {
-		// constructor code
-	}
-
-	public function writeDynamicProperties(obj:Object, output:IDynamicPropertyOutput):void
-	{
-		for(var prop:* in obj)
-		{
-			if(prop != "notforserializing") {
-				output.writeDynamicProperty(prop, obj[prop]);
-			}
-		}
-	}
+    public function CustomDynamicPropertyWriter() {
+        // constructor code
+    }
+
+    public function writeDynamicProperties(obj:Object, output:IDynamicPropertyOutput):void
+    {
+        for(var prop:* in obj)
+        {
+            if(prop != "notforserializing") {
+                output.writeDynamicProperty(prop, obj[prop]);
+            }
+        }
+    }

 }

 class SimpleIExternalizable implements IExternalizable {

-		public var stringtest:String = "Sample";
-
-		 public function writeExternal(output:IDataOutput):void {
-				 output.writeObject("IExternalizable String");
-		}
-		 public function readExternal(input:IDataInput):void {
-				stringtest = input.readObject();
-	}
+        public var stringtest:String = "Sample";
+
+         public function writeExternal(output:IDataOutput):void {
+                 output.writeObject("IExternalizable String");
+        }
+         public function readExternal(input:IDataInput):void {
+                stringtest = input.readObject();
+    }
 }

 dynamic class UDefDynClassWithDynamicAttrs {

-	public var obj_DynamicVar:Object;
-	public function UDefDynClassWithDynamicAttrs() {
-		// constructor code
-		obj_DynamicVar = new Object();
-	}
+    public var obj_DynamicVar:Object;
+    public function UDefDynClassWithDynamicAttrs() {
+        // constructor code
+        obj_DynamicVar = new Object();
+    }

 }

 class UserDefClassAllTypes {
-
-	//Null
-	public var null_Obj;
-	//Boolean - True
-	public var bool_True_Obj:Boolean;
-	//Boolean - False
-	public var bool_False_Obj:Boolean;
-	//Integer - Positive
-	public var int_Positive_type:int;
-	//Unsigned Integer - Value
-	public var uint_Value_type:uint;
-	//Number - Positive Value
-	public var num_Positive_Obj:Number;
-	//Number - Min Value
-	public var num_Min_Obj:Number;
-	//String - title case
-	public var str_Title_Obj:String;
-	//Date - 18/07/2011 9:10:01:10 AM
-	public var dt_Fixed_Obj:Date;
-	//Array - Index : int Value: String
-	public var arr_IntStr_Obj:Array;
-	//Array - Index : Mixed Value: Mixed
-	public var arr_MixMix_Obj:Array;
-	//XML
-	public var xml_Obj:XML;
-	//Vector int typed
-	public var vct_int_Obj:Vector.<int>;
-	//Vector object typed
-	public var obj_Test3:Object;
-	public var obj_Test4:Object;
-	public var vct_obj_Obj:Vector.<Object>;
-	public var dict_StrStr_Obj:Dictionary
-	//ByteArray - Empty
-	public var ba_Empty_Obj:ByteArray;
-	//ByteArray - String
-	public var ba_Str_Obj:ByteArray;
-
-
-	public function UserDefClassAllTypes() {
-		// constructor code
-	}
-
-	public function Init():void {
-		//Null
-		null_Obj = null;
-		//Boolean - True
-		bool_True_Obj = true;
-		//Boolean - False
-		bool_False_Obj = false;
-		//Integer - Positive
-		int_Positive_type = 100;
-		//Unsigned Integer - Value
-		uint_Value_type = 2000;
-		//Number - Positive Value
-		num_Positive_Obj = new Number(100);
-		//Number - Min Value
-		num_Min_Obj = new Number(Number.MIN_VALUE);
-		//String - title case
-		str_Title_Obj = new String("A Quick Brown Fox Jumps Over A Lazy Dog");
-		//Date - 18/07/2011 9:10:01:10 AM
-		dt_Fixed_Obj = new Date(2011,07,18,9,10,01,10);
-		//Array - Index : int Value: String
-		arr_IntStr_Obj = new Array("TEST1", "TEST2", "TEST3", "TEST4");
-		//Array - Index : Mixed Value: Mixed
-		arr_MixMix_Obj = new Array();
-		arr_MixMix_Obj["TEST1"] = 1;
-		arr_MixMix_Obj[2] = "Search Engine 2";
-		arr_MixMix_Obj[3] = "Search Engine 3";
-		arr_MixMix_Obj["TEST2"] = 4;
-		//XML
-		xml_Obj = <employee><name>XANDER</name><id>xan007</id><address>#5, Salarpuria Infinity, Bannerghatta Road, Bangalore</address></employee>;
-		//Vector int typed
-		vct_int_Obj = new <int>[-1,100, 200, -200, 0, int.MIN_VALUE, int.MAX_VALUE];
-		//Vector object typed
-		obj_Test3 = new Object();
-		obj_Test3.value = "VALUE 1";
-		obj_Test4 = new Object();
-		obj_Test4.value = "VALUE 2";
-		vct_obj_Obj = new <Object>[obj_Test3, obj_Test4]
-		//Vector object
-		dict_StrStr_Obj= new Dictionary();
-		dict_StrStr_Obj["key1"] = "value1";
-		dict_StrStr_Obj["key2"] = "value2";
-		//ByteArray - String
-		ba_Str_Obj = new ByteArray();
-		ba_Str_Obj.writeObject("BYTE ARRAY TEST");
-	}
+
+    //Null
+    public var null_Obj;
+    //Boolean - True
+    public var bool_True_Obj:Boolean;
+    //Boolean - False
+    public var bool_False_Obj:Boolean;
+    //Integer - Positive
+    public var int_Positive_type:int;
+    //Unsigned Integer - Value
+    public var uint_Value_type:uint;
+    //Number - Positive Value
+    public var num_Positive_Obj:Number;
+    //Number - Min Value
+    public var num_Min_Obj:Number;
+    //String - title case
+    public var str_Title_Obj:String;
+    //Date - 18/07/2011 9:10:01:10 AM
+    public var dt_Fixed_Obj:Date;
+    //Array - Index : int Value: String
+    public var arr_IntStr_Obj:Array;
+    //Array - Index : Mixed Value: Mixed
+    public var arr_MixMix_Obj:Array;
+    //XML
+    public var xml_Obj:XML;
+    //Vector int typed
+    public var vct_int_Obj:Vector.<int>;
+    //Vector object typed
+    public var obj_Test3:Object;
+    public var obj_Test4:Object;
+    public var vct_obj_Obj:Vector.<Object>;
+    public var dict_StrStr_Obj:Dictionary
+    //ByteArray - Empty
+    public var ba_Empty_Obj:ByteArray;
+    //ByteArray - String
+    public var ba_Str_Obj:ByteArray;
+
+
+    public function UserDefClassAllTypes() {
+        // constructor code
+    }
+
+    public function Init():void {
+        //Null
+        null_Obj = null;
+        //Boolean - True
+        bool_True_Obj = true;
+        //Boolean - False
+        bool_False_Obj = false;
+        //Integer - Positive
+        int_Positive_type = 100;
+        //Unsigned Integer - Value
+        uint_Value_type = 2000;
+        //Number - Positive Value
+        num_Positive_Obj = new Number(100);
+        //Number - Min Value
+        num_Min_Obj = new Number(Number.MIN_VALUE);
+        //String - title case
+        str_Title_Obj = new String("A Quick Brown Fox Jumps Over A Lazy Dog");
+        //Date - 18/07/2011 9:10:01:10 AM
+        dt_Fixed_Obj = new Date(2011,07,18,9,10,01,10);
+        //Array - Index : int Value: String
+        arr_IntStr_Obj = new Array("TEST1", "TEST2", "TEST3", "TEST4");
+        //Array - Index : Mixed Value: Mixed
+        arr_MixMix_Obj = new Array();
+        arr_MixMix_Obj["TEST1"] = 1;
+        arr_MixMix_Obj[2] = "Search Engine 2";
+        arr_MixMix_Obj[3] = "Search Engine 3";
+        arr_MixMix_Obj["TEST2"] = 4;
+        //XML
+        xml_Obj = <employee><name>XANDER</name><id>xan007</id><address>#5, Salarpuria Infinity, Bannerghatta Road, Bangalore</address></employee>;
+        //Vector int typed
+        vct_int_Obj = new <int>[-1,100, 200, -200, 0, int.MIN_VALUE, int.MAX_VALUE];
+        //Vector object typed
+        obj_Test3 = new Object();
+        obj_Test3.value = "VALUE 1";
+        obj_Test4 = new Object();
+        obj_Test4.value = "VALUE 2";
+        vct_obj_Obj = new <Object>[obj_Test3, obj_Test4]
+        //Vector object
+        dict_StrStr_Obj= new Dictionary();
+        dict_StrStr_Obj["key1"] = "value1";
+        dict_StrStr_Obj["key2"] = "value2";
+        //ByteArray - String
+        ba_Str_Obj = new ByteArray();
+        ba_Str_Obj.writeObject("BYTE ARRAY TEST");
+    }

 }

 dynamic class UserDefinedDynamicClass {

-	public var strPubString:String;
-	private var strPrivString:String;
-	protected var strProtString:String;
-	public const strPubConstString:String = new String("User Defined Dynamic Class Public Constant Variable");
-
-
-	public function UserDefinedDynamicClass() {
-		strPubString = new String("User Defined Dynamic Class Public Variable");
-		strPrivString = new String("User Defined Dynamic Class Private Variable");
-		strProtString = new String("User Defined Dynamic Class Protected Variable");
-	}
-
-	public function getPrivString()
-	{
-		return strPrivString;
-	}
-
-	public function getProtString()
-	{
-		return strProtString;
-	}
-
-	public function setPrivString(str:String)
-	{
-		strPrivString = str;
-	}
-
-	public function setProtString(str:String)
-	{
-		strProtString = str;
-	}
+    public var strPubString:String;
+    private var strPrivString:String;
+    protected var strProtString:String;
+    public const strPubConstString:String = new String("User Defined Dynamic Class Public Constant Variable");
+
+
+    public function UserDefinedDynamicClass() {
+        strPubString = new String("User Defined Dynamic Class Public Variable");
+        strPrivString = new String("User Defined Dynamic Class Private Variable");
+        strProtString = new String("User Defined Dynamic Class Protected Variable");
+    }
+
+    public function getPrivString()
+    {
+        return strPrivString;
+    }
+
+    public function getProtString()
+    {
+        return strProtString;
+    }
+
+    public function setPrivString(str:String)
+    {
+        strPrivString = str;
+    }
+
+    public function setProtString(str:String)
+    {
+        strProtString = str;
+    }
 }

 final class UserDefinedFinalClass {
-
-	public var strPubString:String;
-	private var strPrivString:String;
-	protected var strProtString:String;
-	public const strPubConstString:String = new String("User Defined Final Class Public Constant Variable");
-
-	public function UserDefinedFinalClass() {
-		// constructor code
-		strPubString = new String("User Defined Final Class Public Variable");
-		strPrivString = new String("User Defined Final Class Private Variable");
-		strProtString = new String("User Defined Final Class Protected Variable");
-	}
-
-	public function getPrivString()
-	{
-		return strPrivString;
-	}
-
-	public function getProtString()
-	{
-		return strProtString;
-	}
-
-	public function setPrivString(str:String)
-	{
-		strPrivString = str;
-	}
-
-	public function setProtString(str:String)
-	{
-		strProtString = str;
-	}
+
+    public var strPubString:String;
+    private var strPrivString:String;
+    protected var strProtString:String;
+    public const strPubConstString:String = new String("User Defined Final Class Public Constant Variable");
+
+    public function UserDefinedFinalClass() {
+        // constructor code
+        strPubString = new String("User Defined Final Class Public Variable");
+        strPrivString = new String("User Defined Final Class Private Variable");
+        strProtString = new String("User Defined Final Class Protected Variable");
+    }
+
+    public function getPrivString()
+    {
+        return strPrivString;
+    }
+
+    public function getProtString()
+    {
+        return strProtString;
+    }
+
+    public function setPrivString(str:String)
+    {
+        strPrivString = str;
+    }
+
+    public function setProtString(str:String)
+    {
+        strProtString = str;
+    }

 }

@@ -440,7 +440,7 @@

 //Undefined Value
 var obj_Undefined = undefined;
-//Testing Undefined - Starts
+//Testing Undefined - Starts
 ba_TestObject = new ByteArray();
 ba_TestObject.writeObject(obj_Undefined);
 ba_TestObject.position = 0;
@@ -509,368 +509,368 @@

 function buildBAnCallAddTC(strTitle:String, input:*)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	AddTestCase(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    AddTestCase(strTitle, input, ba_test_Obj.readObject());
 }

 function testNaN(strTitle:String, input:Number)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-
-	AddTestCase(strTitle, isNaN(input), isNaN(ba_test_Obj.readObject()));
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+
+    AddTestCase(strTitle, isNaN(input), isNaN(ba_test_Obj.readObject()));
 }

 function testDate(strTitle:String, input:Date)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareDates(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareDates(strTitle, input, ba_test_Obj.readObject());
 }

 function compareDates(strTitle:String, input:Date, actual:Date)
 {
-	AddTestCase(strTitle, input.getTime(), actual.getTime());
+    AddTestCase(strTitle, input.getTime(), actual.getTime());
 }

 function testArrayTypes(strTitle:String, input:Array)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	var actual:Array = ba_test_Obj.readObject();
-	compareArrays(strTitle, input, actual);
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    var actual:Array = ba_test_Obj.readObject();
+    compareArrays(strTitle, input, actual);
 }

 function compareArrays(strTitle:String, input:Array, actual:Array)
 {
-	var propInput:Array = new Array();
-	for (var p:* in input) {
-		propInput.push(p);
-	}
-	propInput = propInput.sort();
-
-
-	var propActual:Array = new Array();
-	for (var p1:* in input) {
-		propActual.push(p1);
-	}
-	propActual = propActual.sort();
-
-
-	for each (var prop:* in propInput)
-	{
-		if(input[prop] is UserDefClassAllTypes && actual[prop] is UserDefClassAllTypes)
-		{
-			compareUserDefTypes(strTitle, input[prop], actual[prop]);
-		}
-		else
-		{
-			AddTestCase(strTitle + " value check EXP vs ACT: " + prop, input[prop], actual[prop]);
-		}
-	}
-	for each (var prop1:* in propActual)
-	{
-		if(input[prop1] is UserDefClassAllTypes && actual[prop1] is UserDefClassAllTypes)
-		{
-			compareUserDefTypes(strTitle, input[prop1], actual[prop1]);
-		}
-		else
-		{
-			AddTestCase(strTitle + " value check ACT vs EXP: " + prop1, actual[prop1], input[prop1]);
-		}
-	}
+    var propInput:Array = new Array();
+    for (var p:* in input) {
+        propInput.push(p);
+    }
+    propInput = propInput.sort();
+
+
+    var propActual:Array = new Array();
+    for (var p1:* in input) {
+        propActual.push(p1);
+    }
+    propActual = propActual.sort();
+
+
+    for each (var prop:* in propInput)
+    {
+        if(input[prop] is UserDefClassAllTypes && actual[prop] is UserDefClassAllTypes)
+        {
+            compareUserDefTypes(strTitle, input[prop], actual[prop]);
+        }
+        else
+        {
+            AddTestCase(strTitle + " value check EXP vs ACT: " + prop, input[prop], actual[prop]);
+        }
+    }
+    for each (var prop1:* in propActual)
+    {
+        if(input[prop1] is UserDefClassAllTypes && actual[prop1] is UserDefClassAllTypes)
+        {
+            compareUserDefTypes(strTitle, input[prop1], actual[prop1]);
+        }
+        else
+        {
+            AddTestCase(strTitle + " value check ACT vs EXP: " + prop1, actual[prop1], input[prop1]);
+        }
+    }
 }

 function testXMLTypes(strTitle:String, input:XML)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareXMLS(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareXMLS(strTitle, input, ba_test_Obj.readObject());
 }

 function compareXMLS(strTitle:String, input:XML, actual:XML)
 {
-	AddTestCase(strTitle, input.toString(), actual.toString());
+    AddTestCase(strTitle, input.toString(), actual.toString());
 }

 function compareObjects(strTitle:String, input:Object, actual:Object)
 {
-	var propInput:Array = new Array();
-	var propActual:Array = new Array();
-	for (var p:* in input)
-	{
-		propInput.push(p);
-	}
-
-	propInput = propInput.sort();
-
-	for (var p1:* in actual)
-	{
-		propActual.push(p1);
-	}
-
-	propActual = propActual.sort();
-
-	for each (var prop:* in propInput)
-	{
-		AddTestCase(strTitle, input[prop], actual[prop]);
-	}
-	for each (var prop1:* in propActual)
-	{
-		AddTestCase(strTitle, actual[prop1], input[prop1]);
-	}
-
+    var propInput:Array = new Array();
+    var propActual:Array = new Array();
+    for (var p:* in input)
+    {
+        propInput.push(p);
+    }
+
+    propInput = propInput.sort();
+
+    for (var p1:* in actual)
+    {
+        propActual.push(p1);
+    }
+
+    propActual = propActual.sort();
+
+    for each (var prop:* in propInput)
+    {
+        AddTestCase(strTitle, input[prop], actual[prop]);
+    }
+    for each (var prop1:* in propActual)
+    {
+        AddTestCase(strTitle, actual[prop1], input[prop1]);
+    }
+
 }

 function testVectorTypesInt(strTitle:String, input:Vector.<int>)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareVectorsInt(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareVectorsInt(strTitle, input, ba_test_Obj.readObject());
 }

 function compareVectorsInt(strTitle:String, input:Vector.<int>, actual:Vector.<int>)
 {
-	var inputlen:int = input.length;
-	var actuallen:int = actual.length;
-
-	AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
-	if(inputlen == actuallen)
-	{
-		for (var i:int; i < inputlen; i++)
-		{
-			AddTestCase(strTitle, input[i], actual[i]);
-		}
-	}
+    var inputlen:int = input.length;
+    var actuallen:int = actual.length;
+
+    AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
+    if(inputlen == actuallen)
+    {
+        for (var i:int; i < inputlen; i++)
+        {
+            AddTestCase(strTitle, input[i], actual[i]);
+        }
+    }
 }

 function testVectorTypesUInt(strTitle:String, input:Vector.<uint>)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareVectorsUInt(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareVectorsUInt(strTitle, input, ba_test_Obj.readObject());
 }

 function compareVectorsUInt(strTitle:String, input:Vector.<uint>, actual:Vector.<uint>)
 {
-	var inputlen:int = input.length;
-	var actuallen:int = actual.length;
-
-	AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
-	if(inputlen == actuallen)
-	{
-		for (var i:int; i < inputlen; i++)
-		{
-			AddTestCase(strTitle, input[i], actual[i]);
-
-		}
-	}
+    var inputlen:int = input.length;
+    var actuallen:int = actual.length;
+
+    AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
+    if(inputlen == actuallen)
+    {
+        for (var i:int; i < inputlen; i++)
+        {
+            AddTestCase(strTitle, input[i], actual[i]);
+
+        }
+    }
 }

 function testVectorTypesNumber(strTitle:String, input:Vector.<Number>)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareVectorsNumber(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareVectorsNumber(strTitle, input, ba_test_Obj.readObject());
 }

 function compareVectorsNumber(strTitle:String, input:Vector.<Number>, actual:Vector.<Number>)
 {
-	var inputlen:int = input.length;
-	var actuallen:int = actual.length;
-
-	AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
-	if(inputlen == actuallen)
-	{
-		for (var i:int; i < inputlen; i++)
-		{
-			AddTestCase(strTitle, input[i], actual[i]);
-		}
-	}
+    var inputlen:int = input.length;
+    var actuallen:int = actual.length;
+
+    AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
+    if(inputlen == actuallen)
+    {
+        for (var i:int; i < inputlen; i++)
+        {
+            AddTestCase(strTitle, input[i], actual[i]);
+        }
+    }
 }

 function testVectorTypesObject(strTitle:String, input:Vector.<Object>)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareVectorsObject(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareVectorsObject(strTitle, input, ba_test_Obj.readObject());
 }

 function compareVectorsObject(strTitle:String, input:Vector.<Object>, actual:Vector.<Object>)
 {
-	var inputlen:int = input.length;
-	var actuallen:int = actual.length;
-
-	AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
-	if(inputlen == actuallen)
-	{
-		for (var i:int; i < inputlen; i++)
-		{
-			if (input[i] is String && actual[i] is String)
-			{
-				AddTestCase(strTitle, input[i], actual[i]);
-			}
-			else if (input[i] is int && actual[i] is int)
-			{
-				AddTestCase(strTitle, input[i], actual[i]);
-			}
-			else
-			{
-				compareObjects(strTitle, input[i], actual[i]);
-			}
-
-		}
-	}
+    var inputlen:int = input.length;
+    var actuallen:int = actual.length;
+
+    AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
+    if(inputlen == actuallen)
+    {
+        for (var i:int; i < inputlen; i++)
+        {
+            if (input[i] is String && actual[i] is String)
+            {
+                AddTestCase(strTitle, input[i], actual[i]);
+            }
+            else if (input[i] is int && actual[i] is int)
+            {
+                AddTestCase(strTitle, input[i], actual[i]);
+            }
+            else
+            {
+                compareObjects(strTitle, input[i], actual[i]);
+            }
+
+        }
+    }
 }

 function testVectorTypesUDef(strTitle:String, input:Vector.<UserDefClassAllTypes>)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareVectorsUDef(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareVectorsUDef(strTitle, input, ba_test_Obj.readObject());
 }

 function compareVectorsUDef(strTitle:String, input:Vector.<UserDefClassAllTypes>, actual:Vector.<UserDefClassAllTypes>)
 {
-	var inputlen:int = input.length;
-	var actuallen:int = actual.length;
-	AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
-	if(inputlen == actuallen)
-	{
-		for (var i:int; i < inputlen; i++)
-		{
-			compareUserDefTypes(strTitle, input[i], actual[i]);
-		}
-	}
+    var inputlen:int = input.length;
+    var actuallen:int = actual.length;
+    AddTestCase(strTitle + " Vector Len ", inputlen, actuallen);
+    if(inputlen == actuallen)
+    {
+        for (var i:int; i < inputlen; i++)
+        {
+            compareUserDefTypes(strTitle, input[i], actual[i]);
+        }
+    }
 }

 function testByteArrayTypes(strTitle:String, input:ByteArray)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareByteArray(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareByteArray(strTitle, input, ba_test_Obj.readObject());
 }

 function compareByteArray(strTitle:String, input:ByteArray, actual:ByteArray)
 {
-	input.position = 0;
-	actual.position = 0;
-	AddTestCase(strTitle, input.readObject(), actual.readObject());
+    input.position = 0;
+    actual.position = 0;
+    AddTestCase(strTitle, input.readObject(), actual.readObject());
 }

 function testDictionaryTypes(strTitle:String, input:Dictionary)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareDictionary(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareDictionary(strTitle, input, ba_test_Obj.readObject());
 }

 function compareDictionary(strTitle:String, input:Dictionary, actual:Dictionary)
 {

-	var propInput:Array = new Array();
-	for (var p:* in input)
-	{
-		propInput.push(p);
-	}
-
-	propInput = propInput.sort();
-
-	for each (var prop:* in propInput)
-	{
-		if ( input[prop] is UserDefClassAllTypes)
-		{
-			compareUserDefTypes(strTitle + " User Defined ", input[prop], actual[prop]);
-		}
-		else if (input [prop] is Array)
-		{
-			compareArrays(strTitle + " Array ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is Vector.<Number>)
-		{
-			compareVectorsNumber(strTitle + " Vector ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is XML)
-		{
-			compareXMLS(strTitle + " XML ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is Date)
-		{
-			compareDates(strTitle + " Dates ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is Boolean)
-		{
-			AddTestCase(strTitle + " Boolean ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is  String)
-		{
-			AddTestCase(strTitle + " String ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is int)
-		{
-			AddTestCase(strTitle + " int ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is uint)
-		{
-			AddTestCase(strTitle + " uint ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is Number)
-		{
-			AddTestCase(strTitle + " Number ", input[prop], actual[prop]);
-		}
-		else if (input[prop] is ByteArray)
-		{
-			compareByteArray(strTitle + " Byte Array ", input[prop], actual[prop]);
-		}
-		else
-		{
-			AddTestCase(strTitle + " Object ", input[prop], actual[prop]);
-		}
-	}
+    var propInput:Array = new Array();
+    for (var p:* in input)
+    {
+        propInput.push(p);
+    }
+
+    propInput = propInput.sort();
+
+    for each (var prop:* in propInput)
+    {
+        if ( input[prop] is UserDefClassAllTypes)
+        {
+            compareUserDefTypes(strTitle + " User Defined ", input[prop], actual[prop]);
+        }
+        else if (input [prop] is Array)
+        {
+            compareArrays(strTitle + " Array ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is Vector.<Number>)
+        {
+            compareVectorsNumber(strTitle + " Vector ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is XML)
+        {
+            compareXMLS(strTitle + " XML ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is Date)
+        {
+            compareDates(strTitle + " Dates ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is Boolean)
+        {
+            AddTestCase(strTitle + " Boolean ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is  String)
+        {
+            AddTestCase(strTitle + " String ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is int)
+        {
+            AddTestCase(strTitle + " int ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is uint)
+        {
+            AddTestCase(strTitle + " uint ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is Number)
+        {
+            AddTestCase(strTitle + " Number ", input[prop], actual[prop]);
+        }
+        else if (input[prop] is ByteArray)
+        {
+            compareByteArray(strTitle + " Byte Array ", input[prop], actual[prop]);
+        }
+        else
+        {
+            AddTestCase(strTitle + " Object ", input[prop], actual[prop]);
+        }
+    }
 }

 function testUserDefTypes(strTitle:String, input:UserDefClassAllTypes)
 {
-	var ba_test_Obj:ByteArray = new ByteArray();
-	ba_test_Obj.writeObject(input);
-	ba_test_Obj.position = 0;
-	compareUserDefTypes(strTitle, input, ba_test_Obj.readObject());
+    var ba_test_Obj:ByteArray = new ByteArray();
+    ba_test_Obj.writeObject(input);
+    ba_test_Obj.position = 0;
+    compareUserDefTypes(strTitle, input, ba_test_Obj.readObject());
 }

 function compareUserDefTypes(strTitle:String, input:UserDefClassAllTypes, actual:UserDefClassAllTypes)
 {
-	AddTestCase(strTitle  + " User Defined null ", input.null_Obj, actual.null_Obj);
-	AddTestCase(strTitle  + " User Defined boolean True ", input.bool_True_Obj, actual.bool_True_Obj);
-	AddTestCase(strTitle  + " User Defined boolean False " , input.bool_False_Obj, actual.bool_False_Obj);
-	AddTestCase(strTitle  + " User Defined int" , input.int_Positive_type, actual.int_Positive_type);
-	AddTestCase(strTitle  + " User Defined uint" , input.uint_Value_type, actual.uint_Value_type);
-	AddTestCase(strTitle  + " User Defined  Number min" , input.num_Min_Obj, actual.num_Min_Obj);
-	AddTestCase(strTitle  + " User Defined  Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
-	AddTestCase(strTitle  + " User Defined  Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
-	AddTestCase(strTitle  + " User Defined String " , input.str_Title_Obj, actual.str_Title_Obj);
-	compareDates(strTitle  + " User Defined Date " , input.dt_Fixed_Obj, actual.dt_Fixed_Obj);
-	compareArrays(strTitle  + " User Defined Array Index:Int Value:String", input.arr_IntStr_Obj, actual.arr_IntStr_Obj);
-	compareArrays(strTitle  + " User Defined Array Index:Mixed Value:Mixed", input.arr_MixMix_Obj, actual.arr_MixMix_Obj);
-	compareObjects(strTitle + " User Defined Object " , input.obj_Test3, actual.obj_Test3);
-	compareObjects(strTitle + " User Defined Object " , input.obj_Test4, actual.obj_Test4);
-	compareVectorsInt(strTitle + " User Defined Vector ", input.vct_int_Obj,	actual.vct_int_Obj);
-	compareDictionary(strTitle + " User Defined Dictionary", input.dict_StrStr_Obj,	actual.dict_StrStr_Obj);
-	compareByteArray(strTitle + " User Defined ByteArray (String)", input.ba_Str_Obj, actual.ba_Str_Obj);
+    AddTestCase(strTitle  + " User Defined null ", input.null_Obj, actual.null_Obj);
+    AddTestCase(strTitle  + " User Defined boolean True ", input.bool_True_Obj, actual.bool_True_Obj);
+    AddTestCase(strTitle  + " User Defined boolean False " , input.bool_False_Obj, actual.bool_False_Obj);
+    AddTestCase(strTitle  + " User Defined int" , input.int_Positive_type, actual.int_Positive_type);
+    AddTestCase(strTitle  + " User Defined uint" , input.uint_Value_type, actual.uint_Value_type);
+    AddTestCase(strTitle  + " User Defined  Number min" , input.num_Min_Obj, actual.num_Min_Obj);
+    AddTestCase(strTitle  + " User Defined  Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
+    AddTestCase(strTitle  + " User Defined  Number Positive" , input.num_Positive_Obj, actual.num_Positive_Obj);
+    AddTestCase(strTitle  + " User Defined String " , input.str_Title_Obj, actual.str_Title_Obj);
+    compareDates(strTitle  + " User Defined Date " , input.dt_Fixed_Obj, actual.dt_Fixed_Obj);
+    compareArrays(strTitle  + " User Defined Array Index:Int Value:String", input.arr_IntStr_Obj, actual.arr_IntStr_Obj);
+    compareArrays(strTitle  + " User Defined Array Index:Mixed Value:Mixed", input.arr_MixMix_Obj, actual.arr_MixMix_Obj);
+    compareObjects(strTitle + " User Defined Object " , input.obj_Test3, actual.obj_Test3);
+    compareObjects(strTitle + " User Defined Object " , input.obj_Test4, actual.obj_Test4);
+    compareVectorsInt(strTitle + " User Defined Vector ", input.vct_int_Obj,    actual.vct_int_Obj);
+    compareDictionary(strTitle + " User Defined Dictionary", input.dict_StrStr_Obj, actual.dict_StrStr_Obj);
+    compareByteArray(strTitle + " User Defined ByteArray (String)", input.ba_Str_Obj, actual.ba_Str_Obj);
 }

 test();


Bug 661330: Backed out changeset ac91969bcc46

Bug 661330, comment 27 points out that 64-bit release and -Dinterp are broken
with length_mods.as.

--- test/acceptance/as3/Array/length_mods.as
+++ test/acceptance/as3/Array/length_mods.as
@@ -1,474 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is [Open Source Virtual Machine].
- *
- * The Initial Developer of the Original Code is
- * Adobe System Incorporated.
- * Portions created by the Initial Developer are Copyright (C) 2011
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK *****/
-
-package {
-    public dynamic class Subarray extends Array
-    {
-        public function Subarray(l) {
-            super(l);
-        }
-
-        public override function get length():uint
-        {
-            return super.length;
-        }
-
-        public override function set length(newLength:uint)
-        {
-            super.length = newLength;
-        }
-    }
-}
-
-import avmplus.System;
-import flash.utils.ByteArray;
-
-var SECTION = "Array";
-var VERSION = "AS3";
-startTest();
-var TITLE   = "Array methods that handle/mangle length";
-var bug     = "661330";
-
-writeHeaderToLog( SECTION + " "+ TITLE );
-
-// Array
-var azero;
-var afive;
-var amax0;
-var amax2;
-var amax5;
-
-// Subclass
-var testing_subclass:Boolean = true;
-var szero;
-var sfive;
-var smax0;
-var smax2;
-var smax5;
-
-// Vector
-var testing_vector:Boolean = true;
-var vzero;
-var vfive;
-var vmax0;
-var vmax2;
-var vmax5;
-
-// ByteArray
-var testing_bytearray:Boolean = true;
-var bzero;
-var bfive;
-var bmax0;
-var bmax2;
-var bmax5;
-
-// Object (with length property)
-var testing_objwithlength:Boolean = true;
-var ozero;
-var ofive;
-var omax0;
-var omax2;
-var omax5;
-
-// This is the constructor for the Object cases above
-function WithLength(l) { this.length = l; }
-
-var all_arrays;    // array alternating strings and arrays of array subclasses.
-var all_arraylike; // array alternating strings and arrays of array-likes.
-
-function apply_arrays(f) {
-    var i = 1;
-    all_arrays[1].map(f); i += 2; // array
-    if (i >= all_arrays.length) return;
-    all_arrays[3].map(f); i += 2; // subclass of array
-}
-
-// Maps f over every odd-indexed element of all_arraylike (thus f is
-// mapped over the array-likes).
-function apply_alikes(f) {
-    // (unrolled for loop so that stack-traces say which arraylike is faulting)
-    var i = 1;
-    all_arraylike[1].map(f); i += 2; // array
-    if (i >= all_arraylike.length) return;
-    all_arraylike[3].map(f); i += 2; // subclass of array
-    if (i >= all_arraylike.length) return;
-    all_arraylike[5].map(f); i += 2; // vector
-    if (i >= all_arraylike.length) return;
-    all_arraylike[7].map(f); i += 2; // bytearray
-    if (i >= all_arraylike.length) return;
-    all_arraylike[9].map(f); i += 2; // object with length
-}
-
-function reset() {
-    all_arrays    = [];
-    all_arraylike = [];
-
-    function newarrays(name)
-    {
-        all_arrays.push(name);
-        all_arrays.push([]);
-        newalikes(name);
-    }
-
-    function newalikes(name)
-    {
-        all_arraylike.push(name);
-        all_arraylike.push([]);
-    }
-
-    function pushlike(a)
-    {
-        var top = all_arraylike[all_arraylike.length - 1];
-        top.push(a);
-        return a;
-    }
-
-    function pusharray(a)
-    {
-        var top = all_arrays[all_arrays.length - 1];
-        top.push(a);
-        return pushlike(a);
-    }
-
-    newarrays("arrays:");
-    azero = pusharray(new Array(0));
-    afive = pusharray(new Array(5));
-    amax0 = pusharray(new Array(uint.MAX_VALUE));
-    amax2 = pusharray(new Array(uint.MAX_VALUE - 2));
-    amax5 = pusharray(new Array(uint.MAX_VALUE - 5));
-
-    if (testing_subclass)
-    {
-        newarrays("subarrays:");
-        ozero = pusharray(new Subarray(0));
-        ofive = pusharray(new Subarray(5));
-        omax0 = pusharray(new Subarray(uint.MAX_VALUE));
-        omax2 = pusharray(new Subarray(uint.MAX_VALUE - 2));
-        omax5 = pusharray(new Subarray(uint.MAX_VALUE - 5));
-    }
-
-    if (testing_vector)
-    {
-        newalikes("vectors:");
-        vzero = pushlike(new Vector.<int>(0));
-        vfive = pushlike(new Vector.<int>(5));
-        // These cause assertion failures in Debug (not necessarily
-        // expected; see Bugzilla 685520) and probably would cause out
-        // of memory failures if uncommented anyway.
-        // vmax0 = pushlike(new Vector.<int>(uint.MAX_VALUE));
-        // vmax2 = pushlike(new Vector.<int>(uint.MAX_VALUE - 2));
-        // vmax5 = pushlike(new Vector.<int>(uint.MAX_VALUE - 5));
-    }
-
-    if (testing_bytearray)
-    {
-        newalikes("bytearrays:");
-        bzero = pushlike(new ByteArray()); bzero.length = 0;
-        bfive = pushlike(new ByteArray()); bfive.length = 5;
-        // These cause system to run out of memory (as expected).
-        //bmax0 = pushlike(new ByteArray()); bmax0.length = uint.MAX_VALUE;
-        //bmax2 = pushlike(new ByteArray()); bmax2.length = uint.MAX_VALUE - 2;
-        //bmax5 = pushlike(new ByteArray()); bmax5.length = uint.MAX_VALUE - 5;
-    }
-
-    if (testing_objwithlength)
-    {
-        newalikes("objects:");
-        ozero = pushlike(new WithLength(0));
-        ofive = pushlike(new WithLength(5));
-        omax0 = pushlike(new WithLength(uint.MAX_VALUE));
-        omax2 = pushlike(new WithLength(uint.MAX_VALUE - 2));
-        omax5 = pushlike(new WithLength(uint.MAX_VALUE - 5));
-    }
-}
-
-function alternating_lengths(arr)
-{
-    var result = [];
-    for (var i=0; i < arr.length; i+=2) {
-        var name = arr[i];
-        var arraylikes = arr[i+1];
-        result.push(name);
-        result = result.concat(arraylikes.map(function (a) {return a.length;}))
-    }
-    return result.toString();
-}
-
-function arrays_len() {
-    return alternating_lengths(all_arrays);
-}
-function alikes_len() {
-    return alternating_lengths(all_arraylike);
-}
-
-function test_arrays(testname, fcn,
-                     expected_array_lengths,
-                     expected_subarray_lengths) {
-    reset();
-    apply_arrays(fcn);
-    var expected =
-        (expected_array_lengths+
-         (testing_subclass ? ","+expected_subarray_lengths : ""));
-    AddTestCase(testname, expected, arrays_len());
-}
-
-function test_arraylikes(testname, fcn,
-                         expected_array_lengths,
-                         expected_subarray_lengths,
-                         expected_vector_lengths,
-                         expected_bytearray_lengths,
-                         expected_objwithlength_lengths) {
-    reset();
-    apply_alikes(fcn);
-    var expected =
-        (expected_array_lengths+
-         (testing_subclass ? ","+expected_subarray_lengths : "")+
-         (testing_vector ? ","+expected_vector_lengths : "")+
-         (testing_bytearray ? ","+expected_bytearray_lengths : "")+
-         (testing_objwithlength ? ","+expected_objwithlength_lengths : ""));
-    AddTestCase(testname, expected, alikes_len());
-}
-
-
-// For ease of comparison in actual tests below, here are lengths of all arrays.
-test_arrays("base line", function (a) { /*no-op*/ },
-            "arrays:,0,5,4294967295,4294967293,4294967290",
-            "subarrays:,0,5,4294967295,4294967293,4294967290");
-
-// Analogously, base line lengths for all the array-likes.
-test_arraylikes("base line", function(a) { /*no-op*/ },
-                "arrays:,0,5,4294967295,4294967293,4294967290",
-                "subarrays:,0,5,4294967295,4294967293,4294967290",
-                "vectors:,0,5",
-                "bytearrays:,0,5",
-                "objects:,0,5,4294967295,4294967293,4294967290");
-
-test_arrays("auto small", function(a) { a[5] = 5; },
-            "arrays:,6,6,4294967295,4294967293,4294967290",
-            "subarrays:,6,6,4294967295,4294967293,4294967290");
-
-test_arrays("auto large", function(a) { a[5] = 5; a[1000] = 1000; },
-            "arrays:,1001,1001,4294967295,4294967293,4294967290",
-            "subarrays:,1001,1001,4294967295,4294967293,4294967290");
-
-test_arrays("length direct 1K", function(a) { a.length = 1000; },
-            "arrays:,1000,1000,1000,1000,1000",
-            "subarrays:,1000,1000,1000,1000,1000");
-
-test_arrays("length indirect 1K", function(a) { a["length"] = 1000 },
-            "arrays:,1000,1000,1000,1000,1000",
-            "subarrays:,1000,1000,1000,1000,1000");
-
-test_arrays("length direct wrap", function(a) { a.length = uint.MAX_VALUE+2; },
-            "arrays:,1,1,1,1,1",
-            "subarrays:,1,1,1,1,1");
-
-test_arrays("length indirect wrap", function(a) { a["length"] = uint.MAX_VALUE+2; },
-            "arrays:,1,1,1,1,1",
-            "subarrays:,1,1,1,1,1");
-
-test_arrays("pub pop arrays", function(a) { a.public::pop(); },
-            "arrays:,0,4,4294967294,4294967292,4294967289",
-            "subarrays:,0,4,4294967294,4294967292,4294967289");
-
-test_arrays("AS3 pop arrays", function(a) { a.AS3::pop(); },
-            "arrays:,0,4,4294967294,4294967292,4294967289",
-            "subarrays:,0,4,4294967294,4294967292,4294967289");
-
-// Need to qualify pop as public::pop so that it will resolve
-// to the generic (and non-bound) pop method.
-test_arraylikes("pub pop alikes",
-                function(a) { Array.prototype.public::pop.call(a); },
-                "arrays:,0,4,4294967294,4294967292,4294967289",
-                "subarrays:,0,4,4294967294,4294967292,4294967289",
-                "vectors:,0,4",
-                "bytearrays:,0,4",
-                "objects:,0,4,4294967294,4294967292,4294967289");
-
-
-
-// uncomment (and remove "false ||") when Bugzilla 681803 fixed
-if (false /*|| System.swfVersion >= 15*/)
-{
-    test_arrays("pub push arrays", function(a) { a.public::push(1,2,3,4,5); },
-                "arrays:,5,10,4294967295,4294967295,4294967295",
-                "subarrays:,5,10,4294967295,4294967295,4294967295");
-}
-else
-{
-    test_arrays("pub push arrays", function(a) { a.public::push(1,2,3,4,5); },
-                "arrays:,5,10,4,2,4294967295",
-                "subarrays:,5,10,4,2,4294967295");
-}
-
-test_arrays("AS3 push arrays", function(a) { a.AS3::push(1,2,3,4,5); },
-            "arrays:,5,10,4294967295,4294967295,4294967295",
-            "subarrays:,5,10,4294967295,4294967295,4294967295");
-
-// uncomment (and remove "false ||") when Bugzilla 681803 fixed
-if (false /*|| System.swfVersion >= 15*/)
-{
-    // Need to qualify pop as public::push so that it will resolve
-    // to the generic (and non-bound) pop method.
-
-    test_arraylikes("pub push alikes",
-                    function(a) { Array.prototype.public::push.call(a,1,2,3,4,5); },
-                    "arrays:,5,10,4294967295,4294967295,4294967295",
-                    "subarrays:,5,10,4294967295,4294967295,4294967295",
-                    "vectors:,5,10",
-                    "bytearrays:,5,10",
-                    "objects:,5,10,4294967295,4294967295,4294967295");
-}
-else
-{
-    test_arraylikes("pub push alikes",
-                    function(a) { Array.prototype.public::push.call(a,1,2,3,4,5); },
-                    "arrays:,5,10,4,2,4294967295",
-                    "subarrays:,5,10,4,2,4294967295",
-                    "vectors:,5,10",
-                    "bytearrays:,5,10",
-                    "objects:,5,10,4,2,4294967295");
-}
-
-
-
-test_arrays("pub shift arrays", function(a) { a.public::shift(); },
-            "arrays:,0,4,4294967294,4294967292,4294967289",
-            "subarrays:,0,4,4294967294,4294967292,4294967289");
-
-test_arrays("AS3 shift arrays", function(a) { a.AS3::shift(); },
-            "arrays:,0,4,4294967294,4294967292,4294967289",
-            "subarrays:,0,4,4294967294,4294967292,4294967289");
-
-test_arraylikes("pub shift alikes",
-                function(a) {
-
-                    // The generic shift takes too long to run (and
-                    // occupies excess amount of memory) for the
-                    // generic object case when the object's .length
-                    // is anywhere near uint.MAX_VALUE.
-                    //
-                    // So we do not bother for the large Object cases.
-
-                    if (a instanceof WithLength && a.length > 5)
-                    {
-                        /* no-op */
-                    }
-                    else
-                    {
-                        Array.prototype.public::shift.call(a);
-                    }
-                },
-                "arrays:,0,4,4294967294,4294967292,4294967289",
-                "subarrays:,0,4,4294967294,4294967292,4294967289",
-                "vectors:,0,4",
-                "bytearrays:,0,4",
-                "objects:,0,4,4294967295,4294967293,4294967290");
-
-
-// uncomment (and remove "false ||") when Bugzilla 685323 fixed
-if (false /*|| System.swfVersion >= 15*/)
-{
-    test_arrays("pub unshift arrays", function(a) { a.public::unshift(1,2,3,4,5); },
-                "arrays:,5,10,4294967295,4294967295,4294967295",
-                "subarrays:,5,10,4294967295,4294967295,4294967295");
-}
-else
-{
-    test_arrays("pub unshift arrays", function(a) { a.public::unshift(1,2,3,4,5); },
-                "arrays:,5,10,4,2,4294967295",
-                "subarrays:,5,10,4,2,4294967295")
-}
-
-// uncomment (and remove "false ||") when Bugzilla 685323 fixed
-if (false /*|| System.swfVersion >= 15*/)
-{
-    test_arrays("AS3 unshift arrays", function(a) { a.AS3::unshift(1,2,3,4,5); },
-                "arrays:,5,10,4294967295,4294967295,4294967295",
-                "subarrays:,5,10,4294967295,4294967295,4294967295")
-}
-else
-{
-    test_arrays("AS3 unshift arrays", function(a) { a.AS3::unshift(1,2,3,4,5); },
-                "arrays:,5,10,4,2,4294967295",
-                "subarrays:,5,10,4,2,4294967295")
-}
-
-test_arraylikes("unshift alikes",
-                function(a) {
-
-                    // Unsurprisingly, the generic unshift takes too
-                    // long to run for the generic object case when
-                    // the object's .length is anywhere near
-                    // uint.MAX_VALUE, making it currently infeasible
-                    // to observe wrap-around via unshift.  So we do
-                    // not bother for the large Object cases.
-
-                    if (a instanceof WithLength && a.length > 5)
-                    {
-                        /* no-op */
-                    }
-                    else if (a is Vector.<int>)
-                    {
-                        // The generic var-args Array unshift expands
-                        // too fast for Vector (which cannot be
-                        // helped).  Unshifting by one element is an
-                        // accomodation for Vector.
-
-                        Array.prototype.public::unshift.call(a,5);
-                        Array.prototype.public::unshift.call(a,4);
-                        Array.prototype.public::unshift.call(a,3);
-                        Array.prototype.public::unshift.call(a,2);
-                        Array.prototype.public::unshift.call(a,1);
-                    }
-                    else
-                    {
-                        Array.prototype.public::unshift.call(a,1,2,3,4,5);
-                    }
-                },
-                // uncomment when Bugzilla 685323 fixed
-                ((false /*|| System.swfVersion >= 15*/)
-                 ? "arrays:,5,10,4294967295,4294967295,4294967295"
-                 : "arrays:,5,10,4,2,4294967295"),
-                ((false /*|| System.swfVersion >= 15*/)
-                 ? "subarrays:,5,10,4294967295,4294967295,4294967295"
-                 : "subarrays:,5,10,4,2,4294967295"),
-                "vectors:,5,10",
-                "bytearrays:,5,10",
-                // See note above.
-                "objects:,5,10,4294967295,4294967293,4294967290")
-
-test();


small optimization for the DisplayUtil.sortDisplayChildren common case

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@546 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/DisplayUtil.as
+++ src/as/com/threerings/flash/DisplayUtil.as
@@ -43,21 +43,29 @@
         container :DisplayObjectContainer, comp :Function = null) :void
     {
         var numChildren :int = container.numChildren;
-        // put all children in an array
-        var children :Array = new Array(numChildren);
+
+        // since it's likely this function will be called frequently on the same
+        // DisplayObjectContainer, keep the Array around so that we're not
+        // re-allocating memory more often than we need to
+        if (_sortDisplayChildrenArray.length != numChildren) {
+            _sortDisplayChildrenArray = new Array(numChildren);
+        }
+
         var ii :int;
         for (ii = 0; ii < numChildren; ii++) {
-            children[ii] = container.getChildAt(ii);
+            _sortDisplayChildrenArray[ii] = container.getChildAt(ii);
         }

         // stable sort the array
-        ArrayUtil.stableSort(children, comp);
+        ArrayUtil.stableSort(_sortDisplayChildrenArray, comp);

         // set their new indexes
         for (ii = 0; ii < numChildren; ii++) {
-            container.setChildIndex(DisplayObject(children[ii]), ii);
-        }
-    }
+            container.setChildIndex(DisplayObject(_sortDisplayChildrenArray[ii]), ii);
+        }
+    }
+
+    private static var _sortDisplayChildrenArray :Array = [];

     /**
      * Call the specified function for the display object and all descendants.


centered 'loading' in Project Panel

centered 'loading' in Project Panel

--- Arguments/src/components/ProjectListPanel.as
+++ Arguments/src/components/ProjectListPanel.as
@@ -70,6 +70,7 @@

 		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
 			super.updateDisplayList(unscaledWidth, unscaledHeight);
+			loadingDisplay.move(this.getExplicitOrMeasuredWidth()/2 - loadingDisplay.getExplicitOrMeasuredWidth()/2, 5);
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1252100 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package spark.automation.delegates.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1252145 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNumericStepperAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNumericStepperAutomationImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1252307 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as
@@ -11,102 +11,117 @@

 package spark.automation.delegates.components.supportClasses
 {
-	import flash.display.DisplayObject;
-	import flash.events.MouseEvent;
-
-	import mx.automation.Automation;
-	import mx.automation.delegates.core.UIComponentAutomationImpl;
-	import mx.core.EventPriority;
-	import mx.core.mx_internal;
-
-	import spark.components.supportClasses.TextBase;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  TextBase control.
-	 *
-	 *  @see spark.components.supportClasses.TextBase
-	 *
-	 */
-	public class SparkTextBaseAutomationImpl extends UIComponentAutomationImpl
-	{
-		include "../../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.supportClasses.TextBase, SparkTextBaseAutomationImpl);
-		}
-
-		/**
-		 *  Constructor.
-		 * @param obj TextBase object to be automated.
-		 */
-		public function SparkTextBaseAutomationImpl(obj:spark.components.supportClasses.TextBase)
-		{
-			super(obj);
-			obj.addEventListener(MouseEvent.CLICK, clickHandler, false, EventPriority.DEFAULT+1, true);
-		}
-
-		/**
-		 *  @private
-		 *  storage for the owner component
-		 */
-		protected function get textBase():spark.components.supportClasses.TextBase
-		{
-			return uiComponent as spark.components.supportClasses.TextBase;
-		}
-
-
-
-		//----------------------------------
-		//  automationName
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationName():String
-		{
-			return textBase.text || super.automationName;
-		}
-
-		//----------------------------------
-		//  automationValue
-		//----------------------------------
-
-		/**
-		 *  @private
-		 */
-		override public function get automationValue():Array
-		{
-			return [ automationName ];
-		}
-
-		/**
-		 *  @private
-		 */
-		protected function clickHandler(event:MouseEvent):void
-		{
-			recordAutomatableEvent(event);
-		}
-
-
-
-	}
-
+    import flash.display.DisplayObject;
+    import flash.events.MouseEvent;
+
+    import mx.automation.Automation;
+    import mx.automation.delegates.core.UIComponentAutomationImpl;
+    import mx.core.EventPriority;
+    import mx.core.mx_internal;
+
+    import spark.components.supportClasses.TextBase;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  TextBase control.
+     *
+     *  @see spark.components.supportClasses.TextBase
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     *
+     */
+    public class SparkTextBaseAutomationImpl extends UIComponentAutomationImpl
+    {
+        include "../../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.supportClasses.TextBase, SparkTextBaseAutomationImpl);
+        }
+
+        /**
+         *  Constructor.
+         * @param obj TextBase object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkTextBaseAutomationImpl(obj:spark.components.supportClasses.TextBase)
+        {
+            super(obj);
+            obj.addEventListener(MouseEvent.CLICK, clickHandler, false, EventPriority.DEFAULT+1, true);
+        }
+
+        /**
+         *  @private
+         *  storage for the owner component
+         */
+        protected function get textBase():spark.components.supportClasses.TextBase
+        {
+            return uiComponent as spark.components.supportClasses.TextBase;
+        }
+
+
+
+        //----------------------------------
+        //  automationName
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationName():String
+        {
+            return textBase.text || super.automationName;
+        }
+
+        //----------------------------------
+        //  automationValue
+        //----------------------------------
+
+        /**
+         *  @private
+         */
+        override public function get automationValue():Array
+        {
+            return [ automationName ];
+        }
+
+        /**
+         *  @private
+         */
+        protected function clickHandler(event:MouseEvent):void
+        {
+            recordAutomatableEvent(event);
+        }
+
+
+
+    }
+
 }


corrected header

corrected header

git-svn-id: 27326a786375daad9d33dc990c6f272e4c8f567c@1695 fda5f131-174c-0410-8613-e0905860106b

--- org.openwms/trunk/org.openwms.core/org.openwms.core.domain.as/src/main/flex/org/openwms/core/domain/system/PreferenceType.as
+++ org.openwms/trunk/org.openwms.core/org.openwms.core.domain.as/src/main/flex/org/openwms/core/domain/system/PreferenceType.as
@@ -23,15 +23,12 @@
     import org.granite.util.Enum;

     [Bindable]
-    [RemoteClass(alias = "org.openwms.core.domain.system.PreferenceType")]
+    [RemoteClass(alias="org.openwms.core.domain.system.PreferenceType")]
     public class PreferenceType extends Enum {

         public static const FLOAT : PreferenceType = new PreferenceType("FLOAT", _);
-
         public static const STRING : PreferenceType = new PreferenceType("STRING", _);
-
         public static const INT : PreferenceType = new PreferenceType("INT", _);
-
         public static const OBJECT : PreferenceType = new PreferenceType("OBJECT", _);

         function PreferenceType(value : String=null, restrictor : *=null) {
@@ -50,4 +47,4 @@
             return PreferenceType(FLOAT.constantOf(name));
         }
     }
-}
+}


把另一处 callback 也改成其他名字

把另一处 callback 也改成其他名字

--- as3/com/netease/protobuf/SimpleWebRPC.as
+++ as3/com/netease/protobuf/SimpleWebRPC.as
@@ -19,7 +19,7 @@
 		private static const REF:Dictionary = new Dictionary();
 		public function send(qualifiedMethodName:String,
 							 input:IExternalizable,
-							 callback:Function,
+							 rpcResult:Function,
 							 outputType:Class):void {

 			const loader:URLLoader = new URLLoader
@@ -29,11 +29,11 @@
 				delete REF[loader]
 				const output:IExternalizable = new outputType
 				output.readExternal(loader.data)
-				callback(output)
+				rpcResult(output)
 			})
 			function errorEventHandler(event:Event):void {
 				delete REF[loader]
-				callback(event)
+				rpcResult(event)
 			}
 			loader.addEventListener(IOErrorEvent.IO_ERROR, errorEventHandler)
 			loader.addEventListener(


Transferred from the Adobe Open Source Subversion Repository

Revision: 6957
Author:   jimurphy@adobe.com
Date:     2009-05-15T16:11:59.737851Z

Log Message:
-----------
Merged beta1 revisions 6898,6906,6913,6915,6917,6926,6930 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ImageHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flash-integration/FlexComponentKit.mxp</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ShapeHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/filters/GlowFilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/FlexComponentKit.mxi</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/TypeHelper.java</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1269337 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -1449,7 +1449,7 @@
     {
         // If this Container has a vertical scrollbar,
         // then handle the event and prevent further bubbling.
-        if (verticalScrollBar && verticalScrollBar.visible)
+        if (verticalScrollBar && verticalScrollBar.visible && !event.isDefaultPrevented())
         {
             event.stopPropagation();


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1279182 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -1504,7 +1504,7 @@
         {
             keepLayeringEnabled = true;
             //topLayerItems.sortOn("layer",Array.NUMERIC);
-            GroupBase.mx_internal::sortOnLayer(topLayerItems);
+            GroupBase.sortOnLayer(topLayerItems);
             len = topLayerItems.length;
             for (i=0;i<len;i++)
             {
@@ -1519,7 +1519,7 @@
             insertIndex = 0;

             //bottomLayerItems.sortOn("layer",Array.NUMERIC);
-            GroupBase.mx_internal::sortOnLayer(bottomLayerItems);
+            GroupBase.sortOnLayer(bottomLayerItems);
             len = bottomLayerItems.length;

             for (i=0;i<len;i++)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5573
Author:   jimurphy@adobe.com
Date:     2009-03-26T15:11:59.159776Z

Log Message:
-----------
-more updated package and class names that were missed in the first pass
-remove the mx folder

qa: probably
doc: this updated more asdoc comments so you may want to make sure that this pass made the correct updates
checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1279159 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -44,27 +44,27 @@
  *  Dispatched when a visual element is added to the content holder.
  *  event.element is the visual element that was added.
  *
- *  @eventType mx.events.ElementExistenceEvent.ELEMENT_ADD
+ *  @eventType spark.events.ElementExistenceEvent.ELEMENT_ADD
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="elementAdd", type="mx.events.ElementExistenceEvent")]
+[Event(name="elementAdd", type="spark.events.ElementExistenceEvent")]

 /**
  *  Dispatched when a visual element is removed to the content holder.
  *  event.element is the visual element that's being removed.
  *
- *  @eventType mx.events.ElementExistenceEvent.ELEMENT_REMOVE
+ *  @eventType spark.events.ElementExistenceEvent.ELEMENT_REMOVE
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="elementRemove", type="mx.events.ElementExistenceEvent")]
+[Event(name="elementRemove", type="spark.events.ElementExistenceEvent")]

 //--------------------------------------
 //  Excluded APIs
@@ -91,7 +91,7 @@
 /**
  *  The Group class is the base container class for visual elements.
  *
- *  @see mx.components.DataGroup
+ *  @see spark.components.DataGroup
  *
  *  @includeExample examples/GroupExample.mxml
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1258378 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/FrameworkClasses.as
+++ frameworks/projects/framework/src/FrameworkClasses.as
@@ -0,0 +1,147 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into framework.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ *  For example, Button does not have a reference to ButtonSkin,
+ *  but ButtonSkin needs to be in framework.swc along with Button.
+ */
+internal class FrameworkClasses
+{
+	import mx.binding.ArrayElementWatcher; ArrayElementWatcher;
+	import mx.binding.BindabilityInfo; BindabilityInfo;
+	import mx.binding.EvalBindingResponder; EvalBindingResponder;
+	import mx.binding.FunctionReturnWatcher; FunctionReturnWatcher;
+	import mx.binding.IBindingClient; IBindingClient;
+	import mx.binding.IWatcherSetupUtil; IWatcherSetupUtil;
+	import mx.binding.PropertyWatcher; PropertyWatcher;
+	import mx.binding.RepeatableBinding; RepeatableBinding;
+	import mx.binding.RepeaterComponentWatcher; RepeaterComponentWatcher;
+	import mx.binding.RepeaterItemWatcher; RepeaterItemWatcher;
+	import mx.binding.StaticPropertyWatcher; StaticPropertyWatcher;
+	import mx.binding.XMLWatcher; XMLWatcher;
+	import mx.binding.utils.BindingUtils; BindingUtils;
+	import mx.binding.utils.ChangeWatcher; ChangeWatcher;
+	import mx.controls.Alert; Alert;
+	import mx.controls.videoClasses.CuePointManager; CuePointManager;
+	import mx.core.BitmapAsset; BitmapAsset;
+	import mx.core.ButtonAsset; ButtonAsset;
+	import mx.core.ByteArrayAsset; ByteArrayAsset;
+	import mx.core.ClassFactory; ClassFactory;
+	import mx.core.CrossDomainRSLItem; CrossDomainRSLItem;
+	import mx.core.DeferredInstanceFromClass; DeferredInstanceFromClass;
+	import mx.core.DeferredInstanceFromFunction; DeferredInstanceFromFunction;
+	import mx.core.FlexLoader; FlexLoader;
+	import mx.core.FontAsset; FontAsset;
+	import mx.core.IDeferredInstance; IDeferredInstance;
+	import mx.core.IUID;
+	import mx.core.MovieClipAsset; MovieClipAsset;
+	import mx.core.MovieClipLoaderAsset; MovieClipLoaderAsset;
+	import mx.core.MXMLObjectAdapter; MXMLObjectAdapter;
+	import mx.core.SimpleApplication; SimpleApplication;
+	import mx.core.SoundAsset; SoundAsset;
+	import mx.core.TextFieldAsset; TextFieldAsset;
+	import mx.effects.easing.Back; Back;
+	import mx.effects.easing.Bounce; Bounce;
+	import mx.effects.easing.Circular; Circular;
+	import mx.effects.easing.Cubic; Cubic;
+	import mx.effects.easing.Elastic; Elastic;
+	import mx.effects.easing.Exponential; Exponential;
+	import mx.effects.easing.Linear; Linear;
+	import mx.effects.easing.Quadratic; Quadratic;
+	import mx.effects.easing.Quartic; Quartic;
+	import mx.effects.easing.Quintic; Quintic;
+	import mx.effects.easing.Sine; Sine;
+	import mx.events.ModuleEvent; ModuleEvent;
+	import mx.graphics.ImageSnapshot; ImageSnapshot;
+	import mx.graphics.codec.PNGEncoder; PNGEncoder;
+	import mx.graphics.codec.JPEGEncoder; JPEGEncoder;
+	import mx.logging.ILogger; ILogger;
+	import mx.logging.Log; Log;
+	import mx.logging.targets.TraceTarget; TraceTarget;
+	import mx.managers.DragManager; DragManager;
+	import mx.modules.IModuleInfo; IModuleInfo;
+	import mx.modules.Module; Module;
+	import mx.modules.ModuleBase; ModuleBase;
+	import mx.modules.ModuleLoader; ModuleLoader;
+	import mx.modules.ModuleManager; ModuleManager;
+	import mx.preloaders.DownloadProgressBar; DownloadProgressBar;
+	import mx.printing.FlexPrintJob; FlexPrintJob;
+	import mx.resources.Locale; Locale;
+	import mx.rpc.IResponder; IResponder;
+	import mx.skins.Border; Border;
+	import mx.skins.halo.AccordionHeaderSkin; AccordionHeaderSkin;
+	import mx.skins.halo.ActivatorSkin; ActivatorSkin;
+	import mx.skins.halo.ApplicationBackground; ApplicationBackground;
+	import mx.skins.halo.BrokenImageBorderSkin; BrokenImageBorderSkin;
+	import mx.skins.halo.BusyCursor; BusyCursor;
+	import mx.skins.halo.ButtonBarButtonSkin; ButtonBarButtonSkin;
+	import mx.skins.halo.ButtonSkin; ButtonSkin;
+	import mx.skins.halo.CheckBoxIcon; CheckBoxIcon;
+	import mx.skins.halo.ColorPickerSkin; ColorPickerSkin;
+	import mx.skins.halo.ComboBoxArrowSkin; ComboBoxArrowSkin;
+	import mx.skins.halo.DataGridColumnResizeSkin; DataGridColumnResizeSkin;
+	import mx.skins.halo.DataGridHeaderBackgroundSkin; DataGridHeaderBackgroundSkin;
+	import mx.skins.halo.DataGridHeaderSeparator; DataGridHeaderSeparator;
+	import mx.skins.halo.DataGridSortArrow; DataGridSortArrow;
+	import mx.skins.halo.DateChooserIndicator; DateChooserIndicator;
+	import mx.skins.halo.DateChooserMonthArrowSkin; DateChooserMonthArrowSkin;
+	import mx.skins.halo.DateChooserYearArrowSkin; DateChooserYearArrowSkin;
+	import mx.skins.halo.DefaultDragImage; DefaultDragImage;
+	import mx.skins.halo.HaloBorder; HaloBorder;
+	import mx.skins.halo.HaloColors; HaloColors;
+	import mx.skins.halo.HaloFocusRect; HaloFocusRect;
+	import mx.skins.halo.SliderHighlightSkin; SliderHighlightSkin;
+	import mx.skins.halo.SliderThumbSkin; SliderThumbSkin;
+	import mx.skins.halo.SliderTrackSkin; SliderTrackSkin;
+	import mx.skins.halo.LinkButtonSkin; LinkButtonSkin;
+	import mx.skins.halo.LinkSeparator; LinkSeparator;
+	import mx.skins.halo.ListDropIndicator; ListDropIndicator;
+	import mx.skins.halo.MenuBarBackgroundSkin; MenuBarBackgroundSkin;
+	import mx.skins.halo.NumericStepperDownSkin; NumericStepperDownSkin;
+	import mx.skins.halo.NumericStepperUpSkin; NumericStepperUpSkin;
+	import mx.skins.halo.PanelSkin; PanelSkin;
+	import mx.skins.halo.PopUpButtonSkin; PopUpButtonSkin;
+	import mx.skins.halo.PopUpIcon; PopUpIcon;
+	import mx.skins.halo.PopUpMenuIcon; PopUpMenuIcon;
+	import mx.skins.halo.ProgressBarSkin; ProgressBarSkin;
+	import mx.skins.halo.ProgressIndeterminateSkin; ProgressIndeterminateSkin;
+	import mx.skins.halo.ProgressMaskSkin; ProgressMaskSkin;
+	import mx.skins.halo.ProgressTrackSkin; ProgressTrackSkin;
+	import mx.skins.halo.RadioButtonIcon; RadioButtonIcon;
+	import mx.skins.halo.ScrollArrowSkin; ScrollArrowSkin;
+	import mx.skins.halo.ScrollThumbSkin; ScrollThumbSkin;
+	import mx.skins.halo.ScrollTrackSkin; ScrollTrackSkin;
+	import mx.skins.halo.TabSkin; TabSkin;
+	import mx.skins.halo.TitleBackground; TitleBackground;
+	import mx.skins.halo.ToolTipBorder; ToolTipBorder;
+	import mx.skins.ProgrammaticSkin; ProgrammaticSkin;
+	import mx.skins.RectangularBorder; RectangularBorder;
+	import mx.styles.IStyleModule; IStyleModule;
+	import mx.utils.ArrayUtil; ArrayUtil;
+	import mx.utils.DescribeTypeCache; DescribeTypeCache;
+	import mx.utils.DescribeTypeCacheRecord; DescribeTypeCacheRecord;
+	import mx.utils.DisplayUtil; DisplayUtil;
+	import mx.utils.XMLUtil; XMLUtil;
+	import mx.utils.Base64Decoder; Base64Decoder;
+	import mx.utils.Base64Encoder; Base64Encoder;
+	import mx.validators.Validator; Validator;
+	// Maintain alphabetical order
+}
+
+}
+


Transferred from the Adobe Open Source Subversion Repository

Revision: 11521
Author:   smgilson@adobe.com
Date:     2009-11-06T19:47:48.095501Z

Log Message:
-----------
ASDoc fixes for bugs FLEXDOCS-1102, FLEXDOCS-1103

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-1102, FLEXDOCS-1103
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1267534 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/containers/Accordion.as
+++ frameworks/projects/mx/src/mx/containers/Accordion.as
@@ -235,21 +235,23 @@
 [DefaultTriggerEvent("change")]

 /**
- *  A Halo Accordion navigator container has a collection of child Halo containers,
- *  but only one of them at a time is visible.
+ *  An MX Accordion navigator container has a collection of child MX containers
+ *  or Spark NavigatorContent containers, but only one of them at a time is visible.
  *  It creates and manages navigator buttons (accordion headers), which you use
  *  to navigate between the children.
- *  There is one navigator button associated with each child Halo container,
+ *  There is one navigator button associated with each child container,
  *  and each navigator button belongs to the Accordion container, not to the child.
  *  When the user clicks a navigator button, the associated child container
  *  is displayed.
  *  The transition to the new child uses an animation to make it clear to
  *  the user that one child is disappearing and a different one is appearing.
  *
- *
Note: The direct children of a Halo navigator container must be
- *  Halo containers, either Halo layout or Halo navigator containers.
- *  You cannot directly nest a control or a Spark container within a navigator;
- *  they must be children of a child Halo container.

+ *
Note: The direct children of an MX navigator container must be
+ *  MX containers, either MX layout or MX navigator containers,
+ *  or the Spark NavigatorContent container.
+ *  You cannot directly nest a control or a Spark container
+ *  other than the Spark NavigatorContent container within a navigator;
+ *  they must be children of an child MX container.

  *
  *
The Accordion container does not extend the ViewStack container,
  *  but it implements all the properties, methods, styles, and events