[Tests] Updated unit tests

[Tests] Updated unit tests

--- frameworks/projects/Core/src/test/flex/flexUnitTests/BinaryDataTesterTest.as
+++ frameworks/projects/Core/src/test/flex/flexUnitTests/BinaryDataTesterTest.as
@@ -43,68 +43,101 @@
         }

-        [Test]
-        public function testBasicPositionAndLength():void {
+        //util check functions
+        private static function bytesMatchExpectedData(bd:BinaryData,expected:Array,offset:int=0):Boolean{
+            var len:uint = expected.length;
+            var end:uint=offset+len;
+            for (var i:int=offset;i<end;i++) {
+                var check:uint = bd.readByteAt(i);
+                if (expected[i-offset]!=check) {
+                    // trace('failed at ',i,expected[i-offset],check);
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        private static function reversedBytesMatch(bd1:BinaryData,bd2:BinaryData,len:uint,offset:int=0):Boolean{
+            var end:uint=offset+len;
+            for (var i:int=offset;i<end;i++) {
+                if (bd1.readByteAt(i) != bd2.readByteAt(end-1-i)) return false;
+            }
+            return true;
+
+        }
+
+
+        [Test]
+        public function testBasicPositionAndLength():void
+        {
             var ba:BinaryData = new BinaryData();

             Assert.assertEquals("new Instance, position", ba.position, 0);
             Assert.assertEquals("new Instance, length", ba.length, 0);

-            ba.position = 100;
-            Assert.assertEquals("position change, position", ba.position, 100);
+            ba.position=100;
+            Assert.assertEquals("position change, position", ba.position,100);
             Assert.assertEquals("position change, length", ba.length, 0);
-
-            ba.length = 100;
-            Assert.assertEquals("length change, position", ba.position, 100);
+            Assert.assertEquals("position change, length", ba.bytesAvailable, 0);
+
+            ba.length=100;
+            Assert.assertEquals("length change, position", ba.position,100);
             Assert.assertEquals("length change, length", ba.length, 100);

-            ba.length = 50;
-            Assert.assertEquals("length change, position", ba.position, 50);
+            ba.length=50;
+            Assert.assertEquals("length change, position", ba.position,50);
             Assert.assertEquals("length change, length", ba.length, 50);
-        }
-
-        [Test]
-        public function testAdvancedPositionAndLength():void {
-            var ba:BinaryData = new BinaryData();
-
-            ba.position = 100;
-            ba.length = 100;
-
-            ba.writeByteAt(49, 255);
-            Assert.assertEquals("writeByteAt does not affect position", ba.position, 100);
-            Assert.assertEquals("writeByteAt (internal) does not affect length", ba.length, 100);
+
+
+        }
+
+        [Test]
+        public function testAdvancedPositionAndLength():void
+        {
+            var ba:BinaryData = new BinaryData();
+
+            ba.position=100;
+            ba.length=100;
+
+            ba.writeByteAt(49,255);
+            Assert.assertEquals("writeByteAt does not affect position", ba.position,100);
+            Assert.assertEquals("writeByteAt (internal) does not affect length", ba.length,100);

             ba.readByteAt(48);
-            Assert.assertEquals("readByteAt does not affect position", ba.position, 100);
-            Assert.assertEquals("readByteAt does not affect length", ba.length, 100);
-
-            ba.writeByteAt(199, 255);
-            Assert.assertEquals("writeByteAt (beyond length) does affect length", ba.length, 200);
-            Assert.assertEquals("writeByteAt (beyond length) does not affect position", ba.position, 100);
-
-        }
-
-
-        [Test]
-        public function testUTFWritePosition():void {
+            Assert.assertEquals("readByteAt does not affect position", ba.position,100);
+            Assert.assertEquals("readByteAt does not affect length", ba.length,100);
+
+            ba.writeByteAt(199,255);
+            Assert.assertEquals("writeByteAt (beyond length) does affect length", ba.length,200);
+            Assert.assertEquals("writeByteAt (beyond length) does not affect position", ba.position,100);
+
+            Assert.assertStrictlyEquals("out of range byte read request",ba.readByteAt(205),0);
+
+        }
+
+
+        [Test]
+        public function testUTFWritePosition():void
+        {
             var ba:BinaryData = new BinaryData();
             ba.writeUTF('This is a test');
             //writeUTF
             Assert.assertEquals("basic post-writeUTF position", ba.position, 16);
-            ba = new BinaryData();
+            ba=new BinaryData();
             ba.writeUTFBytes('This is a test');
             //writeUTFBytes
             Assert.assertEquals("basic post-writeUTFBytes position", ba.position, 14);

             //overlapping
-            ba.position = 5;
+            ba.position=5;
             ba.writeUTFBytes('This is a test');
             Assert.assertEquals("Advanced post-writeUTFBytes position (overlap)", ba.position, 19);

         }

         [Test]
-        public function testBooleanRoundTripping():void {
+        public function testBooleanRoundTripping():void
+        {
             var ba:BinaryData = new BinaryData();
             ba.writeBoolean(true);
             ba.writeBoolean(false);
@@ -114,195 +147,419 @@
         }

         [Test]
-        public function testByteRoundTripping():void {
+        public function testByteRoundTripping():void
+        {
             var ba:BinaryData = new BinaryData();
             ba.writeByte(255);
+            ba.writeByte(256);
+            ba.writeByte(-256);
             ba.writeByte(-257);
+            ba.writeByte(-128);
+            ba.writeByte(128);
+            ba.writeByte(127);
             ba.writeByte(-50);
             ba.writeByte(50);
             ba.position = 0;

-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readByte(), -1);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readByte(), -1);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readByte(), -50);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readByte(), 50);
-        }
-
-
-        [Test]
-        public function testUnsignedByteRoundTripping():void {
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), -1);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), 0);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), 0);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), -1);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), -128);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), -128);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), 127);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), -50);
+            Assert.assertEquals("Error testing post writeByte/readByte round-tripping", ba.readByte(), 50);
+        }
+
+
+        [Test]
+        public function testUnsignedByteRoundTripping():void
+        {
             var ba:BinaryData = new BinaryData();
             ba.writeByte(255);
+            ba.writeByte(256);
+            ba.writeByte(-256);
             ba.writeByte(-257);
+            ba.writeByte(-128);
+            ba.writeByte(128);
+            ba.writeByte(127);
             ba.writeByte(-50);
             ba.writeByte(50);
             ba.position = 0;
             //check read values
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readUnsignedByte(), 255);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readUnsignedByte(), 255);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readUnsignedByte(), 206);
-            Assert.assertEquals("Error testing post writeByte/readByte roundtripping", ba.readUnsignedByte(), 50);
-        }
-
-
-        [Test]
-        public function testBasicEndian():void {
-            var defaultEndian:String = Endian.defaultEndian;
-            //check we have a decisive default
-            Assert.assertTrue(defaultEndian != null && defaultEndian != Endian.UNKNOWN_ENDIAN);
+
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 255);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 0);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 0);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 255);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 128);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 128);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 127);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 206);
+            Assert.assertEquals("Error testing post writeByte/readUnsignedByte round-tripping", ba.readUnsignedByte(), 50);
+        }
+
+
+        [Test]
+        public function testBasicEndian():void
+        {
+
+            var systemEndian:String = Endian.systemEndian;
+            //check we have a decisive systemEndian detection
+            Assert.assertNotNull(systemEndian );
+
+
+            var ba:BinaryData = new BinaryData();
+            var defaultEndian:String = ba.endian;
+
             var alternateEndian:String = (defaultEndian == Endian.BIG_ENDIAN) ? Endian.LITTLE_ENDIAN : Endian.BIG_ENDIAN;
-
-            var ba:BinaryData = new BinaryData();
-            var expected:Object = {};
-            expected[Endian.BIG_ENDIAN] = 1718379896;
-            expected[Endian.LITTLE_ENDIAN] = 2019912806;
-            var bytes:Array = [102, 108, 101, 120];
+            var expected:Object ={};
+            expected[Endian.BIG_ENDIAN] = 218038271;
+            expected[Endian.LITTLE_ENDIAN] = 4294966796;
+            var bytes:Array = [12, 254, 255, 255];
             for each(var byte:uint in bytes) ba.writeByte(byte);
             ba.position = 0;

-            Assert.assertEquals("testing endian:" + defaultEndian, ba.readUnsignedInt(), expected[defaultEndian]);
+            Assert.assertEquals("testing endian:"+defaultEndian, ba.readUnsignedInt(), expected[defaultEndian]);

             ba.position = 0;
             ba.endian = alternateEndian;
-            Assert.assertEquals("testing endian:" + alternateEndian, ba.readUnsignedInt(), expected[alternateEndian]);
-        }
-
-        [Test]
-        public function testShortRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
+            var result:uint =  ba.readUnsignedInt();
+
+            Assert.assertEquals("testing endian:"+alternateEndian, result, expected[alternateEndian]);
+
+            ba.position = 0;
+            ba.endian = defaultEndian;
+            Assert.assertEquals("testing endian:"+defaultEndian, ba.readInt(), int(expected[defaultEndian]));
+
+            ba.position = 0;
+            ba.endian = alternateEndian;
+            Assert.assertEquals("testing endian:"+alternateEndian, ba.readInt(), int(expected[alternateEndian]));
+
+            var leBA:BinaryData = new BinaryData();
+            leBA.endian = Endian.LITTLE_ENDIAN;
+            var beBA:BinaryData = new BinaryData();
+            beBA.endian = Endian.BIG_ENDIAN;
+            //int writing
+            beBA.writeInt(-500);
+            leBA.writeInt(-500);
+            //check they represent reversed byte sequence
+            Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
+            beBA.position=0;
+            leBA.position=0;
+            //check they each read back to the same uint value
+            Assert.assertEquals('big endian',beBA.readUnsignedInt(),4294966796);
+            Assert.assertEquals('little endian',leBA.readUnsignedInt(),4294966796);
+
+            beBA.position=0;
+            leBA.position=0;
+            //uint writing
+            beBA.writeUnsignedInt(4294966796);
+            leBA.writeUnsignedInt(4294966796);
+            //check they represent reversed byte sequence
+            Assert.assertTrue(reversedBytesMatch(beBA,leBA,4));
+            beBA.position=0;
+            leBA.position=0;
+            //check they each read back to the same uint value
+            Assert.assertEquals('big endian',beBA.readUnsignedInt(),4294966796);
+            Assert.assertEquals('little endian',leBA.readUnsignedInt(),4294966796);
+
+
+            beBA.position=0;
+            leBA.position=0;
+
+            //check they each read back to the same int value
+            Assert.assertEquals('big endian',beBA.readInt(),-500);
+            Assert.assertEquals('little endian',leBA.readInt(),-500);
+
+
+            beBA.position=0;
+            leBA.position=0;
+
+            //short writing
+            beBA.writeShort(-500);
+            leBA.writeShort(-500);
+            //check they represent reversed byte sequence
+            Assert.assertTrue(reversedBytesMatch(beBA,leBA,2));
+            beBA.position=0;
+            leBA.position=0;
+            //check they each read back to the same uint value
+            Assert.assertEquals('big endian',beBA.readUnsignedShort(),65036);
+            Assert.assertEquals('little endian',leBA.readUnsignedShort(),65036);
+
+
+            beBA.position=0;
+            leBA.position=0;
+
+            //check they each read back to the same int value
+            Assert.assertEquals('big endian',beBA.readShort(),-500);
+            Assert.assertEquals('little endian',leBA.readShort(),-500);
+
+        }
+
+
+        [Test]
+        public function testUTFRoundtripping():void
+        {
+
+            //test big-endian round-tripping
+            var ba:BinaryData = new BinaryData();
+            ba.endian = Endian.BIG_ENDIAN;
+            ba.writeUTF('This is a test');
+            //writeUTF
+            Assert.assertEquals("basic post-writeUTF position", ba.position, 16);
+            ba.position = 0;
+            Assert.assertEquals("utf big endian round-tripping", ba.readUTF(), 'This is a test');
+
+            ba = new BinaryData();
+            //test little-endian round-tripping
+            ba.endian = Endian.LITTLE_ENDIAN;
+            ba.writeUTF('This is a test');
+            //writeUTF
+            Assert.assertEquals("basic post-writeUTF position", ba.position, 16);
+            ba.position = 0;
+            Assert.assertEquals("utf big endian round-tripping", ba.readUTF(), 'This is a test');
+
+        }
+
+
+        [Test]
+        public function testShortRoundTripping():void
+        {
+            var ba:BinaryData = new BinaryData();
+            //test LITTLE_ENDIAN round-tripping
+            ba.endian = Endian.LITTLE_ENDIAN;
             ba.writeShort(255);
             ba.writeShort(-50);
             ba.writeShort(50);
             ba.position = 0;

-            Assert.assertEquals("Error testing post writeShort/readShort roundtripping", ba.length, 6);
-            Assert.assertEquals("Error testing post writeShort/readShort roundtripping", ba.readShort(), 255);
-            Assert.assertEquals("Error testing post writeShort/readShort roundtripping", ba.readShort(), -50);
-            Assert.assertEquals("Error testing post writeShort/readShort roundtripping", ba.readShort(), 50);
-        }
-
-
-        [Test]
-        public function testcShortRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.length, 6);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), 255);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), -50);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), 50);
+
+            //test BIG_ENDIAN round-tripping
+
+            ba.position = 0;
+            ba.endian = Endian.BIG_ENDIAN ;
             ba.writeShort(255);
             ba.writeShort(-50);
             ba.writeShort(50);
             ba.position = 0;

