Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridHeader.as
@@ -17,6 +17,7 @@
 import flash.display.Graphics;
 import flash.display.Shape;
 import flash.display.Sprite;
+import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.geom.Matrix;
 import flash.geom.Point;
@@ -31,6 +32,7 @@
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.events.DataGridEvent;
+import mx.events.SandboxMouseEvent;
 import mx.managers.CursorManager;
 import mx.managers.CursorManagerPriority;
 import mx.skins.halo.DataGridColumnDropIndicator;
@@ -614,7 +616,8 @@
             return;

         startX = DisplayObject(event.target).x + x;
-
+        lastPt = new Point(event.stageX, event.stageY);
+        lastPt = dataGrid.globalToLocal(lastPt);
         var n:int = separators.length;
 		var colIndex:int = 0;
         for (var i:int = 0; i < n; i++)
@@ -632,8 +635,11 @@

         minX = headerItems[colIndex].x + x + resizingColumn.minWidth;

-        systemManager.addEventListener(MouseEvent.MOUSE_MOVE, columnResizingHandler, true);
-        systemManager.addEventListener(MouseEvent.MOUSE_UP, columnResizeMouseUpHandler, true);
+        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+        sbRoot.addEventListener(MouseEvent.MOUSE_MOVE, columnResizingHandler, true);
+        sbRoot.addEventListener(MouseEvent.MOUSE_UP, columnResizeMouseUpHandler, true);
+        sbRoot.addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, columnResizeMouseUpHandler);
+        systemManager.deployMouseShields(true);

         var resizeSkinClass:Class = getStyle("columnResizeSkin");
         resizeGraphic = new resizeSkinClass();
@@ -661,6 +667,7 @@

         var pt:Point = new Point(event.stageX, event.stageY);
         pt = dataGrid.globalToLocal(pt);
+        lastPt = pt;
         resizeGraphic.move(Math.min(Math.max(minX, pt.x),
                            (dataGrid.width / dataGrid.scaleX) - separators[0].width - vsw), 0);
     }
@@ -669,7 +676,7 @@
      *  @private
      *  Determines how much to resize the column.
      */
-    private function columnResizeMouseUpHandler(event:MouseEvent):void
+    private function columnResizeMouseUpHandler(event:Event):void
     {
         if (!enabled || !dataGrid.resizableColumns)
             return;
@@ -677,8 +684,11 @@
         // Set this to null so sort doesn't happen.
         lastItemDown = null;

-        systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, columnResizingHandler, true);
-        systemManager.removeEventListener(MouseEvent.MOUSE_UP, columnResizeMouseUpHandler, true);
+        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+        sbRoot.removeEventListener(MouseEvent.MOUSE_MOVE, columnResizingHandler, true);
+        sbRoot.removeEventListener(MouseEvent.MOUSE_UP, columnResizeMouseUpHandler, true);
+        sbRoot.removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, columnResizeMouseUpHandler);
+        systemManager.deployMouseShields(false);

         dataGrid.removeChild(DisplayObject(resizeGraphic));
         resizeGraphic = null;
@@ -690,9 +700,17 @@

         var vsw:int = dataGrid.vScrollBar ? dataGrid.vScrollBar.width : 0;

-        var pt:Point = new Point(event.stageX, event.stageY);
-        pt = dataGrid.globalToLocal(pt);
-
+        var mouseEvent:MouseEvent = event as MouseEvent;
+        var pt:Point;
+
+        if (mouseEvent)
+        {
+            pt = new Point(mouseEvent.stageX, mouseEvent.stageY);
+            pt = dataGrid.globalToLocal(pt);
+        }
+        else
+            pt = lastPt;
+
         // resize the column
         var widthChange:Number = Math.min(Math.max(minX, pt.x),
             (dataGrid.width / dataGrid.scaleX) - separators[0].width - vsw) - startX;
@@ -821,7 +839,7 @@
         var allVisibleColumns:Array = dataGrid.getAllVisibleColumns();
         var pt:Point = new Point(event.stageX, event.stageY);
         pt = dataGrid.globalToLocal(pt);
-
+        lastPt = pt;
         n = allVisibleColumns.length;
         var xx:Number = dataGrid.viewMetrics.left;
         var ww:Number;
@@ -887,8 +905,10 @@

     /**
      *  @private
-     */
-    private function columnDraggingMouseUpHandler(event:MouseEvent):void
+     *
+     *  @param event MouseEvent or SandboxMouseEvent.
+     */
+    private function columnDraggingMouseUpHandler(event:Event):void
     {
         if (!dataGrid.movingColumn)
             return;
@@ -914,10 +934,13 @@
         }

         // Shift columns.
-        dataGrid.shiftColumns(origIndex, dropColumnIndex, event);
-
-        systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, columnDraggingMouseMoveHandler, true);
-        systemManager.removeEventListener(MouseEvent.MOUSE_UP, columnDraggingMouseUpHandler, true);
+        dataGrid.shiftColumns(origIndex, dropColumnIndex, event as MouseEvent);
+
+        var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+        sbRoot.removeEventListener(MouseEvent.MOUSE_MOVE, columnDraggingMouseMoveHandler, true);
+        sbRoot.removeEventListener(MouseEvent.MOUSE_UP, columnDraggingMouseUpHandler, true);
+        sbRoot.removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, columnDraggingMouseUpHandler);
+        systemManager.deployMouseShields(false);

         var dgSelectionLayer:Sprite = Sprite(dataGrid.getChildByName("columnDragSelectionLayer"));
         if (!dgSelectionLayer)
@@ -1162,8 +1185,12 @@
             if (dataGrid.draggableColumns && visibleColumns[i].draggable)
             {
                 startX = NaN;
-                systemManager.addEventListener(MouseEvent.MOUSE_MOVE, columnDraggingMouseMoveHandler, true);
-                systemManager.addEventListener(MouseEvent.MOUSE_UP, columnDraggingMouseUpHandler, true);
+
+                var sbRoot:DisplayObject = systemManager.getSandboxRoot();
+                sbRoot.addEventListener(MouseEvent.MOUSE_MOVE, columnDraggingMouseMoveHandler, true);
+                sbRoot.addEventListener(MouseEvent.MOUSE_UP, columnDraggingMouseUpHandler, true);
+                sbRoot.addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE, columnDraggingMouseUpHandler);
+                systemManager.deployMouseShields(true);
                 dataGrid.movingColumn = visibleColumns[i];
             }
         }
@@ -1430,6 +1457,13 @@

     /**
      *  @private
+     *  A tmp var to store the last point (in dataGrid coords) received while dragging.
+     */
+    private var lastPt:Point;
+
+
+    /**
+     *  @private
      *  List of header separators for column resizing.
      */
     private var separators:Array;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

