Transferred from the Adobe Open Source Subversion Repository

Revision: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as
+++ frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as
@@ -56,7 +56,7 @@
      *  @langversion 3.0
      *  @playerversion Flash 11
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public static const ZOOM:String = "zoom";
 }


Enhanced enhanced seeking with enhanced I-frame detection.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -363,7 +363,7 @@
 			// we can't seek before the playback starts or if it has stopped.
 			if (_state != HTTPStreamingState.INIT)
 			{
-				_seekTarget = convertWindowTimeToAbsoluteTime(offset);
+				_enhancedSeekTarget = _seekTarget = convertWindowTimeToAbsoluteTime(offset);

 				CONFIG::LOGGING
 				{
@@ -1099,6 +1099,8 @@
 						// Therefore, we always seek to 0. This is a workaround for FM-1519
 						super.seek(0);

+						flushPendingTags();
+
 						CONFIG::FLASH_10_1
 						{
 							CONFIG::LOGGING
@@ -1107,7 +1109,7 @@
 							}

 							appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
-							flushPendingTags();
+
 						}

 						_initialTime = NaN;
@@ -1966,9 +1968,6 @@
 			var realTimestamp:int = wrapTagTimestampToFLVTimestamp(tag.timestamp);
 			var currentTime:Number = realTimestamp / 1000.0;

-			if (isNaN(_initialTime))
-				_initialTime = currentTime;
-
 			CONFIG::LOGGING
 			{
 				logger.debug("Saw tag @ " + realTimestamp + " timestamp=" + tag.timestamp + " currentTime=" + currentTime + " _seekTime=" + _seekTime + " _enhancedSeekTarget="+ _enhancedSeekTarget + " dataSize=" + tag.dataSize);
@@ -1996,7 +1995,11 @@

 			if (!isNaN(_enhancedSeekTarget))
 			{
-				if (currentTime < _enhancedSeekTarget)
+				// Note if we have encountered an I-frame.
+				if(isTagIFrame(tag as FLVTagVideo))
+					_enhancedSeekSawIFrame = true;
+
+				if (currentTime < _enhancedSeekTarget || (_enhancedSeekTags != null && _enhancedSeekSawIFrame == false))
 				{
 					CONFIG::LOGGING
 					{
@@ -2006,6 +2009,7 @@
 					if (_enhancedSeekTags == null)
 					{
 						_enhancedSeekTags = new Vector.<FLVTag>();
+						_enhancedSeekSawIFrame = false;
 					}

 					if (tag is FLVTagVideo)
@@ -2024,7 +2028,7 @@

 							_flvParserIsSegmentStart = false;

-						}
+						}

 						_enhancedSeekTags.push(tag);
 					}
@@ -2377,6 +2381,9 @@

 				var tagTimeSeconds:Number = wrapTagTimestampToFLVTimestamp(tag.timestamp) / 1000;

+				if (isNaN(_initialTime))
+					_initialTime = tagTimeSeconds;
+
 				// If it's more than 0.5 second jump ahead of current playhead, insert a RESET_SEEK so we won't stall forever.
 				var tagDelta:Number = Math.abs(tagTimeSeconds - lastWrittenTime);

@@ -2683,7 +2690,7 @@
 						}

 						appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
-						_initialTime = realTimestamp / 1000;
+						_initialTime = NaN;
 					}

 					// Insert the AVCC at the I-frame's timestamp.
@@ -2995,7 +3002,8 @@

 		private var _seekTarget:Number = NaN;
 		private var _enhancedSeekTarget:Number = NaN;
-		private var _enhancedSeekTags:Vector.<FLVTag>;
+		private var _enhancedSeekSawIFrame:Boolean = false;
+		private var _enhancedSeekTags:Vector.<FLVTag> = null;

 		private var _notifyPlayStartPending:Boolean = false;
 		private var _notifyPlayUnpublishPending:Boolean = false;


fix array access cast to uint instead of int in MatrixSegmentTimeline

