XIFF-94: Recommended Order of Stream Feature Negotiation

git-svn-id: c197267f952b24206666de142881703007ca05d5@13218 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -120,19 +120,15 @@
 		public static const STREAM_TYPE_FLASH_TERMINATED:uint = 3;

 		/**
-		 * @private
-		 *
 		 * The types of SASL mechanisms available.
+		 *
+		 *
By default, only Anonymous and DigestMD5 are enabled.

 		 * @see org.igniterealtime.xiff.auth.Anonymous
 		 * @see org.igniterealtime.xiff.auth.DigestMD5
-		 * @see org.igniterealtime.xiff.auth.External
-		 * @see org.igniterealtime.xiff.auth.Plain
-		 */
-		protected static const SASL_MECHANISMS:Object = {
+		 */
+		protected const saslMechanisms:Object = {
 			"ANONYMOUS": Anonymous,
-			"DIGEST-MD5": DigestMD5,
-			"EXTERNAL": External,
-			"PLAIN": Plain
+			"DIGEST-MD5": DigestMD5
 		};

 		/**
@@ -151,7 +147,6 @@
 		protected var openingStreamTag:String;

 		/**
-		 * @private
 		 * Depending of the STREAM_TYPE_* used in the connect() method,
 		 * this variable will contain a matching closing element for it.
 		 * parseDataReceived() method will use this value.
@@ -371,29 +366,24 @@
 		}

 		/**
-		 * Remove a SASL mechanism.
-		 *
-		 * TODO: Combine to extension disabling..
-		 *
-		 *
-		 * @param	name
-		 */
-		public static function disableSASLMechanism( name:String ):void
-		{
-			SASL_MECHANISMS[ name ] = null;
-		}
-
-		/**
-		 * Add a SASL mechanism.
-		 *
-		 * TODO: Combine to extension enabling..
+		 * Add a SASL mechanism available for this connection
 		 *
 		 * @param	name
 		 * @param	authClass
 		 */
-		public static function registerSASLMechanism( name:String, authClass:Class ):void
-		{
-			SASL_MECHANISMS[ name ] = authClass;
+		public function enableSASLMechanism( name:String, authClass:Class ):void
+		{
+			saslMechanisms[ name.toUpperCase() ] = authClass;
+		}
+
+		/**
+		 * Remove a SASL mechanism from this connection
+		 *
+		 * @param	name
+		 */
+		public function disableSASLMechanism( name:String ):void
+		{
+			saslMechanisms[ name.toUpperCase() ] = null;
 		}

 		/**
@@ -684,11 +674,10 @@
 		}

 		/**
-		 * @private
-		 * Use the authentication which is first in the list (SASL_MECHANISMS) if possible.
+		 * Use the authentication which is first in the list (saslMechanisms) if possible.
 		 *
 		 * @param	mechanisms
-		 * @see #SASL_MECHANISMS
+		 * @see #saslMechanisms
 		 */
 		protected function configureAuthMechanisms( mechanisms:XML ):void
 		{
@@ -698,7 +687,7 @@
 			{
 				var authName:String = mechanism.toString();

-				AuthClass = SASL_MECHANISMS[ authName ];
+				AuthClass = saslMechanisms[ authName ] as Class;

 				if ( useAnonymousLogin )
 				{
@@ -727,6 +716,9 @@
 		}

 		/**
+		 * Zlib is the most common and the one which is required to be implemented in case
+		 * Stream Compression is used.
+		 *
 		 *
Ask the server to enable Zlib compression of the stream.

 		 *
Supported types in XMPP are zlib and lzw.

 		 *
XIFF however only supports zlib and only after the Adler32 checksum is somehow implemented.

@@ -763,7 +755,7 @@
 		}

 		/**
-		 * @private
+		 * Runs after binding
 		 */
 		protected function establishSession():void
 		{
@@ -920,10 +912,10 @@
 		protected function serviceDiscoveryResponce(to:EscapedJID, id:String):void
 		{
 			var iq:IQ = new IQ(to, IQ.TYPE_RESULT, id);
-			// now get NS from each enabled extension...
 			var names:Array = ExtensionClassRegistry.getNamespaces();
 			var ext:InfoDiscoExtension = new InfoDiscoExtension();
 			ext.addFeatures(names);
+			iq.addExtension(ext);
 			send(iq);

 			// Two kind of error might be needed to send:
@@ -962,18 +954,6 @@

 		/**
 		 * Calls a appropriate parser base on the nodeName.
-		 *
-		 *
The XMPP RFCs define an ordering for the features defined therein, namely:

-		 *

-		 *
TLS

-		 *
In-band registration, if registration needed

-		 *
SASL

-		 *
Stream compression, if used

-		 *
Resource binding

-		 *

-		 *
-		 * @param	node
-		 * @see http://xmpp.org/extensions/xep-0170.html
 		 */
 		protected function handleNodeType( node:XML ):void
 		{
@@ -1221,64 +1201,66 @@
 		 *

 		 *

 		 *
+		 *
The XMPP RFCs define an ordering for the features defined therein, namely:

+		 *

+		 *
TLS, requires the use of XMPPTLSConnection

+		 *
In-band registration, if registration needed

+		 *
SASL

+		 *
Stream compression, if used

+		 *
Resource binding

+		 *

+		 *
 		 * @param	node
-		 *
 		 * @see http://xmpp.org/registrar/stream-features.html
+		 * @see http://xmpp.org/extensions/xep-0170.html
 		 */
 		protected function handleStreamFeatures( node:XML ):void
 		{
-			if ( !loggedIn )
-			{
-				for each ( var feature:XML in node.children() )
+			for each ( var feature:XML in node.children() )
+			{
+				var localName:String = feature.localName();
+
+				switch (localName)
 				{
-					var localName:String = feature.localName();
-
-					switch (localName)
-					{
-						case "amp":
-							break;
-						case "compression":
-							// zlib is the most common and the one which is required to be implemented.
-							if ( _compress )
-							{
-								configureStreamCompression();
-							}
-							break;
-						case "auth":
-							break;
-						case "register":
-							break;
-						case "bind":
-							break;
-						case "mechanisms":
+					case "starttls":
+						handleStreamTLS( feature ); // Checks for 'required'
+						break;
+					case "register":
+						// In Band Registration, if enabled.... TODO
+						break;
+					case "mechanisms":
+						if ( !loggedIn )
+						{
 							configureAuthMechanisms( feature );
-							break;
-						case "session":
-							break;
-						case "starttls":
-							handleStreamTLS( feature );
-							break;
-						case "sm":
-							break;
-					}
+							beginAuthentication();
+						}
+						break;
+					case "compression":
+						if ( (_compress && !compressionNegotiated) && loggedIn )
+						{
+							configureStreamCompression();
+						}
+						break;
+					case "bind":
+						// compression needed, done? else auth done?
+						if ( ((_compress && compressionNegotiated) || !_compress) && loggedIn )
+						{
+							bindConnection();
+						}
+						break;
+					case "amp":
+						// Advanced Message Processing. Coming in XIFF 3.2.0
+						break;
+					case "auth":
+						// Non-SASL Authentication. Not supported
+						break;
+					case "session":
+						// Session Establishment. Done after successful bind
+						break;
+					case "sm":
+						// Stream Management. Not supported
+						break;
 				}
-
-				if ( authenticationReady )
-				{
-					// TODO: Why is the username required here but it is not used at the backend?
-					if ( useAnonymousLogin || ( username != null && username.length > 0 ) )
-					{
-						beginAuthentication();
-					}
-					else
-					{
-						// How to inform the user of the need for in-band registration?
-					}
-				}
-			}
-			else
-			{
-				bindConnection();
 			}
 		}

@@ -1291,23 +1273,21 @@
 		{
 			if ( node.hasOwnProperty("required") )
 			{
-				// No TLS support yet
-				// policy-violation might be more proper condition...
-				dispatchError( "tls-required", "The server requires TLS. Please use XMPPTLSConnection.", "cancel", 501 );
+				// No TLS support in this class
+				dispatchError( "policy-violation", "The server requires TLS. Please use XMPPTLSConnection.", "cancel", 501 );
 				disconnect();
 				return;
 			}
 		}

 		/**
-		 * @private
-		 * This fires the standard dispatchError method. need to add the appropriate error code
+		 * This fires the standard dispatchError method
 		 *
 		 * @param	event
 		 */
 		protected function onIOError( event:IOErrorEvent ):void
 		{
-			dispatchError( "service-unavailable", "Service Unavailable", "cancel", 503 );
+			dispatchError( "service-unavailable", "Service Unavailable", "cancel" );
 		}

 		/**
@@ -1385,8 +1365,6 @@

 			if ( xmlData != null )
 			{
-
-
 				// Add default namespace which is not usually included in XML from the server
 				xmlData.setNamespace( XMLStanza.DEFAULT_NS );
 				xmlData.normalize();
@@ -1612,7 +1590,7 @@

 		/**
 		 * Get the total count of the received bytes in the current session.
-		 * Mainly useful for tracking network traffic.
+		 *
Mainly useful for tracking network traffic.

 		 */
 		public function get incomingBytes():uint
 		{
@@ -1621,8 +1599,8 @@

 		/**
 		 * Gets the fully qualified unescaped JID of the user.
-		 * A fully-qualified JID includes the resource. A bare JID does not.
-		 * To get the bare JID, use the bareJID property of the UnescapedJID.
+		 *
A fully-qualified JID includes the resource. A bare JID does not.
+		 * To get the bare JID, use the bareJID property of the UnescapedJID.

 		 *
 		 * @return The fully qualified unescaped JID
 		 * @see	org.igniterealtime.xiff.core.UnescapedJID#bareJID
@@ -1654,7 +1632,8 @@
 		}

 		/**
-		 * The port to use when connecting. The default XMPP port is 5222.
+		 * The port to use when connecting.
+		 * @default 5222
 		 */
 		public function get port():uint
 		{
@@ -1774,6 +1753,7 @@

 		/**
 		 * Connection is ready to authenticate
+		 * Should not be used as this does not comply with correct Feature Handling Order
 		 */
 		protected function get authenticationReady():Boolean
 		{


fix multiple cameras switch by patching CameraController to make sure the 'old' camera is deactivated and it's data provider out of the scene bindings before adding the data provider of the 'new' one

--- src/aerys/minko/scene/controller/camera/CameraController.as
+++ src/aerys/minko/scene/controller/camera/CameraController.as
@@ -54,9 +54,9 @@
 			var sceneBindings : DataBindings = scene.bindings;

 			resetSceneCamera(scene);
-
-			if (camera.enabled)
-				sceneBindings.addProvider(camera.cameraData);
+
+            if (camera.enabled)
+                sceneBindings.addProvider(camera.cameraData);

 			camera.activated.add(cameraActivatedHandler);
 			camera.deactivated.add(cameraDeactivatedHandler);
@@ -184,16 +184,16 @@
 		{
 			var scene : Scene = camera.root as Scene;

+			resetSceneCamera(scene);
 			scene.bindings.addProvider(camera.cameraData);
-			resetSceneCamera(scene);
 		}

 		private function cameraDeactivatedHandler(camera : AbstractCamera) : void
 		{
 			var scene 	: Scene	= camera.root as Scene;

+			resetSceneCamera(scene);
 			scene.bindings.removeProvider(camera.cameraData);
-			resetSceneCamera(scene);
 		}

 		private function resetSceneCamera(scene : Scene) : void


Support for not ascii compliant encodings. Also utf-8 as default encoding.

--- src/com/jonas/net/Multipart.as
+++ src/com/jonas/net/Multipart.as
@@ -19,7 +19,7 @@
 		private var _fields:Array = [];
 		private var _files:Array = [];
 		private var _data:ByteArray = new ByteArray();
-		private var _encoding:String = 'ascii'; //http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/charset-codes.html
+		private var _encoding:String = 'utf-8'; //http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/charset-codes.html

 		public function Multipart(url:String = null) {
 			_url = url;
@@ -56,8 +56,9 @@
 			n = _fields.length;
 			for(i=0; i<n; i++){
 				_writeString('--' + boundary + '\r\n'
-					+'Content-Disposition: form-data; name="'+_fields[i].name+'"\r\n\r\n'
-					+_fields[i].value+'\r\n');
+					+ 'Content-Disposition: form-data; name="' + _fields[i].name+'"\r\n\r\n');
+				_writeString(_fields[i].value, _encoding);
+				_writeString('\r\n');
 			}

 			// Add files
@@ -101,12 +102,12 @@
 			_encoding = value;
 		}

-		private function _writeString(value:String):void {
+		private function _writeString(value:String, encoding:String = 'ascii'):void {
 			var b:ByteArray = new ByteArray();
-			b.writeMultiByte(value, _encoding);
+			b.writeMultiByte(value, encoding);
 			_data.writeBytes(b, 0, b.length);
 		}
-
+
 		private function _writeBytes(value:ByteArray):void {
 			//_writeString("....FILE....");
 			value.position = 0;


Another simplification

Another simplification

git-svn-id: c197267f952b24206666de142881703007ca05d5@9581 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/jivesoftware/xiff/data/im/RosterItemVO.as
+++ src/org/jivesoftware/xiff/data/im/RosterItemVO.as
@@ -42,13 +42,7 @@
 		}

 		public function containsGroup(group:String):Boolean {
-			for(var i:int = 0; i<_groups.length; i++){
-				if(group == _groups[i]){
-					return true;
-				}
-			}
-
-			return false;
+			return groups.indexOf(group) >= 0;
 		}

 		public function isPending():Boolean {


Moved the labelFunction default setter out of the constructor

--- src/org/openPyro/controls/listClasses/ListBase.as
+++ src/org/openPyro/controls/listClasses/ListBase.as
@@ -45,10 +45,6 @@
 		public function ListBase()
 		{
 			super();
-			if(_labelFunction == null){
-				this._labelFunction = StringUtil.toStringLabel
-			}
-
 		}

 		/**
@@ -212,6 +208,9 @@
 		private var borderRect:Sprite;
 		override protected function createChildren() : void{
 			super.createChildren();
+			if(_labelFunction == null){
+				this._labelFunction = StringUtil.toStringLabel
+			}
 			borderRect = new Sprite();
 			$addChild(borderRect);
 		}


Set initial player state in players ctor.

--- assets/scripts/entities/player.as
+++ assets/scripts/entities/player.as
@@ -10,5 +10,7 @@
         sc.emplace("stand", "scripts/character_states/stand.as");
         sc.emplace("run", "scripts/character_states/run.as");
         sc.emplace("walk_backward", "scripts/character_states/walk_backward.as");
+
+        sc.change_state("stand");
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3124
Author:   gosmith@adobe.com
Date:     2008-09-05T20:27:41.537174Z

Log Message:
-----------
TextGraphicElement now actually implements IStyleClient, rather than just having stubs for it.

In order to avoid duplicating code, TextGraphicElement and UIComponent now call new static methods on StyleProtoChain to implement their initProtoChain(), getClassStyleDeclarations(), setStyle(), and styleChanged() methods.

The CSS mechanism is not yet used to determine the default text format in a TextGraphicElement.as

Reviewer: Glenn
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
+++ frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
@@ -13,9 +13,22 @@
 {

 import flash.display.DisplayObject;
-import mx.core.UIComponent;
+import flash.display.DisplayObjectContainer;
+import flash.system.ApplicationDomain;
+import flash.utils.getQualifiedClassName;
+import flash.utils.getQualifiedSuperclassName;
+import mx.core.ApplicationGlobals;
+import mx.core.FlexVersion;
+import mx.core.IFlexDisplayObject;
+import mx.core.IFontContextComponent;
+import mx.core.IInvalidating;
+import mx.core.IFlexModuleFactory;
 import mx.core.IUITextField;
 import mx.core.mx_internal;
+import mx.core.UIComponent;
+import mx.effects.EffectManager;
+import mx.managers.SystemManager;
+import mx.modules.ModuleManager;
 import mx.styles.IStyleClient;
 import mx.styles.StyleProxy;

@@ -49,12 +62,251 @@
      *  whether the style chain has already been built or not.
      */
     public static const STYLE_UNINITIALIZED:Object = {};
-
+
     //--------------------------------------------------------------------------
     //
     //  Class methods
     //
     //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Implements the getClassStyleDeclarations() logic
+     *  for UIComponent and TextGraphicElement.
+     *  The 'object' parameter will be one or the other.
+     */
+    public static function getClassStyleDeclarations(object:IStyleClient):Array
+    {
+        var myApplicationDomain:ApplicationDomain;
+
+        var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(object);
+        if (factory != null)
+        {
+            myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
+        }
+        else
+        {
+            var myRoot:DisplayObject = SystemManager.getSWFRoot(object);
+            if (!myRoot)
+                return [];
+            myApplicationDomain = myRoot.loaderInfo.applicationDomain;
+        }
+
+        var className:String = getQualifiedClassName(object)
+        className = className.replace("::", ".");
+
+        var cache:Array = StyleManager.typeSelectorCache[className];
+        if (cache)
+            return cache;
+
+        var decls:Array = [];
+        var classNames:Array = [];
+        var caches:Array = [];
+        var declcache:Array = [];
+
+        while (className != null &&
+               className != "mx.core.UIComponent" &&
+               className != "mx.core.UITextField" &&
+               className != "flex.graphics.graphicsClasses.GraphicElement")
+        {
+            var s:CSSStyleDeclaration;
+            cache = StyleManager.typeSelectorCache[className];
+            if (cache)
+            {
+                decls = decls.concat(cache);
+                break;
+            }
+
+            s = StyleManager.getStyleDeclaration(className);
+
+            if (s)
+            {
+                decls.unshift(s);
+                // We found one so the next set define the selectors
+                // for this found class and its ancestors.
+                // Save the old list and start a new list.
+                classNames.push(className);
+                caches.push(classNames);
+                declcache.push(decls);
+                decls = [];
+                classNames = [];
+            }
+            else
+            {
+                classNames.push(className);
+            }
+
+            try
+            {
+                className = getQualifiedSuperclassName(
+                    myApplicationDomain.getDefinition(className));
+                className = className.replace("::", ".");
+            }
+            catch(e:ReferenceError)
+            {
+                className = null;
+            }
+        }
+
+        caches.push(classNames);
+        declcache.push(decls);
+        decls = [];
+
+        while (caches.length)
+        {
+            classNames = caches.pop();
+            decls = decls.concat(declcache.pop());
+            while (classNames.length)
+            {
+                StyleManager.typeSelectorCache[classNames.pop()] = decls;
+            }
+        }
+
+        return decls;
+    }
+
+    /**
+     *  @private
+     *  Implements the initProtoChain() logic for UIComponent and TextGraphicElement.
+     *  The 'object' parameter will be one or the other.
+     */
+    public static function initProtoChain(object:IStyleClient):void
+    {
+        var n:int;
+        var i:int;
+
+        var uicObject:UIComponent = object as UIComponent;
+
+        var classSelectors:Array = [];
+        var styleName:Object = object.styleName;
+        if (styleName)
+        {
+            if (styleName is CSSStyleDeclaration)
+            {
+                // Get the style sheet referenced by the styleName property.
+                classSelectors.push(CSSStyleDeclaration(styleName));
+            }
+            else if (styleName is IFlexDisplayObject || styleName is IStyleClient)
+            {
+                // If the styleName property is a UIComponent, then there's a
+                // special search path for that case.
+                StyleProtoChain.initProtoChainForUIComponentStyleName(object);
+                return;
+            }
+            else if (styleName is String)
+            {
+                // Get the style sheets referenced by the styleName property
+                var styleNames:Array = styleName.split(/\s+/);
+                n = styleNames.length;
+                for (i = 0; i < n; i++)
+                {
+                    if (styleNames[i].length)
+                    {
+                        classSelectors.push(
+                            StyleManager.getStyleDeclaration("." + styleNames[i]));
+                    }
+                }
+            }
+        }
+
+        // To build the proto chain, we start at the end and work forward.
+        // Referring to the list at the top of this function, we'll start
+        // by getting the tail of the proto chain, which is:
+        //  - for non-inheriting styles, the global style sheet
+        //  - for inheriting styles, my parent's style object
+        var nonInheritChain:Object = StyleManager.stylesRoot;
+
+        if (nonInheritChain && nonInheritChain.effects)
+            object.registerEffects(nonInheritChain.effects);
+
+        // TODO: Unify concept of parent for UIComponents and GraphicElements
+        var p:IStyleClient;
+        if (uicObject)
+            p = uicObject.parent as IStyleClient;
+        else if ("elementHost" in object) // object is TextGraphicElement
+            p = object["elementHost"] as IStyleClient;
+
+        if (p)
+        {
+            var inheritChain:Object = p.inheritingStyles;
+            if (inheritChain == StyleProtoChain.STYLE_UNINITIALIZED)
+                inheritChain = nonInheritChain;
+        }
+        else
+        {
+            // Pop ups inheriting chain starts at Application instead of global.
+            // This allows popups to grab styles like themeColor that are
+            // set on Application.
+            if (uicObject && uicObject.isPopUp)
+            {
+                var owner:DisplayObjectContainer = uicObject._owner;
+                if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0 &&
+                    owner && owner is IStyleClient)
+                {
+                    inheritChain = IStyleClient(owner).inheritingStyles;
+                }
+                else
+                {
+                    inheritChain = ApplicationGlobals.application.inheritingStyles;
+                }
+            }
+            else
+            {
+                inheritChain = StyleManager.stylesRoot;
+            }
+        }
+
+        // Working backwards up the list, the next element in the
+        // search path is the type selector
+        var typeSelectors:Array = object.getClassStyleDeclarations();
+        n = typeSelectors.length;
+        for (i = 0; i < n; i++)
+        {
+            var typeSelector:CSSStyleDeclaration = typeSelectors[i];
+
+            inheritChain =
+                typeSelector.addStyleToProtoChain(inheritChain, uicObject);
+
+            nonInheritChain =
+                typeSelector.addStyleToProtoChain(nonInheritChain, uicObject);
+
+            if (typeSelector.effects)
+                object.registerEffects(typeSelector.effects);
+        }
+
+        // Next are the class selectors
+        n = classSelectors.length;
+        for (i = 0; i < n; i++)
+        {
+            var classSelector:CSSStyleDeclaration = classSelectors[i];
+            if (classSelector)
+            {
+                inheritChain =
+                    classSelector.addStyleToProtoChain(inheritChain, uicObject);
+
+                nonInheritChain =
+                    classSelector.addStyleToProtoChain(nonInheritChain, uicObject);
+
+                if (classSelector.effects)
+                    object.registerEffects(classSelector.effects);
+            }
+        }
+
+        // Finally, we'll add the in-line styles
+        // to the head of the proto chain.
+
+        var styleDeclaration:CSSStyleDeclaration = object.styleDeclaration;
+
+        object.inheritingStyles =
+            styleDeclaration ?
+            styleDeclaration.addStyleToProtoChain(inheritChain, uicObject) :
+            inheritChain;
+
+        object.nonInheritingStyles =
+            styleDeclaration ?
+            styleDeclaration.addStyleToProtoChain(nonInheritChain, uicObject) :
+            nonInheritChain;
+    }

     /**
      *  @private
@@ -340,6 +592,115 @@
         obj.inheritingStyles = inheritChain;
         obj.nonInheritingStyles = nonInheritChain;
     }
+
+    /**
+     *  @private
+     *  Implements the setStyle() logic for UIComponent and TextGraphicElement.
+     *  The 'object' parameter will be one or the other.
+     */
+    public static function setStyle(object:IStyleClient, styleProp:String,
+                                    newValue:*):void
+    {
+        if (styleProp == "styleName")
+        {
+            // Let the setter handle this one, see UIComponent.
+            object.styleName = newValue;
+
+            // Short circuit, because styleName isn't really a style.
+            return;
+        }
+
+        if (EffectManager.getEventForEffectTrigger(styleProp) != "")
+            EffectManager.setStyle(styleProp, object);
+
+        // If this UIComponent didn't previously have any inline styles,
+        // then regenerate the UIComponent's proto chain (and the proto chains
+        // of this UIComponent's descendants).
+        var isInheritingStyle:Boolean =
+            StyleManager.isInheritingStyle(styleProp);
+        var isProtoChainInitialized:Boolean =
+            object.inheritingStyles != StyleProtoChain.STYLE_UNINITIALIZED;
+        var valueChanged:Boolean = object.getStyle(styleProp) != newValue;
+
+        if (!object.styleDeclaration)
+        {
+            object.styleDeclaration = new CSSStyleDeclaration();
+
+            object.styleDeclaration.mx_internal::setStyle(styleProp, newValue);
+
+            // If inheritingStyles is undefined, then this object is being
+            // initialized and we haven't yet generated the proto chain.  To
+            // avoid redundant work, don't bother to create the proto chain here.
+            if (isProtoChainInitialized)
+                object.regenerateStyleCache(isInheritingStyle);
+        }
+        else
+        {
+            object.styleDeclaration.mx_internal::setStyle(styleProp, newValue);
+        }
+
+        if (isProtoChainInitialized && valueChanged)
+        {
+            object.styleChanged(styleProp);
+            object.notifyStyleChangeInChildren(styleProp, isInheritingStyle);
+        }
+    }
+
+    /**
+     *  @private
+     *  Implements the styleChanged() logic for UIComponent and TextGraphicElement.
+     *  The 'object' parameter will be one or the other.
+     */
+    public static function styleChanged(object:IInvalidating, styleProp:String):void
+    {
+        // If font changed, then invalidateProperties so
+        // we can re-create the text field in commitProperties
+        // TODO: Should hasFontContextChanged() be added to IFontContextComponent?
+        if (object is IFontContextComponent &&
+            "hasFontContextChanged" in object &&
+            object["hasFontContextChanged"]())
+        {
+            object.invalidateProperties();
+        }
+
+        // Check to see if this is one of the style properties
+        // that is known to affect layout.
+        if (!styleProp ||
+            styleProp == "styleName" ||
+            StyleManager.isSizeInvalidatingStyle(styleProp))
+        {
+            // This style property change may affect the layout of this
+            // object. Signal the LayoutManager to re-measure the object.
+            object.invalidateSize();
+        }
+
+        // TODO: Should initThemeColor() be in some interface?
+        if (!styleProp ||
+            styleProp == "styleName" ||
+            styleProp == "themeColor")
+        {
+            if ("initThemeColor" in object)
+                object["initThemeColor"]();
+        }
+
+        object.invalidateDisplayList();
+
+        // TODO: Unify concept of parent for UIComponents and GraphicElements
+        var parent:IInvalidating;
+        if (object is UIComponent)
+            parent = UIComponent(object).parent as IInvalidating;
+        else if ("elementHost" in object) // object is TextGraphicElement
+            parent = object["elementHost"] as IInvalidating;
+
+        if (parent)
+        {
+            if (StyleManager.isParentSizeInvalidatingStyle(styleProp))
+                parent.invalidateSize();
+
+            if (StyleManager.isParentDisplayListInvalidatingStyle(styleProp))
+                parent.invalidateDisplayList();
+        }
+    }
 }

 }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2106
Author:   jimurphy@adobe.com
Date:     2008-06-17T15:08:59.757217Z

Log Message:
-----------
Merge 3.0.x revisions [2073,2075-2077,2079,2093,2095,2103] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/modules/asc</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>

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

--- frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as
+++ frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as
@@ -218,7 +218,8 @@
      */
     public function removeSubscription(subtopic:String = null, selector:String = null):void
     {
-        for (var i:int = 0; i < subscriptions.length; i++)
+        var n:int = subscriptions.length;
+        for (var i:int = 0; i < n; ++i)
         {
             var si:SubscriptionInfo = SubscriptionInfo(subscriptions.getItemAt(i));
             if (si.subtopic == subtopic && si.selector == selector)
@@ -227,7 +228,8 @@
                 break;
             }
         }
-        if (i == subscriptions.length)
+
+        if (n == subscriptions.length)
             throw new MessagingError("Attempt to remove a subscription with subtopic: " +
                 subtopic + " and selector: " + selector + " that this consumer does not have");
     }


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

--- frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as
+++ frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.
+//  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
+//
+//      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: 11592
Author:   gruehle@adobe.com
Date:     2009-11-09T23:18:55.192323Z

Log Message:
-----------
Exclude the textAlign style from Button and ToggleButton.

QE notes: None
Doc notes: None
Bugs: SDK-24101
Reviewer: Kevin
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -14,6 +14,7 @@

 import spark.components.supportClasses.ToggleButtonBase;

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

 [IconFile("ToggleButton.png")]


Fixed handling of missing CSS backgrounds for elements that have background-image-type: animation specified

--- src/reprise/ui/renderers/DefaultBackgroundRenderer.as
+++ src/reprise/ui/renderers/DefaultBackgroundRenderer.as
@@ -227,7 +227,7 @@
 				m_backgroundImageLoader.url() == m_styles.backgroundImage &&
 				m_backgroundImageLoader is ImageResource)
 			{
-				if (!m_backgroundImageLoader.isExecuting())
+				if (!m_backgroundImageLoader.didFinishLoading() && m_backgroundImageLoader.didSucceed())
 				{
 					// we force redrawing here, due to the fact that our size or
 					// the image position could have changed


Tree now accepts both XML and TreeDataCollection

--- src/org/openPyro/controls/Tree.as
+++ src/org/openPyro/controls/Tree.as
@@ -2,6 +2,7 @@
 {
 	import flash.display.DisplayObject;

+	import org.openPyro.collections.ICollection;
 	import org.openPyro.collections.TreeCollection;
 	import org.openPyro.collections.XMLNodeDescriptor;
 	import org.openPyro.controls.events.ScrollEvent;
@@ -36,9 +37,14 @@
 		}

 		override protected function convertDataToCollection(dp:Object):void{
-			this._dataProviderCollection = new TreeCollection();
-			TreeCollection(_dataProviderCollection).showRoot = _showRoot;
-			TreeCollection(_dataProviderCollection).source = XML(dp);
+			if( dp is ICollection){
+				this._dataProviderCollection = ICollection(dp);
+			}
+			else{
+				this._dataProviderCollection = new TreeCollection();
+				TreeCollection(_dataProviderCollection).showRoot = _showRoot;
+				TreeCollection(_dataProviderCollection).source = XML(dp);
+			}
 		}

 		override protected function createNewRenderer(newRendererUID:String,rowIndex:Number):DisplayObject{


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/containers/FormItem.as
+++ frameworks/projects/mx/src/mx/containers/FormItem.as
@@ -43,6 +43,11 @@
  *  and "right".
  *
  *  @default "left"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]

@@ -50,6 +55,11 @@
  *  Number of pixels between the label and child components of the form item.
  *
  *  @default 14
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="indicatorGap", type="Number", format="Length", inherit="yes")]

@@ -57,6 +67,11 @@
  *  Specifies the skin to use for the required field indicator.
  *
  *  The default value is the "mx.containers.FormItem.Required" symbol in the Assets.swf file.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="indicatorSkin", type="Class", inherit="no")]

@@ -66,12 +81,22 @@
  *  By default, the label uses the FormItem's inheritable styles or
  *  those declared by FormItemLabel.  This style should be used instead
  *  of FormItemLabel.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="labelStyleName", type="String", inherit="no")]

 /**
  *  Width of the form labels.
  *  The default is the length of the longest label in the form.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="labelWidth", type="Number", format="Length", inherit="yes")]

@@ -80,6 +105,11 @@
  *  and the bottom edge of its content area.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="paddingBottom", type="Number", format="Length", inherit="no")]

@@ -88,6 +118,11 @@
  *  and the right edge of its content area.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="paddingRight", type="Number", format="Length", inherit="no")]

@@ -96,6 +131,11 @@
  *  and the top edge of its content area.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="paddingTop", type="Number", format="Length", inherit="no")]

@@ -162,6 +202,11 @@
  *  @see mx.controls.FormItemLabel
  *
  *  @includeExample examples/FormExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FormItem extends Container
 {
@@ -175,6 +220,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FormItem()
     {
@@ -253,6 +303,11 @@
      *  controlled by the textAlign style property.
      *
      *  @default ""
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get label():String
     {
@@ -319,6 +374,11 @@
      *
      *  @default FormItemDirection.VERTICAL
      *  @see mx.containers.FormItemDirection
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get direction():String
     {
@@ -347,6 +407,11 @@
     /**
      *  A read-only reference to the FormItemLabel subcomponent
      *  displaying the label of the FormItem.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get itemLabel():Label
     {
@@ -392,6 +457,11 @@
      *  if you require input validation.

      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get required():Boolean
     {
@@ -527,6 +597,11 @@
      *  plus verticalGap space between each child.
      *  The paddingTop and paddingBottom
      *  style properties and the height of the border are also added.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function measure():void
     {
@@ -868,6 +943,11 @@
      *  @param unscaledHeight Specifies the height of the component, in pixels,
      *  in the component's coordinates, regardless of the value of the
      *  scaleY property of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 3556
Author:   jvroom@adobe.com
Date:     2008-10-10T02:40:26.102583Z

Log Message:
-----------
http/Operation.as:
http/HTTPMultiService.as:
   - added showBusyCursor for HTTPMultiService

remoting/RemoteObject.as:
remoting/mxml/RemoteObject.as:
   - when I moved concurrency and showBusyCursor to the RemoteObject Operation class I forgot to
     move them on RemoteObject itself.  showBusyCursor might be on even if you did not
     want it on.

events/ResultEvent.as:
events/AbstractEvent.as:
   - need to be able to modify the result/token in the result event to implement
     management of RPC services (mx_internal)

QE: showBusyCursor on HTTPMultiService
Docs: ASDoc updated
Checkintests: pass
Reivewer: Seth

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/AbstractEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/http/Operation.as
@@ -105,6 +105,19 @@

     }

+    private var _showBusyCursorSet:Boolean = false;
+    override public function get showBusyCursor():Boolean
+    {
+        if (_showBusyCursorSet)
+            return super.showBusyCursor;
+        return _multiService.showBusyCursor;
+    }
+    override public function set showBusyCursor(b:Boolean):void
+    {
+        super.showBusyCursor = b;
+        _showBusyCursorSet = true;
+    }
+
     /**
      * If the rootURL property is not set on the operation, it is inherited from
      * the service level.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/controls/listClasses/IListItemRenderer.as
+++ frameworks/projects/framework/src/mx/controls/listClasses/IListItemRenderer.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls.listClasses
+{
+
+import flash.events.IEventDispatcher;
+import mx.core.IDataRenderer;
+import mx.core.IFlexDisplayObject;
+import mx.core.IUIComponent;
+import mx.managers.ILayoutManagerClient;
+import mx.styles.ISimpleStyleClient;
+
+/**
+ *  Item renderers and item editors for list components must implement
+ *  the IListItemRenderer interface.
+ *  The IListItemRenderer interface is a set of several other interfaces.
+ *  It does not define any new class methods or properties.
+ *
+ *
The set of interfaces includes the following:
+ *  IDataRenderer, IFlexDisplayObject, ILayoutManagerClient,
+ *  ISimpleStyleClient, IUIComponent.
+ *  The UIComponent class implements all of these interfaces,
+ *  except the IDataRenderer interface.
+ *  Therefore, if you create a custom item renderer or item editor
+ *  as a subclass  of the UIComponent class, you only have to implement
+ *  the IDataRenderer interface and then you can add to the class
+ *  definition that the class implements IDataRenderer and IListItemRenderer.

+ *
+ *
IListItemRenderers are generally dedicated to displaying a particular
+ *  field from the data provider item and cannot be re-used in other
+ *  DataGrid columns or in other lists with different fields.  If you want
+ *  to create a renderer that can be re-used you can also implement
+ *  IDropInListItemRenderer, and the list will pass more data to
+ *  the renderer that allows the renderer to be re-used with different
+ *  data fields.

+ *
+ *
Item renderers and item editors are passed data from a list class'
+ *  data provider using the IDataRenderer interface.
+ *  Renderers and editors that implement the IDropInListItemRenderer
+ *  interface get other information from the list class.
+ *  The item renderer or item editor uses one or both pieces of information
+ *  to display the data.

+ *
+ *
The renderers and editors are often recycled.
+ *  Once they are created, they may be used again simply by being given
+ *  a new data and optional listData property.
+ *  Therefore in your implementation you must make sure that component
+ *  properties are not assumed to contain their initial, or default values.

+ */
+public interface IListItemRenderer extends IDataRenderer, IEventDispatcher,
+										   IFlexDisplayObject,
+										   ILayoutManagerClient,
+										   ISimpleStyleClient, IUIComponent
+{
+}
+
+}


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

--- frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.effects.effectClasses
 {


Issue #173: Allow Shape_Length/Shape_Area field if defined by user.

--- src/widgets/supportClasses/ResultAttributes.as
+++ src/widgets/supportClasses/ResultAttributes.as
@@ -142,26 +142,31 @@
                 link = value;
                 linkAlias = linkAlias;
             }
-            else if (upperCaseFieldName != "SHAPE_LENGTH" && upperCaseFieldName != "SHAPE_AREA")
-            {
-                var fieldLabel:String;
-
-                if (fieldXML && fieldXML.@alias[0])
-                {
-                    fieldLabel = fieldXML.@alias[0];
-                }
-                else
-                {
-                    fieldLabel = featureSet.fieldAliases[fieldName];
-                }
-
-                if (FlexGlobals.topLevelApplication.layoutDirection == LayoutDirection.RTL)
-                {
-                    content += value + " :" + fieldLabel + "\n";
-                }
-                else
-                {
-                    content += fieldLabel + ": " + value + "\n";
+            else
+            {
+                var isShapeMeasurementField:Boolean = (upperCaseFieldName == "SHAPE_LENGTH" || upperCaseFieldName == "SHAPE_AREA");
+                var isUserDefinedField:Boolean = fields && fields.field.(@name == fieldName).length() > 0;
+                if (!isShapeMeasurementField || isUserDefinedField)
+                {
+                    var fieldLabel:String;
+
+                    if (fieldXML && fieldXML.@alias[0])
+                    {
+                        fieldLabel = fieldXML.@alias[0];
+                    }
+                    else
+                    {
+                        fieldLabel = featureSet.fieldAliases[fieldName];
+                    }
+
+                    if (FlexGlobals.topLevelApplication.layoutDirection == LayoutDirection.RTL)
+                    {
+                        content += value + " :" + fieldLabel + "\n";
+                    }
+                    else
+                    {
+                        content += fieldLabel + ": " + value + "\n";
+                    }
                 }
             }
         }


Adding check to make sure we're actually connected before sending data.

--- AS3WebSocket/src/com/worlize/websocket/WebSocket.as
+++ AS3WebSocket/src/com/worlize/websocket/WebSocket.as
@@ -249,6 +249,7 @@
 		}

 		private function sendData(data:ByteArray, fullFlush:Boolean = false):void {
+			if (!connected) { return; }
 			data.position = 0;
 			if (deflateStream) {
 				zstreamOut.next_in = data;


Fixing bug where a text frame managed to be accepted in the middle of a fragmentation sequence.

--- AS3WebSocket/src/com/worlize/websocket/WebSocket.as
+++ AS3WebSocket/src/com/worlize/websocket/WebSocket.as
@@ -432,17 +432,19 @@
 			switch (frame.opcode) {
 				case WebSocketOpcode.BINARY_FRAME:
 					if (config.assembleFragments) {
-						if (frame.fin) {
-							event = new WebSocketEvent(WebSocketEvent.MESSAGE);
-							event.message = new WebSocketMessage();
-							event.message.type = WebSocketMessage.TYPE_BINARY;
-							event.message.binaryData = frame.binaryPayload;
-							dispatchEvent(event);
-						}
-						else if (frameQueue.length === 0) {
-							// beginning of a fragmented message
-							frameQueue.push(frame);
-							fragmentationOpcode = frame.opcode;
+						if (frameQueue.length === 0) {
+							if (frame.fin) {
+								event = new WebSocketEvent(WebSocketEvent.MESSAGE);
+								event.message = new WebSocketMessage();
+								event.message.type = WebSocketMessage.TYPE_BINARY;
+								event.message.binaryData = frame.binaryPayload;
+								dispatchEvent(event);
+							}
+							else if (frameQueue.length === 0) {
+								// beginning of a fragmented message
+								frameQueue.push(frame);
+								fragmentationOpcode = frame.opcode;
+							}
 						}
 						else {
 							drop(WebSocketCloseStatus.PROTOCOL_ERROR,
@@ -453,17 +455,19 @@
 					break;
 				case WebSocketOpcode.TEXT_FRAME:
 					if (config.assembleFragments) {
-						if (frame.fin) {
-							event = new WebSocketEvent(WebSocketEvent.MESSAGE);
-							event.message = new WebSocketMessage();
-							event.message.type = WebSocketMessage.TYPE_UTF8;
-							event.message.utf8Data = frame.binaryPayload.readMultiByte(frame.length, 'utf-8');
-							dispatchEvent(event);
-						}
-						else if (frameQueue.length === 0) {
-							// beginning of a fragmented message
-							frameQueue.push(frame);
-							fragmentationOpcode = frame.opcode;
+						if (frameQueue.length === 0) {
+							if (frame.fin) {
+								event = new WebSocketEvent(WebSocketEvent.MESSAGE);
+								event.message = new WebSocketMessage();
+								event.message.type = WebSocketMessage.TYPE_UTF8;
+								event.message.utf8Data = frame.binaryPayload.readMultiByte(frame.length, 'utf-8');
+								dispatchEvent(event);
+							}
+							else {
+								// beginning of a fragmented message
+								frameQueue.push(frame);
+								fragmentationOpcode = frame.opcode;
+							}
 						}
 						else {
 							drop(WebSocketCloseStatus.PROTOCOL_ERROR,


tabs to spaces in .as

tabs to spaces in .as

--- src/dynamicaudio.as
+++ src/dynamicaudio.as
@@ -4,7 +4,7 @@
     import flash.external.ExternalInterface;
     import flash.media.Sound;
     import flash.media.SoundChannel;
-
+
     public class dynamicaudio extends Sprite {
         public var bufferSize:Number = 2048; // In samples
         public var sound:Sound = null;
@@ -14,19 +14,19 @@
         public var fudgeFactor:Number = 0;
         public var multiplier:Number = 1/16384; // smaller than 32768 to allow some headroom from those floats;
         public var hexValues:Vector.<int> = new Vector.<int>(256);
-
+
         public function dynamicaudio() {
             ExternalInterface.addCallback('write',  write);
             ExternalInterface.addCallback('getPlaybackState', getPlaybackState);
-
+
             // Create a hex digit lookup table
             var hexDigits:Array = ['0', '1', '2', '3', '4', '5', '6', '7',
                                    '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];
             for (var i:int = 0; i < hexDigits.length; i++) {
-            	this.hexValues[hexDigits[i].charCodeAt(0)] = i;
+                this.hexValues[hexDigits[i].charCodeAt(0)] = i;
             }
         }
-
+
         // Called from JavaScript to add samples to the buffer
         // Note we are using a hex string of 16-bit int samples instead of an
         // array. Flash's stupid ExternalInterface passes every sample as XML,
@@ -43,13 +43,13 @@

             var hexValues:Vector.<int> = this.hexValues;
             for (var i:int = 0; i < s.length; i += 4) {
-            	var sample:int = (hexValues[s.charCodeAt(i)]) |
-            	                 (hexValues[s.charCodeAt(i + 1)] << 4) |
-            	                 (hexValues[s.charCodeAt(i + 2)] << 8) |
-            	                 (hexValues[s.charCodeAt(i + 3)] << 12);
-		// sign extension to 32 bits via arithmetic shift
-		sample = (sample << 16) >> 16;
-            	this.buffer.push(sample * multiplier);
+                var sample:int = (hexValues[s.charCodeAt(i)]) |
+                                 (hexValues[s.charCodeAt(i + 1)] << 4) |
+                                 (hexValues[s.charCodeAt(i + 2)] << 8) |
+                                (hexValues[s.charCodeAt(i + 3)] << 12);
+                // sign extension to 32 bits via arithmetic shift
+                sample = (sample << 16) >> 16;
+                this.buffer.push(sample * multiplier);
             }
         }

@@ -59,22 +59,22 @@
                 samplesQueued: samplesQueued()
             };
         }
-
+
         public function samplesQueued():Number {
-        	return buffer.length / 2;
+            return buffer.length / 2;
         }
-
+
         public function playbackPosition():Number {
-        	if (this.soundChannel == null) {
-        		return 0;
-        	} else {
-        		return this.soundChannel.position / 1000 - this.fudgeFactor;
-        	}
+            if (this.soundChannel == null) {
+                return 0;
+            } else {
+                return this.soundChannel.position / 1000 - this.fudgeFactor;
+            }
         }

         public function soundGenerator(event:SampleDataEvent):void {
             var i:int;
-
+
             // If we haven't got enough data, write 2048 samples of silence to
             // both channels, the minimum Flash allows
             if (buffer.length < bufferSize*2) {
@@ -84,13 +84,13 @@
                 this.fudgeFactor += (2048 / 44100);
                 return;
             }
-
+
             var count:Number = Math.min(buffer.length, 16384);
-
+
             for (i = 0; i < count; i++) {
                 event.data.writeFloat(buffer[i]);
             }
-
+
             buffer = buffer.slice(count, buffer.length);
         }
     }


Initial work on handling errors in loading

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -1216,6 +1216,8 @@
 					);

 					saveString = null;
+					if (DEBUG.ON)
+						throw error;
 				}

 			C.sendRequest(


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.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/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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.messaging.channels
 {

@@ -59,4 +52,4 @@
     }
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/SetActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/SetActionInstance.as
@@ -23,7 +23,7 @@
  *  Flex creates an instance of this class when it plays a SetAction
  *  effect; you do not create one yourself.
  *
- *  @see mx.effects.SetAction
+ *  @see spark.effects.SetAction
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


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

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21125
Author:   smgilson@adobe.com
Date:     2011-04-22T14:44:03.408476Z

Log Message:
-----------
update ActionBar.as and TabbedViewNavigator.as to include the examples and move the example to the correct folders

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="A">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBarExample2.mxml</path>
<path kind="file" action="A">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBarExample3.mxml</path>
<path kind="file" action="D">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBar/ActionBarExample2.mxml</path>
<path kind="file" action="A">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBarExampleHomeView.mxml</path>
<path kind="file" action="D">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBar/ActionBarExample3.mxml</path>
<path kind="file" action="A">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/TabbedViewNavigatorExample.mxml</path>
<path kind="file" action="D">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/asdoc/en_US/spark/components/examples/ActionBar/ActionBarExampleHomeView.mxml</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="D">/private/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/TabbedViewNavigatorExample.mxml</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
@@ -124,6 +124,8 @@
  *  @see spark.components.View
  *  @see spark.components.ViewNavigator
  *  @see spark.components.TabBar
+ *
+ *  @includeExample examples/TabbedViewNavigatorExample.mxml -noswf
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5


Transferred from the Adobe Open Source Subversion Repository

Revision: 20669
Author:   chiedozi@adobe.com
Date:     2011-03-08T04:44:00.619585Z

Log Message:
-----------
View transition are now properly centered when using a flip or zoom transition effect.

QE notes:
Doc notes:
Bugs: SDK-29798
Reviewer: Evtim
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -330,8 +330,8 @@
         cachedNavigatorGroup.includeInLayout = false;

         // On zoom out, place the cachedNavigator above the targetNavigator
-		var index:int = getComponentChildIndex(targetNavigator, targetNavigator.parent as UIComponent);
-		if (mode == ZoomViewTransitionMode.OUT)
+        var index:int = getComponentChildIndex(targetNavigator, targetNavigator.parent as UIComponent);
+        if (mode == ZoomViewTransitionMode.OUT)
             index++;
         addComponentToContainerAt(cachedNavigatorGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent, index);

@@ -360,13 +360,12 @@
             endViewProps = {visible:targetNavigator.skin.visible}
             targetNavigator.skin.visible = false;
         }
-
+
         transitionGroup.validateNow();
-        transitionGroup.x = transitionGroup.y = 0;

         // Initialize our target's transform center.
-        transitionGroup.transformX = cachedNavigator.getLayoutBoundsWidth(true) / 2;
-        transitionGroup.transformY = cachedNavigator.getLayoutBoundsHeight(true) / 2;
+        transitionGroup.transformX = cachedNavigator.getLayoutBoundsWidth(true) / 2 + targetNavigator.getLayoutBoundsX(true);
+        transitionGroup.transformY = cachedNavigator.getLayoutBoundsHeight(true) / 2 + targetNavigator.getLayoutBoundsY(true);

         // Ensure our alpha is initialized to 0 prior to the start
         // of our transition so that the view isn't displayed briefly


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

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

 package mx.olap
 {


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

--- frameworks/projects/charts/src/mx/charts/CandlestickChart.as
+++ frameworks/projects/charts/src/mx/charts/CandlestickChart.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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: 6335
Author:   mhorn@adobe.com
Date:     2009-04-28T17:06:17.395304Z

Log Message:
-----------
more asdoc updates

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/SpinnerIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/PanelSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
@@ -66,6 +66,9 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     * Constructor.
+     */
     public function FocusSkin()
     {
         super();


Fixed 'saving spawnables returning junk' bug

--- flexEditor/src/org/arisgames/editor/view/SpawnableEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/SpawnableEditorView.as
@@ -139,8 +139,14 @@
 		{
 			trace("SpawnableEditorView: handleSaveAndCloseButton()");
 			this.populateSpawnableFromForm();
-			AppServices.getInstance().saveSpawnableForObject(GameModel.getInstance().game.gameId, this.objectPaletteItem, this.spawnable, new Responder(handleLoadingOfSpawnable, handleFault));
+			AppServices.getInstance().saveSpawnableForObject(GameModel.getInstance().game.gameId, this.objectPaletteItem, this.spawnable, new Responder(handleSavingOfSpawnable, handleFault));
 			PopUpManager.removePopUp(this);
+		}
+
+		private function handleSavingOfSpawnable(obj:Object):void
+		{
+			if(obj.result.returnCode != 0)
+				Alert.show("There was an error saving the spawn settings.");
 		}

 		private function handleLoadingOfSpawnable(obj:Object):void


fix for FLEX-34728

fix for FLEX-34728

--- frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
+++ frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
@@ -233,8 +233,8 @@
 		var decl:CSSStyleDeclaration = styleManager.getStyleDeclaration(name);
 		if (!decl)
 		{
-			var sm:IStyleManager2 = styleManager;
-			while (sm.parent)
+			var sm:IStyleManager2 = styleManager.parent;
+			while (sm)
 			{
 				decl = sm.getStyleDeclaration(name);
 				if (decl)


Transferred from the Adobe Open Source Subversion Repository

Revision: 9578
Author:   aharui@adobe.com
Date:     2009-08-25T17:23:52.967867Z

Log Message:
-----------
Found another embeddedfontcontext issue in the player.  ElementFormat.getFontMetrics() must be called in the embeddedFont's moduleFactory context.  Added a general "callInContext" API to IFLexModuleFactory.  Eventually, TLF will add a new API so they can connect up to this capability and we'll change the code one more time.

QE Notes: None
Doc Notes: New API in IFlexModuleFactory.as
Bugs: SDK-22159
Reviewer: Darrell
API Change: Yes
Is noteworthy for integration: No
tests: checkintests

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

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

--- frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
@@ -68,6 +68,25 @@
     function allowInsecureDomain(... domains):void;

     /**
+     *  A way to call a method in this IFlexModuleFactory's context
+     *
+     *  @param fn The function or method to call
+     *  @param thisArg The this pointer for the function
+     *  @param argArray The arguments for the function
+     *  @param returns If true, the function returns a value
+     *
+     *  @return Whatever the function returns, if anything.
+     *
+     *  @see Function.apply
+
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 3
+     */
+    function callInContext(fn:Function, thisArg:*, argArray:*, returns:Boolean=true):*;
+
+    /**
      *  A factory method that requests
      *  an instance of a definition known to the module.
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 10657
Author:   chaase@adobe.com
Date:     2009-09-28T21:03:46.522617Z

Log Message:
-----------
Fixes for 4 unrelated effects bugs.
-	Nested parallel effects were not dealing with targets in children. (CompositeEffect)
-	Composite effects were capturing values for child effects property (need to have child effects only capture values for their targets, not any other targets in the overall effect) (CompositeEffect)
-	3D Transform effects were not correctly dealing with transform centers that were staying in place during the effect. We needed to force the postTranslationX/Y properties to be animated, even though they might be unchanging. (AnimateTransform)
-	Supplying Fade in a trigger for a popupAnchor caused an RTE due to a bad assumption about components vs groups. This fix doesn’t actually made fading work (new effects don’t deal with triggers), but it prevents the crash (EffectManager)

QE notes: None
Doc notes: None
Bugs: SDK-23413, SDK-23381, SDK-23366, SDK-23460
Reviewer: Jason
Tests run: checkintests, Mustella spark/effects, mx/effects
Is noteworthy for integration: Yes (downstream teams asked for 23460 fix)

Modified Paths:
--------------
<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/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>

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

--- frameworks/projects/framework/src/mx/effects/CompositeEffect.as
+++ frameworks/projects/framework/src/mx/effects/CompositeEffect.as
@@ -373,7 +373,7 @@
         {
             var child:Effect = children[i];
             propChanges = child.captureValues(propChanges, setStartValues,
-                child.targets);
+                (child.targets && child.targets.length > 0) ? child.targets : targetsToCapture);
         }

         return propChanges;
@@ -488,8 +488,8 @@
                 for (j = 0; j < m; j++)
                 {
                     // Don't include null or duplicate targets
-                    if (child.targets[j] != null &&
-                        resultsArray.indexOf(child.targets[j]) < 0)
+                    if (childTargets[j] != null &&
+                        resultsArray.indexOf(childTargets[j]) < 0)
                     {
                         resultsArray.push(childTargets[j]);
                     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17611
Author:   klin@adobe.com
Date:     2010-09-08T19:01:35.509943Z

Log Message:
-----------
Fix for rotation issues with explicit width and explicit height for Catalyst. The issue is that when we try to solve width and height such that the post transform bounds satisfy the layout constraints, we only took into account the measured width/height even when there was an explicit size specified. In the case of rotation, it is possible at times to use the explicit width/height to find a fit. Thus, the fix is to try to find a solution first using the explicit size. If no solution exists, then we relax the constraint on the size and try to find other solutions.

QE notes: No
Doc notes: No
Bugs: SDK-26614
Reviewer: Evtim
Tests run: checkintests, full cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Rect.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -2512,6 +2512,8 @@
         }

         var fitSize:Point = MatrixUtil.fitBounds(width, height, m,
+            _explicitWidth,
+            _explicitHeight,
             preferredWidth,
             preferredHeight,
             getMinBoundsWidth(false),


Transferred from the Adobe Open Source Subversion Repository

Revision: 4357
Author:   egreenfi@adobe.com
Date:     2008-12-18T23:52:27.017290Z

Log Message:
-----------
UIComponent now implements ILayoutElement directly

ILayoutElement was moved to mx.core.ILayoutElement, as it is now a core interface required by UIComponent.

Further phases to follow:
1) IVlisualElement to extend ILayoutElement, pending resolution of a compiler bug.
2) remove LayoutElementUIC, pending UIMovieclip implementing ILayoutElement
3) remove LayoutElementFactory, once all IVisualElements implement ILayoutElement directly.
4) remove ITransformable, moving transform properties onto IVisualElement.

Reviewer: Evtim
QA: yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as" copyfrom-rev="4249" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.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/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -18,6 +18,7 @@
 import flash.events.EventDispatcher;

 import mx.components.baseClasses.GroupBase;
+import mx.core.ILayoutElement;
 import mx.core.ScrollUnit;

 import mx.containers.utilityClasses.Flex;
@@ -1042,7 +1043,7 @@

 [ExcludeClass]

-import mx.layout.ILayoutElement;
+import mx.core.ILayoutElement;
 import mx.containers.utilityClasses.FlexChildInfo;

 class HLayoutElementFlexChildInfo extends FlexChildInfo