Renamed NativeRelaySignal's "name" property to "eventType" to match NativeSignal.

--- src/org/osflash/signals/natives/NativeRelaySignal.as
+++ src/org/osflash/signals/natives/NativeRelaySignal.as
@@ -14,7 +14,7 @@
 	 */
 	public class NativeRelaySignal extends DeluxeSignal
 	{
-		protected var _name:String;
+		protected var _eventType:String;

 		/**
 		 * Creates a new NativeRelaySignal instance to relay events from an IEventDispatcher.
@@ -24,10 +24,10 @@
 		 * Because the target is an IEventDispatcher,
 		 * eventClass needs to be flash.events.Event or a subclass of it.
 		 */
-		public function NativeRelaySignal(target:IEventDispatcher, name:String, eventClass:Class = null)
+		public function NativeRelaySignal(target:IEventDispatcher, eventType:String, eventClass:Class = null)
 		{
 			super(target, eventClass || Event);
-			_name = name;
+			_eventType = eventType;
 		}

 		/** @inheritDoc */
@@ -38,7 +38,7 @@
 			super.add(listener);
 			// Account for cases where the same listener is added twice.
 			if (prevListenerCount == 0 && listenerBoxes.length == 1)
-				IEventDispatcher(target).addEventListener(_name, dispatch, false, priority);
+				IEventDispatcher(target).addEventListener(_eventType, dispatch, false, priority);
 		}

 		/** @inheritDoc */
@@ -49,7 +49,7 @@
 			super.addOnce(listener);
 			// Account for cases where the same listener is added twice.
 			if (prevListenerCount == 0 && listenerBoxes.length == 1)
-				IEventDispatcher(target).addEventListener(_name, dispatch, false, priority);
+				IEventDispatcher(target).addEventListener(_eventType, dispatch, false, priority);
 		}

 		/** @inheritDoc */
@@ -58,7 +58,7 @@
 			var prevListenerCount:uint = listenerBoxes.length;
 			super.remove(listener);
 			if (prevListenerCount == 1 && listenerBoxes.length == 0)
-				IEventDispatcher(target).removeEventListener(_name, dispatch);
+				IEventDispatcher(target).removeEventListener(_eventType, dispatch);
 		}

 	}


fix PhongEffect to properly push the _baseShader and _singlePassShader passes

--- src/aerys/minko/render/material/phong/PhongEffect.as
+++ src/aerys/minko/render/material/phong/PhongEffect.as
@@ -65,7 +65,7 @@
                 }
             }

-            passes.push(new PhongSinglePassShader(null, 0));
+            passes.push(_singlePassShader);

             return passes;
         }
@@ -118,7 +118,7 @@
 				}
 			}

-            passes.push(new PhongBaseShader(null, .5));
+            passes.push(_baseShader);

             return passes;
 		}