+/**
+ *  Modality of components launched by the PopUp Manager is simulated by
+ *  creating a large translucent overlay underneath the component.
+ *  Because of the way translucent objects are rendered, you may notice a slight
+ *  dimming of the objects under the overlay.
+ *  The effective transparency can be set by changing the
+ *  modalTransparency value from 0.0 (fully transparent)
+ *  to 1.0 (fully opaque).
+ *  You can also set the color of the overlay by changing the
+ *  modalTransparencyColor style.
+ *
+ *  @default 0.5
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="modalTransparency", type="Number", inherit="yes")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 20093
Author:   hmuller@adobe.com
Date:     2011-02-03T14:52:13.741604Z

Log Message:
-----------
Added special-case code for reusing item renderers when their itemRendererFunction is specified.

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

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1124,6 +1124,15 @@
         if (!renderer)
             return;

+        // If the renderer at rowIndex,columnIndex is going to have to be replaced, because
+        // this columns itemRendererFunction now returns a different (IFactory) value, punt.
+
+        if (itemRendererFunctionValueChanged(renderer))
+        {
+            renderer.grid.invalidateDisplayList();
+            return;
+        }
+
         initializeItemRenderer(renderer, rowIndex, columnIndex);

         // We're using layoutBoundsX,Y,Width,Height instead of x,y,width,height because
@@ -1139,6 +1148,21 @@
         if (gridDimensions.variableRowHeight && (rendererHeight != renderer.getPreferredBoundsHeight()))
             grid.invalidateDisplayList();
     }
+
+    /**
+     *  @private
+     *  Return true if the specified item renderer was defined by an itemRendererFunction whose
+     *  value has changed.
+     */
+    private function itemRendererFunctionValueChanged(renderer:IGridItemRenderer):Boolean
+    {
+        const column:GridColumn = renderer.column;
+        if (!column || (column.itemRendererFunction === null))
+            return false;
+
+        const factory:IFactory = itemToRenderer(column, renderer.data);
+        return factory !== elementToFactoryMap[renderer];
+    }

     /**
      *  @private
@@ -1180,6 +1204,17 @@

         const renderer:IGridItemRenderer = visibleItemRenderers[index];
         visibleItemRenderers[index] = null;
+
+        // If the renderer at rowIndex,columnIndex is going to have to be replaced, because
+        // this column's itemRendererFunction now returns a different (IFactory) value, then
+        // get rid of the old one and return null.
+
+        if (renderer && itemRendererFunctionValueChanged(renderer))
+        {
+            freeItemRenderer(renderer);
+            return null;
+        }
+
         return renderer;
     }


Re-fixed issues with Flex4

Re-fixed issues with Flex4

git-svn-id: 9278a788294a4258aac04586390fc35fb4a5f335@9923 a9308255-753e-0410-a2e9-80b3fbc4fff6

--- FlexUnit4/src/org/fluint/uiImpersonation/TestEnvironment.as
+++ FlexUnit4/src/org/fluint/uiImpersonation/TestEnvironment.as
@@ -23,7 +23,6 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  **/
 package org.fluint.uiImpersonation {
-	import mx.core.ApplicationGlobals;
 	import mx.core.Container;
 	//import mx.core.FlexGlobals;
 	import mx.core.FlexVersion;
@@ -52,7 +51,6 @@
 		 * @return A reference to the TestEnvironment class.
 		 */
 		public static function getInstance():TestEnvironment {
-			var globals:Class
 			if ( !instance ) {
 				//need to eventually go this route
 				//instance = buildInstance();
@@ -61,11 +59,11 @@

 				//TO-DO: need to deal with this, can't reference 4, likely 3_4 or some other #
 				if ( FlexVersion.CURRENT_VERSION > FlexVersion.VERSION_3_0 ) {
-					globals = Class(getDefinitionByName("mx.core::FlexGlobals"));
-					systemManager = globals.topLevelApplication.systemManager;
+					var flexGlobals:Class = Class(getDefinitionByName("mx.core::FlexGlobals"));
+					systemManager = flexGlobals.topLevelApplication.systemManager;
 				} else {
-					globals = Class(getDefinitionByName("mx.core.ApplicationGlobals"));
-					systemManager = globals.application.systemManager;
+					var appGlobals:Class = Class(getDefinitionByName("mx.core::ApplicationGlobals"));
+					systemManager = appGlobals.application.systemManager;
 				}

 				 //= ApplicationGlobals.application.systemManager;
@@ -74,7 +72,7 @@

 			return instance;
 		}
-
+/*
 		private static function buildInstance():TestEnvironment {
 			var child:TestEnvironment = new TestEnvironment();
 			var systemManager:SystemManager = ApplicationGlobals.application.systemManager;
@@ -95,6 +93,7 @@

         	return instance;
 		}
+*/
 	}
 }


FEC 4074

FEC 4074

fix parse manifest for tokenization

--- HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestParser.as
+++ HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestParser.as
@@ -193,7 +193,10 @@
 			timestamp = getTimer();

 			fullUrl = _fullUrl;
-			baseUrl = _fullUrl.substring(0, _fullUrl.lastIndexOf("/") + 1);
+			if(fullUrl.indexOf("?") >= 0){
+				fullUrl = fullUrl.slice(0, fullUrl.indexOf("?"));
+			}
+			baseUrl = fullUrl.substring(0, fullUrl.lastIndexOf("/") + 1);
 			//logger.debug("BASE URL " + baseUrl);

 			// Normalize line endings.


Transferred from the Adobe Open Source Subversion Repository

Revision: 20845
Author:   mhorn@adobe.com
Date:     2011-03-14T15:29:23.391952Z

Log Message:
-----------
merge 20756,20790,20712,20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
@@ -163,12 +163,12 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 */
-	private var _moduleFactoryInitialized:Boolean = false;
-
-	/**
+    /**
+     *  @private
+     */
+    private var _moduleFactoryInitialized:Boolean = false;
+
+    /**
      * @private
      */
     private var _localFills:Array /* of IFill */;
@@ -242,7 +242,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	public function get fillFunction():Function
+    public function get fillFunction():Function
     {
         return _fillFunction;
     }
@@ -250,7 +250,7 @@
     /**
      * @private
      */