-            Assert.assertEquals("Error testing post unsigned writeShort/readShort roundtripping", ba.length, 6);
-            Assert.assertEquals("Error testing post unsigned writeShort/readShort roundtripping", ba.readUnsignedShort(), 255);
-            Assert.assertEquals("Error testing post unsigned writeShort/readShort roundtripping", ba.readUnsignedShort(), 65486);
-            Assert.assertEquals("Error testing post unsigned writeShort/readShort roundtripping", ba.readUnsignedShort(), 50);
-        }
-
-        [Test]
-        public function testIntRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.length, 6);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), 255);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), -50);
+            Assert.assertEquals("Error testing post writeShort/readShort round-tripping", ba.readShort(), 50);
+        }
+
+
+        [Test]
+        public function testUnsignedShortRoundTripping():void
+        {
+            var ba:BinaryData = new BinaryData();
+            //test LITTLE_ENDIAN round-tripping
+            ba.endian = Endian.LITTLE_ENDIAN;
+            ba.writeShort(255);
+            ba.writeShort(-50);
+            ba.writeShort(50);
+            ba.position = 0;
+
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.length, 6);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 255);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 65486);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 50);
+
+            //test BIG_ENDIAN round-tripping
+
+            ba.position = 0;
+            ba.endian = Endian.BIG_ENDIAN ;
+            ba.writeShort(255);
+            ba.writeShort(-50);
+            ba.writeShort(50);
+            ba.position = 0;
+
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.length, 6);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 255);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 65486);
+            Assert.assertEquals("Error testing post unsigned writeShort/readShort round-tripping", ba.readUnsignedShort(), 50);
+        }
+
+        [Test]
+        public function testIntRoundTripping():void
+        {
+            var ba:BinaryData = new BinaryData();
+            //test LITTLE_ENDIAN round-tripping
+            ba.endian = Endian.LITTLE_ENDIAN;
             ba.writeInt(65536);
             ba.writeInt(-50);
             ba.writeInt(50);
             ba.position = 0;

-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.length, 12);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readInt(), 65536);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readInt(), -50);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readInt(), 50);
-        }
-
-
-        [Test]
-        public function testUnsignedIntRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.length, 12);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), 65536);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), -50);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), 50);
+
+            //test BIG_ENDIAN round-tripping
+
+            ba.position = 0;
+            ba.endian = Endian.BIG_ENDIAN ;
+            ba.writeInt(65536);
+            ba.writeInt(-50);
+            ba.writeInt(50);
+            ba.position = 0;
+
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.length, 12);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), 65536);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), -50);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readInt(), 50);
+        }
+
+
+        [Test]
+        public function testUnsignedIntRoundTripping():void
+        {
+            var ba:BinaryData = new BinaryData();
+            //test LITTLE_ENDIAN round-tripping
+            ba.endian = Endian.LITTLE_ENDIAN;
             ba.writeUnsignedInt(65536);
             ba.writeUnsignedInt(-50);
             ba.writeUnsignedInt(50);
             ba.position = 0;

-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.length, 12);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readUnsignedInt(), 65536);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readUnsignedInt(), 4294967246);
-            Assert.assertEquals("Error testing post writeInt/readInt roundtripping", ba.readUnsignedInt(), 50);
-        }
-
-        [Test]
-        public function testFloatRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
-
-            ba.writeFloat(86.54);
-            ba.writeFloat(-50.5);
-            ba.writeFloat(0);
-            ba.position = 0;
-
-            Assert.assertEquals("Error testing post writeFloat/readFloat roundtripping", ba.length, 12);
-
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.length, 12);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(),65536);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(), 4294967246);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(), 50);
+
+            //test BIG_ENDIAN round-tripping
+
+            ba.position = 0;
+            ba.endian = Endian.BIG_ENDIAN ;
+            ba.writeUnsignedInt(65536);
+            ba.writeUnsignedInt(-50);
+            ba.writeUnsignedInt(50);
+            ba.position = 0;
+
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.length, 12);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(),65536);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(), 4294967246);
+            Assert.assertEquals("Error testing post writeInt/readInt round-tripping", ba.readUnsignedInt(), 50);
+        }
+
+        [Test]
+        public function testFloatRoundTripping():void
+        {
+            var ble:BinaryData = new BinaryData();
+            //test LITTLE_ENDIAN round-tripping
+            ble.endian = Endian.LITTLE_ENDIAN;
+            ble.writeFloat(86.54);
+
+
+            Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", ble.length, 4);
+            Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", ble.position, 4);
             //check bytes to account for precision loss between double and float comparisons
-            var expected:Array = [66, 173, 20, 123];
-            if (ba.endian == Endian.LITTLE_ENDIAN) expected = expected.reverse();
-
-            for (var i:int = 0; i < 4; i++) {
-                Assert.assertEquals("Error testing post writeFloat/readFloat roundtripping", ba.readUnsignedByte(), expected[i]);
-            }
-
-
-            Assert.assertEquals("Error testing post writeFloat/readFloat roundtripping", ba.readFloat(), -50.5);
-            Assert.assertEquals("Error testing post writeFloat/readFloat roundtripping", ba.readFloat(), 0);
-        }
-
-
-        [Test]
-        public function testDoubleRoundTripping():void {
-            var ba:BinaryData = new BinaryData();
-            ba.writeDouble(86.54);
-            ba.writeDouble(-50.5);
-            ba.writeDouble(0);
-            ba.position = 0;
-
-            Assert.assertEquals("Error testing post writeDouble/readDouble roundtripping", ba.length, 24);
-            Assert.assertEquals("Error testing post writeDouble/readDouble roundtripping", ba.readDouble(), 86.54);
-            Assert.assertEquals("Error testing post writeDouble/readDouble roundtripping", ba.readDouble(), -50.5);
-            Assert.assertEquals("Error testing post writeDouble/readDouble roundtripping", ba.readDouble(), 0);
-        }
-
-
-        [Test]
-        public function testWriteBytes():void {
-            var ba:BinaryData = new BinaryData();
-            for (var i:int = 0; i < 50; i++) ba.writeByte(i);
-
-
-            var newBa:BinaryData = new BinaryData();
-            newBa.writeBytes(ba);
-
-            Assert.assertEquals("BinaryData writeBytes: length", 50, newBa.length);
-            Assert.assertEquals("BinaryData writeBytes: position", 50, newBa.position);
-
-            for (i = 0; i < 50; i++) {
-                Assert.assertEquals("BinaryData writeBytes: content check", i, newBa.array[i]);
-            }
-
-            newBa = new BinaryData();
-
-        }
-
-        [Test]
-        public function testReadBytes():void {
-            var ba:BinaryData = new BinaryData();
-            for (var i:int = 0; i < 50; i++) ba.writeByte(i);
-            ba.position = 0;
-            var newBa:BinaryData = new BinaryData();
-
-            ba.readBytes(newBa, 5, 10);
-            Assert.assertEquals("BinaryData readBytes: position", 10, ba.position);
-            Assert.assertEquals("BinaryData readBytes: length", 15, newBa.length);
-            Assert.assertEquals("BinaryData readBytes: position", 0, newBa.position);
-            var expected:Array = [0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
-            for (i = 5; i < 15; i++) {
-                Assert.assertEquals("BinaryData readBytes: content check", expected[i], newBa.array[i]);
-            }
-        }
-
+            Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(ble,[123,20,173,66]));
+
+            var bbe:BinaryData = new BinaryData();
+            //test BIG_ENDIAN round-tripping
+            bbe.endian = Endian.BIG_ENDIAN;
+            bbe.writeFloat(86.54);
+
+
+            Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", bbe.length, 4);
+            Assert.assertEquals("Error testing post writeFloat/readFloat round-tripping", bbe.position, 4);
+            //check bytes to account for precision loss between double and float comparisons
+            Assert.assertTrue("Error testing post writeFloat/readFloat round-tripping", bytesMatchExpectedData(bbe,[66,173,20,123]));
+
+
+        }
+
+
+    [Test]
+    public function testDoubleRoundTripping():void
+    {
+
+        var ble:BinaryData = new BinaryData();
+        //test LITTLE_ENDIAN round-tripping
+        ble.endian = Endian.LITTLE_ENDIAN;
+        ble.writeDouble(86.54);
+
+
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", ble.length, 8);
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", ble.position, 8);
+
+        //check bytes
+        Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(ble,[195,245,40,92,143,162,85,64]));
+
+        var bbe:BinaryData = new BinaryData();
+        //test BIG_ENDIAN round-tripping
+        bbe.endian = Endian.BIG_ENDIAN;
+        bbe.writeDouble(86.54);
+
+
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", bbe.length, 8);
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", bbe.position, 8);
+        //check bytes
+
+        Assert.assertTrue("Error testing post writeDouble/readDouble round-tripping", bytesMatchExpectedData(bbe,[64,85,162,143,92,40,245,195]));
+
+
+        ble.position = 0;
+        bbe.position = 0;
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", bbe.readDouble(), 86.54);
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", ble.readDouble(), 86.54);
+
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", bbe.position, 8);
+        Assert.assertEquals("Error testing post writeDouble/readDouble round-tripping", ble.position, 8);

     }