Safety check for invalid devices (happens rarely, or never?)

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -397,6 +397,7 @@

 		private function findGamepadInfo(__gameInputDevice:GameInputDevice):AutoGamepadInfo {
 			// Based on a Game InputDevice, find the internal GamepadInfo that describes this Gamepad
+			if (__gameInputDevice == null) return null;
 			var i:int, j:int;
 			for (i = 0; i < knownGamepadPlatforms.length; i++) {
 				for (j = 0; j < knownGamepadPlatforms[i].gamepads.length; j++) {


added SR-ORG:6703 projection

added SR-ORG:6703 projection

--- WeaveData/src/weave/data/ProjectionManager.as
+++ WeaveData/src/weave/data/ProjectionManager.as
@@ -62,6 +62,9 @@
 		{
 			// http://mathworld.wolfram.com/AlbersEqual-AreaConicProjection.html
 			ProjProjection.defs['EPSG:9822'] = '+title=Albers Equal-Area Conic +proj=aea +lat_1=0 +lat_2=60 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs';
+
+			// http://geeohspatial.blogspot.com/2013/03/custom-srss-in-postgis-and-qgis.html
+			ProjProjection.defs['SR-ORG:6703'] = '+title=USA_Contiguous_Albers_Equal_Area_Conic_USGS_version +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs';

 			//ProjProjection.defs['aeac-us'] = '+title=Albers Equal-Area Conic +proj=aea +lat_1=37.25 +lat_2=40.25 +lat_0=36 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs';


Reject best-effort loaded data.

Reject best-effort loaded data.

Reduce ByteArray allocations.
Better time handling.

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -159,6 +159,8 @@
 			return 0;
 		}

+		public static var tmpBuffer:ByteArray = new ByteArray();
+
 		private function basicProcessFileSegment(input:IDataInput, flush:Boolean):ByteArray
 		{
 			if ( key && !key.isLoaded )
@@ -167,20 +169,21 @@
 				return null;
 			}

-			var tmp:ByteArray = new ByteArray();
+			tmpBuffer.position = 0;
+			tmpBuffer.length = 0;

 			if ( _encryptedDataBuffer.length > 0 )
 			{
 				_encryptedDataBuffer.position = 0;
-				_encryptedDataBuffer.readBytes( tmp );
+				_encryptedDataBuffer.readBytes( tmpBuffer );
 				_encryptedDataBuffer.clear();
 			}

-			input.readBytes( tmp, tmp.length );
+			input.readBytes( tmpBuffer, tmpBuffer.length );

 			if ( key )
 			{
-				var bytesToRead:uint = tmp.length;
+				var bytesToRead:uint = tmpBuffer.length;
 				var leftoverBytes:uint = bytesToRead % 16;
 				bytesToRead -= leftoverBytes;

@@ -190,9 +193,9 @@
 				{
 					// Place any bytes left over (not divisible by 16) into our encrypted buffer
 					// to decrypt later, when we have more bytes
-					tmp.position = bytesToRead;
-					tmp.readBytes( _encryptedDataBuffer );
-					tmp.length = bytesToRead;
+					tmpBuffer.position = bytesToRead;
+					tmpBuffer.readBytes( _encryptedDataBuffer );
+					tmpBuffer.length = bytesToRead;
 				}
 				else
 				{
@@ -206,31 +209,44 @@

 				// Set up the IV for our next set of bytes
 				_decryptionIV = new ByteArray();
-				tmp.position = bytesToRead - 16;
-				tmp.readBytes( _decryptionIV );
+				tmpBuffer.position = bytesToRead - 16;
+				tmpBuffer.readBytes( _decryptionIV );

 				// Aaaaand...decrypt!
-				key.decrypt( tmp, currentIV );
+				key.decrypt( tmpBuffer, currentIV );
 			}

 			// If it's AAC, process it.
-			if(AACParser.probe(tmp))
-			{
-				//trace("GOT AAC " + tmp.bytesAvailable);
+			if(AACParser.probe(tmpBuffer))
+			{
+				//trace("GOT AAC " + tmpBuffer.bytesAvailable);
 				var aac:AACParser = new AACParser();
-				aac.parse(tmp, _fragReadHandler);
+				aac.parse(tmpBuffer, _fragReadHandler);
 				//trace("    - returned " + _fragReadBuffer.length + " bytes!");
 				_fragReadBuffer.position = 0;
+
+				if(isBestEffort)
+				{
+					trace("Discarding data from best effort.");
+					_fragReadBuffer.length = 0;
+				}
+
 				return _fragReadBuffer;
 			}

 			var buffer:ByteArray = new ByteArray();
 			_buffer = buffer;
-			_converter.appendBytes(tmp);
+			_converter.appendBytes(tmpBuffer);
 			if ( flush ) _converter.flush();
 			_buffer = null;
 			buffer.position = 0;

+			if(isBestEffort)
+			{
+				trace("Discarding data from best effort.");
+				buffer.length = 0;
+			}
+
 			return buffer;
 		}

@@ -260,10 +276,10 @@

 			var elapsed:Number = _segmentLastSeconds - _segmentBeginSeconds;

-			/*if(elapsed <= 0.0 && _extendedIndexHandler)
+			if(elapsed <= 0.0 && _extendedIndexHandler)
 			{
 				elapsed = _extendedIndexHandler.getTargetSegmentDuration(); // XXX fudge hack!
-			}*/
+			}

 			dispatchEvent(new HTTPStreamingEvent(HTTPStreamingEvent.FRAGMENT_DURATION, false, false, elapsed));

@@ -277,6 +293,21 @@

 		private function handleFLVMessage(timestamp:uint, message:ByteArray):void
 		{
+			var timestampSeconds:Number = timestamp / 1000.0;
+
+			if(_segmentBeginSeconds < 0)
+			{
+				_segmentBeginSeconds = timestampSeconds;
+				trace("Noting segment start time for " + segmentUri + " of " + timestampSeconds);
+				HLSIndexHandler.startTimeWitnesses[segmentUri] = timestampSeconds;
+			}
+
+			if(timestampSeconds > _segmentLastSeconds)
+				_segmentLastSeconds = timestampSeconds;
+
+			if(isBestEffort)
+				return;
+
 			if(_timeOriginNeeded)
 			{
 				_timeOrigin = timestamp;
@@ -286,29 +317,12 @@
 			if(timestamp < _timeOrigin)
 				_timeOrigin = timestamp;

-			//trace("PRE TIMESTAMP " + timestamp + " for " + message[0]);
-
-			//timestamp = (timestamp - _timeOrigin) + _firstSeekTime;
-
-			var timestampSeconds:Number = timestamp / 1000.0;
-
-			//trace("ENCODED TIMESTAMP " + timestampSeconds);
-
 			// Encode the timestamp.
 			message[6] = (timestamp      ) & 0xff;
 			message[5] = (timestamp >>  8) & 0xff;
 			message[4] = (timestamp >> 16) & 0xff;
 			message[7] = (timestamp >> 24) & 0xff;
-
-			if(_segmentBeginSeconds < 0)
-			{
-				_segmentBeginSeconds = timestampSeconds;
-				trace("Noting segment start time for " + segmentUri + " of " + timestampSeconds);
-				HLSIndexHandler.startTimeWitnesses[segmentUri] = timestampSeconds;
-			}
-			if(timestampSeconds > _segmentLastSeconds)
-				_segmentLastSeconds = timestampSeconds;
-
+
 			var lastMsgTime:Number = _lastFLVMessageTime;
 			_lastFLVMessageTime = timestampSeconds;


Update M2TSFileHandler.as

Update M2TSFileHandler.as

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -249,16 +249,23 @@
 				logger.debug("READING " + amountToRead + " OF " + input.bytesAvailable);
 			}

+
+			//Check to see if we have 16 bytes saved from the end of the last pass
 			if (_lastSixteenBytes.length > 0)
 			{
+				//Feeds the in at the beginning of the temp buffer
 				_lastSixteenBytes.readBytes(tmpBuffer)
 				_lastSixteenBytes.length = 0;
 				_lastSixteenBytes.position = 0;
 			}

+
 			if(amountToRead > 0)
 				input.readBytes( tmpBuffer, tmpBuffer.length, amountToRead);

+			//If we aren't flushing at the end of a segment, save the last 16 bytes off the end in case they are padding
+			//Subtle bug - If we don't save the bytes off the end and control when it tries to unpad, it can unpad data that
+			//is valid but happens to look like padding.
 			if (!_flush)
 			{
 				tmpBuffer.position = tmpBuffer.length - 16;
@@ -268,6 +275,7 @@
 			}
 			else
 			{
+			//If we are flushing, reset the ByteArray so no leftover data is around for the first pass on the next segment
 				_lastSixteenBytes.length = 0;
 				_lastSixteenBytes.position = 0;
 			}
@@ -283,8 +291,6 @@
 				{
 					logger.debug("Decrypting " + tmpBuffer.length + " bytes of encrypted data.");
 				}
-
-				//key.usePadding = false;

 				if ( leftoverBytes > 0 )
 				{
@@ -298,13 +304,6 @@
 					{
 						logger.debug("Storing " + _encryptedDataBuffer.length + " bytes of encrypted data.");
 					}
-				}
-				else// if (amountToRead == input.bytesAvailable)
-				{
-					// Attempt to unpad if our buffer is equally divisible by 16.
-					// It could mean that we've reached the end of the file segment.
-
-					//key.usePadding = true;
 				}

 				// Store our current IV so we can use it do decrypt


Updated flash test.

Updated flash test.

--- cpp/apps/bitmunk/flash/Test.as
+++ cpp/apps/bitmunk/flash/Test.as
@@ -686,19 +686,9 @@
          "A4A5A6A7A9AAABACAEAFB0B1B3B4B5B6"];

       // test data to encrypt
-      var data:String =
-         "GET /my/url/index.html HTTP/1.1\r\n" +
-         "Accept: text/html,*/*\r\n" +
-         "Accept-Charset: UTF-8,*\r\n" +
-         "Accept-Encoding: gzip,deflate\r\n" +
-         "Accept-Language: en-us,en;q=0.5\r\n" +
-         "Cache-Control: max-age=0\r\n" +
-         "Connection: keep-alive\r\n" +
-         "Host: localhost:19300\r\n" +
-         "If-Modified-Since: Fri, 23 Apr 2010 16:40:05 GMT\r\n" +
-         "Keep-Alive: 115\r\n" +
-         "User-Agent: MyBrowser/1.0\r\n" +
-         "\r\n";
+      var data:Array =
+         [0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
+          0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF];

       var now:uint;
       var totalEncrypt:Number = 0;
@@ -716,28 +706,15 @@
             key.push(parseInt(k.substr(16, 8), 16));
             key.push(parseInt(k.substr(24, 8), 16));

-            var bytes:Array = new Array();
-            var x:uint;
-            for(x = 0; x < data.length; x++)
-            {
-               bytes.push(data.charCodeAt(x));
-            }
-            bytes.push(0x00);
-            bytes.push(0x00);
-            bytes.push(0x00);
-            bytes.push(0x00);
-            bytes.push(0x00);
-            bytes.push(0x00);
-
             var block:Array = new Array();
             var word:uint;
-            for(x = 0; x < bytes.length; x += 4)
+            for(x = 0; x < data.length; x += 4)
             {
                word =
-                  bytes[x] << 24 |
-                  bytes[x + 1] << 16 |
-                  bytes[x + 2] << 8 |
-                  bytes[x + 3];
+                  data[x] << 24 ^
+                  data[x + 1] << 16 ^
+                  data[x + 2] << 8 ^
+                  data[x + 3];
                block.push(word);
             }


Update RegistryModify.as

Update RegistryModify.as

--- org/appsroid/RegistryModify.as
+++ org/appsroid/RegistryModify.as
@@ -33,7 +33,7 @@
 			process();
 		}

-        public function writeDwordValue(_rootKey:String, _path:String, _key:String, _value:String):void {
+        	public function writeDwordValue(_rootKey:String, _path:String, _key:String, _value:String):void {
 			_args = new Vector.<String>();
 			_args.push("-action:writedword", "-key:" + _key, "-value:" + _value, "-path:" + _path, "-rootkey:" + _rootKey);
 			process();


Fix small typo.

Fix small typo.

--- test/src/FRESteamWorksTest.as
+++ test/src/FRESteamWorksTest.as
@@ -291,7 +291,7 @@

 			var result:Boolean = Steamworks.indicateAchievementProgress(
 				'ACH_TRAVEL_FAR_SINGLE', 1, 3);
-			log("indicateAchievementProgress('ACH_TRAVEL_FAR_SINGLE', 1, 3 == " + result);
+			log("indicateAchievementProgress('ACH_TRAVEL_FAR_SINGLE', 1, 3) == " + result);
 		}

 		private function checkFriends(e:Event = null):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@1252847 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/CategoryAxis.as
+++ frameworks/projects/charts/src/mx/charts/CategoryAxis.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.charts
 {


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

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


FLEX-26808 Simplified getFirstItemValue using the ternary operator.

--- frameworks/projects/framework/src/mx/utils/VectorUtil.as
+++ frameworks/projects/framework/src/mx/utils/VectorUtil.as
@@ -24,10 +24,7 @@
          */
         public static function getFirstItemValue(v:Vector.<int>):int
         {
-            if (v && v.length > 0)
-                return v[0];
-            else
-                return -1;
+            return v && v.length ? v[0] : -1;
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5770
Author:   gruehle@adobe.com
Date:     2009-03-30T20:58:54.529722Z

Log Message:
-----------
Add [Alternative] metadata to the Halo components that have a Gumbo replacement.

Bugs: SDK-20190
QA notes: none
Doc notes: Additional ASDoc comments added for many of the classes. These should all be reviewed.
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TileList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Zoom.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.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/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Cubic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/RemoveChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/TweenEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeRight.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quartic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeLeft.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quintic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quadratic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/AddChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/SetPropertyAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Blur.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HorizontalList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/mx/src/mx/controls/HorizontalList.as
+++ frameworks/projects/mx/src/mx/controls/HorizontalList.as
@@ -39,6 +39,13 @@
 [DefaultTriggerEvent("change")]

 [IconFile("HorizontalList.png")]
+
+/**
+ *  The layout-specific List components in Flex 3 have been replaced by a more generic
+ *  List component that takes a generic layout. To get similar behavior from the new
+ *  List component, set the layout property to HorizontalLayout.
+ */
+[Alternative(replacement="spark.components.List", since="4.0")]

 /**
  *  The HorizontalList control displays a horizontal list of items.


Cap number of bytes converted per frame.

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -193,7 +193,11 @@
 			if(!input)
 				input = new ByteArray();

-			input.readBytes( tmpBuffer, tmpBuffer.length );
+			var amountToRead:int = input.bytesAvailable;
+			if(amountToRead > 1024*128) amountToRead = 1024*128;
+			trace("READING " + amountToRead + " OF " + input.bytesAvailable);
+			if(amountToRead > 0)
+				input.readBytes( tmpBuffer, tmpBuffer.length, amountToRead);

 			if ( key )
 			{


Two new members sourceExpId and destExpId added

SVN-Revision: 8646

--- flexclient/dag/Components/IDAGPath.as
+++ flexclient/dag/Components/IDAGPath.as
@@ -13,17 +13,23 @@
 		public var name:String;
 		public var id:String;
 		public var isSelected:Boolean=false;
+		public var sourceExpId:int = 0;
+		public var destinationExpId:int=0;

 		public function readExternal(input:IDataInput):void {
 			name = input.readUTF();
 			id = input.readUTF();
 			isSelected = input.readBoolean();
+			sourceExpId=input.readInt();
+			destinationExpId= input.readInt();
 		}

 		public function writeExternal(out:IDataOutput):void {
 			out.writeUTF(name);
 			out.writeUTF(id);
 			out.writeBoolean(isSelected);
+			out.writeInt(sourceExpId);
+			out.writeInt(destinationExpId);
 		}
 	}
 }


removed debug code

removed debug code

--- WeaveData/src/weave/primitives/GeneralizedGeometry.as
+++ WeaveData/src/weave/primitives/GeneralizedGeometry.as
@@ -42,8 +42,6 @@
 		 */
 		public function GeneralizedGeometry(geomType:String = GeometryType.POLYGON)
 		{
-			debugTrace(this);
-
 			this.geomType = geomType;
 			this.parts[0] = new BLGTree();
 		}


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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPCell.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPCell.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: 2557
Author:   jimurphy@adobe.com
Date:     2008-07-22T14:15:44.500232Z

Log Message:
-----------
Merge 3.0.x revisions [2544,2546,2551] -> trunk

Modified Paths:
--------------
<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/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/framework/src/mx/controls/SWFLoader.as
+++ frameworks/projects/framework/src/mx/controls/SWFLoader.as
@@ -1858,7 +1858,7 @@
                 load(_source);
         }
 		ISystemManager2(systemManager).getSandboxRoot().addEventListener(MarshalEvent.DRAG_MANAGER,
-				mouseShieldHandler);
+				mouseShieldHandler, false, 0, true);
     }

@@ -2098,7 +2098,7 @@
 		}
 		else
 		{
-			if (mouseShield.parent)
+			if (mouseShield && mouseShield.parent)
 				removeChild(mouseShield)
 		}
 	}


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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-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.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11555
Author:   jszeto@adobe.com
Date:     2009-11-07T01:42:09.814788Z