-   	public function set fillFunction(value:Function):void
+    public function set fillFunction(value:Function):void
     {
         if (value==_fillFunction)
             return;
@@ -271,110 +271,128 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
-	 */
-	private function initStyles():Boolean
-	{
-		HaloDefaults.init(styleManager);
-
-		var candlestickSeriesStyle:CSSStyleDeclaration =
-			HaloDefaults.createSelector("mx.charts.series.CandlestickSeries", styleManager);
-
-		candlestickSeriesStyle.defaultFactory = function():void
-		{
-			this.boxStroke = new Stroke(0, 0);
-			this.declineFill = new SolidColor(0);
-			this.fill = new SolidColor(0xFFFFFF);
-			this.fills = [];
-			this.itemRenderer = new ClassFactory(CandlestickItemRenderer);
-			this.stroke = new Stroke(0, 0);
-		}
-
-		return true;
-	}
-
-
-	/**
-	 *  @inheritDoc
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	override public function set moduleFactory(factory:IFlexModuleFactory):void
-	{
-		super.moduleFactory = factory;
-
-		if (_moduleFactoryInitialized)
-			return;
-
-		_moduleFactoryInitialized = true;
-
-		// our style settings
-		initStyles();
-	}
-
     /**
      *  @private
      */
+    private function initStyles():Boolean
+    {
+        HaloDefaults.init(styleManager);
+
+        var candlestickSeriesStyle:CSSStyleDeclaration =
+            HaloDefaults.createSelector("mx.charts.series.CandlestickSeries", styleManager);
+
+        candlestickSeriesStyle.defaultFactory = function():void
+        {
+            this.boxStroke = new Stroke(0, 0);
+            this.declineFill = new SolidColor(0);
+            this.fill = new SolidColor(0xFFFFFF);
+            this.fills = [];
+            this.itemRenderer = new ClassFactory(CandlestickItemRenderer);
+            this.stroke = new Stroke(0, 0);
+        }
+
+        return true;
+    }
+
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function set moduleFactory(factory:IFlexModuleFactory):void
+    {
+        super.moduleFactory = factory;
+
+        if (_moduleFactoryInitialized)
+            return;
+
+        _moduleFactoryInitialized = true;
+
+        // our style settings
+        initStyles();
+    }
+
+    /**
+     *  @private
+     */
     override public function getAllDataPoints():Array /* of HitData */
     {
-    	if (!_renderData)
-    		return [];
-    	if (!(_renderData.filteredCache))
-    		return [];
-
-    	var itemArr:Array /* of CandlestickSeriesItem */ = [];
-    	if (chart && chart.dataTipItemsSet && dataTipItems)
-    		itemArr = dataTipItems;
-    	else if (chart && chart.showAllDataTips && _renderData.filteredCache)
-    		itemArr = _renderData.filteredCache;
-    	else
-    		itemArr = [];
-
-    	var n:uint = itemArr.length;
-    	var i:uint;
-    	var result:Array /* of HitData */ = [];
-
-    	for (i = 0; i < n; i++)
+        if (!_renderData)
+            return [];
+        if (!(_renderData.filteredCache))
+            return [];
+
+        var itemArr:Array /* of CandlestickSeriesItem */ = [];
+        if (chart && chart.dataTipItemsSet && dataTipItems)
+            itemArr = dataTipItems;
+        else if (chart && chart.showAllDataTips && _renderData.filteredCache)
+            itemArr = _renderData.filteredCache;
+        else
+            itemArr = [];
+
+        var n:uint = itemArr.length;
+        var i:uint;
+        var result:Array /* of HitData */ = [];
+
+        for (i = 0; i < n; i++)
         {
             var v:HLOCSeriesItem = itemArr[i];
             if (_renderData.filteredCache.indexOf(v) == -1)
             {
-            	var itemExists:Boolean = false;
-            	var m:int  = _renderData.filteredCache.length;
-            	for (var j:int = 0; j < m; j++)
-            	{
-            		if (v.item == _renderData.filteredCache[j].item)
-            		{
-            			v = _renderData.filteredCache[j];
-            			itemExists = true;
-            			break;
-            		}
-            	}
-            	if (!itemExists)
-            		continue;
+                var itemExists:Boolean = false;
+                var m:int  = _renderData.filteredCache.length;
+                for (var j:int = 0; j < m; j++)
+                {
+                    if (v.item == _renderData.filteredCache[j].item)
+                    {
+                        v = _renderData.filteredCache[j];
+                        itemExists = true;
+                        break;
+                    }
+                }
+                if (!itemExists)
+                    continue;
             }
             if (v)
-        	{
-            	var ypos:Number = (v.open + v.close)/2;
-            	var id:uint = v.index;
-            	var hd:HitData = new HitData(createDataID(id),Math.sqrt(0),v.x + _renderData.renderedXOffset,ypos,v);
-            	var f:Object = getStyle("declineFill");
-
-           	 	hd.contextColor = GraphicsUtilities.colorFromFill(HLOCSeriesItem(hd.chartItem).fill);
-
-            	hd.dataTipFunction = formatDataTip;
-            	result.push(hd);
-        	}
+            {
+                var ypos:Number = (v.open + v.close)/2;
+                var id:uint = v.index;
+                var hd:HitData = new HitData(createDataID(id),Math.sqrt(0),v.x + _renderData.renderedXOffset,ypos,v);
+                var f:Object = getStyle("declineFill");
+
+                hd.contextColor = GraphicsUtilities.colorFromFill(HLOCSeriesItem(hd.chartItem).fill);
+
+                hd.dataTipFunction = formatDataTip;
+                result.push(hd);
+            }
         }
         return result;
     }

     /*
-     *  @copy mx.charts.chartClasses.IChartElement#findDataPoints()
+     *  Returns a HitData object describing the nearest data point
+     *  to the coordinates passed to the method.
+     *  The x and y arguments
+     *  should be values in the Element's coordinate system.
+     *  This method aheres to the limits specified by the
+     *  sensitivity2 parameter
+     *  when looking for nearby data points.
+     *
+     *  @param x The x coordinate relative to the ChartBase object.
+     *
+     *  @param y The y coordinate relative to the ChartBase object.
+     *
+     *  @param sensitivity The maximum distance from the data point that the
+     *  x/y coordinate location can be.
+     *
+     *  @return A HitData object describing the nearest data point
+     *  within sensitivity pixels.
+     *
+     *  @see mx.charts.HitData
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -454,9 +472,9 @@
     {
         _localFills = getStyle('fills');
         if (_localFills != null)
-        	_fillCount = _localFills.length;
+            _fillCount = _localFills.length;
         else
-        	_fillCount = 0;
+            _fillCount = 0;
         super.stylesInitialized();
     }

@@ -471,9 +489,9 @@
         {
             _localFills = getStyle('fills');
             if (_localFills != null)
-        		_fillCount = _localFills.length;
-        	else
-        		_fillCount = 0;
+                _fillCount = _localFills.length;
+            else
+                _fillCount = 0;
             invalidateDisplayList();
             legendDataChanged();
         }
@@ -498,15 +516,15 @@
         var b:Number;

         if(dataTransform && dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) is NumericAxis &&
-        	(dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
-        {
-        	a = item.open;
-        	b = item.close;
+            (dataTransform.getAxis(CartesianTransform.VERTICAL_AXIS) as NumericAxis).direction == "inverted")
+        {
+            a = item.open;
+            b = item.close;
         }
         else
         {
-        	a = item.close;
-        	b = item.open;
+            a = item.close;
+            b = item.open;
         }
         if (a > b)
             return(GraphicsUtilities.fillFromStyle(getStyle("declineFill")));


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.messaging.channels.amfx
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4547
Author:   egeorgie@adobe.com
Date:     2009-01-16T00:23:22.050443Z

Log Message:
-----------
Change Group's measured minimum size computation.
In this change:
If a Group clips content or resizeMode is scale, then measured minimum is zeroed out.

QE Notes: A couple of FxContainer and FxDataContainer tests will fail. Other tests that depend on measured minimum size of a Group with clipContent="true" or resizeMode="scale" will fail and need to be updated.
Doc Notes:
Bugs: None
Reviewer: Hans
tests: compile, checkintests, mustella (gumbo/core/..., gumbo/components/FxContainer, gumbo/components/FxDataContainer)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -236,8 +236,6 @@
      */
     public function set clipContent(value:Boolean):void
     {
-        if (skin)  // TEMPORARY fix for SDK-17751
-            skin.clipContent = value;
         if (contentGroup)
         {
             contentGroup.clipContent = value;
@@ -612,7 +610,6 @@
             if (contentGroupProperties.clipContent !== undefined)
             {
                 contentGroup.clipContent = contentGroupProperties.clipContent;
-                skin.clipContent = contentGroupProperties.clipContent;  // TEMPORARY fix for SDK-17751
                 newContentGroupProperties = BitFlagUtil.update(newContentGroupProperties,
                                                                  CLIP_CONTENT_PROPERTY_FLAG, true);
             }


Application now revalidates immediately on resize so the user doesnt see a lag in the UI

--- src/org/openPyro/core/Application.as
+++ src/org/openPyro/core/Application.as
@@ -68,6 +68,12 @@
 			_applicationHeight = stage.stageHeight;
 			this.width = _applicationWidth;
 			this.height = _applicationHeight;
+
+			// validate immediately so that the user
+			// does not see the application lag behind
+			// the resize by 1 frame
+			this.validateSize();
+			this.validateDisplayList();
 		}

 	}


Order layers for correct display.

Order layers for correct display.

--- runtime/src/main/as/flump/xfl/XflMovie.as
+++ runtime/src/main/as/flump/xfl/XflMovie.as
@@ -30,7 +30,7 @@
         } else {
             layers = new Array();
             for each (var layerEl :XML in layerEls) {
-                layers.push(new XflLayer(location, layerEl, _errors, false));
+                layers.unshift(new XflLayer(location, layerEl, _errors, false));
             }
         }
     }