+
+
+
+    [Test]
+    public function testWriteBytes():void
+    {
+        var ba:BinaryData = new BinaryData();
+        for (var i:int=0;i<50;i++) ba.writeByte(i);
+
+
+        var newBa:BinaryData = new BinaryData();
+        newBa.writeBytes(ba);
+
+        Assert.assertEquals("BinaryData writeBytes: length", 50, newBa.length);
+        Assert.assertEquals("BinaryData writeBytes: position", 50, newBa.position);
+
+        for (i=0;i<50;i++) {
+            Assert.assertEquals("BinaryData writeBytes: content check", i, newBa.array[i]);
+        }
+
+
+
+    }
+
+    [Test]
+    public function testReadBytes():void
+    {
+        var ba:BinaryData = new BinaryData();
+        for (var i:int=0;i<50;i++) ba.writeByte(i);
+        ba.position=0;
+        var newBa:BinaryData = new BinaryData();
+
+        ba.readBytes(newBa,5,10);
+        Assert.assertEquals("BinaryData readBytes: position", 10, ba.position);
+        Assert.assertEquals("BinaryData readBytes: length", 15, newBa.length);
+        Assert.assertEquals("BinaryData readBytes: position", 0, newBa.position);
+        var expected:Array = [0,0,0,0,0,0,1,2,3,4,5,6,7,8,9];
+        for (i=5;i<15;i++) {
+            Assert.assertEquals("BinaryData readBytes: content check", expected[i], newBa.array[i]);
+        }
+    }
+
+
 }