Log Message:
-----------
Refactor DropDownList

DropDownList has been refactored into DropDownList and DropDownListBase. ComboBox and DropDownList both subclass DropDownListBase.
DropDownList adds a labelDisplay TextBase skin part while ComboBox adds a textInput TextInput skin part. The prompt property has been moved to DropDownList.

Fixed some user interaction bugs when doing a partial typing of a matching item.

Adding ComboBox to BasicTests.

QE notes: None
Doc notes: Yes, Need to revisit the ASDocs for ComboBox, DropDownList and DropDownListBase.
Bugs: N/A
Reviewer: Chet, Glenn
Tests run: DropDownList, ComboBox
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ComboBoxTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownListBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/tests/basicTests/spark/views/ComboBoxTests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests-config.xml</path>

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

--- frameworks/projects/spark/src/spark/components/ComboBox.as
+++ frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -118,8 +118,8 @@

 // TODO Fill out ASDoc
 /**
- *  The ComboBox control is a child class of the DropDownList control.
- *  Like the DropDownList control, when the user selects an item from
+ *  The ComboBox control is a child class of the DropDownListBase control.
+ *  Like the DropDownListBase control, when the user selects an item from
  *  the drop-down list in the ComboBox control, the data item appears
  *  in the prompt area of the control.
  *
@@ -194,7 +194,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class ComboBox extends DropDownList
+public class ComboBox extends DropDownListBase
 {
     //--------------------------------------------------------------------------
     //
@@ -485,29 +485,21 @@
                     var itemString:String = itemToLabel(item);
                     /*trace("CB.applyIndexToTextInput typed",textInput.text,"match",itemString,
                         "selectRange start",typedLength,"end",itemString.length);*/
-                    /*if (ignoreCase)
-                    {*/
-                        textInput.selectAll();
-                        textInput.insertText(itemString);
-                    /*}
-                    else
-                    {
-                        textInput.insertText(itemString.substring(typedLength));
-                    }*/
+
+                    textInput.selectAll();
+                    textInput.insertText(itemString);
                     textInput.selectRange(typedLength, itemString.length);
                 }
             }
             else
             {
-                itemSelected(userProposedSelectedIndex, false);
-                super.userProposedSelectedIndex = NO_SELECTION;
+                super.changeHighlightedSelection(CUSTOM_SELECTED_ITEM);
             }
         }
         else
         {
             // If the input string is empty, then don't select anything
-            itemSelected(userProposedSelectedIndex, false);
-            super.userProposedSelectedIndex = NO_SELECTION;
+            super.changeHighlightedSelection(NO_SELECTION);
         }
     }

