Transferred from the Adobe Open Source Subversion Repository

Revision: 7967
Author:   gosmith@adobe.com
Date:     2009-06-18T19:44:16.674676Z

Log Message:
-----------
PARB changes to TextGraphicElement/SimpleText/RichText and to text styles in general.

TextGraphicElement:

The 'truncation' property has been renamed to 'maxDisplayedLines'.

The isTruncated() method has become an 'isTruncated' read-only property.

RichText:

Since a TextFlow object is the fundamental representation for rich test in TLF, the RichText component now has a public textFlow:TextFlow property which you can get or set. To turn TLF markup -- in either String or XML form -- into a TextFlow, use the static importFromString() and importFromXML() methods in the TextFlowUtil class. These are bindable methods so that if the markup parameter changes they will re-evaluate. To turn the TextFlow back into markup, use TextFLowUtil.export(...) to produce XML.

The 'content' property is now intended only for use by the MXML compiler. It is set-only and only supports being set to what MXML markup produces: a String (which will be treated as the text of an implicit span in an implicit paragraph), a FlowElement, or an Array of Strings and FlowElements.

The 'text', 'textFlow', and 'content' properties are interacting properties. For example, you can set 'textFlow' and then get the 'text', and vice versa. In fact, you can now do this immediately, without waiting for the component to undergo a LayoutManager pass. Of these three properties, the last one set in ActionScript wins; if more than one is set in MXML the results are undefined since MXML does not guarantee the order in which properties are set. Setting any of them to null is equivalent to setting the 'text' to the empty String, which is the initial state of the component.

Styles:

The 'lineBreak' style is now non-inheriting, since in TLF it doesn't inherit from FlowElement to FlowElement.

The text styles are now divided into five buckets:

BasicInheritingTextStyles.as
BasicNonInheritingTextStyles.as
AdvancedInheritingTextStyles.as
AdvancedNonInheritingTextStyles.as
SelectionFormatTextStyles.as

Skinnable components like TextInput and TextArea no longer declare any on the noninheriting text styles, because the RichTextElement in the skin doesn't inherit them. You must set them directly on the RichTextElement in the component's skin, either with ActionScript or by reskinning.

The styleInitialized() method has been added to the IAdvancedStyleClient interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</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/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.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/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/TextFlowUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableTextBase.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/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/NonInheritingTextLayoutFormatStyles.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/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as" copyfrom-rev="7910" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/utils/TextFlowUtil.as
+++ frameworks/projects/spark/src/spark/utils/TextFlowUtil.as
@@ -80,7 +80,7 @@
      */
     private static var configInheritingFormats:Vector.<String>;

-        //--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Class methods
     //
@@ -141,6 +141,8 @@

         initialized = true;
     }
+
+	[Bindable("unused")]

     /**
      *  Creates a TextFlow by importing (i.e., parsing) a String
@@ -226,6 +228,8 @@

         return importer.importToFlow(markupToImport);
     }
+
+	[Bindable("unused")]

     /**
      *  Creates a TextFlow by importing (i.e., parsing) XML


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -27,6 +27,8 @@
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.PropertyChangeEvent;
+
+use namespace mx_internal;

 //--------------------------------------
 //  Styles
@@ -449,26 +451,26 @@
         {
             // For some composite components, the focused object may not
             // be "this". If so, we don't want to draw the focus.
-            if (!mx_internal::drawFocusAnyway && focusManager.getFocus() != this)
+            if (!drawFocusAnyway && focusManager.getFocus() != this)
                 return;

-            if (!mx_internal::focusObj)
+            if (!focusObj)
             {
                 var focusSkinClass:Class = getStyle("focusSkin");

                 if (focusSkinClass)
-                    mx_internal::focusObj = new focusSkinClass();
+                    focusObj = new focusSkinClass();

-                super.addChildAt(mx_internal::focusObj, 0);
+                super.addChildAt(focusObj, 0);
             }
-			if (mx_internal::focusObj && "focusObject" in mx_internal::focusObj)
-				mx_internal::focusObj["focusObject"] = this;
+			if (focusObj && "focusObject" in focusObj)
+				focusObj["focusObject"] = this;
         }
         else
         {
-            if (mx_internal::focusObj)
-                super.removeChild(mx_internal::focusObj);
-            mx_internal::focusObj = null;
+            if (focusObj)
+                super.removeChild(focusObj);
+            focusObj = null;
         }
     }

@@ -963,7 +965,7 @@
      */
     protected function getBaselinePositionForPart(part:IVisualElement):Number
     {
-        if (!part || !mx_internal::validateBaselinePosition())
+        if (!part || !validateBaselinePosition())
             return super.baselinePosition;

         return getSkinPartPosition(part).y + part.baselinePosition;


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

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

 package spark.skins.mobile
 {


fixed bug in replaceUnknownObjectsInState()

--- WeaveJS/src/weavejs/utils/DebugUtils.as
+++ WeaveJS/src/weavejs/utils/DebugUtils.as
@@ -16,6 +16,7 @@
 package weavejs.utils
 {
 	import weavejs.api.core.DynamicState;
+	import weavejs.api.core.ILinkableCompositeObject;
 	import weavejs.api.core.ILinkableObject;
 	import weavejs.core.LinkableHashMap;
 	import weavejs.core.LinkableString;
@@ -269,9 +270,12 @@
 				{
 					if (!DynamicState.isDynamicState(obj))
 						continue;
-					if (!Weave.getDefinition(obj[DynamicState.CLASS_NAME]))
-						obj[DynamicState.CLASS_NAME] = Weave.className(LinkableHashMap);
-					obj[DynamicState.SESSION_STATE] = replaceUnknownObjectsInState(obj[DynamicState.SESSION_STATE], obj[DynamicState.CLASS_NAME]);
+					className = obj[DynamicState.CLASS_NAME];
+					var classDef:Class = Weave.getDefinition(className);
+					if (!classDef)
+						obj[DynamicState.CLASS_NAME] = Weave.className(classDef = LinkableHashMap);
+					if (classDef.prototype is ILinkableCompositeObject)
+						obj[DynamicState.SESSION_STATE] = replaceUnknownObjectsInState(obj[DynamicState.SESSION_STATE], className);
 				}
 			}
 			else if (!JS.isPrimitive(stateToModify))


We should always wrap calls to usercode with a try/catch. Check.
We should always log any errors thrown from usercode. Oops.
Fixed.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@517 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/ezgame/client/GameControlBackend.as
+++ src/as/com/threerings/ezgame/client/GameControlBackend.as
@@ -420,7 +420,8 @@
                     try {
                         fn(ObjectMarshaller.decode(cookie.cookie));
                     } catch (err :Error) {
-                        // cope
+                        log.warning("Error in user-code: " + err);
+                        log.logStackTrace(err);
                     }
                 }
             }


getAncestor() and getDescendants() now support strings in place of class defs