reset state on dispose

reset state on dispose

--- src/org/mangui/hls/HLSJS.as
+++ src/org/mangui/hls/HLSJS.as
@@ -87,6 +87,9 @@

         public static function HLSdispose(hls:HLS):void{
             JSAPI.postMessage2({id: 'flashls.hlsDispose', hls_id: hls.id});
+            _duration = 0;
+            _bandwidth = -1;
+            _url = null;
             _hls = null;
         }


catch the situation where requirements don't have an object to refer to.

--- flexEditor/src/org/arisgames/editor/view/RequirementsEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/RequirementsEditorView.as
@@ -219,6 +219,12 @@
         else if (DataGrid(evt.target).itemEditorInstance is RequirementsEditorObjectComboBoxMX)
         {
             trace("RequirementEditorView: It's an Object ComboBox, so process accordingly.");
+
+			if (!RequirementsEditorObjectComboBoxMX(DataGrid(evt.target).itemEditorInstance).cbo.selectedItem.hasOwnProperty("data")) {
+				trace("RequirementEditorView: It's null. Return");
+				return;
+			}
+
             evt.preventDefault();

             // Get new requirement from editor for renderer to display


Add a new getter into ViewportData, to be able to access the stage.

--- src/aerys/minko/scene/visitor/data/ViewportData.as
+++ src/aerys/minko/scene/visitor/data/ViewportData.as
@@ -4,6 +4,7 @@
 	import aerys.minko.render.Viewport;
 	import aerys.minko.render.effect.IEffect;

+	import flash.display.Stage;
 	import flash.utils.Dictionary;

 	public class ViewportData implements IWorldData
@@ -68,6 +69,11 @@
 			return _renderTarget;
 		}