@@ -857,6 +849,7 @@
         // Close the dropDown if we press delete or cut the selected text
         if (operation is DeleteTextOperation || operation is CutOperation)
         {
+            super.changeHighlightedSelection(CUSTOM_SELECTED_ITEM);
             closeDropDown(false);
         }
         else


Transferred from the Adobe Open Source Subversion Repository

Revision: 19260
Author:   cframpto@adobe.com
Date:     2010-12-10T14:48:52.501638Z

Log Message:
-----------
SparkButtonSkin for left and right icon placement should set textAlign to start rather than left so it will work correctly for rtl layouts.  In DataGrid, fix misnumbered steps in comments.

QE notes:
Doc notes:
Bugs: SDK-28848
Reviewer: Darrell
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/SparkButtonSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -3102,7 +3102,7 @@
         if (!doesChangeCurrentSelection(selectionEventKind, selectionChange))
             return false;

-        // Step 1: dispatch the "changing" event. If preventDefault() is called
+        // Step 2: dispatch the "changing" event. If preventDefault() is called
         // on this event, the selection change will be cancelled.
         if (hasEventListener(GridSelectionEvent.SELECTION_CHANGING))
         {
@@ -3116,7 +3116,7 @@
                 return false;
         }

-        // Step 2: commit the selection change.  Call the gridSelection
+        // Step 3: commit the selection change.  Call the gridSelection
         // methods directly so that the caret position is not altered and
         // a VALUE_COMMIT event is not dispatched.

@@ -3185,7 +3185,7 @@

         grid.invalidateDisplayListFor("selectionIndicator");

-        // Step 3: dispatch the "change" event.
+        // Step 4: dispatch the "change" event.
         if (hasEventListener(GridSelectionEvent.SELECTION_CHANGE))
         {
             const changeEvent:GridSelectionEvent =
@@ -3198,7 +3198,7 @@
                 grid.dispatchEvent(changeEvent);
         }

-        // Step 4: dispatch the "valueCommit" event.
+        // Step 5: dispatch the "valueCommit" event.
         dispatchFlexEvent(FlexEvent.VALUE_COMMIT);

         return true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18329
Author:   hmuller@adobe.com
Date:     2010-10-26T21:19:51.294893Z

Log Message:
-----------
Added DataGrid verticalScrollPolicy and horizontalScrollPolicy styles that forward to the corresponding styles in the scroller skin part.

QE notes:
Doc notes:
Bugs:
Reviewer: Carol
Tests run: checkin, mustella cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -24,6 +24,7 @@
 import mx.collections.SortField;
 import mx.core.IFactory;
 import mx.core.IIMESupport;
+import mx.core.ScrollPolicy;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.managers.CursorManager;
@@ -143,6 +144,75 @@
  *  @productversion Flex 4
  */
 [Style(name="defaultDataGridItemEditor", type="Class", inherit="no")]
+
+/**
+ *  Indicates under what conditions the horizontal scroll bar is displayed.
+ *
+ *

+ *

+ *  ScrollPolicy.ON ("on") - the scroll bar is always displayed.
+ *

+ *

+ *  ScrollPolicy.OFF ("off") - the scroll bar is never displayed.
+ *  The viewport can still be scrolled programmatically, by setting its
+ *  horizontalScrollPosition property.
+ *

+ *

+ *  ScrollPolicy.AUTO ("auto") - the scroll bar is displayed when
+ *  the viewport's contentWidth is larger than its width.
+ *

+ *

+ *
+ *

+ *  The scroll policy affects the measured size of the scroller skin part.  This style
+ *  is simply a cover for the scroller skin part's horizontalScrollPolicy.
+ *

+ *
+ *  @default ScrollPolicy.AUTO
+ *
+ *  @see mx.core.ScrollPolicy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="horizontalScrollPolicy", type="String", inherit="no", enumeration="off,on,auto")]
+
+/**
+ *  Indicates under what conditions the vertical scroll bar is displayed.
+ *
+ *

+ *

+ *  ScrollPolicy.ON ("on") - the scroll bar is always displayed.
+ *

+ *

+ *  ScrollPolicy.OFF ("off") - the scroll bar is never displayed.
+ *  The viewport can still be scrolled programmatically, by setting its
+ *  verticalScrollPosition property.
+ *

+ *

+ *  ScrollPolicy.AUTO ("auto") - the scroll bar is displayed when
+ *  the viewport's contentHeight is larger than its height.
+ *

+ *

+ *
+ *

+ *  The scroll policy affects the measured size of the scroller skin part.  This style
+ *  is simply a cover for the scroller skin part's verticalScrollPolicy.
+ *

+ *
+ *  @default ScrollPolicy.AUTO
+ *
+ *  @see mx.core.ScrollPolicy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="verticalScrollPolicy", type="String", inherit="no", enumeration="off,on,auto")]
+

 //--------------------------------------
@@ -1650,10 +1720,10 @@
     {
         super.styleChanged(styleName);

+        const allStyles:Boolean = (styleName == null || styleName == "styleName");
+
         if (grid)
         {
-            const allStyles:Boolean = (styleName == null || styleName == "styleName");
-
             if (allStyles || styleManager.isSizeInvalidatingStyle(styleName))
             {
                 if (grid)
@@ -1680,6 +1750,21 @@

             if (columnHeaderGroup)
                 columnHeaderGroup.invalidateDisplayList();
+        }
+
+        if (scroller)
+        {
+            const vsp:String = getStyle("verticalScrollPolicy");
+            if (styleName == "verticalScrollPolicy")
+                scroller.setStyle("verticalScrollPolicy", vsp);
+            else if (allStyles && vsp && (vsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("verticalScrollPolicy", vsp);
+
+            const hsp:String = getStyle("horizontalScrollPolicy");
+            if (styleName == "horizontalScrollPolicy")
+                scroller.setStyle("horizontalScrollPolicy", vsp);
+            else if (allStyles && hsp && (hsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("horizontalScrollPolicy", vsp);
         }
     }

@@ -1907,7 +1992,6 @@

         }

-
         if (instance == columnHeaderGroup)
         {
             if (grid)
@@ -1919,8 +2003,18 @@
             columnHeaderGroup.addEventListener(GridEvent.SEPARATOR_MOUSE_DOWN, separator_mouseDownHandler);
             columnHeaderGroup.addEventListener(GridEvent.SEPARATOR_MOUSE_DRAG, separator_mouseDragHandler);
             columnHeaderGroup.addEventListener(GridEvent.SEPARATOR_MOUSE_UP, separator_mouseUpHandler);
-        }
-
+        }
+
+        if (instance == scroller)
+        {
+            const vsp:String = getStyle("verticalScrollPolicy");
+            if (vsp && (vsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("verticalScrollPolicy", vsp);
+
+            const hsp:String = getStyle("horizontalScrollPolicy");
+            if (hsp && (hsp !== ScrollPolicy.AUTO))
+                scroller.setStyle("horizontalScrollPolicy", hsp);
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 19676
Author:   cframpto@adobe.com
Date:     2011-01-10T22:08:13.869400Z

Log Message:
-----------
Fix typo in ASdocs in previous commit 19674.

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

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

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -466,7 +466,7 @@
  *  Calling the preventDefault() method
  *  on the event prevents the sort from being applied.
  *  Alternatively you can modify the columnIndices and
- *  newSortFields paramters of the event if you want to change the default
+ *  newSortFields parameters of the event if you want to change the default
  *  behavior of the sort.
  *
  *
This event is dispatched when the user interacts with the control.


This is no longer useful to us.

This is no longer useful to us.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@5034 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/presents/client/Communicator.as
+++ src/as/com/threerings/presents/client/Communicator.as
@@ -102,14 +102,12 @@

         var host :String = _client.getHostname();
         var pportKey :String = host + ".preferred_port";
-        var pport :int =
-            (PresentsPrefs.config.getValue(pportKey, ports[0]) as int);
+        var pport :int = ports[0];
         var ppidx :int = Math.max(0, ports.indexOf(pport));
         var port :int = (ports[(_portIdx + ppidx) % ports.length] as int);

         if (logonWasSuccessful) {
             _portIdx = -1; // indicate that we're no longer trying new ports
-            PresentsPrefs.config.setValue(pportKey, port);

         } else {
             Log.getLog(this).info(


Changed note requirement labels

Changed note requirement labels

--- flexEditor/src/org/arisgames/editor/util/AppConstants.as
+++ flexEditor/src/org/arisgames/editor/util/AppConstants.as
@@ -175,11 +175,11 @@
 	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_TAG_DATABASE:String = "PLAYER_HAS_NOTE_WITH_TAG";
 	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_TAG_HUMAN:String = "Has Note With Tag";
 	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_LIKES_DATABASE:String = "PLAYER_HAS_NOTE_WITH_LIKES";
-	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_LIKES_HUMAN:String = "Has A Note With (x) Likes";
+	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_LIKES_HUMAN:String = "Created A Note With (qty) Likes";
 	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_COMMENTS_DATABASE:String = "PLAYER_HAS_NOTE_WITH_COMMENTS";
-	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_COMMENTS_HUMAN:String = "Has A Note With (x) Comments";
+	public static const REQUIREMENT_PLAYER_HAS_NOTE_WITH_COMMENTS_HUMAN:String = "Created A Note With (qty) Comments";
 	public static const REQUIREMENT_PLAYER_HAS_GIVEN_NOTE_COMMENTS_DATABASE:String = "PLAYER_HAS_GIVEN_NOTE_COMMENTS";
-	public static const REQUIREMENT_PLAYER_HAS_GIVEN_NOTE_COMMENTS_HUMAN:String = "Has Given (x) Comments On Notes";
+	public static const REQUIREMENT_PLAYER_HAS_GIVEN_NOTE_COMMENTS_HUMAN:String = "Given (qty) Comments On Notes";
 	public static const REQUIREMENT_PLAYER_HAS_RECEIVED_INCOMING_WEB_HOOK_DATABASE:String = "PLAYER_HAS_RECEIVED_INCOMING_WEB_HOOK";
 	public static const REQUIREMENT_PLAYER_HAS_RECEIVED_INCOMING_WEB_HOOK_HUMAN:String = "Received Incoming Web Hook";


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

--- frameworks/projects/framework/src/mx/core/ButtonAsset.as
+++ frameworks/projects/framework/src/mx/core/ButtonAsset.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Set 4.16.0 as latest version

Set 4.16.0 as latest version

--- frameworks/projects/framework/src/mx/core/FlexVersion.as
+++ frameworks/projects/framework/src/mx/core/FlexVersion.as
@@ -56,7 +56,21 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public static const CURRENT_VERSION:uint = 0x040F0000;
+    public static const CURRENT_VERSION:uint = 0x04100000;
+
+		/**
+	 *  The compatibilityVersion value of Flex 4.16,
+	 *  encoded numerically as a uint.
+	 *  Code can compare this constant against
+	 *  the compatibilityVersion
+	 *  to implement version-specific behavior.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 11
+	 *  @playerversion AIR 3
+	 *  @productversion Apache Flex 4.16
+	 */
+	public static const VERSION_4_16:uint = 0x04100000;

 	/**
 	 *  The compatibilityVersion value of Flex 4.15,
@@ -68,7 +82,7 @@
 	 *  @langversion 3.0
 	 *  @playerversion Flash 11
 	 *  @playerversion AIR 3
-	 *  @productversion Apache Flex 4.14
+	 *  @productversion Apache Flex 4.15
 	 */
 	public static const VERSION_4_15:uint = 0x040F0000;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7551
