fix Geometry.cast() to fill the hitXYZ parameter with the local space hit point

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -1010,7 +1010,7 @@
 		 * @param ray The ray to cast on the geometry.
 		 * @param transform An optional 3D transform to transform the ray into the geometry local space.
 		 * @param hitXYZ An optional reference to a Vector4 object to fill with the (x, y, z) coordinates
-		 * of the actual ray/geometry hit point.
+		 * of the actual ray/geometry hit point in local space.
 		 * @param hitUV An optional reference to a Point object to fill with the (u, v) texture coordinates
 		 * of the actual ray/geometry hit point.
 		 * @param hitNormal An optional reference to a Vector4 object to fill the normal of the intersection
@@ -1171,12 +1171,9 @@
 			{
 				if (hitXYZ)
 				{
-					var origin 		: Vector4 	= ray.origin;
-					var direction 	: Vector4	= ray.direction;
-
-					hitXYZ.x = origin.x + minDistance * direction.x;
-					hitXYZ.y = origin.y + minDistance * direction.y;
-					hitXYZ.z = origin.z + minDistance * direction.z;
+					hitXYZ.x = localOrigin.x + minDistance * localDirection.x;
+					hitXYZ.y = localOrigin.y + minDistance * localDirection.y;
+					hitXYZ.z = localOrigin.z + minDistance * localDirection.z;
 				}

 				if (hitUV)


Use Util.adapt(). Look at this functional programming masterpiece.
I'm not sure how much actual utility is here, and how much I just like the
gee-whiz factor.

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

--- src/as/com/threerings/util/SortedHashMap.as
+++ src/as/com/threerings/util/SortedHashMap.as
@@ -70,9 +70,7 @@
     override public function values () :Array
     {
         // not very optimal, we need to look up each value from the sorted keys.
-        return keys().map(function (key :Object, ... rest) :Object {
-            return get(key);
-        });
+        return keys().map(Util.adapt(get));
     }

     override public function forEach (fn :Function) :void


Transferred from the Adobe Open Source Subversion Repository

Revision: 14483
Author:   smgilson@adobe.com
Date:     2010-03-01T19:01:18.459430Z

Log Message:
-----------
merge 14456: Adding ASDoc version tags classes

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkRangeAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkRadioButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkPanelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirFunctionsHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSkinnableContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkValueChangeAutomationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkButtonBarBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkNavigatorContentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkDataGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTrackBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/events/EventDetails.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/events/SparkListItemSelectEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTabBarAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonBarButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/mediaClasses/SparkMuteButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkTextBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTitleWindowAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkTileGroupAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkSpinnerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccConst.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkLabelAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkBorderContainerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkGroupBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkVideoPlayerAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableContainerBaseAutomationImpl.as
@@ -11,136 +11,151 @@

 package spark.automation.delegates.components.supportClasses
 {
-	import flash.display.DisplayObject;
-
-	import mx.automation.Automation;
-	import mx.core.mx_internal;
-
-	import spark.components.Scroller;
-	import spark.components.supportClasses.GroupBase;
-	import spark.components.supportClasses.SkinnableContainerBase;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines methods and properties required to perform instrumentation for the
-	 *  SkinnableContainerBase control.
-	 *
-	 *  @see spark.components.supportClasses.SkinnableContainerBase
-	 *
-	 */
-	public class SparkSkinnableContainerBaseAutomationImpl extends SparkSkinnableComponentAutomationImpl
-	{
-
-		include "../../../../core/Version.as";
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.supportClasses.SkinnableContainerBase, SparkSkinnableContainerBaseAutomationImpl);
-		}
-
-		/**
-		 *  Constructor.
-		 * @param obj SkinnableContainerBase object to be automated.
-		 */
-		public function SparkSkinnableContainerBaseAutomationImpl(obj:spark.components.supportClasses.SkinnableContainerBase)
-		{
-			super(obj);
-
-		}
-
-
-		/**
-		 *  @private
-		 */
-		private function get containerBase():SkinnableContainerBase
-		{
-			return uiComponent as SkinnableContainerBase;
-		}
-
-		/**
-		 * private
-		 */
-		protected function getScrollBars(passedObj:Object, stopWithContetGroup:GroupBase):Array
-		{
-			var scroller:spark.components.Scroller = null;
-			if(passedObj)
-				scroller = getScroller(passedObj,stopWithContetGroup);
-			else
-				scroller = getScroller(containerBase,stopWithContetGroup);
-
-			if(scroller)
-			{
-				var tempArray:Array = new Array();
-				if(scroller.horizontalScrollBar && scroller.horizontalScrollBar.visible)
-					tempArray.push(scroller.horizontalScrollBar);
-				if(scroller.verticalScrollBar && scroller.verticalScrollBar.visible)
-					tempArray.push(scroller.verticalScrollBar);
-
-			}
-			return tempArray;
-
-		}
-
-		/**
-		 * private
-		 */
-		protected function getScroller(passedObj:Object, stopWithContentGroup:GroupBase):spark.components.Scroller
-		{
-
-			if(passedObj)
-			{
-				if( !(passedObj.hasOwnProperty("numChildren") &&
-					passedObj.hasOwnProperty("getChildAt")))
-					return null;
-			}
-
-			var requiredObject:Object = null;
-			if(passedObj)
-				requiredObject = passedObj;
-			else
-				// just to ensure that if no object is passed, we will consider it on the
-				// current object.
-				requiredObject = containerBase;
-
-			var n:int = requiredObject.numChildren;
-
-			var obj:Object;
-			for (var i:int = 0; i<n ; i++)
-			{
-				obj  =  requiredObject.getChildAt(i);
-
-				if(obj is spark.components.Scroller)
-					return obj as spark.components.Scroller;
-
-				// check whether we need to proceed with the element to dig further
-				// if it is a skin we need to proceed.
-				// if the object corresponds to our contentGroup, we need not proceed further
-				if(stopWithContentGroup &&(obj == stopWithContentGroup))
-					continue;
-				do
-				{
-					obj = getScroller(obj,stopWithContentGroup);
-				}while(obj && !(obj is spark.components.Scroller))
-
-				if(obj is spark.components.Scroller)
-					return obj as spark.components.Scroller;
-			}
-			return null;
-		}
-
-	}
-
+    import flash.display.DisplayObject;
+
+    import mx.automation.Automation;
+    import mx.core.mx_internal;
+
+    import spark.components.Scroller;
+    import spark.components.supportClasses.GroupBase;
+    import spark.components.supportClasses.SkinnableContainerBase;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines methods and properties required to perform instrumentation for the
+     *  SkinnableContainerBase control.
+     *
+     *  @see spark.components.supportClasses.SkinnableContainerBase
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     *
+     */
+    public class SparkSkinnableContainerBaseAutomationImpl extends SparkSkinnableComponentAutomationImpl
+    {
+
+        include "../../../../core/Version.as";
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.supportClasses.SkinnableContainerBase, SparkSkinnableContainerBaseAutomationImpl);
+        }
+
+        /**
+         *  Constructor.
+         * @param obj SkinnableContainerBase object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkSkinnableContainerBaseAutomationImpl(obj:spark.components.supportClasses.SkinnableContainerBase)
+        {
+            super(obj);
+
+        }
+
+
+        /**
+         *  @private
+         */
+        private function get containerBase():SkinnableContainerBase
+        {
+            return uiComponent as SkinnableContainerBase;
+        }
+
+        /**
+         * private
+         */
+        protected function getScrollBars(passedObj:Object, stopWithContetGroup:GroupBase):Array
+        {
+            var scroller:spark.components.Scroller = null;
+            if(passedObj)
+                scroller = getScroller(passedObj,stopWithContetGroup);
+            else
+                scroller = getScroller(containerBase,stopWithContetGroup);
+
+            if(scroller)
+            {
+                var tempArray:Array = new Array();
+                if(scroller.horizontalScrollBar && scroller.horizontalScrollBar.visible)
+                    tempArray.push(scroller.horizontalScrollBar);
+                if(scroller.verticalScrollBar && scroller.verticalScrollBar.visible)
+                    tempArray.push(scroller.verticalScrollBar);
+
+            }
+            return tempArray;
+
+        }
+
+        /**
+         * private
+         */
+        protected function getScroller(passedObj:Object, stopWithContentGroup:GroupBase):spark.components.Scroller
+        {
+
+            if(passedObj)
+            {
+                if( !(passedObj.hasOwnProperty("numChildren") &&
+                    passedObj.hasOwnProperty("getChildAt")))
+                    return null;
+            }
+
+            var requiredObject:Object = null;
+            if(passedObj)
+                requiredObject = passedObj;
+            else
+                // just to ensure that if no object is passed, we will consider it on the
+                // current object.
+                requiredObject = containerBase;
+
+            var n:int = requiredObject.numChildren;
+
+            var obj:Object;
+            for (var i:int = 0; i<n ; i++)
+            {
+                obj  =  requiredObject.getChildAt(i);
+
+                if(obj is spark.components.Scroller)
+                    return obj as spark.components.Scroller;
+
+                // check whether we need to proceed with the element to dig further
+                // if it is a skin we need to proceed.
+                // if the object corresponds to our contentGroup, we need not proceed further
+                if(stopWithContentGroup &&(obj == stopWithContentGroup))
+                    continue;
+                do
+                {
+                    obj = getScroller(obj,stopWithContentGroup);
+                }while(obj && !(obj is spark.components.Scroller))
+
+                if(obj is spark.components.Scroller)
+                    return obj as spark.components.Scroller;
+            }
+            return null;
+        }
+
+    }
+
 }