+		public function get stage() : Stage
+		{
+			return _viewport.stage;
+		}
+
 		public function ViewportData(viewport : Viewport)
 		{
 			_viewport = viewport;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20219
Author:   dthakkar@adobe.com
Date:     2011-02-09T00:31:57.411477Z

Log Message:
-----------
QE notes:
Doc notes: Added alternative metatag
Bugs: SDK-28163
Reviewer: Masa,Harish
Tests run: Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/validators/CurrencyValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>

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

--- frameworks/projects/framework/src/mx/validators/NumberValidator.as
+++ frameworks/projects/framework/src/mx/validators/NumberValidator.as
@@ -17,6 +17,7 @@

 [ResourceBundle("validators")]

+[Alternative(replacement="spark.validators.NumberValidator", since="4.5")]
 /**
  *  The NumberValidator class ensures that a String represents a valid number.
  *  It can ensure that the input falls within a given range


Transferred from the Adobe Open Source Subversion Repository

Revision: 5173
Author:   cframpto@adobe.com
Date:     2009-03-05T16:35:06.161722Z

Log Message:
-----------
When a radio button is added or remove from a radio button group also invalidate the radio button skin since the radio button can become enabled or disabled as a result of it's radio button group membership.

QE Notes: tests: gumbo/RadioButton and checkintests passed
Doc Notes:
Bugs: SDK-19712
Reviewers: Darrell

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

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -213,7 +213,7 @@
         // The group state changed.  Invalidate all the radio buttons.  The
         // radio button skin most likely will change.
         for (var i:int = 0; i < numRadioButtons; i++)
-            getRadioButtonAt(i).mx_internal::invalidateRadioButtonState(true);
+            getRadioButtonAt(i).mx_internal::invalidateSkinState();
     }

     //----------------------------------
@@ -431,7 +431,7 @@
             selection = instance;

         instance.mx_internal::radioButtonGroup = this;
-        instance.mx_internal::invalidateRadioButtonState();
+        instance.mx_internal::invalidateSkinState();

 		dispatchEvent(new Event("numRadioButtonsChanged"));
     }
@@ -473,7 +473,7 @@
                         _selection = null;

                     instance.mx_internal::radioButtonGroup = null;
-                    instance.mx_internal::invalidateRadioButtonState();
+                    instance.mx_internal::invalidateSkinState();

                     // Remove the radio button from the internal array.
                     radioButtons.splice(i,1);


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7541
Author:   gruehle@adobe.com
Date:     2009-06-04T00:14:58.720187Z

Log Message:
-----------
AIR Window/WindowedApplication bug fixes:

SDK-21585 - When minimizable = false, calling minimize() still minimizes.
* Added early exit to minimize() if minimizable is false. Fixed in all 4 window classes (spark/halo, Window/WindowedApplication)

SDK-21494 - You get a runtime error when setting baseColor on a WindowedAppliation
* There were problems with the exclusions list in several of the AIR skins

QA Notes: 21585 needs to be regressed for all 4 window classes.
Doc Notes: none
Reviewer: Chet

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/spark/skins/default/FlexChromeSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/default/WindowedApplicationSkin.mxml</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/spark/skins/default/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -2116,6 +2116,9 @@
      */
     public function minimize():void
     {
+        if (!minimizable)
+            return;
+
         if (!nativeWindow.closed)
         {
             var e:NativeWindowDisplayStateEvent = new NativeWindowDisplayStateEvent(


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

--- frameworks/projects/mx/src/mx/skins/halo/RadioButtonIcon.as
+++ frameworks/projects/mx/src/mx/skins/halo/RadioButtonIcon.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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.skins.halo
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4622
Author:   hmuller@adobe.com
Date:     2009-01-22T20:56:42.845482Z

Log Message:
-----------
Many Bug fixes.

Setting a scrollbar's viewport now sets the viewport's clipContent flag to true.

DataGroup getRendererForItemAt(), getItemIndexForRenderer() are now public; were mx_internal.

QE Notes: tests that depend on mx_internal DataGroup getRendererForItemAt(), getItemIndexForRenderer() methods will break
Doc Notes: None
Bugs: sdk-18753, sdk-18217, sdk-18628, sdk-18659, sdk-18111, sdk18820, sdk18763
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -115,7 +115,7 @@
     {
         super.itemSelected(index, selected);

-        var renderer:Object = dataGroup.mx_internal::getRendererForItemAt(index);
+        var renderer:Object = dataGroup.getRendererForItemAt(index);

         if (renderer)
         {
@@ -221,7 +221,7 @@
      */
     private function item_clickHandler(event:MouseEvent):void
     {
-        var index:int = dataGroup.mx_internal::getItemIndexForRenderer(
+        var index:int = dataGroup.getItemIndexForRenderer(
                             event.currentTarget as IVisualElement);

 		selectedIndex = index;
@@ -239,14 +239,14 @@
 		var renderer:Object;

 		currentButton = focusManager.getFocus();
-		index = dataGroup.mx_internal::getItemIndexForRenderer(
+		index = dataGroup.getItemIndexForRenderer(
 		              currentButton as IVisualElement);

 		var n:int = dataProvider.length;
 		var zz:int = 0;
 		for (var i:int = 0; i < n; i++)
 		{
-			renderer = dataGroup.mx_internal::getRendererForItemAt(i);
+			renderer = dataGroup.getRendererForItemAt(i);
 			if (renderer == currentButton)
 				renderer.layer = n - 1;
 			else
@@ -270,11 +270,11 @@
             {
 				focusManager.showFocusIndicator = true;
 				currentButton = focusManager.getFocus();
-		        index = dataGroup.mx_internal::getItemIndexForRenderer(
+		        index = dataGroup.getItemIndexForRenderer(
 		                  currentButton as IVisualElement);
 				if (index > 0)
 				{
-					renderer = dataGroup.mx_internal::getRendererForItemAt(index-1);
+					renderer = dataGroup.getRendererForItemAt(index-1);
 					IFocusManagerComponent(renderer).setFocus();
 				}

@@ -285,11 +285,11 @@
             {
 				focusManager.showFocusIndicator = true;
 				currentButton = focusManager.getFocus();
-		        index = dataGroup.mx_internal::getItemIndexForRenderer(
+		        index = dataGroup.getItemIndexForRenderer(
 		                  currentButton as IVisualElement);
 				if (index < dataProvider.length - 1)
 				{
-					renderer = dataGroup.mx_internal::getRendererForItemAt(index+1);
+					renderer = dataGroup.getRendererForItemAt(index+1);
 					IFocusManagerComponent(renderer).setFocus();
 				}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8486
Author:   smgilson@adobe.com
Date:     2009-07-09T18:42:45.734868Z

Log Message:
-----------
Third checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -104,7 +104,7 @@
  *
  *  @mxml
  *
- *
The <TextInput> tag inherits all of the tag
+ *
The <s:TextInput> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *


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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/framework/src/mx/core/FlexLoader.as
+++ frameworks/projects/framework/src/mx/core/FlexLoader.as
@@ -0,0 +1,96 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.display.Loader;
+import mx.utils.NameUtil;
+
+/**
+ *  FlexLoader is a subclass of the Player's Loader class.
+ *  It overrides the toString() method
+ *  to return a string indicating the location of the object
+ *  within the hierarchy of DisplayObjects in the application.
+ */
+public class FlexLoader extends Loader
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+	 *
+	 *
Sets the name property to a string
+	 *  returned by the createUniqueName()
+	 *  method of the mx.utils.NameUtils class.

+	 *  This string is the name of the object's class concatenated
+	 *  with an integer that is unique within the application,
+	 *  such as "FlexLoader13".

+	 *
+	 *  @see flash.display.DisplayObject#name
+	 *  @see mx.utils.NameUtils#createUniqueName()
+     */
+    public function FlexLoader()
+	{
+		super();
+
+		try
+		{
+			name = NameUtil.createUniqueName(this);
+		}
+		catch(e:Error)
+		{
+			// The name assignment above can cause the RTE
+			//   Error #2078: The name property of a Timeline-placed
+			//   object cannot be modified.
+			// if this class has been associated with an asset
+			// that was created in the Flash authoring tool.
+			// The only known case where this is a problem is when
+			// an asset has another asset PlaceObject'd onto it and
+			// both are embedded separately into a Flex application.
+			// In this case, we ignore the error and toString() will
+			// use the name assigned in the Flash authoring tool.
+		}
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Returns a string indicating the location of this object
+	 *  within the hierarchy of DisplayObjects in the Application.
+	 *  This string, such as "MyApp0.HBox5.FlexLoader13",
+	 *  is built by the displayObjectToString() method
+	 *  of the mx.utils.NameUtils class from the name
+	 *  property of the object and its ancestors.
+	 *
+	 *  @return A String indicating the location of this object
+	 *  within the DisplayObject hierarchy.
+	 *
+	 *  @see flash.display.DisplayObject#name
+	 *  @see mx.utils.NameUtils#displayObjectToString()
+     */
+    override public function toString():String
+	{
+		return NameUtil.displayObjectToString(this);
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


FLEX-14316 (related) Fixed slice not being assigned to anything. Bigger question is there a better was for UIFTETestFields to work without the code duplication form UITextField?

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -2480,7 +2480,7 @@
         {
             // This should get us into the ballpark.
             var s:String = super.text = originalText;
-                originalText.slice(0,
+                s = originalText.slice(0,
                     Math.floor((w / (textWidth + TEXT_WIDTH_PADDING)) * originalText.length));

             while (s.length > 1 && textWidth + TEXT_WIDTH_PADDING > w)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5393
Author:   rfrishbe@adobe.com
Date:     2009-03-18T17:43:37.919635Z

Log Message:
-----------
For item renderers, we weren't correctly parsing the color name for alternatingItemColor.

Also, in VGroup/HGroup, we ended up allocating 2 different layout objects.  Now, we only allocate one of them because the GroupBase constructor takes an optional layout parameter.

QE Notes: -
Doc Notes: -
Bugs: SDK-19486, SDK-19976
Reviewer: Deepa
tests: checkintests, datagroup, group, fxdatacontainer, list (some failed, but qa has approved me as they must be Mac issues)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -17,6 +17,7 @@
 import flash.geom.Rectangle;

 import mx.components.baseClasses.GroupBase;
+import mx.core.Container;
 import mx.core.ILayoutElement;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
@@ -24,14 +25,14 @@
 import mx.core.mx_internal;
 import mx.events.ElementExistenceEvent;
 import mx.graphics.IGraphicElement;
+import mx.graphics.ISharedDisplayObject;
+import mx.graphics.baseClasses.ISharedGraphicsDisplayObject;
 import mx.graphics.baseClasses.TextGraphicElement;
-import mx.graphics.ISharedDisplayObject;
+import mx.layout.LayoutBase;
 import mx.layout.LayoutElementFactory;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
 import mx.styles.StyleProtoChain;
-import mx.graphics.baseClasses.ISharedGraphicsDisplayObject;
-import mx.core.Container;

 use namespace mx_internal;

@@ -110,9 +111,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function Group():void
-    {
-        super();
+    public function Group(layout:LayoutBase = null):void
+    {
+        super(layout);
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13693
Author:   hmuller@adobe.com
Date:     2010-01-21T20:25:54.403160Z

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

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

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

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

--- frameworks/projects/spark/src/spark/utils/BitmapUtil.as
+++ frameworks/projects/spark/src/spark/utils/BitmapUtil.as
@@ -59,7 +59,7 @@
     {
         // DisplayObject.getBounds() is not sufficient; we need the same
         // bounds as those used internally by the player
-        var m:Matrix = MatrixUtil.getConcatenatedMatrix(target as DisplayObject);
+        var m:Matrix = MatrixUtil.getConcatenatedComputedMatrix(target as DisplayObject);
         var bounds:Rectangle = getRealBounds(DisplayObject(target), m);
         if (bounds.width == 0 || bounds.height == 0)
             return null;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4205
Author:   clucier@adobe.com
Date:     2008-12-01T19:48:53.571431Z

Log Message:
-----------
Initial baselinePosition support for our new skinnable components.
QE Notes: Please wait until Evtim completes his baseline support in our new layouts to test.
Doc Notes: None
Reviewer: Glenn, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.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/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.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/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -19,6 +19,7 @@
 import flash.text.engine.Kerning;
 import flash.text.engine.TabStop;

+import mx.core.mx_internal;
 import mx.graphics.graphicsClasses.TextBlockComposer;
 import mx.graphics.graphicsClasses.TextGraphicElement;

@@ -112,6 +113,30 @@
      */
     private var textBlockComposer:TextBlockComposer = new TextBlockComposer();

+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  baselinePosition
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y-coordinate of the baseline of the first line of text.
+     */
+    override public function get baselinePosition():Number
+    {
+        mx_internal::validateBaselinePosition();
+
+        // Return the baseline of the first line of composed text.
+        return (textBlockComposer.textLines.length > 0) ?
+            textBlockComposer.textLines[0].y : 0;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: GraphicElement


Log stack traces for errors thrown in controller handle* methods.

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

--- src/as/com/threerings/util/Controller.as
+++ src/as/com/threerings/util/Controller.as
@@ -39,9 +39,11 @@
                 try {
                     fn(arg);
                 } catch (e :Error) {
-                    Log.getLog(this).warning("Error handling controller " +
+                    var log :Log = Log.getLog(this);
+                    log.warning("Error handling controller " +
                         "command [error=" + e + ", cmd=" + cmd +
                         ", arg=" + arg + "].");
+                    log.logStackTrace(e);
                 }
                 // we "handled" the event, even if it threw an error
                 return true;


- bugfix: Fixed regression in CSS transitions for intrinsic dimension

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@671 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/css/CSSDeclaration.as
+++ src/reprise/css/CSSDeclaration.as
@@ -202,7 +202,7 @@
 				otherProp = props[key];

 				// well, inheritable styles only is the deal
-				if (weakly && ourProp && !otherProp.important())
+				if (weakly && ourProp && !ourProp.isAuto() && !otherProp.important())
 				{
 					continue;
 				}


- change: added more often used fields to ComputedStyles

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@587 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/css/ComputedStyles.as
+++ src/reprise/css/ComputedStyles.as
@@ -25,6 +25,10 @@
 		public var width : int;
 		public var height : int;

+		public var intrinsicWidth : int;
+		public var intrinsicHeight : int;
+
+		public var collapsedMarginTop : int;
 		public var marginTop : int;
 		public var paddingTop : int;
 		public var borderTopWidth : int;
@@ -37,6 +41,7 @@
 //		public var borderRightStyle : String;
 //		public var borderRightColor : AdvancedColor;

+		public var collapsedMarginBottom : int;
 		public var marginBottom : int;
 		public var paddingBottom : int;
 		public var borderBottomWidth : int;


Issue #69: Add missing semicolons.

Issue #69: Add missing semicolons.

--- src/com/esri/builder/model/LocaleModel.as
+++ src/com/esri/builder/model/LocaleModel.as
@@ -88,29 +88,29 @@
     {
         localeIdToLabel = new Dictionary();

-        localeIdToLabel[ARABIC_LOCALE_ID] = "Arabic-عربي"
-        localeIdToLabel[DANISH_LOCALE_ID] = "Danish-Dansk"
-        localeIdToLabel[GERMAN_LOCALE_ID] = "German-Deutsch"
-        localeIdToLabel[ESTONIAN_LOCALE_ID] = "Estonian-Eesti"
-        localeIdToLabel[ENGLISH_LOCALE_ID] = "English-English"
-        localeIdToLabel[SPANISH_LOCALE_ID] = "Spanish-Español"
-        localeIdToLabel[FINNISH_LOCALE_ID] = "Finnish-Suomi"
-        localeIdToLabel[FRENCH_LOCALE_ID] = "French-Français"
-        localeIdToLabel[HEBREW_LOCALE_ID] = "Hebrew-עברית"
-        localeIdToLabel[ITALIAN_LOCALE_ID] = "Italian-Italiano"
-        localeIdToLabel[JAPANESE_LOCALE_ID] = "Japanese-日本語"
-        localeIdToLabel[KOREAN_LOCALE_ID] = "Korean-한국어"
-        localeIdToLabel[LATVIAN_LOCALE_ID] = "Latvian-Latviešu"
-        localeIdToLabel[LITHUANIAN_LOCALE_ID] = "Lithuanian-Lietuvių"
-        localeIdToLabel[NORWEGIAN_LOCALE_ID] = "Norwegian-Norsk"
-        localeIdToLabel[DUTCH_LOCALE_ID] = "Dutch-Nederlands"
-        localeIdToLabel[POLISH_LOCALE_ID] = "Polish-Polski"
-        localeIdToLabel[PORTUGUESE_BRAZIL_LOCALE_ID] = "Portuguese (Brazil)-Português (Brasil)"
-        localeIdToLabel[PORTUGUESE_PORTUGAL_LOCALE_ID] = "Portuguese (Portugal)-Português (Portugal)"
-        localeIdToLabel[ROMANIAN_LOCALE_ID] = "Romanian-Română"
-        localeIdToLabel[RUSSIAN_LOCALE_ID] = "Russian-Русский"
-        localeIdToLabel[SWEDISH_LOCALE_ID] = "Swedish-Svenska"
-        localeIdToLabel[CHINESE_SIMPLIFIED_HAN_LOCALE_ID] = "Chinese (Simplified Han)-简体中文"
+        localeIdToLabel[ARABIC_LOCALE_ID] = "Arabic-عربي";
+        localeIdToLabel[DANISH_LOCALE_ID] = "Danish-Dansk";
+        localeIdToLabel[GERMAN_LOCALE_ID] = "German-Deutsch";
+        localeIdToLabel[ESTONIAN_LOCALE_ID] = "Estonian-Eesti";
+        localeIdToLabel[ENGLISH_LOCALE_ID] = "English-English";
+        localeIdToLabel[SPANISH_LOCALE_ID] = "Spanish-Español";
+        localeIdToLabel[FINNISH_LOCALE_ID] = "Finnish-Suomi";
+        localeIdToLabel[FRENCH_LOCALE_ID] = "French-Français";
+        localeIdToLabel[HEBREW_LOCALE_ID] = "Hebrew-עברית";
+        localeIdToLabel[ITALIAN_LOCALE_ID] = "Italian-Italiano";
+        localeIdToLabel[JAPANESE_LOCALE_ID] = "Japanese-日本語";
+        localeIdToLabel[KOREAN_LOCALE_ID] = "Korean-한국어";
+        localeIdToLabel[LATVIAN_LOCALE_ID] = "Latvian-Latviešu";
+        localeIdToLabel[LITHUANIAN_LOCALE_ID] = "Lithuanian-Lietuvių";
+        localeIdToLabel[NORWEGIAN_LOCALE_ID] = "Norwegian-Norsk";
+        localeIdToLabel[DUTCH_LOCALE_ID] = "Dutch-Nederlands";
+        localeIdToLabel[POLISH_LOCALE_ID] = "Polish-Polski";
+        localeIdToLabel[PORTUGUESE_BRAZIL_LOCALE_ID] = "Portuguese (Brazil)-Português (Brasil)";
+        localeIdToLabel[PORTUGUESE_PORTUGAL_LOCALE_ID] = "Portuguese (Portugal)-Português (Portugal)";
+        localeIdToLabel[ROMANIAN_LOCALE_ID] = "Romanian-Română";
+        localeIdToLabel[RUSSIAN_LOCALE_ID] = "Russian-Русский";
+        localeIdToLabel[SWEDISH_LOCALE_ID] = "Swedish-Svenska";
+        localeIdToLabel[CHINESE_SIMPLIFIED_HAN_LOCALE_ID] = "Chinese (Simplified Han)-简体中文";
     }

     private function initLocaleOptions():void


Remove debug prints

Remove debug prints

--- axscript/mscom.as
+++ axscript/mscom.as
@@ -176,8 +176,6 @@
 				objectDomains = {}
 			}
 			public function ParseScriptText(code:String, itemName:String, context:Object, delim:String, sourceCookie:int, lineNumber:int, flags:int) {
-				print('ParseScriptText')
-				print(code)
 				// XXX - this is wrong - we should only do the parse and generation
 				// of bytecode here.  We should execute all such blocks at
 				// SetScriptState(SCRIPTSTATE_RUNNING) time.


Transferred from the Adobe Open Source Subversion Repository

Revision: 21781
Author:   egeorgie@adobe.com
Date:     2011-08-02T21:48:01.007497Z

Log Message:
-----------
Fix for SDK-30984 splash screen image size is wrong when applicationDPI and device DPI mismatch

- Add a check for SplashScreenImage source and undo the application DPI scaling for the splash image in that case

QE notes:
Doc notes:
Bugs: SDK-30984
Reviewer:  Glenn
Tests run:
Is noteworthy for integration:

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

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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as
@@ -343,7 +343,7 @@
         // If we have a dynamic source, call its method to get the appropriate class
         return dynamicSource ? dynamicSource.getImageClass(aspectRatio, dpi, resolution) : sourceClass;
     }
-
+
     private function prepareSplashScreen():void
     {
         // Grab the application's dpi provider class.  If one doesn't exist,
@@ -462,6 +462,15 @@
                 scaleX = stageWidth / width;
                 scaleY = stageHeight / height;
             break;
+
+            case "none":
+                // SDK-30984: undo application's dpi scaling if we have a dynamic SplashScreen source
+                if (dynamicSource)
+                {
+                    scaleX = 1 / dpiScale;
+                    scaleY = 1 / dpiScale;
+                }
+            break;
         }

         if (scaleX != 1 || scaleY != 1)


Transferred from the Adobe Open Source Subversion Repository

Revision: 6849
Author:   jimurphy@adobe.com
Date:     2009-05-12T18:35:42.274336Z

Log Message:
-----------
merge beta1 rev 6831 -> trunk

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -1151,18 +1151,17 @@
 	 *  Adds the TextLines created by composeTextLines()
      *  to a specified DisplayObjectContainer.
 	 */
-	mx_internal function addTextLines(container:DisplayObjectContainer,
-								      index:int = 0):void
+	mx_internal function addTextLines(container:DisplayObjectContainer):void
 	{
 		var n:int = textLines.length;
         if (n == 0)
             return;

-        var addChildAtMethod:Function = container is UIComponent ?
-        								UIComponent(container).$addChildAt :
-        								container.addChildAt;
+        var addChildMethod:Function = container is UIComponent ?
+        							  UIComponent(container).$addChild :
+        							  container.addChild;

-        for (var i:int = n - 1; i >= 0; i--)
+        for (var i:int = 0; i < n; i++)
 		{
 			var textLine:DisplayObject = textLines[i];

@@ -1171,7 +1170,7 @@
             textLine.x += drawX;
             textLine.y += drawY;

-			addChildAtMethod(textLine, index);
+			addChildMethod(textLine);
 		}

 		// If these lines went into a shared container these need to be saved


Change 20080928-bargull-C1E by bargull@dell--p4--2-53 on 2008-09-28 13:36:38
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: fix mouse bubbling for inputtexts

New Features:

Bugs Fixed: LPP-7078

Technical Reviewer: max
QA Reviewer: hminsky
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Don't cancel "onmouseup" if another sprite was selected or it won't receive its "onmouseup"-event

Tests:
attached at bugreport

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@11264 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
@@ -91,7 +91,10 @@
       }

       private function __ignoreMouseEvent(e:MouseEvent) :void {
-          e.stopPropagation();
+          if (e.type != MouseEvent.MOUSE_UP || LzMouseKernel.__lastMouseDown == this) {
+              // don't cancel "onmouseup" if another sprite was selected
+              e.stopPropagation();
+          }
       }

         public function enableClickableLinks( enabled:Boolean):void {


LinkablePromise is now lazy by default, won't invoke while dependencies are busy, and supports iterative tasks via a static function.

--- WeaveCore/src/weave/core/LinkablePromise.as
+++ WeaveCore/src/weave/core/LinkablePromise.as
@@ -19,6 +19,7 @@

 package weave.core
 {
+	import mx.core.mx_internal;
 	import mx.rpc.AsyncResponder;
 	import mx.rpc.AsyncToken;
 	import mx.rpc.events.FaultEvent;
@@ -27,35 +28,107 @@
 	import weave.api.core.ICallbackCollection;
 	import weave.api.core.IDisposableObject;
 	import weave.api.core.ILinkableObject;
-	import weave.api.getCallbackCollection;

 	/**
+	 * Use this class to build dependency trees involving asynchronous calls.
+	 * When the callbacks of a LinkablePromise are triggered, a function will be invoked.
+	 * If the function returns an AsyncToken, LinkablePromise's callbacks will be triggered again when a ResultEvent or FaultEvent is received from the AsyncToken.
+	 * Dependency trees can be built using newLinkableChild() and registerLinkableChild().
+	 *
+	 * @see weave.api.core.ISessionManager#newLinkableChild()
+	 * @see weave.api.core.ISessionManager#registerLinkableChild()
 	 * @author adufilie
 	 */
 	public class LinkablePromise implements ILinkableObject, IDisposableObject
 	{
-		public function LinkablePromise(invoke:Function, invokeParams:Array = null)
-		{
-			_invoke = invoke;
-			_invokeParams = invokeParams;
+		/**
+		 * Creates a LinkablePromise from an iterative task function.
+		 * @param asyncTask A function which is designed to be called repeatedly across multiple frames until it returns a value of 1.
+		 * @param priority The task priority, which should be one of the static constants in WeaveAPI.
+		 * @param description A description of the task.
+		 * @see weave.api.core.IStageUtils#startTask()
+		 */
+		public static function fromIterativeTask(iterativeTask:Function, priority:uint, description:String = null, validateNow:Boolean = false):LinkablePromise
+		{
+			var promise:LinkablePromise;
+			var asyncToken:AsyncToken;
+
+			function asyncStart():AsyncToken
+			{
+				WeaveAPI.StageUtils.startTask(promise, iterativeTask, priority, asyncComplete);
+				return asyncToken = new AsyncToken();
+			}
+
+			function asyncComplete():void
+			{
+				asyncToken.mx_internal::applyResult(ResultEvent.createEvent(null, asyncToken));
+			}
+
+			return promise = new LinkablePromise(asyncStart, null, description, validateNow);
+		}
+
+		/**
+		 * @param task A function to invoke, which may return an AsyncToken.
+		 * @param taskParams Parameters to pass to the task function.
+		 * @param description A description of the task.
+		 */
+		public function LinkablePromise(task:Function, taskParams:Array = null, description:String = null, validateNow:Boolean = false)
+		{
+			_task = task;
+			_taskParams = taskParams;
+			_description = description;
 			_callbackCollection = WeaveAPI.SessionManager.getCallbackCollection(this);
 			_callbackCollection.addImmediateCallback(null, _immediateCallback);
 			_callbackCollection.addGroupedCallback(null, _groupedCallback);
-			_callbackCollection.triggerCallbacks();
-		}
+			if (validateNow)
+				validate();
+		}
+
+		private var _task:Function;
+		private var _taskParams:Array;
+		private var _description:String;

 		private var _callbackCollection:ICallbackCollection;
-		private var _invoke:Function;
-		private var _invokeParams:Array;
-
-		private var _pendingInvoke:Boolean;
+		private var _lazy:Boolean = true;
+		private var _invalidated:Boolean = true;
 		private var _asyncToken:AsyncToken;
 		private var _selfTriggeredCount:uint = 0;
 		private var _result:Object;
 		private var _error:Object;

-		public function get result():Object { return _result; }
-		public function get error():Object { return _error; }
+		/**
+		 * The result of calling the invoke function.
+		 * When this value is accessed, validate() will be called.
+		 */
+		public function get result():Object
+		{
+			validate();
+			return _result;
+		}
+
+		/**
+		 * The error that occurred calling the invoke function.
+		 * When this value is accessed, validate() will be called.
+		 */
+		public function get error():Object
+		{
+			validate();
+			return _error;
+		}
+
+		/**
+		 * If this LinkablePromise is set to lazy mode, this will switch it to non-lazy mode and automatically invoke the async task when necessary.
+		 */
+		public function validate():void
+		{
+			if (!_lazy)
+				return;
+
+			_lazy = false;
+
+			if (_invalidated)
+				_callbackCollection.triggerCallbacks();
+		}

 		private function _immediateCallback():void
 		{
@@ -63,24 +136,42 @@
 			if (_callbackCollection.triggerCounter == _selfTriggeredCount)
 				return;

-			// reset variables and mark as busy
-			_pendingInvoke = true;
+			// reset variables
+			_invalidated = true;
 			_asyncToken = null;
 			_result = null;
 			_error = null;
-			WeaveAPI.ProgressIndicator.addTask(_groupedCallback, this);
+
+			// we are no longer waiting for the async task
+			WeaveAPI.ProgressIndicator.removeTask(_groupedCallback);
+
+			// stop if lazy
+			if (_lazy)
+				return;
+
+			// stop if still busy because we don't want to invoke the task if an external dependency is not ready
+			if (WeaveAPI.SessionManager.linkableObjectIsBusy(this))
+			{
+				// make sure _groupedCallback() will not invoke the task.
+				// this is ok to do since callbacks will be triggered again when the dependencies are no longer busy.
+				_invalidated = false;
+				return;
+			}
+
+			// mark as busy starting now because we plan to start the task inside _groupedCallback()
+			WeaveAPI.ProgressIndicator.addTask(_groupedCallback, this, _description);
 		}

 		private function _groupedCallback():void
 		{
-			if (!_pendingInvoke)
-				return;
-
-			_pendingInvoke = false;
+			if (_lazy || !_invalidated)
+				return;
+
+			_invalidated = false;

 			try
 			{
-				var invokeResult:Object = _invoke.apply(null, _invokeParams);
+				var invokeResult:Object = _task.apply(null, _taskParams);
 				_asyncToken = invokeResult as AsyncToken;
 				if (_asyncToken)
 				{
@@ -103,7 +194,7 @@
 		private function _handleResult(event:ResultEvent = null, asyncToken:AsyncToken = null):void
 		{
 			// stop if asyncToken is no longer relevant
-			if (_pendingInvoke || _asyncToken != asyncToken)
+			if (_invalidated || _asyncToken != asyncToken)
 				return;

 			// no longer busy
@@ -120,7 +211,7 @@
 		private function _handleFault(event:FaultEvent = null, asyncToken:AsyncToken = null):void
 		{
 			// stop if asyncToken is no longer relevant
-			if (_pendingInvoke || _asyncToken != asyncToken)
+			if (_invalidated || _asyncToken != asyncToken)
 				return;

 			// no longer busy
@@ -136,7 +227,8 @@

 		public function dispose():void
 		{
-			_pendingInvoke = false;
+			_lazy = true;
+			_invalidated = false;
 			_asyncToken = null;
 			_result = null;
 			_error = null;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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