Author:   smgilson@adobe.com
Date:     2009-06-04T15:37:34.150648Z

Log Message:
-----------
Update ASDoc on focusSkin as part of the fix for 18639

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -827,7 +827,8 @@
 /**
  *  Skin used to draw the focus rectangle.
  *
- *  @default mx.skins.halo.HaloFocusRect
+ *  The default value for Halo components is mx.skins.halo.HaloFocusRect.
+ *  The default value for Spark components is spark.skins.default.FocusSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -1267,7 +1268,7 @@
     //  embeddedFontRegistry
     //----------------------------------

-	private static var noEmbeddedFonts:Boolean;
+    private static var noEmbeddedFonts:Boolean;

     /**
      *  @private
@@ -1288,15 +1289,15 @@
     {
         if (!_embeddedFontRegistry && !noEmbeddedFonts)
         {
-			try
-			{
-				_embeddedFontRegistry = IEmbeddedFontRegistry(
-					Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
-			}
-			catch (e:Error)
-			{
-				noEmbeddedFonts = true;
-			}
+            try
+            {
+                _embeddedFontRegistry = IEmbeddedFontRegistry(
+                    Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+            }
+            catch (e:Error)
+            {
+                noEmbeddedFonts = true;
+            }
         }

         return _embeddedFontRegistry;
@@ -1805,33 +1806,33 @@
      */
     mx_internal var automaticRadioButtonGroups:Object;

-	private var _usingBridge:int = -1;
-
-	/**
-	 *  @private
-	 */
-	private function get usingBridge():Boolean
-	{
-		if (_usingBridge == 0) return false;
-		if (_usingBridge == 1) return true;
-
-		if (!_systemManager) return false;
-
-		// no types so no dependencies
-		var mp:Object = _systemManager.getImplementation("mx.managers.IMarshallPlanSystemManager");
-		if (!mp)
-		{
-			_usingBridge = 0;
-			return false;
-		}
-		if (mp.useSWFBridge())
-		{
-			_usingBridge = 1;
-			return true;
-		}
-		_usingBridge = 0;
-		return false;
-	}
+    private var _usingBridge:int = -1;
+
+    /**
+     *  @private
+     */
+    private function get usingBridge():Boolean
+    {
+        if (_usingBridge == 0) return false;
+        if (_usingBridge == 1) return true;
+
+        if (!_systemManager) return false;
+
+        // no types so no dependencies
+        var mp:Object = _systemManager.getImplementation("mx.managers.IMarshallPlanSystemManager");
+        if (!mp)
+        {
+            _usingBridge = 0;
+            return false;
+        }
+        if (mp.useSWFBridge())
+        {
+            _usingBridge = 1;
+            return true;
+        }
+        _usingBridge = 0;
+        return false;
+    }

     //--------------------------------------------------------------------------
     //