--- src/aerys/minko/type/animation/timeline/MatrixSegmentTimeline.as
+++ src/aerys/minko/type/animation/timeline/MatrixSegmentTimeline.as
@@ -15,7 +15,7 @@
 											  timeTable 		: Vector.<uint>,
 											  values			: Vector.<Matrix4x4>)
 		{
-			super(propertyPath, timeTable[int(timeTable.length - 1)]);
+			super(propertyPath, timeTable[uint(timeTable.length - 1)]);

 			_timeTable = timeTable;
 			_matrices = values;


Set blood false after dying

Set blood false after dying


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as
@@ -24,6 +24,7 @@
 import spark.components.Grid;
 import spark.components.GridColumnHeaderGroup;
 import spark.components.Group;
+import spark.components.supportClasses.GroupBase;
 import spark.layouts.supportClasses.LayoutBase;

 use namespace mx_internal;
@@ -53,18 +54,39 @@
     //  Internal variables
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Cached header renderer heights maintained by the measure() method.
+
+    /**
+     *  @private
+     *  Layers for header renderers and separators.
+     */
+    private var rendererLayer:Group;
+    private var overlayLayer:Group;
+
+    /**
+     *  @private
+     *  Cached header renderer heights maintained by the measure() method,
+     *  and the current content height.
      */
     private const rendererHeights:Array = new Array();
+    private var maxRendererHeight:Number = 0;

     /**
      *  @private
      *  Bounds of all currently visible header renderers.
      */
     private const visibleRenderersBounds:Rectangle = new Rectangle();
+
+    /**
+     *  @private
+     *  Currently visible header renderers.
+     */
+    private const visibleHeaderRenderers:Vector.<IGridItemRenderer> = new Vector.<IGridItemRenderer>();
+
+    /**
+     *  @private
+     *  Currently visible header separators.
+     */
+    private const visibleHeaderSeparators:Vector.<IVisualElement> = new Vector.<IVisualElement>();

     /**
      *  @private
@@ -90,6 +112,28 @@
     /**
      *  @private
      */
+    override public function set target(value:GroupBase):void
+    {
+        super.target = value;
+
+        const chg:GridColumnHeaderGroup = value as GridColumnHeaderGroup;
+
+        if (chg)
+        {
+            // Create layers
+            rendererLayer = new Group();
+            rendererLayer.layout = new LayoutBase();
+            chg.addElement(rendererLayer);
+
+            overlayLayer = new Group();
+            overlayLayer.layout = new LayoutBase();
+            chg.addElement(overlayLayer);
+        }
+    }
+
+    /**
+     *  @private
+     */
     override public function get useVirtualLayout():Boolean
     {
         return true;
@@ -109,9 +153,15 @@
     override public function clearVirtualLayoutCache():void
     {
         rendererHeights.length = 0;
+        visibleHeaderRenderers.length = 0;
+        visibleHeaderSeparators.length = 0;
         visibleRenderersBounds.setEmpty();
         elementToFactoryMap = new Dictionary();
         freeElementMap = new Dictionary();
+        if (rendererLayer)
+            rendererLayer.removeAllElements();
+        if (overlayLayer)
+            overlayLayer.removeAllElements();
     }

     /**
@@ -140,27 +190,9 @@
         const grid:Grid = grid;

         if (!columnHeaderGroup || !grid)
-            return;
-
-        const columnHeaderGroupNumElements:int = columnHeaderGroup.numElements;
-        for (var eltIndex:int = 0; eltIndex < columnHeaderGroupNumElements; eltIndex++)
-        {
-            var renderer:IGridItemRenderer = columnHeaderGroup.getElementAt(eltIndex) as IGridItemRenderer;
-            if (!renderer || !renderer.visible)
-                continue;
-
-            rendererHeights[renderer.column.columnIndex] = renderer.getPreferredBoundsHeight();
-        }
-
-        const columns:IList = columns;
-        rendererHeights.length = (columns) ? columns.length : 0;
-
-        var maxRendererHeight:Number = 0;
-        for each (var rendererHeight:Number in rendererHeights)
-        {
-            if (!isNaN(rendererHeight))
-                maxRendererHeight = Math.max(maxRendererHeight, rendererHeight);
-        }
+            return;
+
+        updateRendererHeights();

         const paddingLeft:Number = columnHeaderGroup.getStyle("paddingLeft");
         const paddingRight:Number = columnHeaderGroup.getStyle("paddingRight");
@@ -187,20 +219,18 @@

         const visibleColumnIndices:Vector.<int> = grid.getVisibleColumnIndices();
         const oldRenderers:Dictionary = new Dictionary();
-
-        const overlayGroup:Group = this.overlayGroup;
+        const rendererLayer:Group = this.rendererLayer;
+        const overlayLayer:Group = this.overlayLayer;
         const columnSeparatorFactory:IFactory = columnHeaderGroup.columnSeparator;
+
         var renderer:IGridItemRenderer;
+        var separator:IVisualElement;
         var column:GridColumn;

         // Add all of the renderers whose column is still visible to oldRenderers and free the rest

-        for (var eltIndex:int = 0; eltIndex < columnHeaderGroup.numElements; eltIndex++)
-        {
-            renderer = columnHeaderGroup.getElementAt(eltIndex) as IGridItemRenderer;
-            if (!renderer || !renderer.visible)
-                continue;
-
+        for each (renderer in visibleHeaderRenderers)
+        {
             column = renderer.column;
             if (column && (visibleColumnIndices.indexOf(column.columnIndex) != -1))
             {
@@ -212,11 +242,15 @@
                 renderer.discard(true);
             }
         }
-
-        // Add all of the separators to the free-list, since laying them out is cheap
-
-        for (eltIndex = 0; eltIndex < overlayGroup.numElements; eltIndex++)
-            freeVisualElement(overlayGroup.getElementAt(eltIndex));
+        visibleHeaderRenderers.length = 0;
+
+        // Add all of the separators to the free-list, since laying them out is cheap.
+
+        for each (separator in visibleHeaderSeparators)
+        {
+            freeVisualElement(separator);
+        }
+        visibleHeaderSeparators.length = 0;

         // Layout the header renderers and update the CHB's content size

@@ -265,19 +299,20 @@
                     factory = columnHeaderGroup.headerRenderer;
                 renderer = allocateVisualElement(factory) as IGridItemRenderer;
             }
-
+            visibleHeaderRenderers.push(renderer);
+
             // initialize the renderer

             initializeItemRenderer(renderer, columnIndex, column, true);
-            if (renderer.parent != columnHeaderGroup)
-                columnHeaderGroup.addElement(renderer);
+            if (renderer.parent != rendererLayer)
+                rendererLayer.addElement(renderer);

             // layout the renderer

             var isLastColumn:Boolean = columnIndex == lastVisibleColumnIndex;
             var rendererX:Number = grid.getCellX(0, columnIndex) + paddingLeft;
-            var rendererWidth:Number = grid.getColumnWidth(columnIndex);
-
+            var rendererWidth:Number = grid.getColumnWidth(columnIndex);
+
             if (isLastColumn)
                 rendererWidth = horizontalScrollPosition + unscaledWidth - rendererX - paddingRight;

@@ -288,29 +323,30 @@
                 visibleLeft = rendererX;
             visibleRight = rendererX + rendererWidth;

+            renderer.prepare(!createdVisualElement);
+
             if ((rendererX + rendererWidth) > maxRendererX)
                 break;
-
-            renderer.prepare(!createdVisualElement);

             // allocate and layout a column separator

             if (columnSeparatorFactory && !isLastColumn)
             {
-                var separator:IVisualElement = allocateVisualElement(columnSeparatorFactory);
+                separator = allocateVisualElement(columnSeparatorFactory);
+                visibleHeaderSeparators.push(separator);
                 separator.visible = true;
-                if (separator.parent != overlayGroup)
-                    overlayGroup.addElement(separator);
-
+                if (separator.parent != overlayLayer)
+                    overlayLayer.addElement(separator);
+
                 var separatorWidth:Number = separator.getPreferredBoundsWidth();
                 var separatorX:Number = rendererX + rendererWidth;
                 separator.setLayoutBoundsSize(separatorWidth, rendererHeight);
                 separator.setLayoutBoundsPosition(separatorX, rendererY);
             }
         }
-
+
         columnHeaderGroup.setContentSize(grid.contentWidth, rendererHeight);
-
+
         visibleRenderersBounds.left = visibleLeft;
         visibleRenderersBounds.right = visibleRight;
         visibleRenderersBounds.top = rendererY;
@@ -318,9 +354,13 @@

         // We may have created new renderers or changed their visibility.  Force
         // validation to avoid a display list flash.
-
-        overlayGroup.validateNow();
+
         columnHeaderGroup.validateNow();
+
+        // Update the renderer heights cache.
+        // Invalidates the target's size if the maxRendererHeight has changed.
+
+        updateRendererHeights(true);
     }

     //---------------------------------------------------------------
@@ -513,14 +553,15 @@

         // If columnIndex refers to a visible header renderer, return it

+        const rendererLayer:Group = rendererLayer;
         const visibleColumnIndices:Vector.<int> = grid.getVisibleColumnIndices();
         const eltIndex:int = visibleColumnIndices.indexOf(columnIndex);
         if (eltIndex != -1)
         {
-            const columnHeaderGroupNumElements:int = columnHeaderGroup.numElements;
-            for (var index:int = 0; index < columnHeaderGroupNumElements; index++)
-            {
-                var elt:IGridItemRenderer = columnHeaderGroup.getElementAt(index) as IGridItemRenderer;
+            const rendererLayerNumElements:int = rendererLayer.numElements;
+            for (var index:int = 0; index < rendererLayerNumElements; index++)
+            {
+                var elt:IGridItemRenderer = rendererLayer.getElementAt(index) as IGridItemRenderer;
                 if (elt && elt.visible && elt.column && (elt.column.columnIndex == columnIndex))
                     return elt;
             }
@@ -541,7 +582,7 @@
             factory = columnHeaderGroup.headerRenderer;
         const renderer:IGridItemRenderer = allocateVisualElement(factory) as IGridItemRenderer;

-        columnHeaderGroup.addElement(renderer);
+        rendererLayer.addElement(renderer);

         // initialize the renderer

@@ -566,7 +607,7 @@
         renderer.setLayoutBoundsSize(rendererWidth, rendererHeight);
         renderer.setLayoutBoundsPosition(rendererX, rendererY);

-        columnHeaderGroup.removeElement(renderer);
+        rendererLayer.removeElement(renderer);
         renderer.visible = false;

         return renderer;
@@ -648,11 +689,63 @@
         if (!freeElements)
         {
             freeElements = new Vector.<IVisualElement>();
-            freeElementMap[factory] = freeElements;
+            freeElementMap[factory] = freeElements;
         }
         freeElements.push(element);

         element.visible = false;
+    }
+
+    /**
+     *  @private
+     *  Updates the renderer heights cache and the current max renderer height.
+     *  Invalidates the target's size if the max renderer height has changed.
+     *
+     *  <p>If the max live renderer height is the same as the max cached height, then
+     *  just update the cache.
+     *  If the max live renderer height is greater than the max cached height, then
+     *  update the cache, cache the new height, and invalidate the target's size if
+     *  necessary.
+     *  If the max live renderer height is less than the max cached height, then
+     *  update the cache, check to see if the cached max height has lowered, and
+     *  invalidate the target's size if necessary.
+     */
+    private function updateRendererHeights(inUpdateDisplayList:Boolean = false):void
+    {
+        const columns:IList = columns;
+        rendererHeights.length = (columns) ? columns.length : 0;
+
+        var newHeight:Number = 0;
+
+        // update cached renderer heights with live renderer heights.
+        for each (var renderer:IGridItemRenderer in visibleHeaderRenderers)
+        {
+            var preferredHeight:Number = renderer.getPreferredBoundsHeight();
+            rendererHeights[renderer.column.columnIndex] = preferredHeight;
+            if (preferredHeight > newHeight)
+                newHeight = preferredHeight;
+        }
+
+        // Do nothing if the heights are the same.
+        if (newHeight == maxRendererHeight)
+            return;
+
+        if (newHeight < maxRendererHeight)
+        {
+            // If the live renderers' max height is less than the current
+            // max height, check if this also lowers the maxRendererHeight.
+            for (var i:int = 0; i < rendererHeights.length; i++)
+            {
+                var rendererHeight:Number = rendererHeights[i];
+                if (!isNaN(rendererHeight) && rendererHeight > newHeight)
+                    newHeight = rendererHeight;
+            }
+        }
+
+        maxRendererHeight = newHeight;
+
+        if (inUpdateDisplayList)
+            columnHeaderGroup.invalidateSize();
     }

     //----------------------------------
@@ -859,28 +952,5 @@
         }
         chg.visibleSortIndicatorIndices = indices;
     }