Closing open popup when MouseEvent.MOUSE_WHEEL occurs somewhere outside of the component

--- src/com/jabbypanda/controls/InputAssist.as
+++ src/com/jabbypanda/controls/InputAssist.as
@@ -7,6 +7,7 @@
 	import flash.display.DisplayObjectContainer;
 	import flash.events.FocusEvent;
 	import flash.events.KeyboardEvent;
+	import flash.events.MouseEvent;
 	import flash.ui.Keyboard;

 	import mx.collections.ArrayCollection;
@@ -394,7 +395,8 @@

         private function hidePopUp() : void {
             if (isDropDownOpen) {
-                popUp.popUp.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, onMouseDownOutside);
+                popUp.popUp.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, onMouseDownOutside);
+                systemManager.removeEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
                 popUp.displayPopUp = false;
             }
         }
@@ -409,7 +411,8 @@
                     list.selectedIndex = -1;
                 }

-                popUp.popUp.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, onMouseDownOutside);
+                popUp.popUp.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, onMouseDownOutside);
+                systemManager.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
             }
         }

@@ -496,6 +499,14 @@
             popUp.updatePopUpTransform();
         }

+        private function onMouseWheel(event : MouseEvent) : void {
+
+            trace ("event.target=", event.target);
+            if (!(DisplayObjectContainer(list).contains(DisplayObject(event.target)) && event.isDefaultPrevented())) {
+                hidePopUp();
+            }
+        }
+
         private function onMouseDownOutside(event:FlexMouseEvent) : void {
             var mouseDownInsideComponent : Boolean = false;
             var clickedObject : DisplayObjectContainer = event.relatedObject as DisplayObjectContainer;


Fixing bug in FragmentLoader

Fixing bug in FragmentLoader

This was introduced when the startFromBitrate parameter was added

--- src/org/mangui/hls/stream/FragmentLoader.as
+++ src/org/mangui/hls/stream/FragmentLoader.as
@@ -850,7 +850,7 @@
              *      we first need to download one fragment to check the dl bw, in order to assess start level ...)
              *      in case startFromLevel is to -1 and there is only one level, then we can do progressive buffering
              */