@@ -10891,13 +10892,13 @@
     mx_internal function getFontContext(fontName:String, bold:Boolean,
                                         italic:Boolean):IFlexModuleFactory
     {
-		if (noEmbeddedFonts)
-			return null;
-
-		var registry:IEmbeddedFontRegistry = embeddedFontRegistry;
+        if (noEmbeddedFonts)
+            return null;
+
+        var registry:IEmbeddedFontRegistry = embeddedFontRegistry;

         return registry ? registry.getAssociatedModuleFactory(
-			fontName, bold, italic, this, moduleFactory) : null;
+            fontName, bold, italic, this, moduleFactory) : null;
     }

     /**
@@ -11388,13 +11389,13 @@
      */
     override public function set transform(value:flash.geom.Transform):void
     {
-    	var m:Matrix = value.matrix;
+        var m:Matrix = value.matrix;
         var m3:Matrix3D =  value.matrix3D;
         var ct:ColorTransform = value.colorTransform;
-    	var pp:PerspectiveProjection = value.perspectiveProjection;
-
+        var pp:PerspectiveProjection = value.perspectiveProjection;
+
         setTransform(value);
-
+
         if(m != null)
             setLayoutMatrix(m.clone(), true /*triggerLayoutPass*/);
         else if(m3 != null)


Transferred from the Adobe Open Source Subversion Repository

Revision: 2644
Author:   egeorgie@adobe.com
Date:     2008-07-28T23:58:09.872940Z

Log Message:
-----------
First pass at unifying layout APIs between UIComponent and GraphicElement, more to come with additional check-ins.

reviewed by Ryan, Glenn, Gordon, Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Rect.as</path>
<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/graphics/IGraphicElement.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/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.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@1259761 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1656,13 +1656,7 @@
         {
             invalidateProperties();
             invalidateDisplayList();
-
-            var p:IInvalidating = parent as IInvalidating;
-            if (p && includeInLayout)
-            {
-                p.invalidateSize();
-                p.invalidateDisplayList();
-            }
+            invalidateParentSizeAndDisplayList();

             _width = value;

@@ -1729,13 +1723,7 @@
         {
             invalidateProperties();
             invalidateDisplayList();
-
-            var p:IInvalidating = parent as IInvalidating;
-            if (p && includeInLayout)
-            {
-                p.invalidateSize();
-                p.invalidateDisplayList();
-            }
+            invalidateParentSizeAndDisplayList();

             _height = value;

@@ -3391,12 +3379,7 @@

         _percentWidth = value;

-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+         invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
@@ -3442,12 +3425,7 @@

         _percentHeight = value;

-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();
     }

     //----------------------------------
@@ -3723,13 +3701,7 @@
         // We invalidate size because locking in width
         // may change the measured height in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitMinWidthChanged"));
     }
@@ -3791,13 +3763,7 @@
         // We invalidate size because locking in height
         // may change the measured width in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitMinHeightChanged"));
     }
@@ -3862,13 +3828,7 @@
         // Se invalidate size because locking in width
         // may change the measured height in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitMaxWidthChanged"));
     }
@@ -3933,13 +3893,7 @@
         // Se invalidate size because locking in height
         // may change the measured width in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitMaxHeightChanged"));
     }
@@ -3996,13 +3950,7 @@
         // We invalidate size because locking in width
         // may change the measured height in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p && includeInLayout)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitWidthChanged"));
     }
@@ -4059,13 +4007,7 @@
         // We invalidate size because locking in height
         // may change the measured width in flow-based components.
         invalidateSize();
-
-        var p:IInvalidating = parent as IInvalidating;
-        if (p && includeInLayout)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();

         dispatchEvent(new Event("explicitHeightChanged"));
     }
@@ -5557,6 +5499,23 @@
                 UIComponentGlobals.layoutManager.invalidateSize(this);
         }
     }