-
-    //----------------------------------
-    //  overlayGroup
-    //----------------------------------
-
-    private var _overlayGroup:Group = null;
-
-    /**
-     *  @private
-     *  The container for columnSeparator visual elements.  By default it's an
-     *  element of the GridColumnHeaderGroup's overlay.
-     */
-    private function get overlayGroup():Group
-    {
-        if (!_overlayGroup)
-        {
-            _overlayGroup = new Group();
-            _overlayGroup.layout = new LayoutBase(); // no layout
-            target.overlay.addDisplayObject(overlayGroup);
-        }
-
-        return _overlayGroup;
-    }
 }
 }


changed sessionState parameter type to Object

Change-Id: I5a3bccbf5f322f05a50cabed95aca00b7cc5c4b9

--- WeaveAPI/src/weave/api/core/DynamicState.as
+++ WeaveAPI/src/weave/api/core/DynamicState.as
@@ -32,7 +32,7 @@
 		 * @param className The qualified class name of the original object providing the session state.
 		 * @param sessionState The session state for an object of the type specified by className.
 		 */
-		public static function create(objectName:String = null, className:String = null, sessionState:* = null):Object
+		public static function create(objectName:String = null, className:String = null, sessionState:Object = null):Object
 		{
 			var obj:Object = {};
 			// convert empty strings ("") to 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@1248724 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16334
Author:   clucier@adobe.com
Date:     2010-05-27T02:31:28.322720Z

Log Message:
-----------
Preliminary Spark Image and BitmapImage enhancement feature work.  Also included with this checkin is the ability for BitmapImage and s:Image instances to share an image cache.  Queueing is next up to be checked in.

QE notes: Proceed with testing, though PARB related renames are pending. Not considered code complete.
Doc notes: Should begin reviewing new classes in preparation for doc'ing.
Bugs: None
Reviewer: Ryan
Tests run: Checkin, cyclone server Mustella tests.
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageLoadingSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentCache.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedListNode.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapSmoothingQuality.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/LoaderInvalidationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/IContentLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mx-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11995
Author:   doug.lee@ssbbartgroup.com
Date:     2009-11-19T18:50:30.831767Z

Log Message:
-----------
Updated all AccImpls that use MSAA constants (except TextLayout) to
use the new AccConst references instead of hard-coding hex numbers and
local copies of the constants.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LabelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextInputAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowedApplicationAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SkinnableTextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/ButtonAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ButtonAccImpl.as
@@ -16,6 +16,7 @@
 import flash.events.Event;
 import flash.events.KeyboardEvent;
 import flash.ui.Keyboard;
+import mx.accessibility.AccConst;
 import mx.controls.Button;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -37,27 +38,6 @@

 	//--------------------------------------------------------------------------
 	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static const STATE_SYSTEM_PRESSED:uint = 0x00000008;
-
-	/**
-	 *  @private
-	 */
-	private static const EVENT_OBJECT_NAMECHANGE:uint = 0x800C;
-
-	/**
-	 *  @private
-	 */
-	private static const EVENT_OBJECT_STATECHANGE:uint = 0x800A;
-
-	//--------------------------------------------------------------------------
-	//
 	//  Class methods
 	//
 	//--------------------------------------------------------------------------
@@ -116,7 +96,7 @@
 	{
 		super(master);

-		role = 0x2B; // ROLE_SYSTEM_PUSHBUTTON
+		role = AccConst.ROLE_SYSTEM_PUSHBUTTON;
 	}

 	//--------------------------------------------------------------------------
@@ -161,7 +141,7 @@
 		var accState:uint = getState(childID);

 		if (Button(master).selected)
-			accState |= STATE_SYSTEM_PRESSED;
+			accState |= AccConst.STATE_SYSTEM_PRESSED;

 		return accState;
 	}