+}


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@1290478 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/aggregators/CountAggregator.as
+++ frameworks/projects/advancedgrids/src/mx/olap/aggregators/CountAggregator.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 mx.olap.aggregators
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21981
Author:   cframpto@adobe.com
Date:     2011-08-15T18:54:28.190117Z

Log Message:
-----------
First pass of ASdoc corrections/additions for StageText.  Want to see results from tomorrow morning's ASdoc build.

QE notes:
Doc notes:
Bugs: SDK-31078, SDK-31109, SDK-31015, SDK-31127, SDK-31107, SDK-31113
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as
@@ -16,9 +16,11 @@
 import spark.skins.mobile.supportClasses.StageTextSkinBase;

 /**
- *  ActionScript-based skin for TextInput controls in mobile applications.
+ *  ActionScript-based skin for TextInput controls in mobile applications that uses a
+ *  StyleableStageText class for the text input.
  *
  *  @see spark.components.TextInput
+ *  @see spark.components.supportClasses.StyleableStageText
  *
  *  @langversion 3.0
  *  @playerversion AIR 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 18478
Author:   klin@adobe.com
Date:     2010-11-05T21:01:35.464312Z

Log Message:
-----------
Added columns IList collection change handling in GridColumnHeaderGroupLayout. GCHGL now preserve the visible sort indicators when columns are added, removed, or moved. Also, fixed a related bug in GridDimensions where handling the move event for columns was causing an RTE.

QE notes: No
Doc notes: No
Bugs: SDK-28375
Reviewer: Hans
Tests run: cyclone server, checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridColumnHeaderGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
@@ -68,8 +68,9 @@
             vec[i + count] = vec[i];

         const endIndex:int = startIndex + values.length;
+        var j:int = 0;
         for (i = startIndex; i < endIndex; i++)
-            vec[i] = values[i];
+            vec[i] = values[j++];
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 17066
Author:   klin@adobe.com
Date:     2010-07-26T23:12:27.248309Z

Log Message:
-----------
Two fixes to GridDimensions.

-getRowIndexAt() now returns -1 if the y parameter is out of bounds.
-Fixed a bug in getNextRowIndexAt() where the index was being incorrectly calculated.

QE notes: No
Doc notes: No
Bugs: SDK-26928
Reviewer: Hans
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridDimensions.as
@@ -13,9 +13,9 @@
 {
 import flash.geom.Rectangle;

+import mx.collections.IList;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
-import mx.collections.IList;

 public class GridDimensions
 {
@@ -668,14 +668,22 @@
         if (y < 0)
             return -1;

+        var index:int;
+
         if (!isNaN(fixedRowHeight))
-            return y / (fixedRowHeight + rowGap);
+        {
+            index = y / (fixedRowHeight + rowGap);
+            return index < _rowCount ? index : -1;
+        }

         if (rowList.length == 0)
-            return y / (defaultRowHeight + rowGap);
+        {
+            index = y / (defaultRowHeight + rowGap);
+            return index < _rowCount ? index : -1;
+        }

         if (y == 0)
-            return 0;
+            return _rowCount > 0 ? 0 : -1;

         // initialize first node.
         if (!recentNode)
@@ -683,8 +691,6 @@
             recentNode = rowList.first;
             startY = recentNode.rowIndex * (defaultRowHeight + rowGap);
         }
-
-        var index:int;

         // if we are already at the right row, then use the index.
         if (isYInRow(y, startY, recentNode))
@@ -694,7 +700,7 @@
         else
             index = getNextRowIndexAt(y, recentNode, startY);

-        return index;
+        return index < _rowCount ? index : -1;
     }

     /**
@@ -827,9 +833,9 @@
             }

             // check if target Y is within default row heights range.
-            if (targetY >= currentY && targetY < nextY)
+            if (targetY > currentY && targetY < nextY)
             {
-                index = index - Math.ceil(Number(currentY - targetY)/(defaultRowHeight + rowGap));
+                index = index + Math.ceil(Number(targetY - currentY)/(defaultRowHeight + rowGap));
                 break;
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7918
Author:   chaase@adobe.com
Date:     2009-06-17T16:55:30.271215Z

Log Message:
-----------
Round 2 of effects PARB changes. Some renames and removals of properties/functions, including:
AnimateTransform: removed 18 MotionPath properties, added applyChangesPostLayout property (replaces affectLayout property in subclasses), removed addMotionPath/addPostLayoutMotionPath protected functions
Animation: removed seek(), reverse()
SimpleMotionPath: removed 'duration' arg in constructor

QE Notes: Mustella will break on some of these changes (no surprise, just needs minor updates)
Doc Notes: API updates
Bugs: none
Reviewer: Jason
Tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.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/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.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/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/ResizeInstance.as
@@ -16,6 +16,7 @@

 import mx.core.IUIComponent;

+import spark.effects.animation.Keyframe;
 import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;

@@ -253,9 +254,12 @@
     {
         calculateDimensionChanges();

-        motionPaths = new <MotionPath>[
-            new SimpleMotionPath("width", widthFrom, widthTo, duration, widthBy),
-            new SimpleMotionPath("height", heightFrom, heightTo, duration, heightBy)];
+        motionPaths = new <MotionPath>[new MotionPath("width"),
+            new MotionPath("height")];
+        motionPaths[0].keyframes = new <Keyframe>[new Keyframe(0, widthFrom),
+            new Keyframe(duration, widthTo, widthBy)];
+        motionPaths[1].keyframes = new <Keyframe>[new Keyframe(0, heightFrom),
+            new Keyframe(duration, heightTo, heightBy)];

         // Also animate any size-related constraints that change between
         // transition states


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as
@@ -25,6 +25,11 @@
  *  are not included in the start and end fields.

  *
  *  @see mx.states.Transition
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class PropertyChanges
 {
@@ -40,6 +45,11 @@
 	 *  The PropertyChanges constructor.
 	 *
 	 *  @param target Object that is a target of an effect.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function PropertyChanges(target:Object)
 	{
@@ -67,6 +77,11 @@
 	 *  contains the ending position and size of the component,
 	 *  as the following example shows:
 	 *
{ x: 100, y: 100, width: 200, height: 200 }

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var end:Object = {};

@@ -83,6 +98,11 @@
 	 *  contains the starting position and size of the component,
 	 *  as the following example shows:
 	 *
{ x: 0, y: 0, width: 100, height: 100}

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var start:Object = {};

@@ -95,6 +115,11 @@
 	 *  The start and end fields
 	 *  of the PropertyChanges object define how the target component
 	 *  is modified by the change to the view state.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var target:Object;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 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.components.gridClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6290
Author:   chaase@adobe.com
Date:     2009-04-27T18:42:18.522446Z

Log Message:
-----------
Added animation behavior to scrollbars and sliders. For now, animation only happens based on mouse events (key events still have previous non-animated behavior).
Also, added shift-click behavior to ScrollBar, behaves essentially like a Slider, going to the clicked location instead of paging toward it.
Finally, fixed an unrelated bug in Animation where Animates set up with a MotionPath with no time=0 keyframe would not run properly.

These changes necessitate changes in Mustella (need to listen to 'change' event on scrollbars/sliders, not 'updateComplete' or 'click', since the animations may cause several valid 'updateComplete' events on the way to the final changed value.

QE Notes: Mustella changes in ScrollBar and Slider necessary. See note above. Changes have been made and are awaiting this checkin to update Mustella tests.
Doc Notes: None
Bugs:
Reviewer: Hans and Glenn (scrolling/sliding changes), Jason (Animation bug changes)
tests: checkintests, Mustella ScrollBar, Slider, Scroller (all required minor changes to 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/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.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/VScrollBar.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/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.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/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test_testScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/AnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/ScrollbarFrenzy.mxml</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -458,12 +458,6 @@
             var keyframes:Array = motionPaths[i].keyframes;
             if (!keyframes)
                 continue;
-            // Create an initial (time==0) value if necessary
-            if (keyframes[0].time > 0)
-            {
-                keyframes.splice(0, 0, new KeyFrame(0, null));
-                keyframes[0].timeFraction = 0;
-            }
             if (interpolator)
                 mp.interpolator = interpolator;
             // adjust effect duration to be the max of all MotionPath keyframe times
@@ -473,14 +467,10 @@
             // knowing that they will derive their duration from their effects) and
             // actual keyframe-based MotionPaths.
             for (j = 0; j < keyframes.length; ++j)
-                if (isNaN(keyframes[j].time))
-                    keyframes[j].time = duration;
-                else
+                if (!isNaN(keyframes[j].time))
                     duration = Math.max(duration, keyframes[j].time);

         }
-        for (i = 0; i < motionPaths.length; ++i)
-            motionPaths[i].scaleKeyframes(duration);

         animation = new Animation(duration);
         animation.animationTarget = this;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/charts/src/mx/styles/metadata/GapStyles.as
+++ frameworks/projects/charts/src/mx/styles/metadata/GapStyles.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Number of pixels between children in the horizontal direction.
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 8.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="horizontalGap", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between children in the vertical direction.
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 6.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="verticalGap", type="Number", format="Length", inherit="no")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 8712
Author:   aharui@adobe.com
Date:     2009-07-21T17:39:03.273624Z

Log Message:
-----------
Fix embedded fonts in RSLs (and more complex module topologies)

QE Notes: None
Doc Notes: None
Bugs: SDK-22313
Reviewer: Darrell, Gordon
API Change: None
Is noteworthy for integration: No
tests: checkintests mustella/gumbo/components/TextInput mustella/gumbo/components/TextArea

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -21,11 +21,8 @@
 import flash.system.ApplicationDomain;
 import flash.text.TextField;
 import flash.text.TextFieldAutoSize;
-import flash.text.engine.TextBlock;
-import flash.text.engine.TextLine;
 import flash.utils.Timer;
 import flash.utils.getDefinitionByName;
-import flashx.textLayout.compose.ITextLineCreator;
 import mx.core.RSLItem;
 import mx.core.RSLListLoader;
 import mx.events.ModuleEvent;
@@ -38,7 +35,7 @@
  *  @private
  */
 public class FlexModuleFactory extends MovieClip