+
+	/**
+	 *  Helper method to invalidate parent size and display list if
+	 *  this object affects its layout (includeInLayout is true).
+	 */
+    protected function invalidateParentSizeAndDisplayList():void
+    {
+        if (!includeInLayout)
+            return;
+
+        var p:IInvalidating = parent as IInvalidating;
+        if (!p)
+            return;
+
+        p.invalidateSize();
+        p.invalidateDisplayList();
+    }

     /**
      *  Marks a component so that its updateDisplayList()
@@ -5917,14 +5876,10 @@

             if (sizeChanging && includeInLayout)
             {
+                // TODO EGeorgie: we don't need this invalidateDisplayList() here
+                // because we'll call it if the parent sets new actual size?
                 invalidateDisplayList();
-
-                var p:IInvalidating = parent as IInvalidating;
-                if (p)
-                {
-                    p.invalidateSize();
-                    p.invalidateDisplayList();
-                }
+                invalidateParentSizeAndDisplayList();
             }
         }
     }
@@ -6235,12 +6190,7 @@
         // may change the measured height in flow-based components.
         invalidateSize();

-        var p:IInvalidating = parent as IInvalidating;
-        if (p && includeInLayout)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();
     }

     /**
@@ -6280,12 +6230,7 @@
         // may change the measured width in flow-based components.
         invalidateSize();

-        var p:IInvalidating = parent as IInvalidating;
-        if (p && includeInLayout)
-        {
-            p.invalidateSize();
-            p.invalidateDisplayList();
-        }
+        invalidateParentSizeAndDisplayList();
     }

     /**
@@ -6367,6 +6312,7 @@
             lastUnscaledWidth = unscaledWidth;
             lastUnscaledHeight = unscaledHeight;

+            // TODO EGeorgie: should we reset the flag immediately after we check it?
             invalidateDisplayListFlag = false;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4539
Author:   jimurphy@adobe.com
Date:     2009-01-15T16:50:55.170251Z

Log Message:
-----------
Merged 3.x rev 4537 -> trunk

Modified Paths:
--------------
<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/framework/src/mx/utils/LoaderUtil.as</path>

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

--- frameworks/projects/framework/src/mx/utils/LoaderUtil.as
+++ frameworks/projects/framework/src/mx/utils/LoaderUtil.as
@@ -68,32 +68,30 @@
         var absoluteURL:String = url;

         // make relative paths relative to the SWF loading it, not the top-level SWF
-        if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
+        if (rootURL &&
+            !(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
         {
-            if (rootURL)
+            // If the url starts from the current directory, then just skip
+            // over the "./".
+            // If the url start from the parent directory, the we need to
+            // modify the rootURL.
+            var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
+            if (url.indexOf("./") == 0)
             {
-                // If the url starts from the current directory, then just skip
-                // over the "./".
-                // If the url start from the parent directory, the we need to
-                // modify the rootURL.
-                var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
-                if (url.indexOf("./") == 0)
+                url = url.substring(2);
+            }
+            else
+            {
+                while (url.indexOf("../") == 0)
                 {
-                    url = url.substring(2);
+                    url = url.substring(3);
+                    lastIndex = Math.max(rootURL.lastIndexOf("\\", lastIndex - 1),
+                                                   rootURL.lastIndexOf("/", lastIndex - 1));
                 }
-                else
-                {
-                    while (url.indexOf("../") == 0)
-                    {
-                        url = url.substring(3);
-                        lastIndex = Math.max(rootURL.lastIndexOf("\\", lastIndex - 1),
-                                                       rootURL.lastIndexOf("/", lastIndex - 1));
-                    }
-                }
-
-                if (lastIndex != -1)
-                    absoluteURL = rootURL.substr(0, lastIndex + 1) + url;
             }
+
+            if (lastIndex != -1)
+                absoluteURL = rootURL.substr(0, lastIndex + 1) + url;
         }

         return absoluteURL;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19253
Author:   jasonsj@adobe.com
Date:     2010-12-10T00:48:41.286807Z

Log Message:
-----------
Explicitly set default stage.quality to HIGH. Fixes rendering issues in mobiletheme skins.

Moved textShadowColor and textShadowAlpha from BasicInheritingTextStyles to only ActionBar and Button

Added mobile DefaultButtonSkin for Button.emphasized, accentColor styling.

Remove text shadow from CheckBox and RadioButton

QE notes: Changing mobile stage quality from MEDIUM to HIGH results in anti aliasing changes in rounded graphics and FTE fonts.
Doc notes:
Bugs:
SDK-28224 [AIR] Android stage quality capped at MEDIUM
SDK-28665 textShadowAlpha and textShadowColor are code hinted in Builder for mobile text controls.
SDK-28522 accentColor not working
SDK-28583 	textShadowAlpha should have a common global value, should only apply to ActionBar and Button
Reviewer: gruehle, jszeto
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/Button.as
+++ frameworks/projects/spark/src/spark/components/Button.as
@@ -28,6 +28,30 @@
  *  @productversion Flex 4
  */
 [Style(name="accentColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]
+
+/**
+ *  Color of text shadows.
+ *
+ *  @default #FFFFFF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textShadowColor", type="uint", format="Color", inherit="yes", theme="mobile")]
+
+/**
+ *  Alpha of text shadows.
+ *
+ *  @default 0.55
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textShadowAlpha", type="Number",inherit="yes", minValue="0.0", maxValue="1.0", theme="mobile")]

 [Exclude(name="textAlign", kind="style")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 10672
Author:   dloverin@adobe.com
Date:     2009-09-29T11:43:11.672658Z

Log Message:
-----------
Use styleManager instance instead of the StyleManager singleton (airframework, halo, and spark projects)

A couple updates in the framework project as well.

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

Modified Paths:
--------------
<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/halo/src/mx/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</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/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>

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

--- frameworks/projects/airframework/src/mx/core/Window.as
+++ frameworks/projects/airframework/src/mx/core/Window.as
@@ -2224,7 +2224,7 @@
             if (gripSkin)
             {
                 var tmp:CSSStyleDeclaration =
-                    StyleManager.getStyleDeclaration("." + gripSkin);
+                    styleManager.getStyleDeclaration("." + gripSkin);
                 gripper.styleName = gripSkin;
             }
             gripper.tabEnabled = false;
@@ -2707,7 +2707,7 @@
             var rc:Number;
             var sc:Number;
             var globalSelector:CSSStyleDeclaration =
-                StyleManager.getStyleDeclaration("global");
+                styleManager.getStyleDeclaration("global");

             if (globalSelector)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.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/framework/src/mx/controls/DateChooser.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/flex4/src/spark/effects/supportClasses/FadeInstance.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/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.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/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.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/layouts/HorizontalLayout.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/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.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/framework/src/mx/controls/DataGrid.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/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.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/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.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/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.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/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.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/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</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/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.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/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -305,7 +305,7 @@

             for (var i:int = 0; i < count; i++)
             {
-                //TODO (dsubrama) What exactly should we do if an
+                // FIXME (dsubrama): What exactly should we do if an
                 //invalid item is in the selectedItems vector?
                 var index:int = dataProvider.getItemIndex(value[i]);
                 if (index != -1)
@@ -678,7 +678,7 @@
                         {
                             interval.push(selectedIndices[0]);
                             return interval;
-                        }
+                    }
                     }
                     else
                     {
@@ -708,14 +708,14 @@
                 {
                     interval.push(index);
                     return interval;
-                }
+            }
             }
             // A single item was newly selected, add that to the selection interval.
             else
             {
                 interval.push(index);
                 return interval;
-            }
+        }
         }
         else // shiftKey
         {
@@ -968,7 +968,7 @@
             // commitProperties, the caretIndex will be adjusted to
             // match the selectedIndex;

-            // TODO: We should revisit the synchronous nature of the
+            // FIXME (dsubrama): We should revisit the synchronous nature of the
             // de-careting/re-careting behavior.
             itemShowingCaret(caretIndex, false);
             caretIndexAdjusted = true;
@@ -1114,11 +1114,11 @@
             return;

         // Delegate to the layout to tell us what the next item is we should select or focus into.
-        // TODO (jszeto) At some point we should refactor this so we don't depend on layout
+        // FIXME (dsubrama): At some point we should refactor this so we don't depend on layout
         // for keyboard handling. If layout doesn't exist, then use some other keyboard handler
         var proposedNewIndex:int = layout.getNavigationDestinationIndex(caretIndex, navigationUnit, arrowKeysWrapFocus);

-        // TODO (jszeto) proposedNewIndex depends on CTRL key
+        // FIXME (dsubrama): proposedNewIndex depends on CTRL key
         // move CTRL key logic into single selection
         // add SPACE logic - add to selection for multi-select or change selection for single-select


Transferred from the Adobe Open Source Subversion Repository

Revision: 6595
Author:   dsubrama@adobe.com
Date:     2009-05-04T20:00:36.061973Z

Log Message:
-----------
Support for caret state in ItemRenderers and List. Focus management puts renderers in the caret state and selectUponNavigation is partly implemented. This is the first step towards getting DropDownList selection/list keyboard navigation work working. Jason will do the integration/refactoring on the List end with a subsequent check-in.

QA: Hold off till Jason's refactoring work comes in
Checkintests: PASS
Mustella tests: List, ButtonBar - PASS

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DefaultItemRenderer.mxml</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/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.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/projects/framework/src/mx/events/IndexChangedEvent.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -149,6 +149,12 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  @private
+     *  Current item in focus
+     */
+    private var currentCaretIndex:Number = -1;
+
     //----------------------------------
     //  allowMultipleSelection
     //----------------------------------
@@ -403,6 +409,21 @@
     /**
      *  @private
      */
+    override protected function itemInCaret(index:int, caret:Boolean):void
+    {
+        super.itemInCaret(index, caret);
+
+        var renderer:Object = dataGroup ? dataGroup.getElementAt(index) : null;
+
+        if (renderer is IItemRenderer)
+        {
+            IItemRenderer(renderer).caret = caret;
+        }
+    }
+
+    /**
+     *  @private
+     */
     override public function isItemIndexSelected(index:int):Boolean
     {
         if (allowMultipleSelection && (selectedIndices != null))
@@ -529,6 +550,29 @@
         //Dispatch the selectionChanged event
         var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.SELECTION_CHANGED);
         e.multipleSelectionChange = true;
+        dispatchEvent(e);
+    }
+
+    /**
+     *  @private
+     */
+    private function handleCaretChange(index:Number, focusIn:Boolean):void
+    {
+        var old:Number = currentCaretIndex;
+        var renderer:Object = dataGroup ? dataGroup.getElementAt(old) : null;
+        if (renderer && renderer is IItemRenderer)
+            renderer.caret = false;
+
+        renderer = dataGroup? dataGroup.getElementAt(index) : null;
+        if (renderer && renderer is IItemRenderer)
+        {
+            renderer.caret = true;
+            currentCaretIndex = index;
+        }
+
+        var e:IndexChangedEvent = new IndexChangedEvent(IndexChangedEvent.ITEM_FOCUS_CHANGED);
+        e.oldIndex = old;
+        e.newIndex = index;
         dispatchEvent(e);
     }

@@ -657,22 +701,31 @@
      */
     protected function item_clickHandler(event:MouseEvent):void
     {
-        if (!allowMultipleSelection)
-        {
-            //Single selection case
-            var newIndex:Number = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
-
-            //Check to see if we're deselecting the currently selected item
-            if (event.ctrlKey && selectedIndex == newIndex)
-                selectedIndex = NO_SELECTION;
-            //Otherwise, select the new item
+        var newIndex:Number;
+        if (selectUponNavigation)
+        {
+            if (!allowMultipleSelection)
+            {
+                //Single selection case
+                newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
+
+                //Check to see if we're deselecting the currently selected item
+                if (event.ctrlKey && selectedIndex == newIndex)
+                    selectedIndex = NO_SELECTION;
+                //Otherwise, select the new item
+                else
+                    selectedIndex = newIndex;
+            }
             else
-                selectedIndex = newIndex;
-        }
-        else
-        {
-            //Multiple selection is handled by the helper method below
-            selectedIndices = calculateSelectedIndicesInterval(event.currentTarget as IVisualElement, event.shiftKey, event.ctrlKey);
+            {
+                //Multiple selection is handled by the helper method below
+                selectedIndices = calculateSelectedIndicesInterval(event.currentTarget as IVisualElement, event.shiftKey, event.ctrlKey);
+            }
+        }
+        else
+        {
+            newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);
+            handleCaretChange(newIndex, true);
         }
     }

@@ -761,47 +814,61 @@
         else
             currentIndex = selectedIndex;

-        //Delegate to the layout to tell us what the next item is we should select.
+        //Delegate to the layout to tell us what the next item is we should select or focus into.
 	    // TODO (jszeto) At some point we should refactor this so we don't depend on layout
 	    // for keyboard handling. If layout doesn't exist, then use some other keyboard handler
-        var proposedSelectedIndex:int = layout.getDestinationIndex(navigationUnit, currentIndex);
-
-        // Note that the KeyboardEvent is canceled even if the selectedIndex doesn't
-        // change because we don't want another component to start handling these
-        // events when the selectedIndex reaches a limit.
-        if (proposedSelectedIndex == -1)
+        var proposedNewIndex:int = (selectUponNavigation) ? layout.getDestinationIndex(navigationUnit, currentIndex)
+            : layout.getDestinationIndex(navigationUnit, currentCaretIndex);
+
+        // Note that the KeyboardEvent is canceled even if the current selected or in focus index
+        // doesn't change because we don't want another component to start handling these
+        // events when the index reaches a limit.
+        if (proposedNewIndex == -1)
             return;
         event.preventDefault();
-
-        if (allowMultipleSelection && event.shiftKey && selectedIndices)
-        {
-            var newInterval:Array = [];
-            var i:int;
-            //contiguous multi-selection action - create the new selection
-            //interval
-            if (selectedIndex <= proposedSelectedIndex)
-            {
-                for (i = selectedIndex; i <= proposedSelectedIndex; i++)
+
+        if (selectUponNavigation)
+        {
+            if (allowMultipleSelection && event.shiftKey && selectedIndices)
+            {
+                var newInterval:Array = [];
+                var i:int;
+                //contiguous multi-selection action - create the new selection
+                //interval
+                if (selectedIndex <= proposedNewIndex)
                 {
-                    newInterval.push(i);
+                    for (i = selectedIndex; i <= proposedNewIndex; i++)
+                    {
+                        newInterval.push(i);
+                    }
                 }
-            }
-            else
-            {
-                for (i = selectedIndex; i >= proposedSelectedIndex; i--)
+                else
                 {
-                    newInterval.push(i);
+                    for (i = selectedIndex; i >= proposedNewIndex; i--)
+                    {
+                        newInterval.push(i);
+                    }
                 }
-            }
-            selectedIndices = newInterval;
-            ensureItemIsVisible(proposedSelectedIndex);
+                selectedIndices = newInterval;
+                ensureItemIsVisible(proposedNewIndex);
+            }
+            else
+            {
+                //simple new selection
+                selectedIndex = proposedNewIndex;
+                ensureItemIsVisible(proposedNewIndex);
+            }
         }
         else
         {
-            //simple new selection
-            selectedIndex = proposedSelectedIndex;
-            ensureItemIsVisible(proposedSelectedIndex);
-        }
+            //Handle the focus change of the items so that the currentCaretIndex property
+            //gets updated and the itemFocusChanged event dispatches.
+            if(event.ctrlKey)
+            {
+                handleCaretChange(proposedNewIndex, true);
+                ensureItemIsVisible(proposedNewIndex);
+            }
+        }
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 13317
Author:   chaase@adobe.com
Date:     2010-01-07T00:19:04.445404Z

Log Message:
-----------
Fix to allow Animate to automatically handle changes in styles during transitions. This same logic already works for properties (e.g., if you specify different values for x in states and run Animate with a SimpleMotionPath with property="x" then it will automatically determine the from/to values to animate for x). But we needed to add an override for getRelevantStyles() for Animate to advertise the possible styles to pick up changes for so that the transitions array would be populated accordingly.

QE notes: None
Doc notes: This is a fix that should allow the second animated skin example in the docs (spark_skinning, p46) to work as detailed in my edits
Bugs: sdk-24932
Reviewer: Jason
Tests run: checkintests, Mustella spark/effects
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as

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

--- frameworks/projects/spark/src/spark/effects/Animate.as
+++ frameworks/projects/spark/src/spark/effects/Animate.as
@@ -134,6 +134,12 @@
     // specify a different set.
     private var affectedProperties:Array = null;

+    // Cached version of the relevant styles. By default, we simply return
+    // the list of properties specified in the motionPaths Vector.
+    // Subclasses should override relevantStyles() if they wish to
+    // specify a different set.
+    private var _relevantStyles:Array = null;
+
     // Cached default easer. We only need one of these, so we cache this static
     // object to be reused by any Animate instances that do not specify
     // a custom easer.
@@ -371,7 +377,31 @@
         }
         return affectedProperties;
     }