@@ -248,14 +228,14 @@
 		{
 			case "click":
 			{
-				Accessibility.sendEvent(master, 0, EVENT_OBJECT_STATECHANGE);
+				Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_STATECHANGE);
 				Accessibility.updateProperties();
 				break;
 			}

 			case "labelChanged":
 			{
-				Accessibility.sendEvent(master, 0, EVENT_OBJECT_NAMECHANGE);
+				Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_NAMECHANGE);
 				Accessibility.updateProperties();
 				break;
 			}


* SoundLayerRenderer 增加了 sounds 长度判断

* SoundLayerRenderer 增加了 sounds 长度判断

--- age/src/age/renderers/SoundLayerRenderer.as
+++ age/src/age/renderers/SoundLayerRenderer.as
@@ -40,9 +40,12 @@

 			if (info_isComplete)
 			{
-				if (_info.sounds[_currentFrame])
+				if (_info.sounds.length > _currentFrame)
 				{
-					_info.sounds[_currentFrame].play();
+					if (_info.sounds[_currentFrame])
+					{
+						_info.sounds[_currentFrame].play();
+					}
 				}
 			}
 		}


? WritingBuffer ??? @private

? WritingBuffer ??? @private

--- as3/com/netease/protobuf/WritingBuffer.as
+++ as3/com/netease/protobuf/WritingBuffer.as
@@ -10,6 +10,9 @@
 package com.netease.protobuf {
 	import flash.errors.*;
 	import flash.utils.*;
+	/**
+	 * @private
+	 */
 	public final class WritingBuffer extends ByteArray {
 		private const _slices:ByteArray = new ByteArray
 		public function beginBlock():uint {


Port was forced to one defined in the specification. This is not always the desired functionality. Related discussion: http://www.igniterealtime.org/community/thread/40833

--- src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
@@ -604,7 +604,8 @@
 		}

 		/**
-		 * The usage of the secure or less secure port.
+		 * HTTP bind requests type. If secure, the requests will be sent
+		 * through HTTPS. If not, through HTTP.
 		 */
 		public function get secure():Boolean
 		{
@@ -613,7 +614,6 @@
 		public function set secure( value:Boolean ):void
 		{
 			_secure = value;
-			port = _secure ? HTTPS_PORT : HTTP_PORT;
 		}

 		/**


Updated XMPPBOSHConnection to use XMPPConnection's handleNodeType method to avoid code duplication.

--- src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
@@ -7,6 +7,7 @@
  *     Nick Velloff <nick.velloff@gmail.com>
  *     Sean Treadway <seant@oncotype.dk>
  *     Sean Voisen <sean@voisen.org>
+ *     Mark Walters <mark@yourpalmark.com>
  *
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -294,6 +295,18 @@
 			sendQueuedRequests( thisData );
 		}

+		override protected function handleNodeType( node:XMLNode ):void
+		{
+			super.handleNodeType( node );
+
+			var nodeName:String = node.nodeName.toLowerCase();
+
+			if( nodeName == "stream:features" )
+			{
+				streamRestarted = false; //avoid triggering the old server workaround
+			}
+		}
+
 		/**
 		 *
 		 * @param	bodyContent
@@ -433,46 +446,11 @@
 		{
 			// Read the data and send it to the appropriate parser
 			var currentNode:XMLNode = responseQueue.shift();
-			var nodeName:String = currentNode.nodeName.toLowerCase();
-
-			switch ( nodeName )
-			{
-				case "stream:features":
-					handleStreamFeatures( currentNode );
-					streamRestarted = false; //avoid triggering the old server workaround
-					break;
-
-				case "stream:error":
-					handleStreamError( currentNode );
-					break;
-
-				case "iq":
-					handleIQ( currentNode );
-					break;
-
-				case "message":
-					handleMessage( currentNode );
-					break;
-
-				case "presence":
-					handlePresence( currentNode );
-					break;
-
-				case "success":
-					handleAuthentication( currentNode );
-					break;
-
-				case "failure":
-					handleAuthentication( currentNode );
-					break;
-				default:
-					dispatchError( "undefined-condition", "Unknown Error", "modify",
-								   500 );
-					break;
-			}
+
+			handleNodeType( currentNode );

 			resetResponseProcessor();
-
+
 			//if we have no outstanding requests, then we're free to send a poll at the next opportunity
 			if ( requestCount == 0 && !sendQueuedRequests())
 			{


Version 1.3.

Version 1.3.

--- net/flashpunk/FP.as
+++ net/flashpunk/FP.as
@@ -21,7 +21,7 @@
 		/**
 		 * The FlashPunk major version.
 		 */
-		public static const VERSION:String = "1.2";
+		public static const VERSION:String = "1.3";

 		/**
 		 * Width of the game.


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</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/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.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/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<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/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.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/framework/src/mx/controls/treeClasses/TreeItemRenderer.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/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.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/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.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/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.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/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as
+++ frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as
@@ -0,0 +1,214 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.managers.marshalClasses
+{
+import flash.display.DisplayObject;
+import flash.events.Event;
+
+import mx.core.IFlexModuleFactory;
+import mx.core.IToolTip;
+import mx.events.InterManagerRequest;
+import mx.events.ToolTipEvent;
+import mx.managers.IMarshalSystemManager;
+import mx.managers.ISystemManager;
+import mx.managers.SystemManagerGlobals;
+import mx.managers.ToolTipManagerImpl;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+[Mixin]
+
+/**
+ *  @private
+ *  A SystemManager has various types of children,
+ *  such as the Application, popups,
+ *  tooltips, and custom cursors.
+ *  You can access the just the custom cursors through
+ *  the cursors property,
+ *  the tooltips via toolTips, and
+ *  the popups via popUpChildren.  Each one returns
+ *  a SystemChildrenList which implements IChildList.  The SystemManager's
+ *  IChildList methods return the set of children that aren't popups, tooltips
+ *  or cursors.  To get the list of all children regardless of type, you
+ *  use the rawChildrenList property which returns this SystemRawChildrenList.
+ */
+public class ToolTipManagerMarshalMixin
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class Method
+	//
+	//--------------------------------------------------------------------------
+
+	public static function init(fbs:IFlexModuleFactory):void
+	{
+		if (!ToolTipManagerImpl.mixins)
+			ToolTipManagerImpl.mixins = [];
+        if (ToolTipManagerImpl.mixins.indexOf(ToolTipManagerMarshalMixin) == -1)
+    		ToolTipManagerImpl.mixins.push(ToolTipManagerMarshalMixin);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function ToolTipManagerMarshalMixin(owner:ToolTipManagerImpl = null)
+	{
+		super();
+
+        if (!owner)
+            return;
+
+		this.toolTipManager = owner;
+		toolTipManager.addEventListener("initialize", initializeHandler);
+		toolTipManager.addEventListener("currentToolTip", currentToolTipHandler);
+		toolTipManager.addEventListener(ToolTipEvent.TOOL_TIP_HIDE, toolTipHideHandler);
+		toolTipManager.addEventListener("createTip", createTipHandler);
+		toolTipManager.addEventListener("removeChild", removeChildHandler);
+		toolTipManager.addEventListener("addChild", addChildHandler);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var toolTipManager:ToolTipManagerImpl;
+
+	private var systemManager:ISystemManager;
+
+	private var sandboxRoot:DisplayObject;
+
+	private var mp:IMarshalSystemManager;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+
+	public function initializeHandler(event:Event):void
+	{
+		this.systemManager = SystemManagerGlobals.topLevelSystemManagers[0] as ISystemManager;
+		mp = IMarshalSystemManager(systemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+		sandboxRoot = this.systemManager.getSandboxRoot();
+		sandboxRoot.addEventListener(InterManagerRequest.TOOLTIP_MANAGER_REQUEST, marshalToolTipManagerHandler, false, 0, true);
+		var me:InterManagerRequest = new InterManagerRequest(InterManagerRequest.TOOLTIP_MANAGER_REQUEST);
+		me.name = "update";
+		// trace("--->update request for ToolTipManagerImpl", systemManager);
+		sandboxRoot.dispatchEvent(me);
+		// trace("<---update request for ToolTipManagerImpl", systemManager);
+	}
+
+
+	public function currentToolTipHandler(event:Event):void
+	{
+		var me:InterManagerRequest = new InterManagerRequest(InterManagerRequest.TOOLTIP_MANAGER_REQUEST);
+		me.name = "currentToolTip";
+		me.value = toolTipManager.currentToolTip;
+		// trace("-->dispatched currentToolTip for ToolTipManagerImpl", systemManager, value);
+		sandboxRoot.dispatchEvent(me);
+	}
+
+	public function toolTipHideHandler(event:Event):void
+	{
+		var me:InterManagerRequest = new InterManagerRequest(InterManagerRequest.TOOLTIP_MANAGER_REQUEST);
+		me.name = ToolTipEvent.TOOL_TIP_HIDE;
+		// trace("-->dispatched hide for ToolTipManagerImpl", systemManager);
+		sandboxRoot.dispatchEvent(me);
+	}
+
+	public function createTipHandler(event:Event):void
+	{
+        var sm:ISystemManager = toolTipManager.getSystemManager(toolTipManager.currentTarget) as ISystemManager;
+		mp = IMarshalSystemManager(sm.topLevelSystemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+       	mp.addChildToSandboxRoot("toolTipChildren", toolTipManager.currentToolTip as DisplayObject);
+        event.preventDefault();
+	}
+
+	public function removeChildHandler(event:Event):void
+	{
+        // Remove it.
+        var sm:ISystemManager = toolTipManager.currentToolTip.systemManager as ISystemManager;
+		mp = IMarshalSystemManager(sm.topLevelSystemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+		mp.removeChildFromSandboxRoot("toolTipChildren", toolTipManager.currentToolTip as DisplayObject);
+        event.preventDefault();
+	}
+
+	public function addChildHandler(event:Event):void
+	{
+        var sm:ISystemManager = toolTipManager.currentToolTip.systemManager as ISystemManager;
+		mp = IMarshalSystemManager(sm.topLevelSystemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+		mp.addChildToSandboxRoot("toolTipChildren", toolTipManager.currentToolTip as DisplayObject);
+        event.preventDefault();
+	}
+
+	/**
+	 *  Marshal dragManager
+     *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	private function marshalToolTipManagerHandler(event:Event):void
+	{
+		if (event is InterManagerRequest)
+			return;
+
+		var me:InterManagerRequest;
+
+		var marshalEvent:Object = event;
+		switch (marshalEvent.name)
+		{
+		case "currentToolTip":
+			// trace("--marshaled currentToolTip for ToolTipManagerImpl", systemManager, marshalEvent.value);
+			toolTipManager._currentToolTip = marshalEvent.value;
+			break;
+		case ToolTipEvent.TOOL_TIP_HIDE:
+			// trace("--handled hide for ToolTipManagerImpl", systemManager);
+			if (toolTipManager._currentToolTip is IToolTip)
+				toolTipManager.hideTip()
+			break;
+		case "update":
+			// anyone can answer so prevent others from responding as well
+			event.stopImmediatePropagation();
+			// update the others
+			// trace("-->marshaled update for ToolTipManagerImpl", systemManager);
+			me = new InterManagerRequest(InterManagerRequest.TOOLTIP_MANAGER_REQUEST);
+			me.name = "currentToolTip";
+			me.value = toolTipManager._currentToolTip;
+			// trace("-->dispatched currentToolTip for ToolTipManagerImpl", systemManager, true);
+			sandboxRoot.dispatchEvent(me);
+			// trace("<--dispatched currentToolTip for ToolTipManagerImpl", systemManager, true);
+			// trace("<--marshaled update for ToolTipManagerImpl", systemManager);
+		}
+	}
+
+}
+
+}


updated comments

updated comments

--- dorkbots/dorkbots_ui/TruncateTextField.as
+++ dorkbots/dorkbots_ui/TruncateTextField.as
@@ -226,8 +226,6 @@
 				if (result.length <= 0) break;
 			}

-
-
 			var pattern:RegExp = new RegExp("(.*?)(\\s*\.\.\.\\s*)([\</[a-z]*?\>\\s*$]+)", "i");

 			if(result.search(pattern) == -1 && addEllipsis) result += "...";


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

 package mx.accessibility
 {


updated typings

updated typings

--- WeaveJS/src/weavejs/core/ClassRegistryImpl.as
+++ WeaveJS/src/weavejs/core/ClassRegistryImpl.as
@@ -285,7 +285,7 @@
 		 * @return An Array of filtered Arrays corresponding to the given interfaces, including a final
 		 *         Array containing the remaining classes that did not implement any of the given interfaces.
 		 */
-		public static function partitionClassList(classes:Array/*/< new(..._:any[])=>any >/*/, ...interfaces/*/< new()=>any >/*/):/*/typeof classes/*/Array
+		public static function partitionClassList(classes:Array/*/< new(..._:any[])=>any >/*/, ...interfaces/*/< new()=>any >/*/):Array/*/<typeof classes>/*/
 		{
 			if (interfaces.length == 1 && interfaces[0] is Array)
 				interfaces = interfaces[0];


Transferred from the Adobe Open Source Subversion Repository

Revision: 17692
Author:   chiedozi@adobe.com
Date:     2010-09-14T00:28:56.001477Z

Log Message:
-----------
Integrated revision 17684 from beta branch

Log Message:
***********
Corrected the spelling of the registerPersistenceClassAlias method in MobileApplicationBase

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
@@ -179,9 +179,9 @@
     /**
      *  @private
      */
-    override protected function registerPeristenceClassAliases():void
-    {
-        super.registerPeristenceClassAliases();
+    override protected function registerPersistenceClassAliases():void
+    {
+        super.registerPersistenceClassAliases();

         // Register aliases for custom classes that will be written to
         // persistence store by navigator


Fixed numeric key-modifying lookups.

Fixed numeric key-modifying lookups.

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

--- src/as/com/threerings/util/MessageBundle.as
+++ src/as/com/threerings/util/MessageBundle.as
@@ -173,11 +173,26 @@
         // if the base key is not found, look to see if we should try to
         // convert our first argument to an Integer and try again
         if (msg == null) {
-            Log.getLog(this).warning("Missing translation message " +
-                        "[bundle=" + _path + ", key=" + key + "].");
-
-            // return something bogus
-            return (key + args);
+            if (getResourceString(key + ".n", false) != null) {
+                // try converting the first arg to an int
+                try {
+                    var n :Number = parseInt(args[0]);
+                    if (!isNaN(n)) {
+                        args[0] = n;
+                        msg = getResourceString(key + getSuffix(args), false);
+                    }
+                } catch (err :Error) {
+                    // fall through...
+                }
+            }
+            // if the msg is still null, we have a problem
+            if (msg == null) {
+                Log.getLog(this).warning("Missing translation message " +
+                            "[bundle=" + _path + ", key=" + key + "].");
+
+                // return something bogus
+                return (key + args);
+            }
         }

         return StringUtil.substitute(msg, args);


HLSNetStream.as: update comments

HLSNetStream.as: update comments

--- src/org/mangui/hls/stream/HLSNetStream.as
+++ src/org/mangui/hls/stream/HLSNetStream.as
@@ -125,7 +125,7 @@
                         _setSeekState(HLSSeekStates.IDLE);
                         return;
                     } else {
-                        // buffer <= 0.1 and not EOS, pause Netstream
+                        // buffer <= 0.1 and not EOS, pause playback
                         super.pause();
                     }
                 }
@@ -141,15 +141,11 @@
                 }
                 // if buffer len is above minBufferLength, get out of buffering state
                 if (buffer >= _bufferThresholdController.minBufferLength || _reached_vod_end) {
-                    /* after we reach back threshold value, set it buffer low value to avoid
-                     * reporting buffering state to often. using different values for low buffer / min buffer
-                     * allow to fine tune this
-                     */
-                    // no more in low buffer state
                     if (_playbackState == HLSPlayStates.PLAYING_BUFFERING) {
                         CONFIG::LOGGING {
                             Log.debug("resume playback");
                         }
+                        // resume playback in case it was paused, this can happen if buffer was in really low condition (less than 0.1s)
                         super.resume();
                         _setPlaybackState(HLSPlayStates.PLAYING);
                     } else if (_playbackState == HLSPlayStates.PAUSED_BUFFERING) {


we can use a for-each iteration here

we can use a for-each iteration here

--- runtime/src/main/as/flump/display/Movie.as
+++ runtime/src/main/as/flump/display/Movie.as
@@ -194,8 +194,8 @@
             updateFrame(newFrame, dt);
         }

-        for (var ii :int = _layers.length - 1; ii >= 0; --ii) {
-            _layers[ii].advanceTime(dt);
+        for each (var layer :Layer in _layers) {
+            layer.advanceTime(dt);
         }
     }


remove Protocols ref

remove Protocols ref

--- src/com/google/analytics/core/GIFRequest.as
+++ src/com/google/analytics/core/GIFRequest.as
@@ -24,7 +24,6 @@
     import com.google.analytics.debug.DebugConfiguration;
     import com.google.analytics.debug.VisualDebugMode;
     import com.google.analytics.utils.Environment;
-    import com.google.analytics.utils.Protocols;
     import com.google.analytics.utils.Variables;
     import com.google.analytics.v4.Configuration;

@@ -509,11 +508,13 @@
                              /* get remote address (depending on protocol),
                                 then append rest of metrics / data
                              */
-                             if( _info.protocol == Protocols.HTTPS )
+                             //if( _info.protocol == Protocols.HTTPS )
+                             if( _info.protocol == "https" )
                              {
                                  remoteImage.url = _config.secureRemoteGIFpath;
                              }
-                             else if( _info.protocol == Protocols.HTTP )
+                             //else if( _info.protocol == Protocols.HTTP )
+                             else if( _info.protocol == "http" )
                              {
                                  remoteImage.url = _config.remoteGIFpath;
                              }


Fix metadata for DisplayObjectContainer

Fix metadata for DisplayObjectContainer

--- src/flash/display/DisplayObjectContainer.as
+++ src/flash/display/DisplayObjectContainer.as
@@ -18,7 +18,7 @@
 import flash.geom.Point;
 import flash.text.TextSnapshot;

-[native(cls='DisplayObjectContainerClass')]
+[native(cls='ContainerClass')]
 public class DisplayObjectContainer extends InteractiveObject {
   public function DisplayObjectContainer() {}
   public native function get numChildren():int;


From whiteboard/cframpton/adobe.next.  Fix for AccImpl creating a named accessibility object with the role 'graphic' for each spark.components.Scroller or spark.components.supportClasses.GroupBase subclass descendant of a Form or FormItem.  SDK-31931.

git-svn-id: 7d913817b0a978d84de757191e4bce372605a781@1414950 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/accessibility/AccImpl.as
+++ frameworks/projects/framework/src/mx/accessibility/AccImpl.as
@@ -271,7 +271,9 @@
     private static var typeMap:Object =
     {
         "Container": [
+			"spark.components.Scroller",
             "spark.components.SkinnableContainer",
+			"spark.components.supportClasses.GroupBase",
             "mx.core.Container"
         ],
         "Form": [


Transferred from the Adobe Open Source Subversion Repository

Revision: 5082
Author:   jszeto@adobe.com
Date:     2009-02-26T01:30:44.174297Z

Log Message:
-----------
Initial version of DropDownList

Working version of DropDownList (non-editable ComboBox) and its base class DropDownBase. It currently only supports very basic functionality.

- No Keyboard functionality
- Basic mouse functionality
- Support for dataProvider
- Limited support for selectedIndex, itemRenderer
- No support for selectedIndex, labelField, labelFunction
- No support for prompt

Adding new component PopUp. This component is used to position a dropDown in layout. Since a dropDown is added to the display list via the PopUpManager, it doesn't normally participate in layout. The PopUp component is a UIComponent that does get added to a container and thus is laid out. It is responsible for then sizing and positioning the dropDown relative to itself.

The PopUp implementation is very early prototype from Ely. Don't expect anything but the basic case to work.

QE Notes: None
Doc Notes: None
Bugs: n/a
Reviewer: None

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/PopUp.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DropDownList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/DropDownBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/PopUpAnchor.as
+++ frameworks/projects/spark/src/spark/components/PopUpAnchor.as
@@ -0,0 +1,274 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 mx.components
+{
+
+import flash.display.DisplayObject;
+import flash.events.Event;
+import flash.geom.Matrix;
+import flash.geom.Point;
+
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.managers.PopUpManager;
+
+use namespace mx_internal;
+
+
+[DefaultProperty("content")]
+
+/**
+ *  This component is used to position a dropDown in layout. Since a dropDown is
+ *  added to the display list via the PopUpManager, it doesn't normally participate
+ *  in layout. The PopUp component is a UIComponent that does get added to a
+ *  container and thus is laid out. It is responsible for then sizing and
+ *  positioning the dropDown relative to itself.
+ *
+ *
+ */
+public class PopUp extends UIComponent
+{
+	public function PopUp()
+	{
+		addEventListener(Event.ADDED_TO_STAGE,addedToStageHandler);
+		addEventListener(Event.REMOVED_FROM_STAGE,removedFromStageHandler);
+	}
+
+	private var _alpha:Number = 1;
+	private var alphaChanged:Boolean = false;
+
+	override public function set alpha(value:Number):void
+	{
+		// TODO!!! move this into commitProperties
+		if (_alpha != value)
+		{
+			_alpha = value;
+
+			if (content)
+				content.alpha = _alpha;
+			else
+			{
+				alphaChanged = true;
+				invalidateProperties();
+			}
+
+		}
+	}
+
+	override public function get alpha():Number
+	{
+		return content ? content.alpha : _alpha;
+	}
+
+	private var _open:Boolean = false;
+	private var _content:UIComponent;
+	public var placement:String = "below";
+
+	/**
+	 *  UIComponent to add to the PopUpManager when the PopUp is opened.
+	 */
+	public function set content(value:UIComponent):void
+	{
+		_content = value;
+		updateContentState();
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get content():UIComponent
+	{
+		return _content
+	}
+
+
+	/**
+	 *  If true, add the content to the PopUpManager. If false, remove it.
+	 */
+	public function set open(value:Boolean):void
+	{
+		if (value != _open)
+		{
+			_open = value;
+			updateContentState();
+		}
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get open():Boolean
+	{
+		return _open;
+	}
+
+
+	override protected function commitProperties() : void
+	{
+		if (content)
+		{
+
+			if (alphaChanged)
+			{
+				alphaChanged = false;
+				content.alpha = _alpha;
+				dispatchEvent(new Event("alphaChanged"));
+			}
+		}
+	}
+
+	private function addedToStageHandler(e:Event):void
+	{
+		_open = true;
+		updateContentState();
+	}
+
+	private function removedFromStageHandler(e:Event):void
+	{
+		_open = false;
+		updateContentState();
+	}
+
+	private function updateContentState():void
+	{
+		if(_content == null)
+			return;
+		if(_content.parent == null && _open)
+		{
+			//applyContentTransform(width, height);
+			PopUpManager.addPopUp(_content,this,false);
+		}
+		else if (_content.parent != null && _open == false)
+		{
+			PopUpManager.removePopUp(_content);
+		}
+	}
+
+	private function determinePosition(placement:String,contentWidth:Number,contentHeight:Number,registrationPoint:Point):void
+	{
+		switch(placement)
+		{
+			case "below":
+				registrationPoint.x = 0;
+				registrationPoint.y = unscaledHeight;
+				break;
+			case "above":
+				registrationPoint.x = 0;
+				registrationPoint.y = -contentHeight;
+				break;
+			case "left":
+				registrationPoint.x = -contentWidth;
+				registrationPoint.y = 0;
+				break;
+			case "right":
+				registrationPoint.x = unscaledWidth;
+				registrationPoint.y = 0;
+				break;
+			case "inside":
+				// already 0,0
+				break;
+		}
+	}
+
+	override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+	{
+		// Size the content to its measured size
+		/*_content.width = _content.getExplicitOrMeasuredWidth();
+		_content.height = _content.getExplicitOrMeasuredHeight();*/
+
+		applyContentTransform(unscaledWidth, unscaledHeight);
+	}
+
+
+	private function applyContentTransform(unscaledWidth:Number, unscaledHeight:Number):void
+	{
+		var m:Matrix = $transform.concatenatedMatrix;
+
+		//traceTransform(this);
+
+		var registrationPoint:Point = new Point();
+		var contentWidth:Number = _content.getPreferredBoundsWidth(false);
+		var contentHeight:Number = _content.getPreferredBoundsHeight(false);
+
+		switch(placement)
+		{
+			case "below":
+			case "above":
+				contentWidth = Math.max(contentWidth,unscaledWidth);
+				break;
+		}
+
+		determinePosition(placement,contentWidth,contentHeight,registrationPoint);
+		var globalTL:Point = m.transformPoint(registrationPoint);
+		registrationPoint.x += contentWidth;
+		registrationPoint.y += contentHeight;
+		var globalBR:Point = m.transformPoint(registrationPoint);
+		var adjustedPlacement:String;
+		switch(placement)
+		{
+			case "below":
+				if(globalBR.y > screen.bottom)
+					adjustedPlacement = "above";
+				break;
+			case "above":
+				if(globalTL.y < screen.top)
+					adjustedPlacement = "below";
+				break;
+			case "left":
+				if(globalBR.x < screen.left)
+					adjustedPlacement = "right";
+				break;
+			case "right":
+				if(globalTL.y > screen.right)
+					adjustedPlacement = "left";
+				break;
+		}
+		if(adjustedPlacement != null)
+		{
+			determinePosition(adjustedPlacement,contentWidth,contentHeight,registrationPoint);
+			globalTL = m.transformPoint(registrationPoint);
+		}
+
+		m.tx = globalTL.x;
+		m.ty = globalTL.y;
+
+		_content.width = contentWidth;
+		_content.height = contentHeight;
+		_content.setLayoutMatrix(m,false);
+
+	}
+
+	/**
+	 *  Call this function to update the content's transform matrix. Typically
+	 *  this would be called while performing an effect upon the PopUp.
+	 */
+	public function updateContentTransform():void
+	{
+		applyContentTransform(width, height);
+	}
+
+	private function traceTransform(targ:UIComponent):void
+	{
+		var p:DisplayObject = targ;
+
+		while (p)
+		{
+			var m:Matrix = p is UIComponent ? UIComponent(p).$transform.matrix : p.transform.matrix;
+			var concatM:Matrix = p is UIComponent ? UIComponent(p).$transform.concatenatedMatrix : p.transform.concatenatedMatrix;
+
+			trace(p,"matrix:",m,"concatenatedMatrix:",concatM);
+
+			p = p.parent;
+		}
+	}
+}
+}