-	implements IFlexModuleFactory, ITextLineCreator
+	implements IFlexModuleFactory
 {
 	include "../core/Version.as";

@@ -239,54 +236,6 @@
     public function info():Object
     {
         return {};
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods: ITextLineCreator
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  Calls createTextLine() on the specified TextBlock
-	 *  with the specified parameters.
-	 *  In order for a TextLine to use an embedded font,
-	 *  it must be created in the SWF where the font is.
-	 *  This factory method makes that possible.
-   	 */
-    public function createTextLine(textBlock:TextBlock,
-    							   previousLine:TextLine = null,
-    							   width:Number = 1000000,
-    							   lineOffset:Number = 0.0,
-    							   fitSomething:Boolean = false):TextLine
-    {
-	    return textBlock.createTextLine(previousLine, width,
-	    								lineOffset, fitSomething);
-    }
-
-    /**
-	 *  Calls recreateTextLine() on the specified TextBlock
-	 *  with the specified parameters.
-	 *  In order for a TextLine to use an embedded font,
-	 *  it must be recreated in the SWF where the font is.
-	 *  This factory method makes that possible.
-   	 */
-    public function recreateTextLine(textBlock:TextBlock,
-    								 textLine:TextLine,
-    								 previousLine:TextLine = null,
-    								 width:Number = 1000000,
-    								 lineOffset:Number = 0.0,
-    								 fitSomething:Boolean = false):TextLine
-    {
-	    // The recreateTextLine() method was added to TextBlock
-	    // in Player 10.1, so it must be looked up by name
-	    // since we are compiling for Player 10.0.
-	    var recreateTextLine:Function = textBlock["recreateTextLine"];
-	    if (recreateTextLine == null)
-	    	return null;
-
-	    return recreateTextLine(textLine, previousLine, width,
-	    	   					lineOffset, fitSomething);
     }

 	//--------------------------------------------------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 8546
Author:   clucier@adobe.com
Date:     2009-07-14T14:45:23.587511Z

Log Message:
-----------
Adding disabled styling to a few component skins. Tweaking a SystemManager comment that was referring to Fx prefixed classes.
Reviewer: Chet
QE Notes: None
Bugs: SDK-22206
Doc Notes: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextYearSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserPrevMonthSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DateChooserNextMonthSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -2616,8 +2616,8 @@
      *
      *  We're only handling a small subset of keyboard events, to
      *  avoid unnecessary copying.   Most of events in the subset are
-     *  handled by both FxScroller and by classes like FxTextArea or
-     *  or FxList that include an FxScroller in their skin.
+     *  handled by both Scroller and by Spark classes like TextArea or
+     *  or List that include a Scroller in their skin.
      */
     private function keyDownHandler(e:KeyboardEvent):void
     {


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@1268863 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -1,16 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-// AdobePatentID="B518"
-// AdobePatentID="B519"
+

 package mx.controls.listClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListData.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListData.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.controls.listClasses
 {


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@1285057 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.layouts
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/core/FlexLoader.as
+++ frameworks/projects/framework/src/mx/core/FlexLoader.as
@@ -20,6 +20,11 @@
  *  It overrides the toString() method
  *  to return a string indicating the location of the object
  *  within the hierarchy of DisplayObjects in the application.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FlexLoader extends Loader
 {
@@ -43,6 +48,11 @@
      *
      *  @see flash.display.DisplayObject#name
      *  @see mx.utils.NameUtils#createUniqueName()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FlexLoader()
     {
@@ -86,6 +96,11 @@
      *
      *  @see flash.display.DisplayObject#name
      *  @see mx.utils.NameUtils#displayObjectToString()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function toString():String
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/events/RSLEvent.as
+++ frameworks/projects/framework/src/mx/events/RSLEvent.as
@@ -22,6 +22,11 @@
  *
  *  @see mx.preloaders.DownloadProgressBar
  *  @see mx.preloaders.Preloader
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class RSLEvent extends ProgressEvent
 {
@@ -63,6 +68,11 @@
 	 *

 	 *
      *  @eventType rslComplete
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const RSL_COMPLETE:String = "rslComplete";

@@ -96,6 +106,11 @@
 	 *

 	 *
      *  @eventType rslError
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const RSL_ERROR:String = "rslError";

@@ -129,6 +144,11 @@
 	 *

 	 *
      *  @eventType rslProgress
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static const RSL_PROGRESS:String = "rslProgress";

@@ -165,6 +185,11 @@
 	 *  @param errorText The error message of the error when type is RSLEvent.RSL_ERROR.
 	 *
 	 *  @tiptext Constructor for RSLEvent objects.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function RSLEvent(type:String,  bubbles:Boolean = false,
 							 cancelable:Boolean = false,
@@ -192,6 +217,11 @@

 	/**
 	 *  The error message if the type is RSL_ERROR; otherwise, it is null;
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var errorText:String;

@@ -202,6 +232,11 @@
 	/**
 	 *  The index number of the RSL currently being downloaded.
 	 *  This is a number between 0 and rslTotal - 1.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var rslIndex:int;

@@ -211,6 +246,11 @@

 	/**
 	 *  The total number of RSLs being downloaded by the preloader
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var rslTotal:int;

@@ -221,6 +261,11 @@
 	/**
 	 *  The URLRequest object that represents the location
 	 *  of the RSL being downloaded.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var url:URLRequest;


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@1262832 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/utils/EventUtil.as
+++ frameworks/projects/framework/src/mx/utils/EventUtil.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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 mx.utils
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12074
Author:   gruehle@adobe.com
Date:     2009-11-21T01:02:03.186839Z

Log Message:
-----------
Change baseColor to chromeColor.

QE notes: Tests need to be updated.
Doc notes: ASDoc has been updated. Other docs need updating.
Bugs: SDK-24298
Reviewer: Ely
Tests run: checkintests, qe cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
112 paths were modified

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

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -71,7 +71,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]
+[Style(name="chromeColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  The alpha of the content background for this component.


Transferred from the Adobe Open Source Subversion Repository

Revision: 4960
Author:   gosmith@adobe.com
Date:     2009-02-14T02:23:27.721068Z

Log Message:
-----------
Decreased the number of Gumbo style buckets.

Combined AdvancedCharacterFormatTextStyles.as, AdvancedParagraphFormatTextStyles.as, and AdvancedContainerFormatTextStyles.as into AdvancedTextLayoutFormatStyles.as.

Combined BasicCharacterFormatTextStyles.as, BasicParagraphFormatTextStyles.as, and BasicContainerFormatTextStyles.as into BasicTextLayoutFormatStyles.as.

The reason for doing this is that TLF combined its CharacterFormat, ParagraphFormat, and ContainerFormat classes into a single TextLayoutFormat.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: None; no functional change

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedCharacterFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicContainerFormatTextStyles.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedParagraphFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicCharacterFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicParagraphFormatTextStyles.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/AdvancedContainerFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -38,9 +38,7 @@
 //  Styles
 //--------------------------------------

-include "../styles/metadata/BasicContainerFormatTextStyles.as"
-include "../styles/metadata/BasicParagraphFormatTextStyles.as"
-include "../styles/metadata/BasicCharacterFormatTextStyles.as"
+include "../styles/metadata/BasicTextLayoutFormatStyles.as"

 [IconFile("TextBox.png")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 3499
Author:   rfrishbe@adobe.com
Date:     2008-10-06T23:57:04.003486Z

Log Message:
-----------
Code cleanup:

1.  Remove IDisplayObjectElement and IAssignableDisplayObjectElement.  No one was actually using these interfaces...a few classes were implementing them though.

2.  Big ASDoc comment scrub for Group, DataGroup, and GroupBase.  Fixed some ASDoc in LayoutBase, IViewport, and ResizeMode.

3.  Spit and finish on Group.  No more variables or parameters typed as "*".  Got the content APIs in-line with Flash's DisplayObjectContainer, which means exceptions are now thrown where appropriate.

4.  Fixed a bug in DataGround where graphic items with item renderers had trouble in itemRemoved() (SDK-17175)

QE: Yes - Please revamp the excluded test cases to look for the new exceptions.
Doc: Yes
Bugs: SDK-17175
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IDisplayObjectElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IAssignableDisplayObjectElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/intf/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -35,7 +35,6 @@
  *  Documentation is not currently available.
  */
 public class TextBox extends TextGraphicElement
-	implements IDisplayObjectElement
 {
 	include "../core/Version.as";


track discontinuity

track discontinuity

--- src/org/mangui/hls/loader/HolaFragmentLoader.as
+++ src/org/mangui/hls/loader/HolaFragmentLoader.as
@@ -42,6 +42,7 @@
         private var _levelController : LevelController;
         /** reference to audio track controller */
         private var _audioTrackController : AudioTrackController;
+	private var _discTracker: DiscontinuityTracker;
         /** Reference to the manifest levels. **/
         private var _levels : Vector.<Level>;
         /** Util for loading the key. **/
@@ -97,6 +98,7 @@
             _levelController = levelController;
             _audioTrackController = audioTrackController;
             _streamBuffer = streamBuffer;
+	    _discTracker = new DiscontinuityTracker();
             _hls.addEventListener(HLSEvent.MANIFEST_LOADED, _manifestLoadedHandler);
             _keymap = new Object();
             _levels = hls.levels;
@@ -542,7 +544,7 @@
 	    var scheduler: FragScheduler = _schedulers[frag.level+'/'+frag.seqnum];
 	    if (!scheduler)
 	    {
-	        scheduler = _schedulers[frag.level+'/'+frag.seqnum] = new FragScheduler(_audioTrackController, _hls, _levels, _streamBuffer, _schedulerComplete, _schedulerError,
+	        scheduler = _schedulers[frag.level+'/'+frag.seqnum] = new FragScheduler(_audioTrackController, _hls, _levels, _streamBuffer, _discTracker, _schedulerComplete, _schedulerError,
 		    _handleParsingError);
     	    }
             scheduler.add_ldr(ldr, ldr_id);
@@ -640,9 +642,10 @@
     private var _hls: HLS;
     private var _levels: Vector.<Level>;
     private var _streamBuffer: StreamBuffer;
+    private var _discTracker: DiscontinuityTracker;
     private var _handleParsingError: Function;

-    public function FragScheduler(audioTrackController: AudioTrackController, hls: HLS, levels: Vector.<Level>, streamBuffer: StreamBuffer, oncomplete: Function, onerror: Function,
+    public function FragScheduler(audioTrackController: AudioTrackController, hls: HLS, levels: Vector.<Level>, streamBuffer: StreamBuffer, discTracker: DiscontinuityTracker, oncomplete: Function, onerror: Function,
         handleParsingError: Function)
     {
         _audioTrackController = audioTrackController;
@@ -651,6 +654,7 @@
 	_onerror = onerror;
 	_levels = levels;
 	_streamBuffer = streamBuffer;
+	_discTracker = discTracker;
 	_handleParsingError = handleParsingError;
     }

@@ -715,6 +719,7 @@
         metrics.level = frag.level;
         metrics.id = frag.seqnum;
         var hlsError : HLSError;
+	_discTracker.fragmentContinuity = frag.continuity;
         if ((_demux.audioExpected && !_fragData.audio_found) && (_demux.videoExpected && !_fragData.video_found)) {
             // handle it like a parsing error
             _handleParsingError("error parsing fragment, no tag found", _ldrs, _fragData);
@@ -742,13 +747,17 @@
                     if (_fragData.metadata_tag_injected == false)
 		    {
                         _fragData.tags.unshift(frag.getMetadataTag());
+                        if (_discTracker.discontinuity)
+                            _fragData.tags.unshift(new FLVTag(FLVTag.DISCONTINUITY, _fragData.dts_min, _fragData.dts_min, false));
                         _fragData.metadata_tag_injected = true;
                     }
+		    ExternalInterface.call('console.log', 'XXX '+_fragData.tags.length+' tags fed to streamBuffer, start_time = '+frag.start_time);
                     _streamBuffer.appendTags(HLSLoaderTypes.FRAGMENT_MAIN, frag.level, frag.seqnum, _fragData.tags, _fragData.tag_pts_min, _fragData.tag_pts_max + _fragData.tag_duration, frag.continuity, frag.start_time + _fragData.tag_pts_start_offset / 1000);
                     metrics.duration = _fragData.pts_max + _fragData.tag_duration - _fragData.pts_min;
                     metrics.id2 = _fragData.tags.length;
                     _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, metrics));
                     _fragData.shiftTags();
+		    _discTracker.discontinuity = false;
                 }
             } else
                 metrics.duration = frag.duration * 1000;
@@ -829,3 +838,26 @@
     }
 }

+class DiscontinuityTracker
+{
+    private var _disc: Boolean = true;
+    private var _fragCont: Number = -1;
+
+    public function get discontinuity(): Boolean
+    {
+        return _disc;
+    }
+
+    public function set fragmentContinuity(fragCont: Number): void
+    {
+        if (_fragCont !== -1)
+            _disc = fragCont != _fragCont;
+	_fragCont = fragCont;
+    }
+
+    public function set discontinuity(disc: Boolean): void
+    {
+        _disc = disc;
+    }
+}
+


Transferred from the Adobe Open Source Subversion Repository

Revision: 5047
Author:   jszeto@adobe.com
Date:     2009-02-24T01:26:03.149191Z

Log Message:
-----------
Change default weight of Stroke from 0 to 1

SDK-19000 - Getting the default weight property of a Stroke returns 0 instead of 1

Changed default value from 0 to 1

QE Notes: This changes the size of scaled graphic elements
Doc Notes:
Bugs: SDK-19000
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
@@ -43,7 +43,7 @@
      *
      *  @param weight Specifies the line weight, in pixels.
      *  This parameter is optional,
-     *  with a default value of 0.
+     *  with a default value of 1.
      *
      *  @param pixelHinting A Boolean value that specifies
      *  whether to hint strokes to full pixels.
@@ -96,7 +96,7 @@
      *  This parameter is optional,
      *  with a default value of 0.
      */
-    public function LinearGradientStroke(weight:Number = 0,
+    public function LinearGradientStroke(weight:Number = 1,
                                          pixelHinting:Boolean = false,
                                          scaleMode:String = "normal",
                                          caps:String = null,


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@1251552 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation/src/mx/automation/events/AutomationAirEvent.as
+++ frameworks/projects/automation/src/mx/automation/events/AutomationAirEvent.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 mx.automation.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3265
Author:   gruehle@adobe.com
Date:     2008-09-19T00:02:31.677216Z

Log Message:
-----------
List bug fixes:
SDK-16914 Gumbo list horizontal layout is incorrect
SDK-16931 Gumbo list does not respond to click event

Both of these are recent injections.

Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -13,7 +13,10 @@
 {
 import flash.events.MouseEvent;

+import flex.core.DataGroup;
 import flex.core.MXMLComponent;
+import flex.layout.HorizontalLayout;
+import flex.layout.VerticalLayout;

 /**
  *  The ItemRenderer class is the base class for List item renderers.
@@ -30,7 +33,6 @@
 	{
 		super();

-		percentWidth = 100;  // TODO: Make this a layout property...
 		addHandlers();
 	}

@@ -72,6 +74,48 @@
     //  Properties
     //
     //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+
+    private var _orientation:Number;	// 0 for vertical, 1 for horizontal
+
+    override protected function measure():void
+    {
+    	// TODO: This is temporary code to make sure the item renderer
+    	// fills out the width of the parent when layout is vertical,
+    	// and the height of the parent when the layout is horizontal.
+    	// Need to figure out a permanent solution for this
+    	if (parent is DataGroup)
+    	{
+    		if (DataGroup(parent).layout is VerticalLayout)
+    		{
+    			if (_orientation != 0)
+    			{
+    				_orientation = 0;
+    				percentWidth = 100;
+    				percentHeight = NaN;
+    			}
+    		}
+    		else if (DataGroup(parent).layout is HorizontalLayout)
+    		{
+    			if (_orientation != 1)
+    			{
+    				_orientation = 1;
+    				percentWidth = NaN;
+    				percentHeight = 100;
+    			}
+    		}
+    		else if (!isNaN(_orientation))
+    		{
+    			_orientation = NaN;
+    			percentWidth = percentHeight = NaN;
+    		}
+    	}
+
+    	super.measure();
+    }

     /**
      *  @private