--- WeaveJS/src/Weave.as
+++ WeaveJS/src/Weave.as
@@ -241,8 +241,11 @@
 		 * @return The closest ancestor of the given type.
 		 * @see weave.api.core.ISessionManager#getLinkableOwner()
 		 */
-		public static function getAncestor/*/<T>/*/(descendant:ILinkableObject, ancestorType:/*/new(..._:any[])=>T/*/Class):/*/T & ILinkableObject/*/ILinkableObject
-		{
+		public static function getAncestor/*/<T>/*/(descendant:ILinkableObject, ancestorType:/*/new(..._:any[])=>T | string/*/Class):/*/T & ILinkableObject/*/ILinkableObject
+		{
+			if (ancestorType is String)
+				ancestorType = Weave.getDefinition(String(ancestorType), true);
+
 			var sm:ISessionManager = WeaveAPI.SessionManager;
 			do {
 				descendant = sm.getLinkableOwner(descendant);
@@ -264,8 +267,11 @@
 		 * Shortcut for WeaveAPI.SessionManager.getLinkableDescendants()
 		 * @copy weave.api.core.ISessionManager#getLinkableDescendants()
 		 */
-		public static function getDescendants/*/<T>/*/(object:ILinkableObject, filter:/*/new(..._:any[])=>T/*/Class = null):Array/*/<T & ILinkableObject>/*/
-		{
+		public static function getDescendants/*/<T>/*/(object:ILinkableObject, filter:/*/new(..._:any[])=>T | string/*/Class = null):Array/*/<T & ILinkableObject>/*/
+		{
+			if (filter is String)
+				filter = Weave.getDefinition(String(filter), true);
+
 			return WeaveAPI.SessionManager.getLinkableDescendants(object, filter);
 		}


updated function call to match new function name

--- WeaveData/src/weave/data/DataSources/CSVDataSource.as
+++ WeaveData/src/weave/data/DataSources/CSVDataSource.as
@@ -535,9 +535,9 @@
 				numbers = stringsToNumbers(strings, dataType == DataType.NUMBER);
 			}

-			if (dataType == null || dataType == DataType.DATE)
-			{
-				dateFormats = DateColumn.suggestDateFormats(strings);
+			if ((!numbers && dataType == null) || dataType == DataType.DATE)
+			{
+				dateFormats = DateColumn.detectDateFormats(strings);
 			}

 			var newColumn:IAttributeColumn;


data table filters no longer highlight records if the filter settings
include all records.

Change-Id: I261ca10e8a266e09492dd71652d87e19847ee108

--- WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
+++ WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
@@ -130,17 +130,21 @@
 				_filtersInValid = false;
 				if(_filtersEnabled){
 					filteredKeys = [];
+					filterContainsAllKeys = true;
 					columnFilterFunctions = getAllFilterFunctions();
 					collection.filterFunction = callAllFilterFunctions;
 					//refresh call the respective function(**callAllFilterFunctions**) through internalrefresh in listCollectionView
-					collection.refresh();
-					selectedKeySet.replaceKeys(filteredKeys);
+					collection.refresh();
+					if (filterContainsAllKeys)
+						selectedKeySet.clearKeys();
+					else
+						selectedKeySet.replaceKeys(filteredKeys);
 					filteredKeys = null;
 				}
 				else{
 					collection.filterFunction = filterKeys;
 					collection.refresh();
-					selectedKeySet.replaceKeys([]);
+					selectedKeySet.clearKeys();
 				}
 			}
 		}
@@ -152,6 +156,7 @@
 		// contains keys filtered by filterfunctions in each WeaveCustomDataGridColumn
 		private var filteredKeys:Array;
 		private var columnFilterFunctions:Array;
+		private var filterContainsAllKeys:Boolean;

 		/**
 		 * This function is a logical AND of each WeaveCustomDataGridColumn filter function
@@ -162,7 +167,7 @@
 		{
 			for each (var cff:Function in columnFilterFunctions)
 				if (!cff(key))
-					return false;
+					return filterContainsAllKeys = false;
 			if (filteredKeys)
 				filteredKeys.push(key);
 			return true;


Allow user to specify boundaries when computing the CRC32 value of a vector.

--- src/aerys/minko/render/shader/compiler/CRC32.as
+++ src/aerys/minko/render/shader/compiler/CRC32.as
@@ -104,16 +104,20 @@
 			return computeForByteArray(TMP_BYTEARRAY);
 		}

-		public static function computeForNumberVector(v : Vector.<Number>) : uint
+		public static function computeForNumberVector(v			: Vector.<Number>,
+													  begin		: uint = 0,
+													  length	: uint = 0) : uint
 		{
-			var length		: uint		= v.length;
+			if (length == 0)
+				length = v.length;
+
+			var limit : uint = length + begin;

 			TMP_BYTEARRAY.length = TMP_BYTEARRAY.position = 0;
-
-			for (var i : uint = 0; i < length; ++i)
+			for (var i : uint = begin; i < limit; ++i)
 				TMP_BYTEARRAY.writeDouble(v[i]);

 			return computeForByteArray(TMP_BYTEARRAY);
 		}
 	}
-}+}


Store an optimized version of type description.

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -112,14 +112,14 @@
 			if (!type)
 				throw new IllegalOperationError("Type cannot be null when resolving.");

-			var description:XML = getTypeDescription(type);
-
-			if (description.factory.extendsClass.length() === 0)
-				throw new IllegalOperationError("Interface {0} must be registered before it can be resolved.".replace("{0}", description.@name.toString()));
-
-			var parameters:Array = resolveConstructorParameters(description.factory.constructor);
+			var typeDescription:Object = getTypeDescription(type);
+
+			if (!typeDescription)
+				throw new IllegalOperationError("Interface must be registered before it can be resolved.");
+
+			var parameters:Array = resolveConstructorParameters(typeDescription);
 			var instance:Object = createObject(type, parameters);
-			injectProperties(instance, description.factory);
+			injectProperties(instance, typeDescription);

 			return instance;
 		}
@@ -171,52 +171,48 @@
 		/**
 		 * Gets the class description for the type
 		 * @param	type The class to be described
-		 * @return An XML of the properties and methods for the class
-		 */
-		private function getTypeDescription(type:Class):XML
+		 * @return An object of constructor types and injectable properties
+		 */
+		private function getTypeDescription(type:Class):Object
 		{
 			if (_descriptions[type] !== undefined)
 				return _descriptions[type];

-			return _descriptions[type] = describeType(type);
-		}
-
-		/**
-		 * Resolves the non-optional parameters for a constructor
-		 * @param	constructor The constructor node from a class description xml
-		 * @return An array of objects to use as constructor arguments
-		 */
-		private function resolveConstructorParameters(constructor:XMLList):Array
-		{
-			var parameters:Array = [];
-
-			for each (var parameter:XML in constructor.parameter)
+			return _descriptions[type] = buildTypeDescription(type);
+		}
+
+		/**
+		 * Builds an optimized description of the type.
+		 * @param	type The type to be described.
+		 * @return An optimized description of the constructor and injectable properties
+		 */
+		private function buildTypeDescription(type:Class):Object
+		{
+			var typeDescription:Object = { constructorTypes:[], injectableProperties:[] };
+			var description:XML = describeType(type);
+
+			if (description.factory.extendsClass.length() === 0)
+				return null;
+
+			for each (var parameter:XML in description.factory.constructor.parameter)
 			{
 				if (parameter.@optional.toString() != "false")
 					break;

 				var parameterType:Class = Class(getDefinitionByName(parameter.@type.toString()));
-				parameters.push(resolve(parameterType));
-			}
-
-			return parameters;
-		}
-
-		/**
-		 * Resolves the properties on the instance object that are marked 'Inject'
-		 * @param	instance The object to be inspected
-		 * @param	factory The factory node from a class description xml
-		 */
-		private function injectProperties(instance:Object, factory:XMLList):void
-		{
-			for each (var accessor:XML in factory.accessor)
+				typeDescription.constructorTypes.push(parameterType);
+			}
+
+			for each (var accessor:XML in description.factory.accessor)
 			{
 				if (shouldInjectAccessor(accessor))
 				{
 					var propertyType:Class = Class(getDefinitionByName(accessor.@type.toString()));
-					instance[accessor.@name.toString()] = resolve(propertyType);
+					typeDescription.injectableProperties.push( { name:accessor.@name.toString(), type:propertyType } );
 				}
 			}
+
+			return typeDescription;
 		}

 		/**
@@ -238,5 +234,33 @@

 			return false;
 		}
+
+		/**
+		 * Resolves the non-optional parameters for a constructor
+		 * @param	typeDescription The optimized description of the type
+		 * @return An array of objects to use as constructor arguments
+		 */
+		private function resolveConstructorParameters(typeDescription:Object):Array
+		{
+			var parameters:Array = [];
+
+			for each (var parameterType:Class in typeDescription.constructorTypes)
+				parameters.push(resolve(parameterType));
+
+			return parameters;
+		}
+
+		/**
+		 * Resolves the properties on the instance object that are marked 'Inject'
+		 * @param	instance The object to be inspected
+		 * @param	typeDescription The optimized description of the type
+		 */
+		private function injectProperties(instance:Object, typeDescription:Object):void
+		{
+			for each (var injectableProperty:Object in typeDescription.injectableProperties)
+			{
+				instance[injectableProperty.name] = resolve(injectableProperty.type);
+			}
+		}
 	}
 }