-            if (( _fragment_first_loaded || (_manifest_just_loaded && ((HLSSettings.startFromLevel !== -1 && HLSSettings.startFromBitrate !== -1) || _levels.length == 1) ) )) {
+            if (( _fragment_first_loaded || (_manifest_just_loaded && (HLSSettings.startFromLevel !== -1 || HLSSettings.startFromBitrate !== -1 || _levels.length == 1) ) )) {
                 if (fragData.audio_expected && !fragData.audio_found) {
                     /* if no audio tags found, it means that only video tags have been retrieved here
                      * we cannot do progressive buffering in that case.


Default to "middle" vertical alignment for our controls.

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

--- src/as/com/threerings/parlor/game/client/FlexGameConfigurator.as
+++ src/as/com/threerings/parlor/game/client/FlexGameConfigurator.as
@@ -25,8 +25,8 @@
 import mx.core.UIComponent;

 import mx.containers.Grid;
+import mx.containers.GridItem;
 import mx.containers.GridRow;
-import mx.containers.HBox;

 import com.threerings.flex.GridUtil;

@@ -66,14 +66,22 @@
      * to the game, but do not directly alter the game config, so that all the controls are added
      * in a uniform manner and are well aligned.
      */
-    public function addControl (label :UIComponent, control :UIComponent) :void
+    public function addControl (label :UIComponent, control :UIComponent,
+                                verticalAlign :String = "middle") :void
     {
         if (_gridRow == null) {
             _gridRow = new GridRow();
             _grid.addChild(_gridRow);
         }
-        GridUtil.addToRow(_gridRow, label);
-        GridUtil.addToRow(_gridRow, control);
+
+        var item :GridItem = GridUtil.addToRow(_gridRow, label);
+        item.setStyle("verticalAlign", verticalAlign);
+        if (_gridRow.numChildren > 1) {
+            item.setStyle("paddingLeft", 15);
+        }
+        item = GridUtil.addToRow(_gridRow, control);
+        item.setStyle("verticalAlign", verticalAlign);
+
         if (_gridRow.numChildren == _columns * 2) {
             _gridRow = null;
         }


check for null layerLegendInfo

check for null layerLegendInfo

--- src/com/esri/viewer/components/toc/tocClasses/TocMapLayerItem.as
+++ src/com/esri/viewer/components/toc/tocClasses/TocMapLayerItem.as
@@ -299,10 +299,13 @@
     {
         for each (var layerLegendInfo:LayerLegendInfo in arr)
         {
-            _layerLegendInfos.push(layerLegendInfo);
-            if (layerLegendInfo.layerLegendInfos)
-            {
-                getLayerLegendInfos(layerLegendInfo.layerLegendInfos);
+            if (layerLegendInfo) // check if layerLegendInfo exists
+            {
+                _layerLegendInfos.push(layerLegendInfo);
+                if (layerLegendInfo.layerLegendInfos)
+                {
+                    getLayerLegendInfos(layerLegendInfo.layerLegendInfos);
+                }
             }
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 153
Author:   proberts@adobe.com
Date:     2008-01-10T20:22:23.867658Z

Log Message:
-----------
Severity: ignore
Description: docs update -- added @productVersion tag to Flex AIR classes' class descriptions.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<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/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
+++ frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
@@ -103,6 +103,8 @@
  *
  *  @see mx.controls.FileSystemList
  *  @see mx.controls.FileSystemDataGrid
+ *
+ *  @productversion Apollo 1.0
  */
 public class FileSystemHistoryButton extends PopUpButton
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceInfo.as
@@ -0,0 +1,156 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.messages
+{
+	[RemoteClass(alias="flex.messaging.messages.MessagePerformanceInfo")]
+
+	/**
+	 * @private
+	 *
+	 * The MessagePerformanceInfo class is used to capture various metrics about
+	 * the sizing and timing of a message sent from a client to the server and its
+	 * response message, as well as pushed messages from the server to the client.
+	 * A response message should have two instances of this class among its headers,
+	 * headers[MPII] - info for the client to server message,
+	 * headers[MPIO] - info for the response message from server to client.
+	 * A pushed message will have an extra headers and its headers will represent,
+	 * headers[MPII] - info for the client to server message poll message (non RTMP)
+	 * headers[MPIO] - info for the pushed message from server to client,
+	 * headers[MPIP] - info for the message from the client that caused the push message
+	 */
+	public class MessagePerformanceInfo
+	{
+
+    	//--------------------------------------------------------------------------
+    	//
+    	// Constructor
+    	//
+    	//--------------------------------------------------------------------------
+        public function MessagePerformanceInfo()
+        {
+            super();
+        }
+
+        //--------------------------------------------------------------------------
+    	//
+    	// Properties
+    	//
+    	//--------------------------------------------------------------------------
+
+		/**
+	 	 * Size of message in Bytes (message types depends on what header this MPI is in)
+	 	 */
+		public var messageSize:int;
+
+		/**
+	 	 * Millisecond timestamp of when this message was sent
+	 	 * (origin depends on on what header this MPI is in)
+	 	 */
+		public var sendTime:Number = 0;
+
+		/**
+	 	 * Millisecond timestamp of when this message was received
+	 	 * (destination depends on on what header this MPI is in)
+	 	 */
+		public var receiveTime:Number;
+
+		/**
+	 	 * Amount of time in milliseconds that this message was being processed on the server
+	 	 * in order to calculate and populate MPI metrics
+	 	 */
+		public var overheadTime:Number;
+
+		/**
+	 	 * "OUT" when this message originated on the server
+	 	 */
+		private var _infoType:String;
+
+		/**
+	 	 * True if this is info for a message that was pushed from server to client
+	 	 */
+		public var pushedFlag:Boolean;
+
+		/**
+	 	 * Millisecond timestamp of when the server became ready to push this message out
+	 	 * to clients
+	 	 */
+		public var serverPrePushTime:Number;
+
+		/**
+	 	 * Millisecond timestamp of when the server called into the adapter associated with the
+	 	 * destination of this message
+	 	 */
+		public var serverPreAdapterTime:Number;
+
+		/**
+	 	 * Millisecond timestamp of when server processing returned from the adapater associated
+	 	 * with the destination of this message
+	 	 */
+		public var serverPostAdapterTime:Number;
+
+		/**
+	 	 * Millisecond timestamp of when the adapter associated with the destination of this message
+	 	 * made a call to an external component (for example a JMS server)
+	 	 */
+		public var serverPreAdapterExternalTime:Number;
+
+		/**
+	 	 * Millisecond timestamp of when processing came back to the adapter associated with the destination
+	 	 * of this message from a call to an external component (for example a JMS server)
+	 	 */
+		public var serverPostAdapterExternalTime:Number;
+
+		/**
+	 	 * Flag is true when record-message-times is enabled for the communication channel
+	 	 */
+        public var recordMessageTimes:Boolean;
+
+		/**
+	 	 * Flag is true when record-message-sizes is enabled for the communication channel
+	 	 */
+        public var recordMessageSizes:Boolean;
+
+    	//--------------------------------------------------------------------------
+    	//
+    	// Public Methods
+    	//
+    	//--------------------------------------------------------------------------
+
+	  /**
+	   *  Sets the info type of this message (IN or OUT).  Used to mark the MPI with the
+	   *  client receive time when this MPI is of type OUT (IN, OUT are from the perspective of the
+	   *  server)
+	   *
+	   * @param type - "IN" or "OUT" info type
+	   */
+		public function set infoType(type:String):void
+		{
+			_infoType = type;
+			if (_infoType=="OUT")
+			{
+				var curDate:Date = new Date();
+				this.receiveTime = curDate.getTime();
+			}
+		}
+
+	  /**
+	   *  Get the info type of this message (IN or OUT).
+	   *
+	   * @return "IN" or "OUT" (from the perspective of the server)
+	   */
+		public function get infoType():String
+		{
+			return this._infoType;
+		}
+
+	}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 13341
Author:   hmuller@adobe.com
Date:     2010-01-07T19:32:19.631540Z

Log Message:
-----------
Torpedoed a mysterious hmuller FIXME.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -722,11 +722,6 @@
         if (animator && animator.isPlaying)
             stopAnimation();

-        // FIXME (hmuller): Provide a way to easily override the keyboard
-        // behavior. This means having a callback in the subclasses
-        // that tell the superclass all the positions in an array
-        // but defaulting to the normal stepping behavior when no
-        // array is returned. Consider reversed HSliders or VSliders.
         var prevValue:Number = this.value;
         var newValue:Number;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation_spark/src/spark/automation/tabularData/RichEditableTextTabularData.as
+++ frameworks/projects/automation_spark/src/spark/automation/tabularData/RichEditableTextTabularData.as
@@ -0,0 +1,163 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.automation.tabularData
+{
+
+	import flash.display.DisplayObject;
+
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationTabularData;
+	import mx.automation.AutomationManager;
+	import mx.core.mx_internal;
+	import mx.core.Repeater;
+	import mx.automation.Automation;
+	import spark.components.RichEditableText;
+
+	use namespace mx_internal;
+
+	/**
+	 * @private
+	 */
+	public class RichEditableTextTabularData
+		implements IAutomationTabularData
+	{
+		include "../../core/Version.as";
+
+		/**
+		 * Constructor. This class is modelled to get the text data of the
+		 * rich editable text object and show them as separate rows.
+		 * QTP does not shows the text data of these objects, as these
+		 * strings can have multiple lines
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 4
+		 */
+		public function RichEditableTextTabularData(richEditableText:RichEditableText)
+		{
+			super();
+
+			this.richEditatbleText = richEditableText;
+			this.currentContent = this.richEditatbleText.text.split("\n");
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		private var richEditatbleText:RichEditableText;
+
+		private var currentContent:Array ;
+		/**
+		 *  @private
+		 */
+		private var _values:Array;
+
+		/**
+		 *  @private
+		 */
+		private var oldStart:uint;
+
+		/**
+		 *  @private
+		 */
+		private var oldEnd:int;
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		public function get firstVisibleRow():int
+		{
+			return 0;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function get lastVisibleRow():int
+		{
+			return currentContent?currentContent.length-1:0;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function get numRows():int
+		{
+
+			return currentContent?currentContent.length:0;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function get numColumns():int
+		{
+			// currently we are not considering number of columns. When we work on it
+			// we need to calculate this properly.
+			return 1;
+		}
+
+		/**
+		 *  @private
+		 */
+		public function get columnNames():Array
+		{
+			return [ "" ];
+		}
+
+		/**
+		 *  @private
+		 */
+		public function getValues(start:uint = 0, end:uint = 0):Array
+		{
+			if (_values && oldStart == start && oldEnd == end)
+				return _values;
+
+
+			_values = [ ];
+
+			var n:int = currentContent.length;
+
+			// normalize the grid so all rows have the same number of columns
+			for (var i:int = start ; (i < end-start+1 && i < n); i++)
+			{
+				_values.push([currentContent[i]]);
+			}
+			oldStart = start;
+			oldEnd = end;
+			return _values;
+		}
+
+
+		/**
+		 *  @private
+		 */
+		public function getAutomationValueForData(data:Object):Array
+		{
+			return [""];
+		}
+	}
+}


for some reason, we weren't handling 'this'

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/ContainerDataBinding.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/ContainerDataBinding.as
@@ -183,7 +183,10 @@
                         cb.destinationPropertyName = binding.destination[1];
                         cb.sourcePropertyName = binding.source;
                         cb.setDocument(_strand);
-                        destObject = _strand[binding.destination[0]];
+                        if (binding.destination[0] == "this")
+                            destObject = _strand;
+                        else
+                            destObject = _strand[binding.destination[0]];
                         destination = destObject as IStrand;
                         if (destination)
                             destination.addBead(cb);


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

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

 package mx.controls.menuClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19918
Author:   chiedozi@adobe.com
Date:     2011-01-24T22:01:49.187902Z

Log Message:
-----------
Fixed an issue where tabBar and actionBar hide and show animations weren't played after orientation changes.
Fixed an issue where the explicitWidth and explicitHeight properties of a navigator's contentGroup weren't properly restored after the tabBar or actionBar was hidden or shown.

QE notes:
Doc notes:
Bugs: SDK-29217
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
@@ -592,27 +592,6 @@
         return (!selectedNavigator || selectedNavigator.canRemoveCurrentView());
     }

-    /**
-     *  @private
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    private function captureAnimationValues(component:UIComponent):Object
-    {
-        var values:Object = {   x:component.x,
-                                y:component.y,
-                                width:component.width,
-                                height:component.height,
-                                visible: component.visible,
-                                includeInLayout: component.includeInLayout,
-                                cacheAsBitmap: component.cacheAsBitmap };
-
-        return values;
-    }
-
     /**
      *  @private
      */
@@ -739,6 +718,13 @@

         if (tabBarVisibilityChanged)
             commitVisibilityChanges();
+
+        // When true, this flag prevents tab bar animations from running.  This flag
+        // is only set to  true if the application received an orientation event this
+        // frame (See ViewNavigatorBase).  The flag is reset at the end of commitProperties
+        // so that animations run again.
+        if (disableNextControlAnimation)
+            disableNextControlAnimation = false;
     }

     /**
@@ -794,7 +780,7 @@
                                          createTabBarHideEffect();

                 tabBarVisibilityEffect.addEventListener(EffectEvent.EFFECT_END,
-                    visibilityAnimation_completeHandler);
+                                                        visibilityAnimation_effectEndHandler);
                 tabBarVisibilityEffect.play();
             }
             else
@@ -804,10 +790,6 @@

                 if (activeView)
                     activeView.setTabBarVisible(showingTabBar);
-
-                // When this flag is true, the animations should only be disabled for the
-                // current frame, so reset the flag so animations play on subsequent frames.
-                disableNextControlAnimation = false;
             }
         }

@@ -1100,9 +1082,9 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    private function visibilityAnimation_completeHandler(event:EffectEvent):void
-    {
-        event.target.removeEventListener(EffectEvent.EFFECT_END, visibilityAnimation_completeHandler);
+    private function visibilityAnimation_effectEndHandler(event:EffectEvent):void
+    {
+        event.target.removeEventListener(EffectEvent.EFFECT_END, visibilityAnimation_effectEndHandler);
         tabBarVisibilityEffect = null;

         if (activeView)
@@ -1123,6 +1105,18 @@
         {
             contentGroup.includeInLayout = contentGroupProps.start.includeInLayout;
             contentGroup.cacheAsBitmap = contentGroupProps.start.cacheAsBitmap;
+
+            // The default tab bar hide and show animation will animate the width and height
+            // of the navigator's contentGroup.  If the explicitWidth or explicitHeight properties
+            // were NaN before the animation, they'll be set to real values by the animation.  As
+            // a result, it is necessary to restore them to NaN so that layout properly sizes these
+            // components.
+            if (isNaN(contentGroupProps.start.explicitHeight))
+                contentGroup.explicitHeight = NaN;
+
+            if (isNaN(contentGroupProps.start.explicitWidth))
+                contentGroup.explicitWidth = NaN;
+
             contentGroupProps = null;
         }
     }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -342,6 +342,11 @@
         // transitionGroup, and parent our view elements.
         setupConsolidatedTransition();

+        // Capture original targetNavigator x and y coordinates before
+        // alignCardFaces changes them
+        navigatorProps.x = targetNavigator.x;
+        navigatorProps.y = targetNavigator.y;
+
         // Align underside 'face' of our card.
         alignCardFaces(targetNavigator);

@@ -367,6 +372,15 @@
         // Now offset our transform center as appropriate for the transition direction
         transitionGroup.transformX = viewWidth / 2;
         transitionGroup.transformY = viewHeight / 2;
+
+        // If we are doing a consolidate flip effect, the transform center needs
+        // to be translated by the parents x and y since the transition group is not
+        // the view but the navigators parent
+        if (consolidatedTransition)
+        {
+            transitionGroup.transformX += navigatorProps.x;
+            transitionGroup.transformY += navigatorProps.y;
+        }

         // Validate our transition group prior to the start of our animation.
         transitionGroup.validateNow();
@@ -587,6 +601,15 @@
         transitionGroup.y = viewHeight / 2;
         transitionGroup.z = vertical ? (viewHeight / 2) : (viewWidth / 2);

+		// If we are doing a consolidated effect, we need to shift the transition
+		// group over by the x and y position of the targetNavigator because
+        // the transitionGroup will be the view's parent and not the view
+		if (consolidatedTransition)
+		{
+			transitionGroup.x += targetNavigator.x;
+			transitionGroup.y += targetNavigator.y;
+		}
+
         // Position the 'faces' of our cube.
         if (vertical)
         {
@@ -695,8 +718,6 @@
         // while we animate.
         transitionGroup = new Group();
         transitionGroup.includeInLayout = false;
-        transitionGroup.x = 0;
-        transitionGroup.y = 0;

         // Add the transition group at the same index of the target navigator
         addComponentToContainerAt(transitionGroup, DisplayObject(targetNavigator).parent as UIComponent, navigatorProps.childIndex);
@@ -704,9 +725,6 @@
         transitionGroup.addElement(targetNavigator);
         cachedNavigator.includeInLayout = false;
         addCachedElementToGroup(transitionGroup, cachedNavigator, cachedNavigatorGlobalPosition);
-
-        transitionGroup.width = cachedNavigator.width;
-        transitionGroup.height = cachedNavigator.height;

         // Save our end view's transform matrix.
         savedEndMatrix = targetNavigator.transform.matrix3D;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/treeClasses/HierarchicalCollectionView.as
+++ frameworks/projects/mx/src/mx/controls/treeClasses/HierarchicalCollectionView.as
@@ -22,11 +22,14 @@
 import mx.collections.XMLListCollection;
 import mx.collections.errors.ItemPendingError;
 import mx.core.EventPriority;
+import mx.core.mx_internal;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.PropertyChangeEvent;
 import mx.utils.IXMLNotifiable;
 import mx.utils.XMLNotifier;
+
+use namespace mx_internal;

 [ExcludeClass]

@@ -673,7 +676,7 @@
 		if (event is CollectionEvent)
         {
             var ce:CollectionEvent = CollectionEvent(event);
-            if (ce.kind == CollectionEventKind.mx_internal::EXPAND)
+            if (ce.kind == CollectionEventKind.EXPAND)
             {
             	event.stopImmediatePropagation();
             }
@@ -848,7 +851,7 @@
 							children = treeData as XMLListCollection;
 							if (parentNode)
 							{
-								children.mx_internal::dispatchResetEvent = false;
+								children.dispatchResetEvent = false;
 								children.source = parentNode.*;
 							}
 						}
@@ -906,7 +909,7 @@
 									children = treeData as XMLListCollection;
 									if (parentNode)
 									{
-										children.mx_internal::dispatchResetEvent = false;
+										children.dispatchResetEvent = false;
 										children.source = parentNode.*;
 									}
 								}
@@ -998,7 +1001,7 @@
 		if (event is CollectionEvent)
         {
             var ce:CollectionEvent = CollectionEvent(event);
-            if (ce.kind == CollectionEventKind.mx_internal::EXPAND)
+            if (ce.kind == CollectionEventKind.EXPAND)
             {
             	event.stopImmediatePropagation();
             	updateLength();


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

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

 package mx.automation.events
 {


adding a check to not send invalid GET reauests

--- src/com/google/analytics/core/GIFRequest.as
+++ src/com/google/analytics/core/GIFRequest.as
@@ -16,6 +16,7 @@
  * Contributor(s):
  *   Zwetan Kjukov <zwetan@gmail.com>.
  *   Marc Alcaraz <ekameleon@gmail.com>.
+ *   Nick Mihailovski <nickski15@gmail.com>.
  */

 package com.google.analytics.core
@@ -33,7 +34,7 @@
     import flash.events.SecurityErrorEvent;
     import flash.net.URLRequest;
     import flash.system.LoaderContext;
-
+
     /**
      * Google Analytics Tracker Code (GATC)'s GIF request module.
      * This file encapsulates all the necessary components that are required to
@@ -41,6 +42,14 @@
      */
     public class GIFRequest
     {
+        /**
+         * The largest URI request length allowed by Google Analytics
+         * collectors. Requests URI lengths greater than this value will not
+         * be processed by Google Analytics.
+         * @private
+         */
+        private static const MAX_REQUEST_LENGTH:Number = 2048;
+
         private var _config:Configuration;
         private var _debug:DebugConfiguration;
         private var _buffer:Buffer;
@@ -51,7 +60,7 @@

         private var _count:int;
         private var _alertcount:int;
-
+
         /**
         * @private
         * contains the list of the different requests
@@ -334,8 +343,22 @@
             target.removeEventListener( Event.COMPLETE, onComplete );
         }

+        /*
+         * Sends a request to the server. Google Analytics collectors only
+         * support URIs < 2048 characters in length. If the request is too
+         * long, they will not get processed. Instead of sending erroneous
+         * data, this library will silently drop requests greater than the
+         * max request length.
+         * @param request The URLRequest object with the data to send to
+         *     Google Analytics.
+         */
         public function sendRequest( request:URLRequest ):void
         {
+            if (request.url.length > MAX_REQUEST_LENGTH)
+            {
+               _debug.failure("No request sent. URI length too long.");
+               return;
+            }

             /* note:
                when the gif request is send too fast
@@ -371,8 +394,8 @@
         }

         /**
-        * Send the Gif Request to the server(s).
-        */
+         * Send the Gif Request to the server(s).
+         */
         public function send( account:String, variables:Variables = null,
                               force:Boolean = false, rateLimit:Boolean = false ):void
         {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/framework/src/mx/core/DesignLayer.as
+++ frameworks/projects/framework/src/mx/core/DesignLayer.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.core
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/FlexVersion.as
+++ frameworks/projects/framework/src/mx/core/FlexVersion.as
@@ -24,6 +24,11 @@
  *  to match previous releases.
  *  This is a 'global' flag; you cannot apply one version to one component or group of components
  *  and a different version to another component or group of components.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FlexVersion
 {
@@ -37,6 +42,11 @@

     /**
      *  The current released version of the Flex SDK, encoded as a uint.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CURRENT_VERSION:uint = 0x04000000;

@@ -46,6 +56,11 @@
      *  Code can compare this constant against
      *  the compatibilityVersion
      *  to implement version-specific behavior.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_4_0:uint = 0x04000000;

@@ -55,6 +70,11 @@
      *  Code can compare this constant against
      *  the compatibilityVersion
      *  to implement version-specific behavior.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_3_0:uint = 0x03000000;

@@ -64,6 +84,11 @@
      *  Code can compare this constant against
      *  the compatibilityVersion
      *  to implement version-specific behavior.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_2_0_1:uint = 0x02000001;

@@ -73,6 +98,11 @@
      *  Code can compare this constant against
      *  the compatibilityVersion
      *  to implement version-specific behavior.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_2_0:uint = 0x02000000;

@@ -80,6 +110,11 @@
      *  A String passed as a parameter
      *  to the compatibilityErrorFunction() method
      *  if the compatibility version has already been set.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_ALREADY_SET:String = "versionAlreadySet";
         // Also used as resource string, so be careful changing it.
@@ -88,6 +123,11 @@
      *  A String passed as a parameter
      *  to the compatibilityErrorFunction() method
      *  if the compatibility version has already been read.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const VERSION_ALREADY_READ:String = "versionAlreadyRead";
         // Also used as resource string, so be careful changing it.
@@ -119,6 +159,11 @@
      *  which is the version that was attempted to be set; the second
      *  is a string that is the reason it failed, either
      *  VERSION_ALREADY_SET or VERSION_ALREADY_READ.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get compatibilityErrorFunction():Function
     {
@@ -165,6 +210,11 @@
      *  early enough that no code that depends on it has run yet.
      *
      *  @default FlexVersion.CURRENT_VERSION
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get compatibilityVersion():uint
     {
@@ -220,6 +270,11 @@
      *  This is a pass-through to the compatibilityVersion
      *  property, which converts the number to and from a more
      *  human-readable String version.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function get compatibilityVersionString():String
     {


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

--- frameworks/projects/framework/src/mx/core/SpriteAsset.as
+++ frameworks/projects/framework/src/mx/core/SpriteAsset.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.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18639
Author:   egeorgie@adobe.com
Date:     2010-11-17T01:20:40.860178Z

Log Message:
-----------
SkinnablePopUpContainer P-ARB changes

- Rename PopUpCloseEvent -> PopUpEvent
- Remove "disabledAndClosed", "disabledAndClosedAndLandscape" states
- Renamed SkinnablePopUpContainer's property from opened -> isOpen

Additionally:
- turn off modalTransparency and modalBlur in the mobileTheme

QE notes: SkinnablePopUpContainer is now code complete
Doc notes:
Bugs:
Reviewer: Jason & Jason
Tests run: manual, checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpCloseEvent.as" copyfrom-rev="18594" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpEvent.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="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpCloseEvent.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/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -716,14 +716,14 @@
  *
This event is only dispatched when there are one or more
  *  relevant listeners attached to the dispatching object.

  *
- *  @eventType mx.events.FlexEvent.STATE_TRANSITION_COMPLETE
+ *  @eventType mx.events.FlexEvent.STATE_CHANGE_COMPLETE
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Event(name="stateTransitionComplete", type="mx.events.FlexEvent")]
+[Event(name="stateChangeComplete", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when a component interrupts a transition to its current
@@ -732,14 +732,14 @@
  *
This event is only dispatched when there are one or more
  *  relevant listeners attached to the dispatching object.

  *
- *  @eventType mx.events.FlexEvent.STATE_TRANSITION_INTERRUPTED
+ *  @eventType mx.events.FlexEvent.STATE_CHANGE_INTERRUPTED
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Event(name="stateTransitionInterrupted", type="mx.events.FlexEvent")]
+[Event(name="stateChangeInterrupted", type="mx.events.FlexEvent")]

 //--------------------------------------
@@ -10531,7 +10531,7 @@
         if (_currentTransition)
         {
             // Remove the event listener, we don't want to trigger it as it
-            // dispatches FlexEvent.STATE_TRANSITION_COMPLETE and we are
+            // dispatches FlexEvent.STATE_CHANGE_COMPLETE and we are
             // interrupting _currentTransition instead.
             _currentTransition.effect.removeEventListener(EffectEvent.EFFECT_END, transition_effectEndHandler);

@@ -10567,8 +10567,8 @@
             }

             // The current transition is being interrupted, dispatch an event
-            if (hasEventListener(FlexEvent.STATE_TRANSITION_INTERRUPTED))
-                dispatchEvent(new FlexEvent(FlexEvent.STATE_TRANSITION_INTERRUPTED));
+            if (hasEventListener(FlexEvent.STATE_CHANGE_INTERRUPTED))
+                dispatchEvent(new FlexEvent(FlexEvent.STATE_CHANGE_INTERRUPTED));
             _currentTransition = null;
         }

@@ -10653,8 +10653,8 @@
         else
         {
             // Dispatch an event that the transition has completed.
-            if (hasEventListener(FlexEvent.STATE_TRANSITION_COMPLETE))
-                dispatchEvent(new FlexEvent(FlexEvent.STATE_TRANSITION_COMPLETE));
+            if (hasEventListener(FlexEvent.STATE_CHANGE_COMPLETE))
+                dispatchEvent(new FlexEvent(FlexEvent.STATE_CHANGE_COMPLETE));
         }
     }

@@ -10709,8 +10709,8 @@
         _currentTransition = null;

         // Dispatch an event that the transition has completed.
-        if (hasEventListener(FlexEvent.STATE_TRANSITION_COMPLETE))
-            dispatchEvent(new FlexEvent(FlexEvent.STATE_TRANSITION_COMPLETE));
+        if (hasEventListener(FlexEvent.STATE_CHANGE_COMPLETE))
+            dispatchEvent(new FlexEvent(FlexEvent.STATE_CHANGE_COMPLETE));
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 946
Author:   clucier@adobe.com
Date:     2008-03-27T00:03:25.298810Z

Log Message:
-----------
Follow on to my last checkin, added additional logic to account for cases when styles are requested but not found.
Addresses a mustella breakage.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -7371,14 +7371,17 @@
         for (i = 0; i < classSelectors.length; i++)
         {
             var classSelector:CSSStyleDeclaration = classSelectors[i];
-            inheritChain =
-                classSelector.addStyleToProtoChain(inheritChain, this);
-
-            nonInheritChain =
-                classSelector.addStyleToProtoChain(nonInheritChain, this);
-
-            if (classSelector.effects)
-                registerEffects(classSelector.effects);
+            if (classSelector)
+            {
+                inheritChain =
+                    classSelector.addStyleToProtoChain(inheritChain, this);
+
+                nonInheritChain =
+                    classSelector.addStyleToProtoChain(nonInheritChain, this);
+
+                if (classSelector.effects)
+                    registerEffects(classSelector.effects);
+            }
         }

         // Finally, we'll add the in-line styles


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

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

 package mx.controls
 {


FLEX-34119 our test runner seems to be an Application, rather than WindowedApplication. Now the unit test reflects that.

--- frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_Basics_Tests.as
+++ frameworks/projects/advancedgrids/tests/mx/collections/HierarchicalCollectionViewCursor_Basics_Tests.as
@@ -20,60 +20,55 @@
 package mx.collections
 {
     import flash.events.UncaughtErrorEvent;
-
-import flashx.textLayout.debug.assert;
-
-import mx.collections.ArrayCollection;
-    import mx.collections.CursorBookmark;
-    import mx.collections.HierarchicalCollectionView;
-    import mx.collections.HierarchicalCollectionViewCursor;
+    import flash.utils.describeType;
+
     import mx.core.FlexGlobals;
-
-    import spark.components.WindowedApplication;
-
+
     import org.flexunit.asserts.assertEquals;
-
-    public class HierarchicalCollectionViewCursor_Basics_Test
+    import org.flexunit.asserts.assertNotNull;
+
+    import spark.components.Application;
+
+    public class HierarchicalCollectionViewCursor_Basics_Tests
 	{
-		private static var _utils:HierarchicalCollectionViewTestUtils = new HierarchicalCollectionViewTestUtils();
-		private static var _currentHierarchy:HierarchicalCollectionView;
-		private static var _noErrorsThrown:Boolean = true;
-		private var _level0:ArrayCollection;
-
-		private var _sut:HierarchicalCollectionViewCursor;
-
-		[BeforeClass]
-		public static function setUpBeforeClass():void
-		{
-            if(FlexGlobals.topLevelApplication is WindowedApplication)
-			    (FlexGlobals.topLevelApplication as WindowedApplication).loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, handleUncaughtClientError);
-		}
-
-		[AfterClass]
-		public static function tearDownAfterClass():void
-		{
-            if(FlexGlobals.topLevelApplication is WindowedApplication)
-			    (FlexGlobals.topLevelApplication as WindowedApplication).loaderInfo.uncaughtErrorEvents.removeEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, handleUncaughtClientError);
-		}
-
-		[Before]
-		public function setUp():void
-		{
+        private static var _utils:HierarchicalCollectionViewTestUtils = new HierarchicalCollectionViewTestUtils();
+        private static var _currentHierarchy:HierarchicalCollectionView;
+        private static var _noErrorsThrown:Boolean = true;
+        private var _level0:ArrayCollection;
+
+        private var _sut:HierarchicalCollectionViewCursor;
+
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+            if(FlexGlobals.topLevelApplication is Application)
+                (FlexGlobals.topLevelApplication as Application).loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, handleUncaughtClientError);
+        }
+
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+            if(FlexGlobals.topLevelApplication is Application)
+                (FlexGlobals.topLevelApplication as Application).loaderInfo.uncaughtErrorEvents.removeEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, handleUncaughtClientError);
+        }
+
+        [Before]
+        public function setUp():void
+        {
             _currentHierarchy = generateHierarchyViewWithOpenNodes();
             _level0 = _utils.getRoot(_currentHierarchy) as ArrayCollection;
             _sut = _currentHierarchy.createCursor() as HierarchicalCollectionViewCursor;

-			_noErrorsThrown = true;
-		}
-
-		[After]
-		public function tearDown():void
-		{
-			_sut = null;
+            _noErrorsThrown = true;
+        }
+
+        [After]
+        public function tearDown():void
+        {
+            _sut = null;
             _currentHierarchy = null;
             _level0 = null;
-		}
-
+        }

         [Test]
@@ -223,23 +218,23 @@
             //then
             assertEquals(firstLocation, _sut.current);
         }
-
-
-		private static function handleUncaughtClientError(event:UncaughtErrorEvent):void
-		{
-			event.preventDefault();
-			event.stopImmediatePropagation();
-			_noErrorsThrown = false;
-
-			trace("\n" + event.error);
-			_utils.printHCollectionView(_currentHierarchy);
-		}
-
-
-		private static function generateHierarchyViewWithOpenNodes():HierarchicalCollectionView
-		{
-			return _utils.generateOpenHierarchyFromRootList(_utils.generateHierarchySourceFromString(HIERARCHY_STRING));
-		}
+
+
+        private static function handleUncaughtClientError(event:UncaughtErrorEvent):void
+        {
+            event.preventDefault();
+            event.stopImmediatePropagation();
+            _noErrorsThrown = false;
+
+            trace("\n" + event.error);
+            _utils.printHCollectionView(_currentHierarchy);
+        }
+
+
+        private static function generateHierarchyViewWithOpenNodes():HierarchicalCollectionView
+        {
+            return _utils.generateOpenHierarchyFromRootList(_utils.generateHierarchySourceFromString(HIERARCHY_STRING));
+        }

 		private static const HIERARCHY_STRING:String = (<![CDATA[
 			Company(1)


Transferred from the Adobe Open Source Subversion Repository

Revision: 11864
Author:   klin@adobe.com
Date:     2009-11-16T21:40:36.228726Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-24036. Added up and down arrow key wrapping in DropDownListBase when arrowKeysWrapFocus is true.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownListBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
@@ -750,20 +750,24 @@
                 // Normalize the proposed index for getNavigationDestinationIndex
                 currentIndex = caretIndex < NO_SELECTION ? NO_SELECTION : caretIndex;

-                // FIXME (jszeto) : SDK-24036 Add arrowKeysWrapFocus support
-
                 switch (navigationUnit)
                 {
                     case NavigationUnit.UP:
                     {
-                        proposedNewIndex = currentIndex - 1;
+                        if (arrowKeysWrapFocus && currentIndex == 0)
+                            proposedNewIndex = dataProvider.length - 1;
+                        else
+                            proposedNewIndex = currentIndex - 1;
                         event.preventDefault();
                         break;
                     }

                     case NavigationUnit.DOWN:
                     {
-                        proposedNewIndex = currentIndex + 1;
+                        if (arrowKeysWrapFocus && currentIndex == (dataProvider.length - 1))
+                            proposedNewIndex = 0;
+                        else
+                            proposedNewIndex = currentIndex + 1;
                         event.preventDefault();
                         break;
                     }


default handcursor to false

default handcursor to false

--- src/flash/ZeroClipboard.as
+++ src/flash/ZeroClipboard.as
@@ -28,7 +28,7 @@
       // invisible button covers entire stage
       button = new Sprite();
       button.buttonMode = true;
-      button.useHandCursor = true;
+      button.useHandCursor = false;
       button.graphics.beginFill(0xCCFF00);
       button.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
       button.alpha = 0.0;


Image, Flash: Make sure that internal image reference is JPEG, before doing JPEG operations on it.

--- src/flash/src/com/Image.as
+++ src/flash/src/com/Image.as
@@ -340,7 +340,7 @@
 			if (type == 'image/jpeg') {
 				ba = new JPGEncoder(quality).encode(bd);

-				if (_img) {
+				if (_img && _img is JPEG) {
 					// strip off any headers that might be left by encoder, etc
 					_img.stripHeaders(ba);
 					// restore the original headers if requested


Transferred from the Adobe Open Source Subversion Repository

Revision: 3677
Author:   clucier@adobe.com
Date:     2008-10-16T14:21:15.699901Z

Log Message:
-----------
Chipping away at the size of pure Flex 4 SWFs. We no longer inadvertedly link in the legacy Halo Container, Button, and Scrollbar, for pure Flex 4 applets. Baseline Flex 4 SWF drops to about 177K now (down from 220K).
Checkin Tests: Pass
Reviewer: Glenn
QE: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -291,7 +291,7 @@
 public class Container extends UIComponent
                        implements IContainer, IDataRenderer,
                        IFocusManagerContainer, IListItemRenderer,
-                       IRawChildrenContainer
+                       IRawChildrenContainer, IChildList
 {
     include "../core/Version.as"


Code clean

Code clean

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/CodeInputFieldPresenter.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/presenter/CodeInputFieldPresenter.as
@@ -106,7 +106,7 @@
 			}
 			var codesStr:String = StringUtil.concat(", ", parts);
 			TextInput(_popUp.codeInputField.textInput).text = codesStr;
-			_popUp.codeInputField.presenter.applyChanges();
+			_popUp.codeInputField.applyChanges();
 			closePopupHandler();
 		}


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

--- frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoSource.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoSource.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 spark.components.mediaClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 22784
Author:   jasonsj@adobe.com
Date:     2011-09-28T19:33:36.837503Z

Log Message:
-----------
ASDoc update to indicate pop-up owners can not be a descendant. Remove FIXME.

QE notes:
Doc notes:
Bugs:
SDK-31429 RTE and eventual app crashes when the owner of the callout is set to the first view navigator or its children
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>

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

--- frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -257,7 +257,8 @@
      *  @param parent DisplayObject to be used for determining which SystemManager's layers
      *  to use and optionally  the reference point for centering the new
      *  top level window.  It may not be the actual parent of the popup as all popups
-     *  are parented by the SystemManager.
+     *  are parented by the SystemManager. Also, it must not be a descendant of
+     *  the popup.
      *
      *  @param modal If true, the window is modal which means that
      *  the user will not be able to interact with other popups until the window


Fixed savedString bug caused by creation of levelloader

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -1210,7 +1210,7 @@
 			if (saveString) {
 				var loadedData:LevelLoader = FlxG.debug ? LevelLoader.loadSimple(saveString) : LevelLoader.loadSafe(saveString);
 				if (loadedData) {
-					saveString = loadedData.saveString;
+					savedString = loadedData.saveString;
 					time.clockPeriod = loadedData.clock;

 					for each (var wire:Wire in loadedData.wires)
@@ -1218,10 +1218,10 @@
 					for each (var module:Module in loadedData.modules)
 						addModule(module, false);
 				} else
-					saveString = null;
-			}
-
-			level.loadIntoState(this, saveString == RESET_SAVE || !saveString);
+					savedString = null;
+			}
+
+			level.loadIntoState(this, savedString == RESET_SAVE || !savedString);

 			makeUI();
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 16721
Author:   hmuller@adobe.com
Date:     2010-06-29T18:29:14.826199Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion

Added/revised DataGrid,Grid typicalItem property.   GridLayout now computes GridColumn widths, for columns without an explicit with, based on the typical item renderer's preferredBoundsWidth().  GridLayout does not yet give the ColumnHeaderBar a shot at increasing column widths based on its own items.  See GridLayout/updateVisibleColumnWidths().

Removed GridLayout override for typicalLayoutElement since it's not used.   And since typicalLayoutElement doesn't make sense, since one "typical" layout element is needed per column.   See GridLayout/createTypicalItemRenderer().

Removed GridLayout/getTypicalItemRenderer().

Removed (already commented out) HACK #1,#2 code.

Commented out body of GridLayout/measure() for now.   This is going to need work.

Removed explicit width values from DefaultColumnHeaderRenderer.

Changed DataGridSkin to use a VGroup to layout the ColumnHeaderBar and Grid.  We'll want to Change ColumnHeaderBarLayout to support an indent, rather than relying on the scheme I've installed for now.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.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/supportClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DataGridSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/GridContainerBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ColumnHeaderBarLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -1174,26 +1174,13 @@
         //----------------------------------

         private var _typicalItem:Object = null;
-        private var typicalItemChanged:Boolean;

         [Bindable("typicalItemChanged")]

         /**
-         *  TBD: update this for Grid and add to the spec.
-         *
-         *  Layouts use the preferred size of the typicalItem
-         *  when fixed row or column sizes are required, but a specific
-         *  rowHeight or columnWidth value is not set.
-         *  Similarly virtual layouts use this item to define the size
-         *  of layout elements that have not been scrolled into view.
-         *
-         *
The container uses the typical data item, and the associated item renderer,
-         *  to determine the default size of the container children.
-         *  By defining the typical item, the container does not have to size each child
-         *  as it is drawn on the screen.

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

+		 *  The grid's layout ensures that columns whose width is not specified will be wide
+		 *  enough to display an item renderer for this default dataProvider item.  If a typical
+		 *  item is not specified, then the first dataProvider item is used.
          *
          *
Restriction: if the typicalItem is an IVisualItem, it must not
          *  also be a member of the data Provider.

@@ -1203,7 +1190,7 @@
          *  @langversion 3.0
          *  @playerversion Flash 10
          *  @playerversion AIR 1.5
-         *  @productversion Flex 4
+         *  @productversion Flex 4.5
          */
         public function get typicalItem():Object
         {
@@ -1219,9 +1206,8 @@
                 return;

             _typicalItem = value;
-            typicalItemChanged = true;
-
-            invalidateProperties();
+			dispatchChangeEvent("typicalItemChanged");
+
             invalidateSize();
             invalidateDisplayList();
         }
@@ -2049,13 +2035,6 @@
             {
                 dispatchCaretChangeEvent();
                 caretChanged = false;
-            }
-
-            if (typicalItemChanged)
-            {
-                if (layout)
-                    layout.typicalLayoutElement = null;
-                typicalItemChanged = false;
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19800
Author:   hmuller@adobe.com
Date:     2011-01-19T17:43:25.081406Z

Log Message:
-----------
GridLayout optimization for GridItemRenderer (custom) item renderers.

IGridItemRenderer ASDoc cleanup.

Removed unused mx_internal method Grid/getDataProviderItemIndex().

GridColumnHeaderGroupLayout sets renderer owner property to dataGrid, as in GridLayout.

QE notes: One Mustella test screenshot to be revised (Jody)
Doc notes:
Bugs:
Reviewer: Carol
Tests run: checkin, mustella
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/UITextFieldGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -3701,18 +3701,6 @@
             return null;

         return dataProvider.getItemAt(rowIndex);
-    }
-
-    /**
-     *  @private
-     */
-    mx_internal function getDataProviderItemIndex(item:Object):int
-    {
-        const dataProvider:IList = dataProvider;
-        if ((dataProvider == null))
-            return -1;
-
-        return dataProvider.getItemIndex(item);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4211
Author:   jszeto@adobe.com
Date:     2008-12-02T00:51:56.799456Z

Log Message:
-----------
GraphicElement re-layering optimization and removal of change events

SDK-18055 Optimize invalidation of layering for GraphicElements

For the properties that affect whether GraphicElement needs a displayObject, in their setters we add checks to see if we need to recalculate layering.

SDK-18054  Remove non-critical change events from GraphicElement

Removed a bunch of change events from properties that only get set programmatically.

QE Notes: Most change events from GraphicElement and its subclasses have been removed
Doc Notes:
Bugs: SDK-18054, SDK-18055
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.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/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -59,7 +59,6 @@

     private var _radiusX:Number = 0;

-    [Bindable("propertyChange")]
     [Inspectable(category="General")]

     /**
@@ -71,13 +70,10 @@
     }

     public function set radiusX(value:Number):void
-    {
-        var oldValue:Number = _radiusX;
-
-        if (value != oldValue)
+    {
+        if (value != _radiusX)
         {
             _radiusX = value;
-            dispatchPropertyChangeEvent("radiusX", oldValue, value);
             invalidateDisplayList();
             // No need to invalidateSize() since we don't use radiusX to compute size
         }
@@ -89,7 +85,6 @@

     private var _radiusY:Number = 0;

-    [Bindable("propertyChange")]
     [Inspectable(category="General")]

     /**
@@ -101,13 +96,10 @@
     }

     public function set radiusY(value:Number):void
-    {
-        var oldValue:Number = _radiusY;
-
-        if (value != oldValue)
+    {
+        if (value != _radiusY)
         {
             _radiusY = value;
-            dispatchPropertyChangeEvent("radiusY", oldValue, value);
             invalidateDisplayList();
             // No need to invalidateSize() since we don't use radiusY to compute size
         }