Made AddResourceDir of resource cache come first so that game controller can properly access the Settings Directory

--- DroneAnarchy/Resources/Scripts/DroneAnarchy.as
+++ DroneAnarchy/Resources/Scripts/DroneAnarchy.as
@@ -66,9 +66,10 @@
 {
 	graphics.windowTitle = "Drone Anarchy";

+	cache.AddResourceDir("DroneAnarchy");
+
 	CreateGameControllers();   // in GameController.as

-	cache.AddResourceDir("DroneAnarchy");

 	CreateDebugHud();


Allow decoding into an existing ArrayCollection or subclass. Allows for RESTCollection support as a directly GET able resource type

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -472,7 +472,7 @@
                         var existing:* = result[partName];
                         if (existing && (existing is Object)
                             && !((existing is Array)
-                                || (existing is ArrayCollection)
+                                //|| (existing is ArrayCollection)
                                 || (existing is String)
                                 || (existing is Boolean)
                                 || (existing is Number)


Fix for array loading/replacement that impacts SystemInstalledSoftware

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -57,6 +57,7 @@
 import mx.utils.ObjectProxy;
 import mx.collections.IList;
 import com.adobe.utils.DateUtil;
+import mx.collections.ICollectionView;

 /**
@@ -986,26 +987,42 @@
             {
                 if (makeCollection)
                 {
-                    existing = objectFactory.newCollectionFrom([]);
-                    if (!(value is Array) && !(value is ListCollectionView))
-                    {
-                        (existing as ListCollectionView).addItem(value);
+                    if (value is ICollectionView)
+                    {
+                        // use the new one after all
+                        existing = value;
                     }
                     else
                     {
-                        value = toCollection(value);
-                        for each (var v:* in value)
-                        {
-                            (existing as ListCollectionView).addItem(v);
-                        }
-                    }
-                }
-                else
+                        existing = objectFactory.newCollectionFrom([]);
+                        if (!(value is Array) && !(value is ListCollectionView))
+                        {
+                            (existing as ListCollectionView).addItem(value);
+                        }
+                        else
+                        {
+                            value = toCollection(value);
+                            for each (var v:* in value)
+                            {
+                                (existing as ListCollectionView).addItem(v);
+                            }
+                        }
+                    }
+                }
+                else if (makeArray)
                 {
                     if (value is Array)
+                    {
+                        // use the new one after all
                         existing = value;
+                    }
                     else
-                        existing = [value];
+                    {
+                        if (value is Array)
+                            existing = value;
+                        else
+                            existing = [value];
+                    }
                 }
             }
             else if (existing is Array)


Warning trace instead of throw on attempt to decode attribute against closed class

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -810,9 +810,10 @@
                         //result.setPropertyIsEnumerable(attrName, false);
                     }
                 }
-                catch (e:ReferenceError)
-                {
-                    throw new Error("Failed to set attribute "+attrName+"("+attr+") on "+resultTypeName+". Check that class is dynamic or attribute name is spelled correctly");
+                catch (e:Error)
+                {
+                    //throw new Error("Failed to set attribute "+attrName+"("+attr+") on "+resultTypeName+". Check that class is dynamic or attribute name is spelled correctly");
+                    trace("Failed to set attribute "+attrName+"("+attr+") on "+resultTypeName+". Check that class is dynamic or attribute name is spelled correctly");
                 }
             }


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

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


Now catching and reporting errors in DateColumn.

--- WeaveData/src/weave/data/AttributeColumns/DateColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/DateColumn.as
@@ -54,7 +54,7 @@
 		private var _i:int;
 		private var _keys:Vector.<IQualifiedKey>;
 		private var _dates:Vector.<String>;
-		private var _reportedDuplicate:Boolean;
+		private var _reportedError:Boolean;

 		// variables that do not get reset after async task
 		private static const compiler:Compiler = new Compiler();
@@ -139,7 +139,7 @@
 			_dates = dates;
 			_keyToDate = new Dictionary();
 			_uniqueKeys.length = 0;
-			_reportedDuplicate = false;
+			_reportedError = false;

 			WeaveAPI.StageUtils.startTask(this, _asyncIterate, WeaveAPI.TASK_PRIORITY_PARSING, _asyncComplete);
 		}
@@ -180,7 +180,28 @@
 						date = new Date(number);
 				}
 				else
-					date = StandardLib.parseDate(string, _dateFormat);
+				{
+					try
+					{
+						date = StandardLib.parseDate(string, _dateFormat);
+					}
+					catch (e:Error)
+					{
+						if (!_reportedError)
+						{
+							_reportedError = true;
+							var err:String = StringUtil.substitute(
+								'Warning: Unable to parse this value as a date: "{0}"'
+								+ ' (only the first error for this column is reported).'
+								+ ' Attribute column: {1}',
+								string,
+								_metadata.toXMLString()
+							);
+							reportError(err);
+						}
+						continue;
+					}
+				}

 				// keep track of unique keys
 				if (_keyToDate[key] === undefined)
@@ -189,9 +210,9 @@
 					// save key-to-data mapping
 					_keyToDate[key] = date;
 				}
-				else if (!_reportedDuplicate)
-				{
-					_reportedDuplicate = true;
+				else if (!_reportedError)
+				{
+					_reportedError = true;
 					var fmt:String = 'Warning: Key column values are not unique.  Record dropped due to duplicate key ({0}) (only reported for first duplicate).  Attribute column: {1}';
 					var str:String = StringUtil.substitute(fmt, key.localName, _metadata.toXMLString());
 					if (Capabilities.isDebugger)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5464
Author:   dloverin@adobe.com
Date:     2009-03-20T18:52:50.783205Z

Log Message:
-----------
ASDoc updates for FxApplication and Application (no code changes)

* notes the pageTitle property is for use with the SDK HTML templates
* update the default values for backgroundGradientColors

QE Notes: None
Doc Notes: Please review
Bugs: SDK-16535, SDK-16693
Reviewer:
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -347,7 +347,9 @@
      *    This property provides the same functionality as the
      *    HTML <title> tag.
      *
-     *
Note: This property cannot be set by ActionScript code; it must be set in MXML code.

+     *
Note: This property cannot be set by ActionScript code; it must be set in MXML code.
+     * 	  The value set in MXML code is designed to be used by a tool to update the HTML templates
+     *    provided with the SDK.

      *
      *    @default ""
      *


Now starting triggerCounter at 1 to simplify code and avoid potential
bugs where it wouldn't validate cached values before the callbacks were
triggered (when a previous trigger counter variable is initialized to
zero).

Change-Id: I7e6c3c8684c418ed819a8593feb4f62060507869

--- WeaveCore/src/weave/core/CallbackCollection.as
+++ WeaveCore/src/weave/core/CallbackCollection.as
@@ -75,8 +75,11 @@

 		/**
 		 * This value keeps track of how many times callbacks were triggered, and is returned by the public triggerCounter accessor function.
+		 * The value starts at 1 to simplify code that compares the counter to a previous value.
+		 * This allows the previous value to be set to zero so change will be detected the first time the counter is compared.
+		 * This fixes potential bugs where the base case of zero is not considered.
 		 */
-		private var _triggerCounter:uint = 0;
+		private var _triggerCounter:uint = 1;

 		/**
 		 * If this is true, it means _runCallbacksImmediately() is currently executing.


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18046
Author:   jasonsj@adobe.com
Date:     2010-10-06T23:00:53.128377Z

Log Message:
-----------
Style changes for ActionBar including: new 67px height, title shadow up, light-look and chromeColor support in ActionBar buttons.
Added inheriting MobileTextFieldTextStyles to ActionBar.
Added inheriting container styles to ActionBar: accentColor, contentBackgroundAlpha, contentBackgroundColor, focusColor.
Added skin states to ActionBar

QE notes:
Doc notes:
Bugs:
SDK-27684 Several ActionBar style metadata tags are missing
SDK-28006 ActionBar TitleContent is not replacing Title when set in AS
SDK-27948 unable to style components inside actionContent and navigationContent via individual component's css rule
SDK-27684 Several ActionBar style metadata tags are missing
Reviewer: rfrishbe
Tests run: checkintests
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionBarBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_up.fxg</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -25,9 +25,12 @@
 //  Styles
 //--------------------------------------

+include "../styles/metadata/MobileTextFieldTextStyles.as"

 /**
  *  Alignment of the title relative to the ActionBar dimensions.
+ *
+ *  @default "center"
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -37,12 +40,143 @@
 [Style(name="titleAlign", type="String", enumeration="left,right,center", inherit="no")]

 /**
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 2.5
- *  @productversion Flex 4.5
- */
-[Style(name="backgroundAlpha", type="Number", inherit="no")]
+ *  @copy spark.components.supportClasses.GroupBase#style:accentColor
+ *
+ *  @default #0099FF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="accentColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  @copy spark.components.SkinnableContainer#style:backgroundAlpha
+ *
+ *  @default 1.0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="backgroundAlpha", type="Number", inherit="no", theme="spark")]
+
+/**
+ *  @copy spark.components.SkinnableContainer#style:contentBackgroundAlpha
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="contentBackgroundAlpha", type="Number", inherit="yes", theme="spark")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:contentBackgroundColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:focusColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+//--------------------------------------
+//  Skin states
+//--------------------------------------
+
+/**
+ *  Base state of ActionBar with titleDisplay and no content
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("title")]
+
+/**
+ *  ActionBar with titleDisplay and actionContent only
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleWithAction")]
+
+/**
+ *  ActionBar with titleDisplay and navigationContent only
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleWithNavigation")]
+
+/**
+ *  ActionBar with title both action and navigation content
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleWithActionAndNavigation")]
+
+/**
+ *  ActionBar with titleContent in place of titleDisplay
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleContent")]
+
+/**
+ *  ActionBar with title and action content
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleContentWithAction")]
+
+
+/**
+ *  ActionBar with title and navigation content
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleContentWithNavigation")]
+
+/**
+ *  ActionBar with title, action and navigation content
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+[SkinState("titleContentWithActionAndNavigation")]

 /**
  *  The ActionBar class defines a component that includes title, navigation
@@ -261,6 +395,8 @@

         if (titleDisplay)
             titleDisplay.text = title;
+
+        invalidateSkinState();
     }

@@ -550,9 +686,37 @@

     //--------------------------------------------------------------------------
     //
-    //  Overridden methods: UIComponent
-    //
-    //--------------------------------------------------------------------------
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override protected function getCurrentSkinState():String
+    {
+        var state:String = (titleContent) ? "titleContent" : "title";
+
+        if (actionContent && navigationContent)
+        {
+            state += "WithActionAndNavigation";
+        }
+        else if (actionContent)
+        {
+            state += "WithAction";
+        }
+        else if (navigationContent)
+        {
+            state += "WithNavigation";
+        }
+
+        return state;
+    }

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as
@@ -185,7 +185,7 @@
     mx_internal var headerClass:Class = DataGridHeader;

     /**
-     *
+     *  The header mask.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 8706
Author:   smgilson@adobe.com
Date:     2009-07-21T13:35:30.642529Z

Log Message:
-----------
Fix broken ASDoc comment

QE notes: -
Doc notes: -
Bugs: -
Reviewer: -
Tests run: - checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>

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

--- frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
+++ frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
@@ -147,13 +147,13 @@
     [Bindable("hasFocusableChildrenChange")]
     [Inspectable(defaultValue="true")]

-	/**
-	 *  A flag that indicates whether child objects can receive focus
-	 *
-	 *
This is similar to the tabChildren property
-     *  used by the Flash Player.
-	 *
-	 *
This is usually false because most components
+    /**
+     *  A flag that indicates whether child objects can receive focus
+     *
+     *
This is similar to the tabChildren property
+     *  used by the Flash Player.

+     *
+     *
This is usually false because most components
      *  either receive focus themselves or delegate focus to a single
      *  internal sub-component and appear as if the component has
      *  received focus.  For example, a TextInput contains a focusable
@@ -164,18 +164,18 @@
      *  component that has focus.  Its internal structure is an
      *  abstraction.

      *
-	 *
Usually only navigator components like TabNavigator and
+     *
Usually only navigator components like TabNavigator and
      *  Accordion have this flag set to true because they
      *  receive focus on Tab but focus goes to components in the child
      *  containers on further Tabs

-	 *
+     *
      *  @default false
      *
-	 *  @langversion 4.0
-	 *  @playerversion Flash 10
-	 *  @playerversion AIR 1.5
-	 *  @productversion Flex 4
-	 */
+     *  @langversion 4.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function get hasFocusableChildren():Boolean
     {
         return _hasFocusableChildren;


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

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


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

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

+/**
+ *  Number of pixels between the component's left border
+ *  and the left edge of its content area.
+ *
The default value is 0.

+ *
The default value for a Button control in the Halo theme is 10
+ *     and in the Spark theme is 6.

+ *
The default value for the ComboBox control is 5.

+ *
The default value for the Form container is 16.

+ *
The default value for the Tree control is 2.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="paddingLeft", type="Number", format="Length", inherit="no")]

 /**


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

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

 package mx.messaging.messages
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19876
Author:   aharui@adobe.com
Date:     2011-01-21T22:26:17.861225Z

Log Message:
-----------
Sync up ViewStacks and ButtonBars when lots of views are added at the same time.

QE notes: none
Doc notes: none
Bugs: SDK-27755
Reviewer: Corey
Tests run: checkintests mustella cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.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/NavBar.as</path>

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

--- frameworks/projects/mx/src/mx/controls/NavBar.as
+++ frameworks/projects/mx/src/mx/controls/NavBar.as
@@ -1060,6 +1060,7 @@
                 childRemoveHandler);

             targetStack.removeEventListener(Event.CHANGE, changeHandler);
+            targetStack.removeEventListener(FlexEvent.VALUE_COMMIT, changeHandler);

             targetStack.removeEventListener(
                 IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler);
@@ -1094,6 +1095,7 @@
                                      childRemoveHandler);

         targetStack.addEventListener(Event.CHANGE, changeHandler);
+        targetStack.addEventListener(FlexEvent.VALUE_COMMIT, changeHandler);

         targetStack.addEventListener(IndexChangedEvent.CHILD_INDEX_CHANGE,
                                      childIndexChangeHandler);


Transferred from the Adobe Open Source Subversion Repository

Revision: 16665
Author:   rfrishbe@adobe.com
Date:     2010-06-24T22:40:15.397962Z

Log Message:
-----------
Initial checkin for touch-enabled Lists.  This has not been code reviewed or spec-approved.  There will be lots of changes that will occur with this, but this will allow people to easily create touch-enabled Lists

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - this will get reviewed later
Tests run: checkintests, full mustella run (some tests failed and were off by a few pixels)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollingEasing.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/TouchScrollEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ScrollPolicy.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as
@@ -1,44 +1,44 @@
 package spark.skins.mobile
 {
+
+import flash.display.Graphics;
+
+import spark.components.Button;
+
+public class VScrollBarThumbSkin extends SliderSkin {

-    import flash.display.Graphics;
+    public function VScrollBarThumbSkin()
+    {
+        super();
+    }

-    import spark.components.Button;
+    public var hostComponent:Button;

-    public class VScrollBarThumbSkin extends SliderSkin {
+    override public function getExplicitOrMeasuredWidth():Number
+    {
+        return 8;
+    }
+
+    override public function getExplicitOrMeasuredHeight():Number
+    {
+        return 8;
+    }
+
+    override protected function measure():void
+    {
+        hostComponent.measuredWidth = 8;
+        hostComponent.measuredHeight = 8;
+    }
+
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        var g:Graphics = graphics;

-        public function VScrollBarThumbSkin()
-        {
-            super();
-        }
-
-        public var hostComponent:Button;
-
-        override public function getExplicitOrMeasuredWidth():Number
-        {
-            return 8;
-        }
-
-        override public function getExplicitOrMeasuredHeight():Number
-        {
-            return 8;
-        }
-
-        override protected function measure():void
-        {
-            hostComponent.measuredWidth = 8;
-            hostComponent.measuredHeight = 8;
-        }
-
-        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
-        {
-            var g:Graphics = graphics;
-
-            g.clear();
-            g.beginFill(0, 0.25);
-            g.drawRoundRect(0, 0, unscaledWidth, unscaledHeight, 8, 8);
-            g.endFill();
-        }
-
+        g.clear();
+        g.beginFill(0, 0.25);
+        g.drawRoundRect(0, 0, unscaledWidth, unscaledHeight, 8, 8);
+        g.endFill();
     }
+
+}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4170
Author:   egeorgie@adobe.com
Date:     2008-11-23T21:12:27.092823Z

Log Message:
-----------
1.	mx.layout.ILayoutItem gets renamed to mx.layout.ILayoutElement
2.	get actualPosition() -> getLayoutPositionX(postTransform:Boolean=true):Number, getLayoutPositionY(postTransform:Boolean=true):Number
3.	get actualSize() -> getLayoutWidth(postTransform:Boolean=true):Number, getLayoutHeight(postTransform:Boolean=true):Number
4.	get preferredSize() -> getPreferredWidth(postTransform:Boolean=true):Number, getPreferredHeight(postTransform:Boolean=true):Number
5.	get minSize() -> getMinWidth(postTransform:Boolean=true):Number, getMinHeight(postTransform:Boolean=true):Number
6.	get maxSize() -> getMaxWidth(postTransform:Boolean=true):Number, getMaxHeight(postTransform:Boolean=true):Number
7.	setActualSize() -> setlayoutSize(width:Number=NaN, height:Number=NaN, postTransform:Boolean=true):void
8.	setActualPosition() -> setLayoutPosition(width:Number=NaN, height:Number=NaN, postTransform:Boolean=true):void
10.     Add support for custom 3D layouts by exposing access to transform matrices through the ILayoutElement interface.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Hans
tests: checkintests, mustella (gumbo/components)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/graphics/GraphicTags_checkintests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFactory.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFactory.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemFDO.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemHelper.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as" copyfrom-rev="4137" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -27,8 +27,8 @@
 import mx.effects.interpolation.IEaser;
 import mx.effects.interpolation.IInterpolator;
 import mx.events.AnimationEvent;
-import mx.layout.ILayoutItem;
-import mx.layout.LayoutItemFactory;
+import mx.layout.ILayoutElement;
+import mx.layout.LayoutElementFactory;
 import mx.managers.LayoutManager;
 import mx.styles.IStyleClient;
 import mx.core.IVisualElementContainer;
@@ -655,11 +655,13 @@
         {
             if (adjustConstraints)
             {
-                var layoutItem:ILayoutItem = LayoutItemFactory.getLayoutItemFor(target);
-                var location:Point = layoutItem.actualPosition;
-                var size:Point = layoutItem.actualSize;
+                var layoutElement:ILayoutElement = LayoutElementFactory.getLayoutElementFor(target);
                 var parentW:int = 0;
                 var parentH:int = 0;
+                var targetX:Number = layoutElement.getLayoutPositionX();
+                var targetY:Number = layoutElement.getLayoutPositionY();
+                var targetW:Number = layoutElement.getLayoutWidth();
+                var targetH:Number = layoutElement.getLayoutHeight();

                 // For 'bottom' or 'verticalCenter' we need the parent height
                 if (constraintsHolder["bottom"] !== undefined ||
@@ -682,27 +684,27 @@
                 }

                 if (constraintsHolder["left"] !== undefined)
-                    constraintsHolder["left"] = Math.round(location.x);
+                    constraintsHolder["left"] = Math.round(targetX);
                 if (constraintsHolder["top"] !== undefined)
-                    constraintsHolder["top"] = Math.round(location.y);
+                    constraintsHolder["top"] = Math.round(targetY);

                 // Only bother adjusting 'right' if our target is
                 // parented to an object with a positive width
                 if (parentW > 0 && constraintsHolder["right"] !== undefined)
-                    constraintsHolder["right"] = parentW - location.x - size.x;
+                    constraintsHolder["right"] = parentW - targetX - targetW;

                 // Only bother adjusting 'bottom' if our target is
                 // parented to an object with a positive height
                 if (parentH > 0 && constraintsHolder["bottom"] !== undefined)
-                    constraintsHolder["bottom"] = parentH - location.y - size.y;
+                    constraintsHolder["bottom"] = parentH - targetY - targetH;

                 // Only bother adjusting 'horizontalCenter' if our target is
                 // parented to an object with a positive width
                 if (parentW > 0 && constraintsHolder["horizontalCenter"] !== undefined)
                 {
                     // Layout uses horizontalCenter to calculate position this way
-                    // location.x = parentW / 2 - size.x / 2 + horizontalCenter
-                    constraintsHolder["horizontalCenter"] = location.x + size.x / 2 - parentW / 2;
+                    // targetX = parentW / 2 - targetW / 2 + horizontalCenter
+                    constraintsHolder["horizontalCenter"] = targetX + targetW / 2 - parentW / 2;
                 }

                 // Only bother adjusting 'verticalCenter' if our target is
@@ -710,8 +712,8 @@
                 if (parentH > 0 && constraintsHolder["verticalCenter"] !== undefined)
                 {
                     // Layout uses verticalCenter to calculate position this way
-                    // location.y = parentH / 2 - size.y / 2 + verticalCenter
-                    constraintsHolder["verticalCenter"] = location.y + size.y / 2 - parentH / 2;
+                    // targetY = parentH / 2 - targetH / 2 + verticalCenter
+                    constraintsHolder["verticalCenter"] = targetY + targetH / 2 - parentH / 2;
                 }

                 // TODO EGeorgie: add support for 'baseline' constraint, when the new layouts support it.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as
@@ -172,7 +172,7 @@
         * to the one we should be playing. Play it and set playheadTime
         * appropriately
         */
-        var i:int, j:int, k:int;
+        var i:int, j:int, k:int, l:int;
         var compositeDur:Number = Sequence(effect).compositeDuration;
         var firstCycleDur:Number = compositeDur + startDelay + repeatDelay;
         var laterCycleDur:Number = compositeDur + repeatDelay;
@@ -208,13 +208,15 @@

             // Step through the child effects in the sequence until we find the
             // set that the requested playheadTime is in
-            for (i = 0; i < activeEffectQueue.length; ++i)
-            {
+            var activeLength:Number = activeEffectQueue.length;
+            for (i = 0; i < activeLength; ++i)
+            {
+                var setToCompare:int = playReversed ? (activeLength - 1 - i) : i;
                 // temp holder for instances that we fast-forward or rewind
                 var childEffectInstances:Array;
                 // start/end times of current child effect we're looking at
                 var startTime:Number = cumulativeDuration;
-                var endTime:Number = cumulativeDuration + childSets[i][0].actualDuration;
+                var endTime:Number = cumulativeDuration + childSets[setToCompare][0].actualDuration;
                 cumulativeDuration = endTime;

                 // If iterationPlayheadTime is in between the start and end time for this
@@ -227,37 +229,65 @@
                     endEffectCalled = true;

                     // We're already playing the effect we should seek into
-                    if (currentSetIndex == i)
+                    if (currentSetIndex == setToCompare)
                     {
                         // Since we're already playing the right effect, just seek
                         for (j = 0; j < currentSet.length; j++)
                             currentSet[j].playheadTime = (iterationPlayheadTime - startTime);
                     }
-                    else if (i < currentSetIndex)
+                    else if (setToCompare < currentSetIndex)
                     {
-                        // We're currently playing a child effect later than the one we
-                        // should seek into. First, rewind and stop the current effect
-                        for (j = 0; j < currentSet.length; j++)
+                        if (playReversed)
                         {
-                            currentSet[j].playheadTime = 0;
-                            currentSet[j].stop();
+                            // We're currently playing a child effect later than the one we
+                            // should seek into. First, rewind and stop the current effect
+                            for (j = 0; j < currentSet.length; j++)
+                                currentSet[j].end();
+                            // Next, play(), then stop() the previous effects back to
+                            // the one we want. This will cause these effects to set
+                            // values for their target properties at the start
+                            // of their animations, which is what we want when seeking
+                            // backwards
+                            // Next, play/end all child effects before the one we want
+                            // This will set the animated properties to their end values.
+                            for (j = currentSetIndex - 1; j > setToCompare; --j)
+                            {
+                                childEffectInstances = activeEffectQueue[j];
+                                for (k = 0; k < childEffectInstances.length; k++)
+                                {
+                                    if (playReversed)
+                                        childEffectInstances[k].playReversed = true;
+                                    childEffectInstances[k].play();
+                                    childEffectInstances[k].end();
+                                }
+                            }
                         }
-                        // Next, play(), then stop() the previous effects back to
-                        // the one we want. This will cause these effects to set
-                        // values for their target properties at the start
-                        // of their animations, which is what we want when seeking
-                       // backwards
-                        for (j = currentSetIndex - 1; j > i; --j)
+                        else
                         {
-                            childEffectInstances = activeEffectQueue[j];
-                            for (k = 0; k < childEffectInstances.length; k++)
+                            // We're currently playing a child effect later than the one we
+                            // should seek into. First, rewind and stop the current effect
+                            for (j = 0; j < currentSet.length; j++)
                             {
-                                childEffectInstances[k].play();
-                                childEffectInstances[k].stop();
+                                currentSet[j].playheadTime = 0;
+                                currentSet[j].stop();
+                            }
+                            // Next, play(), then stop() the previous effects back to
+                            // the one we want. This will cause these effects to set
+                            // values for their target properties at the start
+                            // of their animations, which is what we want when seeking
+                           // backwards
+                            for (j = currentSetIndex - 1; j > setToCompare; --j)
+                            {
+                                childEffectInstances = activeEffectQueue[j];
+                                for (k = 0; k < childEffectInstances.length; k++)
+                                {
+                                    childEffectInstances[k].play();
+                                    childEffectInstances[k].stop();
+                                }
                             }
                         }
                         // Now, play the right effect and seek into it
-                        currentSetIndex = i;
+                        currentSetIndex = setToCompare;
                         playCurrentChildSet();
                         for (k = 0; k < currentSet.length; k++)
                         {
@@ -265,29 +295,53 @@
                             if (isPaused)
                                 currentSet[k].pause();
                         }
-                        break;
+                        //break;
                     }
-                    else // i > currentSetIndex
+                    else // setToCompare > currentSetIndex
                     {
-                        // We need to seek into a child effect later than the
-                        // one we're currently playing. First, end the current effect.
-                        var currentEffectInstances:Array = currentSet.concat();
-                        for (j = 0; j < currentEffectInstances.length; j++)
-                            currentEffectInstances[j].end();
-
-                        // Next, play/end all child effects before the one we want
-                        // This will set the animated properties to their end values.
-                        for (k = currentSetIndex + 1; k < i; k++)
+                        if (playReversed)
                         {
-                            childEffectInstances = activeEffectQueue[k];
-                            for (var l:int = 0; l < childEffectInstances.length; l++)
+                            // We're currently playing a child effect later than the one we
+                            // should seek into. First, rewind and stop the current effect
+                            for (j = 0; j < currentSet.length; j++)
                             {
-                                childEffectInstances[l].play();
-                                childEffectInstances[l].end();
+                                currentSet[j].playheadTime = 0;
+                                currentSet[j].stop();
+                            }
+                            // Next, play/end all child effects before the one we want
+                            // This will set the animated properties to their end values.
+                            for (k = currentSetIndex + 1; k < setToCompare; k++)
+                            {
+                                childEffectInstances = activeEffectQueue[k];
+                                for (l = 0; l < childEffectInstances.length; l++)
+                                {
+                                    childEffectInstances[l].playheadTime = 0;
+                                    childEffectInstances[l].stop();
+                                }
+                            }
+                        }
+                        else
+                        {
+                            // We need to seek into a child effect later than the
+                            // one we're currently playing. First, end the current effect.
+                            var currentEffectInstances:Array = currentSet.concat();
+                            for (j = 0; j < currentEffectInstances.length; j++)
+                                currentEffectInstances[j].end();
+
+                            // Next, play/end all child effects before the one we want
+                            // This will set the animated properties to their end values.
+                            for (k = currentSetIndex + 1; k < setToCompare; k++)
+                            {
+                                childEffectInstances = activeEffectQueue[k];
+                                for (l = 0; l < childEffectInstances.length; l++)
+                                {
+                                    childEffectInstances[l].play();
+                                    childEffectInstances[l].end();
+                                }
                             }
                         }
                         // Finally, set the current child effect and seek into it
-                        currentSetIndex = i;
+                        currentSetIndex = setToCompare;
                         playCurrentChildSet();
                         for (k = 0; k < currentSet.length; k++)
                         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19625
Author:   mcho@adobe.com
Date:     2011-01-06T19:54:43.761547Z

Log Message:
-----------
Added a few text alignment helper getters to StyleableTextField

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -679,7 +679,14 @@
 	//  Protected Properties
 	//
 	//--------------------------------------------------------------------------
-	// Enforced minimum height of the item renderer
+	/**
+	 *  Minimum height of the item renderer
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 2.5
+	 *  @productversion Flex 4.5
+	 */
 	protected var itemMinimumHeight:uint = 0;

@@ -729,10 +736,8 @@
             // Text respects padding right, left, top, and bottom
 			labelDisplay.commitStyles();
             measuredWidth = labelDisplay.measuredTextSize.x + horizontalPadding;
-
-			// FIXME mcho: use a baselineShift style
-			var textShift:Number = 3;
-            measuredHeight = labelDisplay.getLineMetrics(0).ascent - textShift + verticalPadding;
+			// We only care about the "real" ascent
+            measuredHeight = labelDisplay.textTopToLastBaselineHeight + verticalPadding;
 		}

         // enforce minimum height
@@ -795,8 +800,6 @@
                                       unscaledHeight:Number):void
     {
         // figure out backgroundColor
-		// FIXME mcho: need to define a style to use for background color. Right now
-		// we hard code to white
         var backgroundColor:uint;
         var drawBackground:Boolean = true;
         var downColor:* = getStyle("downColor");
@@ -951,7 +954,7 @@
         if (!labelDisplay)
             return;

-        var paddingLeft:Number   = getStyle("paddingLeft");
+        var paddingLeft:Number   = getStyle("paddingLeft") - StyleableTextField.TEXT_WIDTH_PADDING/2;
         var paddingRight:Number  = getStyle("paddingRight");
         var paddingTop:Number    = getStyle("paddingTop");
         var paddingBottom:Number = getStyle("paddingBottom");
@@ -986,11 +989,11 @@
         }

 		setElementSize(labelDisplay, labelWidth, labelHeight);
-
-		// FIXME mcho: use a baselineShift style
-		var metrics:TextLineMetrics = labelDisplay.getLineMetrics(0);
-		var textShift:Number = 3;
-		var labelY:Number = Math.round(vAlign * (viewHeight - (metrics.ascent - textShift))) - StyleableTextField.TEXT_HEIGHT_PADDING/2 - textShift + paddingTop;
+
+		// We want to center using the "real" ascent
+		var labelY:Number = Math.round(vAlign * (viewHeight - labelDisplay.textTopToLastBaselineHeight))  + paddingTop;
+		// Make sure to offset by the distance to the text field's top edge
+		labelY -= labelDisplay.textTopOffset;
 		setElementPosition(labelDisplay, paddingLeft, labelY);

         // attempt to truncate the text now that we have its official width


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

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

 package mx.automation.delegates.controls
 {


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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/TextInputAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/TextInputAutomationImpl.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.automation.delegates.controls
 {


Fix dropdownlist selection

Fix dropdownlist selection

--- frameworks/projects/HTML/as/src/org/apache/flex/html/DropDownList.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/DropDownList.as
@@ -146,10 +146,15 @@

         /**
          *  @private
+         *  @flexjsignorecoercion HTMLSelectElement
          */
         public function set selectedIndex(value:int):void
         {
             ISelectionModel(model).selectedIndex = value;
+            COMPILE::JS
+            {
+                (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
+            }
         }

@@ -169,10 +174,15 @@

         /**
          *  @private
+         *  @flexjsignorecoercion HTMLSelectElement
          */
         public function set selectedItem(value:Object):void
         {
             ISelectionModel(model).selectedItem = value;
+            COMPILE::JS
+            {
+                (element as HTMLSelectElement).selectedIndex = ISelectionModel(model).selectedIndex;
+            }
         }

         /**


FLEX-33630 Fix RTE in combo box when del/backspace is pressed

--- frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as
@@ -519,7 +519,7 @@
                 // This event will fire for the opened and close combo box
                 // normally this only fires on open comboboxes but it is fired
                 // for closed comboboxes to support screen readers
-                if (ComboBox(master).isDropDownOpen && index >=0 && index < ComboBox(master).dataProvider.length)
+                if (ComboBox(master).isDropDownOpen && index >=0 && ComboBox(master).dataProvider && index < ComboBox(master).dataProvider.length)
                 {
                 	Accessibility.sendEvent(master, childID,
 						AccConst.EVENT_OBJECT_FOCUS);


Transferred from the Adobe Open Source Subversion Repository

Revision: 6201
Author:   dsubrama@adobe.com
Date:     2009-04-22T21:15:50.846343Z

Log Message:
-----------
Introduces a new method to the IItemRendererOwner contract, updateRendererInformation(), which handles the setting of a renderer's data and data-dependant properties.

We also now support the CollectionEvent of kind UPDATE in DataGroup.

Checkintests: Pass
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/IItemRendererOwner.as
+++ frameworks/projects/spark/src/spark/components/IItemRendererOwner.as
@@ -12,6 +12,8 @@
 package spark.components
 {

+import mx.core.IVisualElement;
+
 /**
  *  The IItemRendererOwner interface defines the basic set of APIs
  *  that you must implement to create a component that can
@@ -21,11 +23,19 @@
  */
 public interface IItemRendererOwner
 {
-	/**
+
+    /**
      *  Method that returns the label an item renderer displays.
      */
-	function itemToLabel(item:Object):String;
+    function itemToLabel(item:Object):String;
+
+    /**
+     *  Method that updates renderer-specific properties like
+     *  data, labelText and owner. This is a convenience method which
+     *  funnels all updates to the renderer properties owned by
+     *  the owner.
+     */
+    function updateRendererInformation(renderer:IVisualElement, data:Object=null):void;

-}
-
+}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3341
Author:   rfrishbe@adobe.com
Date:     2008-09-24T23:10:20.245436Z

Log Message:
-----------
Changing the definition of some methods in SkinnableComponent.  So instead of:

protected function partAdded(partName:String, instance:*):void

We now have:

protected function partAdded(partName:String, instance:Object):void

Technically this just means we can't support the value of "undefined" anymore.  This change was made to partAdded(), partRemoved(), createPartInstance(), removePartInstance(), and getDyanamicPartAt().

As I was making these changes in all the files that override these methods, I noticed Slider should have a partRemoved() method, so I added it.

I also made a minor change in Selector where there was a bug in the dataProvider collectionChange eventHandler.  Basically we were doing remove code on replace rather than remove.

QE: Yes - This will break (as in, it won't compile) some tests in SkinnableComponent.  Joann will change them soon after I checkin.
Doc: Yes
Bugs: SDK-16640, SDK-16709
Reviewer: Hans

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/DataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Selector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -367,7 +367,7 @@
      *  itemRendererFunction properties down to the contentGroup
      *  skin part.
      */
-    override protected function partAdded(partName:String, instance:*):void
+    override protected function partAdded(partName:String, instance:Object):void
     {
         if (instance == contentGroup)
         {
@@ -425,7 +425,7 @@
     /**
      *  Called when a skin part is removed.
      */
-    override protected function partRemoved(partName:String, instance:*):void
+    override protected function partRemoved(partName:String, instance:Object):void
     {
         if (instance == contentGroup)
         {


draggable is a new property.  defaults resistors to be undraggable.

--- activities/module-2/series-measuring/DragItShift.as
+++ activities/module-2/series-measuring/DragItShift.as
@@ -8,6 +8,7 @@
 	public class DragItShift extends MovieClip
 	{
 		var shiftOn:Boolean = false;
+		private var draggable:Boolean = false;  //property to set draggablility

 		public function DragItShift():void
 		{
@@ -40,7 +41,7 @@
 		private function onShift(e:KeyboardEvent):void
 			{

-				if (e.keyCode == 16)
+				if (e.keyCode == 16 && draggable == true)
 				{
 					this.buttonMode = true;
 					shiftOn = true;
@@ -56,7 +57,7 @@

 		private function drag(event:MouseEvent):void
 		{
-			if ( shiftOn == true )
+			if ( shiftOn == true)
 			{
 			this.startDrag();
 			}
@@ -71,5 +72,8 @@
 			}
 			//this.removeEventListener(MouseEvent.MOUSE_UP, dropIt);
 		}
+		private function setDraggable(setTo:Boolean):void {
+			this.draggable = setTo;
+		}
 	}
 }


error message when FlexJS is required, but non-FlexJS SDK is specified, now mentions value of config field to give a better hint of the issue

--- source/ASConfigC.as
+++ source/ASConfigC.as
@@ -89,6 +89,7 @@
 		private var _projectType:String;
 		private var _jsOutputType:String;
 		private var _isSWF:Boolean;
+		private var _configName:String;
 		private var _args:Array;
 		private var _additionalOptions:String;

@@ -249,9 +250,9 @@
 			this._projectType = this.readProjectType(configData);
 			if(ASConfigFields.CONFIG in configData)
 			{
-				var configName:String = configData[ASConfigFields.CONFIG] as String;
-				this.detectJavaScript(configName);
-				this._args.push("+configname=" + configName);
+				this._configName = configData[ASConfigFields.CONFIG] as String;
+				this.detectJavaScript(this._configName);
+				this._args.push("+configname=" + this._configName);
 			}
 			if(ASConfigFields.COMPILER_OPTIONS in configData)
 			{
@@ -361,7 +362,7 @@
 				{
 					if(!this._isSWF)
 					{
-						console.error("Path to Apache FlexJS SDK is not valid: " + this._flexHome);
+						console.error("Configuration \"" + this._configName + "\" requires Apache FlexJS. Path to SDK is not valid: " + this._flexHome);
 						process.exit(1);
 					}
 					else if(!ActionScriptSDKUtils.isValidSDK(this._flexHome))


updated documentation

updated documentation

Change-Id: I3eb47e4cd5adc267a3885a2525ea911532082d34

--- WeaveData/src/weave/data/CSVParser.as
+++ WeaveData/src/weave/data/CSVParser.as
@@ -49,10 +49,14 @@
 		}

 		/**
+		 * Creates a CSVParser.
+		 * @param asyncMode If this is set to true, parseCSV() will work asynchronously
+		 *                  and trigger callbacks when it finishes.
+		 *                  If this is set to false, no callback collection will be generated
+		 *                  for this instance of CSVParser as a result of calling its methods.
+		 *                  Note that if asyncMode is enabled, you can only parse one CSV string at a time.
 		 * @param delimiter
 		 * @param quote
-		 * @param asyncMode If this is set to true, parseCSV() will work asynchronously and trigger callbacks when it finishes.
-		 *                  Note that if asyncMode is enabled, you can only parse one CSV string at a time.
 		 */
 		public function CSVParser(asyncMode:Boolean = false, delimiter:String = ',', quote:String = '"')
 		{


ShaderPart.viewToWorld() method

ShaderPart.viewToWorld() method

--- src/aerys/minko/render/shader/part/ShaderPart.as
+++ src/aerys/minko/render/shader/part/ShaderPart.as
@@ -764,6 +764,11 @@
 			return multiply4x4(value, worldToViewMatrix);
 		}

+		protected final function viewToWorld(value : Object) : SFloat
+		{
+			return multiply4x4(value, viewToWorldMatrix);
+		}
+
 		protected final function localToScreen(vertex : Object) : SFloat
 		{
 			return multiply4x4(


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

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

 package mx.charts.series.items
 {


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

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

 package mx.validators
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as
@@ -17,8 +17,6 @@
 import flash.events.FocusEvent;
 import flash.events.MouseEvent;

-import org.osmf.events.TimeEvent;
-
 import mx.accessibility.AccConst;
 import mx.accessibility.AccImpl;
 import mx.core.UIComponent;
@@ -27,12 +25,14 @@
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;

+import org.osmf.events.TimeEvent;
+
 import spark.components.Button;
-import spark.components.mediaClasses.VolumeBar;
-import spark.components.supportClasses.ToggleButtonBase;
 import spark.components.VideoPlayer;
 import spark.components.mediaClasses.ScrubBar;
+import spark.components.mediaClasses.VolumeBar;
 import spark.components.supportClasses.ButtonBase;
+import spark.components.supportClasses.ToggleButtonBase;
 import spark.events.SkinPartEvent;
 import spark.events.VideoEvent;

@@ -605,7 +605,7 @@
            !videoPlayer.scrubBar.enabled)) ||
            ((childID == VIDEOPLAYER_CURRENTTIMEDISPLAY && !videoPlayer.currentTimeDisplay) ||
            (childID == VIDEOPLAYER_CURRENTTIMEDISPLAY &&
-           !videoPlayer.currentTimeDisplay.enabled)) ||
+           !(videoPlayer.currentTimeDisplay is UIComponent && UIComponent(videoPlayer.currentTimeDisplay).enabled))) ||
            ((childID == VIDEOPLAYER_MUTEBUTTON && !videoPlayer.volumeBar) || (childID == VIDEOPLAYER_MUTEBUTTON &&
            !videoPlayer.volumeBar.enabled)) ||
            ((childID == VIDEOPLAYER_VOLUMEBAR && !videoPlayer.volumeBar) || (childID == VIDEOPLAYER_VOLUMEBAR &&


Transferred from the Adobe Open Source Subversion Repository

Revision: 22759
Author:   chiedozi@adobe.com
Date:     2011-09-28T04:13:49.718724Z

Log Message:
-----------
The size of SplitViewNavigator's popup is now fixed after it is opened.

QE notes:
Doc notes:
Bugs: SDK-31650
Reviewer: Jason SJ
Tests run: checkintests-mobile, mustella-mobile
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
@@ -451,11 +451,16 @@
                                      explicitWidth: _popUpNavigator.explicitWidth,
                                      explicitHeight: _popUpNavigator.explicitHeight };

-        // Explicitly set the width and height of the navigator to match its
-        // preferred bounds so that it will size to fit the callout.
-        _popUpNavigator.width = _popUpNavigator.getPreferredBoundsWidth();
-        _popUpNavigator.height = _popUpNavigator.getPreferredBoundsHeight();
-
+        // If an explict width or height is not set on the navigator, change
+        // the percent bounds to 100% so that the navigator fills the entire
+        // bounds of the popup.
+        if (isNaN(_popUpNavigator.explicitWidth))
+            _popUpNavigator.percentWidth = 100;
+
+        if (isNaN(_popUpNavigator.explicitHeight))
+            _popUpNavigator.percentHeight = 100;
+
+        viewNavigatorPopUp.addEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);
         viewNavigatorPopUp.addEventListener('mouseDownOutside', navigatorPopUp_mouseDownOutsideHandler, false, 0, true);
         viewNavigatorPopUp.addElement(_popUpNavigator);

@@ -464,6 +469,26 @@

         // Open the popup
         viewNavigatorPopUp.open(owner, true);
+    }
+
+    /**
+     *  @private
+     */
+    private function viewNavigatorPopUp_openHandler(event:Event):void
+    {
+        event.target.removeEventListener(PopUpEvent.OPEN, viewNavigatorPopUp_openHandler);
+
+        _popUpNavigatorSizeCache.viewNavigatorPopUpWidth = viewNavigatorPopUp.explicitWidth;
+        _popUpNavigatorSizeCache.viewNavigatorPopUpHeight = viewNavigatorPopUp.explicitHeight;
+
+        // If the width or height of the popup isn't explicitly set, we size the
+        // popup so that the size doesn't change as the active view of the navigator
+        // changes.
+        if (isNaN(viewNavigatorPopUp.explicitWidth))
+            viewNavigatorPopUp.explicitWidth = viewNavigatorPopUp.width;
+
+        if (isNaN(viewNavigatorPopUp.explicitHeight))
+            viewNavigatorPopUp.explicitHeight = viewNavigatorPopUp.height;
     }

     /**
@@ -487,6 +512,9 @@
     private function restoreNavigatorInPopUp():void
     {
         // Restore old layout constraints
+        viewNavigatorPopUp.explicitWidth = _popUpNavigatorSizeCache.viewNavigatorPopUpWidth;
+        viewNavigatorPopUp.explicitHeight = _popUpNavigatorSizeCache.viewNavigatorPopUpHeight;
+
         _popUpNavigator.percentWidth = _popUpNavigatorSizeCache.percentWidth;
         _popUpNavigator.percentHeight = _popUpNavigatorSizeCache.percentHeight;
         _popUpNavigator.explicitWidth = _popUpNavigatorSizeCache.explicitWidth;


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

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

 package mx.messaging.channels
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10185
Author:   rfrishbe@adobe.com
Date:     2009-09-11T23:57:34.498734Z

Log Message:
-----------
Retrying PARB change (10075) from earlier in the week around UIC.hasComplexLayoutMatrix since I had to revert some of it.

QE notes: -
Doc notes: -
Bugs: -
Reviewer: Evtim
Tests run: checkintests, layout_uic
Is noteworthy for integration: no

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/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -2689,7 +2689,7 @@
      */
     protected function get hasComplexLayoutMatrix():Boolean
     {
-        return (layoutFeatures == null ? false : !MatrixUtil.isDeltaIdentity(layoutFeatures.layoutMatrix))
+        return (layoutFeatures == null ? false : !MatrixUtil.isDeltaIdentity(layoutFeatures.layoutMatrix));
     }

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


get more of ToggleTextButton to work

get more of ToggleTextButton to work

--- frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
@@ -23,6 +23,11 @@
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.IEventDispatcher;
+
+    COMPILE::JS
+    {
+        import org.apache.flex.core.WrappedHTMLElement;
+    }

     //--------------------------------------
     //  Events
@@ -60,7 +65,17 @@
 		public function ToggleTextButton()
 		{
 			super();
+            COMPILE::JS
+            {
+                this.typeNames = 'toggleTextButton';
+            }
 		}
+
+        COMPILE::JS
+        private var _selected:Boolean;
+
+        COMPILE::JS
+        private var SELECTED:String = "selected";

         /**
          *  true if the Button is selected.
@@ -72,7 +87,14 @@
          */
         public function get selected():Boolean
         {
-            return IToggleButtonModel(model).selected;
+            COMPILE::AS3
+            {
+                return IToggleButtonModel(model).selected;
+            }
+            COMPILE::JS
+            {
+                return _selected;
+            }
         }

         /**
@@ -80,7 +102,38 @@
          */
         public function set selected(value:Boolean):void
         {
-            IToggleButtonModel(model).selected = value;
+            COMPILE::AS3
+            {
+                IToggleButtonModel(model).selected = value;
+            }
+            COMPILE::JS
+            {
+                if (_selected != value)
+                {
+                    _selected = value;
+
+                    var className:String = this.className;
+                    var typeNames:String = this.typeNames;
+                    if (value) {
+                        if (typeNames.indexOf(SELECTED) == -1) {
+                            typeNames = typeNames + SELECTED;
+                            if (className)
+                                element.className = typeNames + ' ' + className;
+                            else
+                                element.className = typeNames;
+                        }
+                    }
+                    else {
+                        if (typeNames.indexOf(SELECTED) == typeNames.length - SELECTED.length) {
+                            typeNames = typeNames.substring(0, typeNames.length - SELECTED.length);
+                            if (className)
+                                element.className = typeNames + ' ' + className;
+                            else
+                                element.className = typeNames;
+                        }
+                    }
+                }
+            }
         }

         /**
@@ -100,6 +153,18 @@
                 return "toggleTextButton" + (name ? " " + name : "");
         }

+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+            super.createElement();
+            element.addEventListener("click", clickHandler, false);
+            return element;
+        }

+        COMPILE::JS
+        private function clickHandler(event:Event):void
+        {
+            selected = !selected;
+        }
 	}
 }