Added asdoc to AsFactory

Added asdoc to AsFactory

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -7,18 +7,25 @@
 	import flash.utils.getDefinitionByName;

 	/**
-	 * ...
-	 * @author
+	 * The default AsFactory allows for registering instances, types, or callbacks
 	 */
 	public class AsFactory
 	{
 		private var _registrations:Dictionary;

+		/**
+		 * Constructs a new AsFactory
+		 */
 		public function AsFactory()
 		{
 			_registrations = new Dictionary();
 		}

+		/**
+		 * Registers a concrete instance to be returned whenever the target type is requested
+		 * @param	instance the concrete instance to be returned
+		 * @param	type the target type for which the instance should be returned at resolution time
+		 */
 		public function registerInstance(instance:Object, type:Class):void
 		{
 			var returnInstance:Function = function():Object
@@ -29,6 +36,13 @@
 			registerCallback(returnInstance, type, false);
 		}

+		/**
+		 * Registers a type to be returned whenever the target type is requested
+		 * @param	instanceType the type to construct at resolution time
+		 * @param	type the type being requested
+		 * @param	asSingleton If true, only one instance will be created and returned on each request. If false (default), a new instance
+		 * is created and returned at each resolution request
+		 */
 		public function registerType(instanceType:Class, type:Class, asSingleton:Boolean=false):void
 		{
 			if (!instanceType)
@@ -42,6 +56,13 @@
 			registerCallback(resolveType, type, asSingleton);
 		}

+		/**
+		 * Registers a callback to be executed, the result of which is returned whenever the target type is requested
+		 * @param	callback the callback to execute
+		 * @param	type the type being requested
+		 * @param	asSingleton If true, only one instance will be created and returned on each request. If false (default), a new instance
+		 * is created and returned at each resolution request
+		 */
 		public function registerCallback(callback:Function, type:Class, asSingleton:Boolean=false):void
 		{
 			if (!type)
@@ -70,6 +91,11 @@
 				_registrations[type] = callback;
 		}

+		/**
+		 * Returns an instance for the target type, using prior registrations to fufill constructor parameters
+		 * @param	type the type being requested
+		 * @return resolved instance
+		 */
 		public function resolve(type:Class):*
 		{
 			if (_registrations[type] !== undefined)
@@ -78,6 +104,11 @@
 			return resolveByClass(type);
 		}

+		/**
+		 * Resolves the desired type using prior registrations
+		 * @param	type the type being requested
+		 * @return the resolved instance
+		 */
 		private function resolveByClass(type:Class):*
 		{
 			if (!type)
@@ -101,6 +132,12 @@
 			return createObject(type, parameters);
 		}

+		/**
+		 * Creates a new instance of the type, using the specified parameters as the constructor parameters
+		 * @param	type the type being created
+		 * @param	parameters the parameters to supply to the constructor
+		 * @return new instance of type
+		 */
 		private function createObject(type:Class, parameters:Array):*
 		{
 			switch (parameters.length)


qnd: support in "allowCookies" flashvar

qnd: support in "allowCookies" flashvar

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@85788 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- plugins/closedCaptionsPlugin/src/com/kaltura/kdpfl/plugin/component/ClosedCaptionsMediator.as
+++ plugins/closedCaptionsPlugin/src/com/kaltura/kdpfl/plugin/component/ClosedCaptionsMediator.as
@@ -193,7 +193,7 @@
 								switchActiveCCFile( ccObj );
 							}

-							if ( ccObj.language )
+							if (_flashvars.allowCookies=="true" && ccObj.language )
 							{
 								try
 								{


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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPCubeImpl.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPCubeImpl.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: 13693
Author:   hmuller@adobe.com
Date:     2010-01-21T20:25:54.403160Z

Log Message:
-----------
Initial version of the mirroring layout code.  Only Spark is supported.  API revisions for this feature are very likely to follow.

QE notes:
Doc notes:
Bugs:
Reviewer: Evtim
Tests run: All Mustella tests pass
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</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/spark/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
+++ frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
@@ -728,6 +728,13 @@
             object.invalidateProperties();
         }

+        if (!styleProp ||
+            styleProp == "styleName" ||
+            styleProp == "layoutDirection")
+        {
+            object.invalidateProperties();
+        }
+
         // Check to see if this is one of the style properties
         // that is known to affect layout.
         if (!styleProp ||


Transferred from the Adobe Open Source Subversion Repository

Revision: 10633
Author:   dloverin@adobe.com
Date:     2009-09-28T13:24:30.559033Z

Log Message:
-----------
Use styleManager instance instead of StyleManager singleton (framework and compiler generated code)

Modified compiler generated style code for the FlexInit class. The style related changes are only available with the -keep option. AST generation is coming later.

Only the framework project is changed here. The other projects are will be changed soon.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex and Paul
Tests run: checkintests, all Mustella tests(no new failures)
Is noteworthy for integration: no.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/textClasses/TextRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.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/styles/CSSStyleDeclaration.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/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -82,7 +82,6 @@
 import mx.managers.IFocusManagerComponent;
 import mx.managers.ISystemManager;
 import mx.skins.halo.ListDropIndicator;
-import mx.styles.StyleManager;
 import mx.styles.StyleProxy;
 import mx.utils.ObjectUtil;
 import mx.utils.UIDUtil;
@@ -4839,7 +4838,7 @@
             invalidateProperties();
         }

-        if (StyleManager.isSizeInvalidatingStyle(styleProp))
+        if (styleManager.isSizeInvalidatingStyle(styleProp))
             scrollAreaChanged = true;
     }


fixed buggy position of "therefore"

fixed buggy position of "therefore"

--- Arguments/src/classes/ArgumentPanel.as
+++ Arguments/src/classes/ArgumentPanel.as
@@ -206,7 +206,7 @@
 				thereforeLine.graphics.moveTo(this.width-10,this.height/2);
 				thereforeLine.graphics.lineTo(this.width+100,this.height/2);
 				thereforeText = new Label;
-				thereforeText.x = this.width + 10; thereforeText.y = 50;
+				thereforeText.x = this.gridY*25+this.width + 10; thereforeText.y = this.gridX*25+50;
 				parentMap.addElement(thereforeText);
 				thereforeText.text = "THEREFORE";

@@ -279,9 +279,8 @@
 		}

 		public function textBoxClicked(event:MouseEvent):void{
-			if(event.target.text != ""){
+			if(this.inference==null)
 				event.target.text = "";
-			}
 		}

 		public function movedAway(event:MouseEvent):void{


Transferred from the Adobe Open Source Subversion Repository

Revision: 12024
Author:   jszeto@adobe.com
Date:     2009-11-20T01:42:15.626998Z

Log Message:
-----------
http://bugs.adobe.com/jira/browse/SDK-22414 - DropDownList doesn't respect typicalItem

The default size of DropDownList and ComboBox will remain the same. If typicalItem is set, then the component will size itself to fit that item.

When typicalItem is set:

In DropDownList.measure, we set the labelDisplay to the typicalItem, force validation of the skin, set the labelDisplay's size to its measured size and then restore the labelDisplay to the selectedItem. The component sets labelIDisplay's width and height because we want typicalItem to take priority over the an explicit width and height set in the skin. The default skin sets an explicit width on the labelDisplay in order to prevent the DropDownList from changing size when the selectedItem changes. If typicalItem is set back to null, then the component restores the original width/height of the labelDisplay.

In ComboBox.commitProperties, we set the textInput.widthInChars to the length of the typicalItem.

QE notes: Need tests for typicalItem
Doc notes: Update the ASDoc for DropDownList.typicalItem and ComboBox.typicalItem. Mention typicalItem in class comments
Bugs: SDK-22414
Reviewer: Alex, Glenn
Tests run: checkintests, DropDownList, ComboBox
Is noteworthy for integration: Should Builder promote this property to be of higher importance?

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

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -13,10 +13,11 @@
 package spark.components
 {

+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;

 import spark.components.supportClasses.TextBase;
-import spark.utils.LabelUtil;
+import spark.utils.LabelUtil;

 use namespace mx_internal;

@@ -118,10 +119,11 @@
     //  Variables
     //
     //--------------------------------------------------------------------------
-    /**
-     *  @private
-     */
+
     private var labelChanged:Boolean = false;
+    private var labelDisplayExplicitWidth:Number;
+    private var labelDisplayExplicitHeight:Number;
+    private var sizeSetByTypicalItem:Boolean;

     //--------------------------------------------------------------------------
     //
@@ -191,7 +193,46 @@
         labelChanged = true;
         invalidateProperties();
     }
-
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Layouts use the preferred size of the typicalItem
+     *  when fixed row or column sizes are required, but a specific
+     *  rowHeight or columnWidth value is not set.
+     *  Similarly virtual layouts use this item to define the size
+     *  of layout elements that have not been scrolled into view.
+     *
+     *
The container  uses the typical data item, and the associated item renderer,
+     *  to determine the default size of the container children.
+     *  By defining the typical item, the container does not have to size each child
+     *  as it is drawn on the screen.

+     *
+     *
Setting this property sets the typicalLayoutElement property
+     *  of the layout.

+     *
+     *
Restriction: if the typicalItem is an IVisualItem, it must not
+     *  also be a member of the data Provider.

+     *
+     *
Note: Setting typicalItem in DropDownList will override any explicit width or height
+     *  set on the labelDisplay.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function set typicalItem(value:Object):void
+    {
+        super.typicalItem = value;
+        invalidateSize();
+    }

     //--------------------------------------------------------------------------
     //
@@ -229,15 +270,58 @@

     /**
      *  @private
+     */
+    override protected function measure():void
+    {
+        // If typicalItem is set, then use it for measurement
+        if (labelDisplay && typicalItem != null)
+        {
+            // Save the labelDisplay's dimensions in case we clear out typicalItem
+            if (!sizeSetByTypicalItem)
+            {
+                labelDisplayExplicitWidth = labelDisplay.explicitWidth;
+                labelDisplayExplicitHeight = labelDisplay.explicitHeight;
+                sizeSetByTypicalItem = true;
+            }
+
+            labelDisplay.explicitWidth = NaN;
+            labelDisplay.explicitHeight = NaN;
+
+            // Swap in the typicalItem into the labelDisplay
+            updateLabelDisplay(typicalItem);
+            UIComponentGlobals.layoutManager.validateClient(skin, true);
+
+            // Force the labelDisplay to be sized to the measured size
+            labelDisplay.width = labelDisplay.measuredWidth;
+            labelDisplay.height = labelDisplay.measuredHeight;
+
+            // Set the labelDisplay back to selectedItem
+            updateLabelDisplay();
+        }
+        else if (sizeSetByTypicalItem && typicalItem == null)
+        {
+            // Restore the labelDisplay to its original size
+            labelDisplay.width = labelDisplayExplicitWidth;
+            labelDisplay.height = labelDisplayExplicitHeight;
+            sizeSetByTypicalItem = false;
+        }
+
+        super.measure();
+    }
+
+    /**
+     *  @private
      *  Called whenever we need to update the text passed to the labelDisplay skin part
      */
     // TODO (jszeto): Make this protected and make the name more generic (passing data to skin)
-    override mx_internal function updateLabelDisplay():void
+    override mx_internal function updateLabelDisplay(displayItem:* = undefined):void
     {
         if (labelDisplay)
         {
-            if (selectedItem != null && selectedItem != undefined)
-                labelDisplay.text = LabelUtil.itemToLabel(selectedItem, labelField, labelFunction);
+            if (displayItem == undefined)
+                displayItem = selectedItem;
+            if (displayItem != null && displayItem != undefined)
+                labelDisplay.text = LabelUtil.itemToLabel(displayItem, labelField, labelFunction);
             else
                 labelDisplay.text = prompt;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 22217
Author:   mhorn@adobe.com
Date:     2011-08-25T18:07:03.696931Z

Log Message:
-----------
minor asdoc change

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -34,7 +34,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Basics of mobile skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 23130
Author:   aaltman@adobe.com
Date:     2011-10-26T17:34:37.688724Z

Log Message:
-----------
Listen for creationComplete on the StylableStageText's most distant ancestor to have not sent one. Recalculate the StageText's visibility when that event is dispatched.

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

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -2281,6 +2281,7 @@

             if (newWatchedAncestors.indexOf(ancestor) == -1)
             {
+                ancestor.removeEventListener(FlexEvent.CREATION_COMPLETE, ancestor_creationCompleteHandler);
                 ancestor.removeEventListener(MoveEvent.MOVE, ancestor_moveHandler);
                 ancestor.removeEventListener(ResizeEvent.RESIZE, ancestor_resizeHandler);
                 ancestor.removeEventListener(FlexEvent.SHOW, ancestor_showHandler);
@@ -2290,7 +2291,8 @@
             }
         }

-        for (i = 0; i < newWatchedAncestors.length; i++)
+        var foundUninitialized:Boolean = false;
+        for (i = newWatchedAncestors.length - 1; i >= 0; i--)
         {
             var newAncestor:UIComponent = newWatchedAncestors[i];

@@ -2305,6 +2307,12 @@
                 {
                     newAncestor.addEventListener(PopUpEvent.CLOSE, ancestor_closeHandler, false, 0, true);
                     newAncestor.addEventListener(PopUpEvent.OPEN, ancestor_openHandler, false, 0, true);
+                }
+
+                if (!newAncestor.initialized && !foundUninitialized)
+                {
+                    foundUninitialized = true;
+                    newAncestor.addEventListener(FlexEvent.CREATION_COMPLETE, ancestor_creationCompleteHandler, false, 0, true);
                 }
             }
         }
@@ -2354,6 +2362,7 @@
         {
             var ancestor:UIComponent = watchedAncestors.pop();

+            ancestor.removeEventListener(FlexEvent.CREATION_COMPLETE, ancestor_creationCompleteHandler);
             ancestor.removeEventListener(MoveEvent.MOVE, ancestor_moveHandler);
             ancestor.removeEventListener(ResizeEvent.RESIZE, ancestor_resizeHandler);
             ancestor.removeEventListener(FlexEvent.SHOW, ancestor_showHandler);
@@ -2451,6 +2460,15 @@
         ancestorsVisible = false;
         invalidateAncestorsVisibleFlag = false;
         invalidateProperties();
+    }
+
+    private function ancestor_creationCompleteHandler(event:FlexEvent):void
+    {
+        if (!invalidateAncestorsVisibleFlag)
+        {
+            invalidateAncestorsVisibleFlag = true;
+            invalidateProperties();
+        }
     }

     private function ancestor_hideHandler(event:FlexEvent):void


mediator sugar changed to addViewListener and addContextListener

--- src/org/robotlegs/mvcs/Mediator.as
+++ src/org/robotlegs/mvcs/Mediator.as
@@ -100,7 +100,7 @@
 		 * @param useWeakReference
 		 *
 		 */
-		protected function mapViewListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0,					 useWeakReference:Boolean = true):void
+		protected function addViewListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0,					 useWeakReference:Boolean = true):void
 		{
 			eventMap.mapListener(IEventDispatcher(viewComponent), type, listener,
 				eventClass, useCapture, priority, useWeakReference);
@@ -118,7 +118,7 @@
 		 * @param useWeakReference
 		 *
 		 */
-		protected function mapListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = true):void
+		protected function addContextListener(type:String, listener:Function, eventClass:Class = null, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = true):void
 	 	{
 			eventMap.mapListener(eventDispatcher, type, listener,
 				eventClass, useCapture, priority, useWeakReference);


Transferred from the Adobe Open Source Subversion Repository

Revision: 20687
Author:   smgilson@adobe.com
Date:     2011-03-08T20:09:56.755277Z

Log Message:
-----------
ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayCollection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Label.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpMenuButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/MovieClipSWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBase.as</path>

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

--- frameworks/projects/mx/src/mx/containers/ViewStack.as
+++ frameworks/projects/mx/src/mx/containers/ViewStack.as
@@ -1147,8 +1147,10 @@

     /**
      *  Commits the selected index. This function is called during the commit
-     *  properties phase when the selectedIndex (or selectedItem) property
-     *  has changed.
+     *  properties phase when the selectedIndex or
+     *  selectedItem property changes.
+     *
+     *  @param newIndex The selected index.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -1407,7 +1409,7 @@
             if (currentSelectedIndex == 0)
             {
                 _selectedIndex = -1;
-				dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
+                dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
             }
             else
             {


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

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


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

--- frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLLoader.as
+++ frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLLoader.as
@@ -0,0 +1,273 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc.wsdl
+{
+
+import flash.events.Event;
+import flash.events.EventDispatcher;
+
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+import mx.rpc.AsyncToken;
+import mx.rpc.Fault;
+import mx.rpc.events.FaultEvent;
+import mx.rpc.events.ResultEvent;
+import mx.rpc.events.SchemaLoadEvent;
+import mx.rpc.events.WSDLLoadEvent;
+import mx.rpc.http.HTTPService;
+import mx.rpc.xml.Schema;
+import mx.rpc.xml.SchemaLoader;
+import mx.rpc.xml.SchemaManager;
+import mx.rpc.xml.XMLLoader;
+import mx.utils.URLUtil;
+
+[Event(name="fault", type="mx.rpc.events.FaultEvent")]
+[Event(name="wsdlLoad", type="mx.rpc.events.WSDLLoadEvent")]
+
+[ResourceBundle("rpc")]
+
+[ExcludeClass]
+
+/**
+ * Manages the loading of a WSDL at runtime, including all imports for
+ * WSDL
+ *
+ * @private
+ */
+public class WSDLLoader extends XMLLoader
+{
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    public function WSDLLoader(httpService:HTTPService = null)
+    {
+        super(httpService);
+
+        locationMap = {};
+        schemaLoader = new SchemaLoader(httpService);
+        schemaLoader.addEventListener(SchemaLoadEvent.LOAD, schemaLoadHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var resourceManager:IResourceManager =
+									ResourceManager.getInstance();
+
+    //--------------------------------------------------------------------------
+    //
+    // Method
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Asynchronously loads a WSDL for a given URL, including resolving all
+     * WSDL imports and includes and XML Schema imports and includes.
+     */
+    override public function load(url:String):void
+    {
+        // Resolve any relative URLs to the loader root URL
+        url = getQualifiedLocation(url);
+        loadWSDL(url);
+    }
+
+    override protected function faultHandler(event:FaultEvent):void
+    {
+        loadsOutstanding--;
+        var location:String = event.token == null ? null : event.token.location;
+        var detail:String = resourceManager.getString(
+			"rpc", "unableToLoadWSDL", [ location ]);
+        var fault:Fault = new Fault(event.fault.faultCode, event.fault.faultString, detail);
+        event = FaultEvent.createEvent(fault, event.token, event.message);
+        dispatchEvent(event);
+    }
+
+    override protected function resultHandler(event:ResultEvent):void
+    {
+        super.resultHandler(event);
+        var token:AsyncToken = event.token;
+        var xml:XML = XML(event.result);
+        var wsdl:WSDL;
+
+        var location:String = token.location;
+        if (token.parent != null)
+        {
+            var parent:WSDL = token.parent as WSDL;
+            var ns:Namespace = token.importNamespace as Namespace;
+
+            // We still need to handle endpoints that are not WS-I Basic
+            // Profile compliant as older WSDLs may import schemas using
+            // wsdl:import instead of xsd:import
+            var name:QName = xml.name();
+            if (name == parent.schemaConstants.schemaQName)
+            {
+                var schema:Schema = new Schema(xml);
+
+                schemaLoader.schemaImports(schema, location, parent.schemaManager);
+                parent.addSchema(schema);
+
+                // Treat WSDLs using non-compliant wsdl:import for schemas as
+                // a top level import, even though xsd:import are scoped to
+                // the parent WSDL.
+                if (topLevelWSDL != null)
+                {
+                    topLevelWSDL.addSchema(schema);
+
+                    // Also re-check for any schema imports as this wsdl
+                    // import may have contained the definition for an
+                    // imported namespace that wasn't available earlier...
+                    schemaImports(topLevelWSDL, location);
+                }
+            }
+            else
+            {
+                wsdl = new WSDL(xml);
+                // FIXME: An import without a valid namespace is an error!
+                parent.addImport(ns, wsdl);
+            }
+        }
+        else
+        {
+            wsdl = new WSDL(xml);
+            topLevelWSDL = wsdl;
+            topLevelLocation = location;
+        }
+
+        if (wsdl != null)
+        {
+            locationMap[location] = wsdl;
+
+            // Check for WSDL imports
+            wsdlImports(wsdl, location);
+
+            // Check for XML Schema imports
+            schemaImports(wsdl, location);
+        }
+
+        // Finally, check if we've finished loading all imports and includes.
+        checkLoadsOutstanding();
+    }
+
+    /**
+     * This handler is triggered when all schema imports and
+     * includes have loaded. This is necessary as the WSDL imports and
+     * includes are likely to be finished before the schema sections.
+     */
+    private function schemaLoadHandler(event:SchemaLoadEvent):void
+    {
+        checkLoadsOutstanding();
+    }
+
+    /**
+     * Checks whether a WSDL and all of its Schemas have finished loading.
+     * If there are no loads outstanding, a WSDL load event will be dispatched.
+     */
+    private function checkLoadsOutstanding():void
+    {
+        if (loadsOutstanding == 0 && schemaLoader.loadsOutstanding == 0)
+        {
+            var loadEvent:WSDLLoadEvent = WSDLLoadEvent.createEvent(topLevelWSDL, topLevelLocation);
+            dispatchEvent(loadEvent);
+        }
+    }
+
+    private function loadWSDL(location:String, parent:WSDL = null, ns:Namespace = null):AsyncToken
+    {
+        var token:AsyncToken = internalLoad(location);
+
+        if (token != null)
+        {
+            token.parent = parent;
+            token.importNamespace = ns;
+        }
+        return token;
+    }
+
+    /**
+     * WSDL definitions can contain imports to other WSDL definitions.
+     *
+     * A WSDL import must define a valid namespace and location.
+     *
+     * The WSDLLoader attempts to keep track of imports to avoid cyclic
+     * dependencies.
+     */
+    private function wsdlImports(wsdl:WSDL, parentLocation:String):void
+    {
+        var importQName:QName = wsdl.wsdlConstants.importQName;
+        var imports:XMLList = wsdl.xml.elements(importQName);
+
+        for each (var importNode:XML in imports)
+        {
+            var location:String = importNode.attribute("location").toString();
+            var importURI:String = importNode.attribute("namespace").toString();
+
+            // FIXME: Check location and importNS are valid
+            var importNS:Namespace = new Namespace(importURI);
+
+            // Resolve any relative locations to a fully qualified path
+            location = getQualifiedLocation(location, parentLocation);
+
+            var existing:WSDL = locationMap[location];
+            if (existing == null)
+                loadWSDL(location, wsdl, importNS);
+            else
+                wsdl.addImport(importNS, existing);
+        }
+    }
+
+    private function schemaImports(wsdl:WSDL, parentLocation:String):void
+    {
+        var schemaManager:SchemaManager = wsdl.schemaManager;
+        var schemas:Array = schemaManager.currentScope();
+
+        for (var s:int = 0; s < schemas.length; s++)
+        {
+            var schema:Schema = schemas[s];
+            var schemaXML:XML = schema.xml;
+
+            //check for includes in the current schema
+            var includeSchema:XMLList = schemaXML.elements(schema.schemaConstants.includeQName);
+            if (includeSchema != null && includeSchema.length() > 0)
+            {
+                schemaLoader.schemaIncludes(schema, parentLocation);
+            }
+
+            schemaLoader.schemaImports(schema, parentLocation, schemaManager);
+
+            if (wsdl != topLevelWSDL)
+                topLevelWSDL.addSchema(schema);
+        }
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var schemaLoader:SchemaLoader;
+    private var topLevelWSDL:WSDL;
+    private var topLevelLocation:String;
+    private var locationMap:Object;
+}
+
+}


Improve word wrapping and don't try to sanitize the organization name.

--- asn_visualization/asn_visualization.as
+++ asn_visualization/asn_visualization.as
@@ -2,7 +2,7 @@
 {

     import com.adobe.serialization.json.JSON;
-
+
     import flare.analytics.graph.ShortestPaths;
     import flare.display.DirtySprite;
     import flare.display.TextSprite;
@@ -16,7 +16,7 @@
     import flare.vis.events.SelectionEvent;
     import flare.vis.operator.layout.BundledEdgeRouter;
     import flare.vis.operator.layout.CircleLayout;
-
+
     import flash.display.Sprite;
     import flash.events.MouseEvent;
     import flash.filters.DropShadowFilter;
@@ -25,7 +25,7 @@
     import flash.net.URLRequest;
     import flash.utils.Dictionary;
     import flash.utils.getDefinitionByName;
-
+
     import mx.core.*;
     import mx.formatters.NumberBase;
     import mx.formatters.NumberBaseRoundType;
@@ -44,6 +44,8 @@

         private static const ON_CLICK_SHOW_PATH_TO_REST_OF_THE_WORLD:uint=1;
         private static const RADIAL_LAYOUT:uint=2;
+
+		private static const clean_up_organization_name:Boolean = false;

         public function asn_visualization()
         {
@@ -433,16 +435,26 @@
                     continue;
                 }

-                if ((line_length + substring_length) > line_width)
-                {
-                    ret+='\n ';
-                    line_length=1;
+                if (ret != "")
+                {
+                	if ((line_length + substring_length) > line_width)
+                	{
+                    	ret+='\n ';
+                    	line_length=1;
+                	}
+					else
+					{
+                   		ret+=' ';
+                    	line_length+=1;
+                	}
                 }
-                else if (ret != "")
-                {
-                    ret+=' ';
-                    line_length+=1;
-                }
+
+				// Break on '-' if it's larger than 20 characters.
+				if ( (substring_length > line_width) && ( substring.search(/-/) != -1 ) )
+				{
+					substring = substring.split(/-/).join("-\n ");
+					substring_length = substring.split(/-/).pop().toString().length + 1;
+				}

                 ret+=substring;
                 line_length+=substring_length;
@@ -453,7 +465,7 @@

         private function word_wrap_to_default(string:String):String
         {
-            const line_length_limit:int=20;
+            const line_length_limit:int=15;
             var ret:String=word_wrap(string, line_length_limit);
             return ret;
         }
@@ -472,21 +484,23 @@
             }

             var number_base:NumberBase=new NumberBase();
-
-            //Strip out beginning id from organization name if necessary
-            var asn_name:String=data.organization_name.replace(/^[A-Z]*-AS /, '');
-            if (asn_name == data.organization_name)
-            {
-                asn_name=asn_name.replace(/^([A-Z-])* /, '');
-            }
-
-            //ret += "'" + asn_name + "'\n";
-
-            /*asn_name = asn_name.replace(/\s+/gm, " ");
-               var pattern:RegExp = /(.{1,25}\S)\s+/g;
-               asn_name = asn_name.replace(pattern, "|$&|$1|\n");
-             */
-
+
+			var asn_name:String=data.organization_name;
+
+			if (clean_up_organization_name) {
+	            //Strip out beginning id from organization name if necessary
+    	        asn_name = asn_name.replace(/^[A-Z]*-AS /, '');
+        	    if (asn_name == data.organization_name)
+            	{
+                	asn_name=asn_name.replace(/^([A-Z-])* /, '');
+            	}
+
+           		 /*asn_name = asn_name.replace(/\s+/gm, " ");
+              	 var pattern:RegExp = /(.{1,25}\S)\s+/g;
+              	 asn_name = asn_name.replace(pattern, "|$&|$1|\n");
+             	*/
+			}
+
             asn_name=word_wrap_to_default(asn_name);
             ret+="<b>";
             ret+=asn_name;


implements flash.geom.Matrix

implements flash.geom.Matrix

--- src/flash/geom/Matrix.as
+++ src/flash/geom/Matrix.as
@@ -1,29 +1,222 @@
+/*
+ * Copyright 2014 Mozilla Foundation
+ *
+ * Licensed 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.
+ */
+
 package flash.geom {
-public class Matrix {
-    public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0) {}
+
+  public class Matrix {
+
     public var a:Number;
     public var b:Number;
     public var c:Number;
     public var d:Number;
     public var tx:Number;
     public var ty:Number;
-    public function clone():Matrix { notImplemented("clone"); return null; }
-    public function concat(m:Matrix):void { notImplemented("concat"); }
-    public function invert():void { notImplemented("invert"); }
-    public function identity():void { notImplemented("identity"); }
-    public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void { notImplemented("createBox"); }
-    public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void { notImplemented("createGradientBox"); }
-    public function rotate(angle:Number):void { notImplemented("rotate"); }
-    public function translate(dx:Number, dy:Number):void { notImplemented("translate"); }
-    public function scale(sx:Number, sy:Number):void { notImplemented("scale"); }
-    public function deltaTransformPoint(point:Point):Point { notImplemented("deltaTransformPoint"); return null; }
-    public function transformPoint(point:Point):Point { notImplemented("transformPoint"); return null; }
-    public function toString():String { notImplemented("toString"); return ""; }
-    public function copyFrom(sourceMatrix:Matrix):void { notImplemented("copyFrom"); }
-    public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void { notImplemented("setTo"); }
-    public function copyRowTo(row:uint, vector3D:Vector3D):void { notImplemented("copyRowTo"); }
-    public function copyColumnTo(column:uint, vector3D:Vector3D):void { notImplemented("copyColumnTo"); }
-    public function copyRowFrom(row:uint, vector3D:Vector3D):void { notImplemented("copyRowFrom"); }
-    public function copyColumnFrom(column:uint, vector3D:Vector3D):void { notImplemented("copyColumnFrom"); }
+
+    public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0) {
+      this.a = a;
+      this.b = b;
+      this.c = c;
+      this.d = d;
+      this.tx = tx;
+      this.ty = ty;
+    }
+
+    public function concat(m:Matrix):void {
+      var ta:Number = a;
+      var tb:Number = b;
+      var tc:Number = c;
+      var td:Number = d;
+      var ttx:Number = tx;
+      var tty:Number = ty;
+      a = m.a * ta + m.c * tb;
+      b = m.b * ta + m.d * tb;
+      c = m.a * tc + m.c * td;
+      d = m.b * tc + m.d * td;
+      tx = m.a * ttx + m.c * tty + m.tx;
+      ty = m.b * ttx + m.d * tty + m.ty;
+    }
+
+    public function invert():void {
+      var det:Number = a * d - b * c;
+      if (det == 0) {
+        identity();
+        return;
+      }
+      a = d / det;
+      b = -b / det;
+      c = -c / det;
+      d = a / det;
+      var ttx:Number = tx;
+      var tty:Number = ty;
+      tx = -(a * ttx + c * tty);
+      ty = -(b * ttx + d * tty);
+    }
+
+    public function identity():void {
+      a = d = 1;
+      b = c = tx = ty = 0;
+    }
+
+    public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void {
+      if (rotation != 0) {
+        var u:Number = Math.cos(rotation);
+        var v:Number = Math.sin(rotation);
+        a = u * scaleX;
+        b = v * scaleY;
+        c = -v * scaleX;
+        d = u * scaleY;
+      } else {
+        a = scaleX;
+        b = 0;
+        c = 0;
+        d = scaleY;
+      }
+      this.tx = tx;
+      this.ty = ty;
+    }
+
+    public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void {
+      createBox(width / 1638.4, height / 1638.4, rotation, tx + width / 2, ty + height / 2);
+    }
+
+    public function rotate(angle:Number):void {
+      if (angle != 0) {
+        var u:Number = Math.cos(angle);
+        var v:Number = Math.sin(angle);
+        var ta:Number = a;
+        var tb:Number = b;
+        var tc:Number = c;
+        var td:Number = d;
+        var ttx:Number = tx;
+        var tty:Number = ty;
+        a = ta * u - tb * v;
+        b = ta * v + tb * u;
+        c = tc * u - td * v;
+        d = tc * v + td * u;
+        tx = ttx * u - tty * v;
+        ty = ttx * v + tty * u;
+      }
+    }
+
+    public function translate(dx:Number, dy:Number):void {
+      tx += dx;
+      ty += dy;
+    }
+
+    public function scale(sx:Number, sy:Number):void {
+      if (sx !== 1) {
+        a *= sx;
+        c *= sx;
+        tx *= sx;
+      }
+      if (sy !== 1) {
+        b *= sy;
+        d *= sy;
+        ty *= sy;
+      }
+    }
+
+    public function deltaTransformPoint(point:Point):Point {
+      return new Point(a * point.x + c * point.y, b * point.x + d * point.y);
+    }
+
+    public function transformPoint(point:Point):Point {
+      return new Point(a * point.x + c * point.y + tx, b * point.x + d * point.y + ty);
+    }
+
+    public function copyFrom(sourceMatrix:Matrix):void {
+      a = sourceMatrix.a;
+      b = sourceMatrix.b;
+      c = sourceMatrix.c;
+      d = sourceMatrix.d;
+      tx = sourceMatrix.tx;
+      ty = sourceMatrix.ty;
+    }
+
+    public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void {
+      a = aa;
+      b = ba;
+      c = ca;
+      d = da;
+      tx = txa;
+      ty = tya;
+    }
+
+    public function copyRowTo(row:uint, vector3D:Vector3D):void {
+      if (row == 0) {
+        vector3D.x = a;
+        vector3D.y = c;
+        vector3D.z = tx;
+      } else if (row == 1) {
+        vector3D.x = b;
+        vector3D.y = d;
+        vector3D.z = ty;
+      } else if (row == 2) {
+        vector3D.x = 0;
+        vector3D.y = 0;
+        vector3D.z = 1;
+      }
+    }
+
+    public function copyColumnTo(column:uint, vector3D:Vector3D):void {
+      if (column == 0) {
+        vector3D.x = a;
+        vector3D.y = b;
+        vector3D.z = 0;
+      } else if (column == 1) {
+        vector3D.x = c;
+        vector3D.y = d;
+        vector3D.z = 0;
+      } else if (column == 2) {
+        vector3D.x = tx;
+        vector3D.y = ty;
+        vector3D.z = 1;
+      }
+    }
+
+    public function copyRowFrom(row:uint, vector3D:Vector3D):void {
+      if (row == 0) {
+        a = vector3D.x;
+        c = vector3D.y;
+        tx = vector3D.z;
+      } else if (row == 1) {
+        b = vector3D.x;
+        d = vector3D.y;
+        ty = vector3D.z;
+      }
+    }
+
+    public function copyColumnFrom(column:uint, vector3D:Vector3D):void {
+      if (column == 0) {
+        a = vector3D.x;
+        c = vector3D.y;
+        tx = vector3D.z;
+      } else if (column == 1) {
+        b = vector3D.x;
+        d = vector3D.y;
+        ty = vector3D.z;
+      }
+    }
+
+    public function clone():Matrix {
+      return new Matrix(a, b, c, d, tx, ty);
+    }
+
+    public function toString():String {
+      return "(a=" + a + ", b=" + b + ", c=" + c + ", d=" + d + ", tx=" + tx + ", ty=" + ty + ")";
+    }
   }
 }


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

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


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

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


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

--- frameworks/projects/framework/src/mx/states/SetProperty.as
+++ frameworks/projects/framework/src/mx/states/SetProperty.as
@@ -44,6 +44,11 @@
  *  @see mx.effects.SetPropertyAction
  *
  *  @includeExample examples/StatesExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class SetProperty extends OverrideBase implements IOverride
 {
@@ -94,6 +99,11 @@
      *  @param name The property to set.
      *
      *  @param value The value of the property in the view state.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function SetProperty(target:Object = null, name:String = null,
                                 value:* = undefined)
@@ -152,6 +162,11 @@
      *  You must set this property, either in
      *  the SetProperty constructor or by setting
      *  the property value directly.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var name:String;

@@ -167,6 +182,11 @@
      *  immediate parent of the State object.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var target:Object;

@@ -186,6 +206,11 @@
      *  The new value for the property.
      *
      *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get value():*
     {
@@ -216,6 +241,11 @@
      *  IOverride interface method; this class implements it as an empty method.
      *
      *  @copy IOverride#initialize()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initialize():void
     {
@@ -223,6 +253,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function apply(parent:UIComponent):void
     {
@@ -285,6 +320,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function remove(parent:UIComponent):void
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18643
Author:   klin@adobe.com
Date:     2010-11-17T01:43:22.669479Z

Log Message:
-----------
Fixed up GridColumnHeaderGroupLayout, bandaid fix the caret, and some minor DataGrid skin changes.

GridColumnHeaderGroupLayout.as
-Added two Groups used as layers for the renderers and the separators.
-Fixed a leak in the separators. We now keep track of both visible separators and visible header renderers.
-Added updateRendererHeights() to update the renderer heights cache and keep track of the current max renderer height. This method also may invalidate the gchg's size if the max renderer height changes.
-Moved the call to renderer.prepare to allow prepare to be called on the last renderer.

DataGridSkin.mxml
-Moved background color fill underneath the column header group.
-Added minHeight to column header group

GridLayout.as - Add special case when laying out the caret so that the caret overlaps all the separators.

DataGrid.as - Call event.updateAfterEvent() to smooth out resizing columns.

QE notes: No
Doc notes: No
Bugs: SDK-27984, SDK-28057, SDK-28060, SDK-28080, SDK-28462, SDK-28577
Reviewer: Hans, Carol
Tests run: cyclone, checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -4010,6 +4010,7 @@
             newWidth = Math.min(newWidth, maxWidth);

         resizeColumn.width = newWidth;
+        event.updateAfterEvent();
     }

     /**