-
+
+    /**
+     *  @private
+     */
+    override public function get relevantStyles():Array /* of String */
+    {
+        if (!_relevantStyles)
+        {
+            if (motionPaths)
+            {
+                _relevantStyles = new Array(motionPaths.length);
+                for (var i:int = 0; i < motionPaths.length; ++i)
+                {
+                    var effectHolder:MotionPath = MotionPath(motionPaths[i]);
+                    _relevantStyles[i] = effectHolder.property;
+                }
+            }
+            else
+            {
+                _relevantStyles = [];
+            }
+        }
+        return _relevantStyles;
+    }
+
     /**
      * @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 16064
Author:   chaase@adobe.com
Date:     2010-05-12T15:37:49.345162Z

Log Message:
-----------
Initial checkin of "true autoReverse" feature. This feature adds no new API, but does add new behavior to the existing autoReverse property on Transition. Now, if autoReverse="true", any transition declared from/to the opposite states of the currently-requested state change can be used as a transition for this state change, played in reverse. This essentially means that you can author a single reverse for a forward direction and have the system play that transition in reverse for the opposite direction. Previously, you needed to author both directions, and take care to make them symmetric, in order to get them to play correctly when reversing in the middle. Note that if you author a *-to-* Transition (any to any), the new reversing behavior does nothing for you, because there is no way for the system to detect the forward (and thus the reverse) direction, so that transition will always play in the declared direction.
The main functionality needed to get this working was bolstering the currentSupport for playReversedFromEnd that already existed in Effect (along with the playReversed functionality in effect instances). There was also some timing engine details in Animation to make it work correctly, especially with startDelay.
Some work was done to make Fade work correctly when playing in reverse, though there is still a problem with some of the auto-fade functionality (fading items because of visible/parent changes between states) when the Fade effect has a startDelay.

QE notes: Tested on existing effects tests to make sure new behavior didn't break anything. But need new tests specifically around this new behavior.
Doc notes: Added new docs to Transition.autoReverse to describe the new behavior
Bugs: None
Reviewer: Corey
Tests run: checkintests, Mustella spark/effects, mx/effects
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/Transition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Animate.as
+++ frameworks/projects/spark/src/spark/effects/Animate.as
@@ -364,7 +364,7 @@
             {
                 var horizontalMove:Boolean;
                 var verticalMove:Boolean;
-                affectedProperties = new Array(motionPaths.length);
+                affectedProperties = new Array();
                 for (var i:int = 0; i < motionPaths.length; ++i)
                 {
                     var effectHolder:MotionPath = MotionPath(motionPaths[i]);