Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/codec/HitDataCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/HitDataCodec.as
@@ -0,0 +1,102 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.codec
+{
+
+	import mx.automation.qtp.IQTPPropertyDescriptor;
+	import mx.automation.IAutomationManager;
+	import mx.automation.IAutomationObject;
+	import mx.charts.HitData;
+	import mx.charts.chartClasses.Series;
+
+	import mx.core.IFlexDisplayObject;
+	import mx.core.mx_internal;
+	import mx.charts.ChartItem;
+	import mx.charts.chartClasses.IChartElement;
+
+	use namespace mx_internal;
+
+	/**
+	 * translates between internal Flex HitData and automation-friendly version
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class HitDataCodec extends DefaultPropertyCodec
+	{
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		public function HitDataCodec()
+		{
+			super();
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden methods
+		//
+		//--------------------------------------------------------------------------
+
+		override public function encode(automationManager:IAutomationManager,
+										obj:Object,
+										propertyDescriptor:IQTPPropertyDescriptor,
+										relativeParent:IAutomationObject):Object
+		{
+			var val:Object = getMemberFromObject(automationManager, obj, propertyDescriptor);
+			var encodedID:int;
+
+			if (val)
+			{
+				if (val is HitData)
+				{
+					encodedID = (val as HitData).chartItem.index;
+				}
+			}
+
+			return encodedID;
+		}
+
+		override public function decode(automationManager:IAutomationManager,
+										obj:Object,
+										value:Object,
+										propertyDescriptor:IQTPPropertyDescriptor,
+										relativeParent:IAutomationObject):void
+		{
+			if (relativeParent is Series)
+			{
+				var series:Object = relativeParent;
+				var items:Array = series.items;
+				var n:int = items.length;
+				for (var i:int = 0; i < n; ++i)
+				{
+					if (items[i] is ChartItem)
+					{
+						var chartItem:ChartItem = items[i] as ChartItem;
+						if (chartItem.index == value)
+						{
+							obj[propertyDescriptor.name] =
+								new HitData(0, 0, 0, 0, chartItem);
+							break;
+						}
+					}
+				}
+			}
+		}
+	}
+
+}


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

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


Forgot to add header

Forgot to add header

--- frameworks/projects/Graphics/src/main/flex/org/apache/flex/graphics/IGraphicShape.as
+++ frameworks/projects/Graphics/src/main/flex/org/apache/flex/graphics/IGraphicShape.as
@@ -1,3 +1,17 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package org.apache.flex.graphics
 {
 	import org.apache.flex.core.IUIBase;


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

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

 package mx.effects.effectClasses
 {


Changed title from the hostname of a node to its virtual_id in speed-test.

--- protogeni/demo/speed-test-run/Menu.as
+++ protogeni/demo/speed-test-run/Menu.as
@@ -294,6 +294,15 @@
         if (newHost != null && newHost.length() > 0)
         {
           hosts.push(String(newHost));
+          var newName = element.attribute("virtual_id");
+          if (newName != null && newName.length() > 0)
+          {
+            names.push(String(newName));
+          }
+          else
+          {
+            names.push(String(newHost));
+          }
         }
       }
     }
@@ -305,7 +314,7 @@
       {
 //        progress.visible = false;
         var url = "http://boss.emulab.net/all-speed-test.php?";
-        url += "names=" + hosts.join(",") + "&";
+        url += "names=" + names.join(",") + "&";
         url += "cms=" + hosts.join(",") + "&";
         url += "hostnames=" + hosts.join(",");
         navigateToURL(new URLRequest(url), "_blank");
@@ -328,6 +337,7 @@
       managers = new Array();
       managerUrns = new Array();
       hosts = new Array();
+      names = new Array();
     }

     private var choice : MenuClip;
@@ -348,5 +358,6 @@
     private var managerUrns : Array;

     private var hosts : Array;
+    private var names : Array;
   }
 }


Remove some trailing spaces.

Remove some trailing spaces.


--- src/flash/__native/te/CharSet.as
+++ src/flash/__native/te/CharSet.as
@@ -25,21 +25,13 @@
 		private var helpRect:Rectangle = new Rectangle;
 		public function CharSet()
 		{
-			image = document.createElement("canvas") as HTMLCanvasElement;
-			ctx = image.getContext("2d") as CanvasRenderingContext2D;
-			image.width = tsizew;
-			image.height = tsizeh;
-			ctx.fillStyle = "rgba(255, 255, 255, 1)"// "#ffffff"/*fillStyle*/;
-			ctx.textBaseline = "top";

-			rp = new RectanglePacker(tsizew, tsizeh,1);
 		}

 		public function add(c:Char):void{
 			var t:UVTexture=getTexture(c)
 			if (t==null){//找不到材质，创建新材质
 				t = new UVTexture;
-
 				t.fontSize = c.size;
 				t.v = c.v;
 				newChars.push(t);
@@ -61,6 +53,14 @@
 			//只保留透明通道，其它通道设置值为255
 			if (dirty){
 				if (image == null){
+					image = document.createElement("canvas") as HTMLCanvasElement;
+					ctx = image.getContext("2d") as CanvasRenderingContext2D;
+					image.width = tsizew;
+					image.height = tsizeh;
+					ctx.fillStyle = "rgba(255, 255, 255, 1)"// "#ffffff"/*fillStyle*/;
+					ctx.textBaseline = "top";
+
+					rp = new RectanglePacker(tsizew, tsizeh,1);
 				}

 				var befnum:int = rp.rectangleCount;


forgot to add four pipe merge to list of tests to run

--- src/org/puremvc/as3/multicore/utilities/pipes/plumbing/TeeMergeTest.as
+++ src/org/puremvc/as3/multicore/utilities/pipes/plumbing/TeeMergeTest.as
@@ -35,6 +35,7 @@
    			var ts:TestSuite = new TestSuite();

    			ts.addTest( new TeeMergeTest( "testReceiveMessagesFromTwoPipesViaTeeMerge" ) );
+   			ts.addTest( new TeeMergeTest( "testReceiveMessagesFromFourPipesViaTeeMerge" ) );
    			return ts;
    		}


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

--- frameworks/projects/framework/src/mx/effects/effectClasses/AnimatePropertyInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/AnimatePropertyInstance.as
@@ -0,0 +1,201 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.effects.effectClasses
+{
+
+import mx.core.mx_internal;
+import mx.effects.Tween;
+
+/**
+ *  The AnimatePropertyInstance class implements the instance class
+ *  for the AnimateProperty effect.
+ *  Flex creates an instance of this class when it plays an AnimateProperty
+ *  effect; you do not create one yourself.
+ *
+ *
Every effect class that is a subclass of the TweenEffect class
+ *  supports the following events:

+ *
+ *

+ *
tweenEnd: Dispatched when the tween effect ends.

+ *
+ *
tweenUpdate: Dispatched every time a TweenEffect
+ *      class calculates a new value.

+ *

+ *
+ *
The event object passed to the event listener for these events is of type TweenEvent.
+ *  The TweenEvent class defines the property value, which contains
+ *  the tween value calculated by the effect.
+ *  For the AnimateProperty effect,
+ *  the TweenEvent.value property contains a Number between the values of
+ *  the AnimateProperty.fromValue and
+ *  AnimateProperty.toValue properties, for the target
+ *  property specified by AnimateProperty.property.

+ *
+ *  @see mx.effects.AnimateProperty
+ *  @see mx.events.TweenEvent
+ */
+public class AnimatePropertyInstance extends TweenEffectInstance
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param target The Object to animate with this effect.
+	 */
+	public function AnimatePropertyInstance(target:Object)
+	{
+		super(target);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  toValue
+	//----------------------------------
+
+	/**
+	 *  The ending value for the effect.
+	 *  The default value is the target's current property value.
+	 */
+	public var toValue:Number;
+
+	//----------------------------------
+	//  isStyle
+	//----------------------------------
+
+	/**
+	 *  If true, the property attribute is a style and you
+	 *  set it by using the setStyle() method.
+	 *
+	 *  @default false
+	 */
+	 public var isStyle:Boolean = false;
+
+	//----------------------------------
+	//  property
+	//----------------------------------
+
+	/**
+	 *  The name of the property on the target to animate.
+	 *  This attribute is required.
+	 */
+	public var property:String;
+
+	//----------------------------------
+	//  roundValue
+	//----------------------------------
+
+	/**
+	 *  If true, round off the interpolated tweened value
+	 *  to the nearest integer.
+	 *  This property is useful if the property you are animating
+	 *  is an int or uint.
+	 *
+	 *  @default false
+	 */
+	public var roundValue:Boolean = false;
+
+	//----------------------------------
+	//  fromValue
+	//----------------------------------
+
+	/**
+	 *  The starting value of the property for the effect.
+	 *  The default value is the target's current property value.
+	 */
+	public var fromValue:Number;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function play():void
+	{
+		// Do what effects normally do when they start, namely
+		// dispatch an 'effectStart' event from the target.
+		super.play();
+
+		if (isNaN(fromValue))
+		{
+			fromValue = getCurrentValue();
+		}
+
+		if (isNaN(toValue))
+		{
+			if (propertyChanges && propertyChanges.end[property] !== undefined)
+				toValue = propertyChanges.end[property];
+			else
+				toValue = getCurrentValue();
+		}
+
+		// Create a Tween object to interpolate the verticalScrollPosition.
+		tween = createTween(this, fromValue, toValue, duration);
+
+		// If the caller supplied their own easing equation, override the
+		// one that's baked into Tween.
+		if (easingFunction != null)
+			tween.easingFunction = easingFunction;
+
+		mx_internal::applyTweenStartValues();
+	}
+
+
+	/**
+	 *  @private
+	 */
+	override public function onTweenUpdate(value:Object):void
+	{
+		if (!isStyle)
+			target[property] = roundValue ? Math.round(Number(value)) : value;
+		else
+			target.setStyle(property, value);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private function getCurrentValue():Number
+	{
+		var currentValue:Number;
+
+		if (!isStyle)
+			currentValue = target[property];
+		else
+			currentValue = target.getStyle(property);
+
+		return roundValue ? Math.round(currentValue) : currentValue;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 14124
Author:   cframpto@adobe.com
Date:     2010-02-11T17:53:35.882363Z

Log Message:
-----------
Merge 14123 from 4.x branch to trunk.

Log Message:
***********
Two additions/corrections to 14076.  Add key mappings for layoutDirection="rtl" for spark list components.  Correct type of keyCode variable so it is an uint rather than an int to match event.keyCode.

BitmapImage has a hard-coded layout direction="ltr".

QE notes: For layoutDirection="rtl" need to test LEFT, RIGHT, UP and DOWN keys.
Doc notes: None
Bugs: SDK-25330
Reviewed By: Hans
Tests run: checkintests
Is noteworthy for integration: No

Ticket Links:
***********
    http://bugs.adobe.com/jira/browse/SDK-25330

Modified Paths:
**************
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/containers/Accordion.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/ButtonBar.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/CalendarLayout.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/ColorPicker.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/Menu.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/MenuBar.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/RadioButton.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/Tree.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/Container.as
    flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/UIComponent.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/List.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/RadioButton.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
    flex/sdk/branches/4.x/frameworks/projects/spark/src/spark/primitives/BitmapImage.as

Property Changed:
****************
    flex/sdk/branches/4.x/frameworks/

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk/frameworks</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.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/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.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/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.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/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as
@@ -480,9 +480,9 @@

         super.keyDownHandler(event);

-        // If rtl layout, need to swap LEFT/UP for RIGHT/DOWN so correct action
+        // If rtl layout, need to swap LEFT/UP and RIGHT/DOWN so correct action
         // is done.
-        var keyCode:int = mapKeycodeForLayoutDirection(event, true);
+        var keyCode:uint = mapKeycodeForLayoutDirection(event, true);

         switch (keyCode)
         {


added fallback for non-drawable components

--- Bin/Data/Scripts/Editor/EditorView.as
+++ Bin/Data/Scripts/Editor/EditorView.as
@@ -706,11 +706,11 @@
     for (uint i = 0; i < selectedComponents.length; ++i)
     {
         Drawable@ drawable = cast<Drawable>(selectedComponents[i]);
+        count++;
         if (drawable !is null)
-        {
             centerPoint += drawable.node.LocalToWorld(drawable.boundingBox.center);
-            count++;
-        }
+        else
+            centerPoint += selectedComponents[i].node.worldPosition;
     }

     if (count > 0)


Split method "testCloneWithPropertyLevelMetadata" to a few.

--- dolly-framework/src/test/actionscript/dolly/ClonerTest.as
+++ dolly-framework/src/test/actionscript/dolly/ClonerTest.as
@@ -130,27 +130,30 @@
 	}

 	[Test]
-	public function testCloneWithPropertyLevelMetadata():void {
-		const clone1:PropertyLevelCloneable = Cloner.clone(propertyLevelCloneable);
-		assertNotNull(clone1);
-		assertNull(clone1.property1);
-		assertNotNull(clone1.property2);
-		assertEquals(clone1.property2, propertyLevelCloneable.property2);
-		assertNotNull(clone1.property3);
-		assertEquals(clone1.property3, propertyLevelCloneable.property3);
-		assertNotNull(clone1.writableField);
-		assertEquals(clone1.writableField, propertyLevelCloneable.writableField);
+	public function testClonePropertyLevelCloneable():void {
+		const clone:PropertyLevelCloneable = Cloner.clone(propertyLevelCloneable);
+		assertNotNull(clone);
+		assertNull(clone.property1);
+		assertNotNull(clone.property2);
+		assertEquals(clone.property2, propertyLevelCloneable.property2);
+		assertNotNull(clone.property3);
+		assertEquals(clone.property3, propertyLevelCloneable.property3);
+		assertNotNull(clone.writableField);
+		assertEquals(clone.writableField, propertyLevelCloneable.writableField);
+	}

-		const clone2:PropertyLevelCopyableCloneable = Cloner.clone(propertyLevelCopyableCloneable);
-		assertNotNull(clone2);
-		assertNotNull(clone2.property1);
-		assertEquals(clone2.property1, propertyLevelCloneable.property1);
-		assertNotNull(clone2.property2);
-		assertEquals(clone2.property2, propertyLevelCloneable.property2);
-		assertNotNull(clone2.property3);
-		assertEquals(clone2.property3, propertyLevelCloneable.property3);
-		assertNotNull(clone2.writableField);
-		assertEquals(clone2.writableField, propertyLevelCloneable.writableField);
+	[Test]
+	public function testClonePropertyLevelCopyableCloneable():void {
+		const clone:PropertyLevelCopyableCloneable = Cloner.clone(propertyLevelCopyableCloneable);
+		assertNotNull(clone);
+		assertNotNull(clone.property1);
+		assertEquals(clone.property1, propertyLevelCloneable.property1);
+		assertNotNull(clone.property2);
+		assertEquals(clone.property2, propertyLevelCloneable.property2);
+		assertNotNull(clone.property3);
+		assertEquals(clone.property3, propertyLevelCloneable.property3);
+		assertNotNull(clone.writableField);
+		assertEquals(clone.writableField, propertyLevelCloneable.writableField);
 	}
 }
 }


Split method "testGetCopyableFieldsForType" to a few.

--- dolly-framework/src/test/actionscript/dolly/CopierTest.as
+++ dolly-framework/src/test/actionscript/dolly/CopierTest.as
@@ -74,31 +74,40 @@
 	}

 	[Test]
-	public function testGetCopyableFieldsForType():void {
-		var copyableFields:Vector.<Field> = Copier.getCopyableFieldsForType(classLevelCopyableType);
+	public function testGetCopyableFieldsForTypeClassLevelCopyable():void {
+		const copyableFields:Vector.<Field> = Copier.getCopyableFieldsForType(classLevelCopyableType);
 		assertNotNull(copyableFields);
 		assertEquals(4, copyableFields.length);
 		assertNotNull(copyableFields[0]);
 		assertNotNull(copyableFields[1]);
 		assertNotNull(copyableFields[2]);
 		assertNotNull(copyableFields[3]);
+	}

-		copyableFields = Copier.getCopyableFieldsForType(classLevelCopyableCloneableType);
+	[Test]
+	public function testGetCopyableFieldsForTypeClassLevelCopyableCloneable():void {
+		const copyableFields:Vector.<Field> = Copier.getCopyableFieldsForType(classLevelCopyableCloneableType);
 		assertNotNull(copyableFields);
 		assertEquals(4, copyableFields.length);
 		assertNotNull(copyableFields[0]);
 		assertNotNull(copyableFields[1]);
 		assertNotNull(copyableFields[2]);
 		assertNotNull(copyableFields[3]);
+	}

-		copyableFields = Copier.getCopyableFieldsForType(propertyLevelCopyableType);
+	[Test]
+	public function testGetCopyableFieldsForTypePropertyLevelCopyable():void {
+		const copyableFields:Vector.<Field> = Copier.getCopyableFieldsForType(propertyLevelCopyableType);
 		assertNotNull(copyableFields);
 		assertEquals(3, copyableFields.length);
 		assertNotNull(copyableFields[0]);
 		assertNotNull(copyableFields[1]);
 		assertNotNull(copyableFields[2]);
+	}

-		copyableFields = Copier.getCopyableFieldsForType(propertyLevelCopyableCloneableType);
+	[Test]
+	public function testGetCopyableFieldsForTypePropertyLevelCopyableCloneable():void {
+		const copyableFields:Vector.<Field> = Copier.getCopyableFieldsForType(propertyLevelCopyableCloneableType);
 		assertNotNull(copyableFields);
 		assertEquals(3, copyableFields.length);
 		assertNotNull(copyableFields[0]);


add addParameter to interface.

add addParameter to interface.

--- actionscript-cafe/src/main/flex/org/servebox/cafe/core/command/IStateCommand.as
+++ actionscript-cafe/src/main/flex/org/servebox/cafe/core/command/IStateCommand.as
@@ -8,5 +8,7 @@
 		function get executable() : Boolean;

 		function set executable( value :Boolean ) : void;
+
+		function addParameter( key : String , value : Object ) : void;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/tabularData/TreeTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/TreeTabularData.as
@@ -0,0 +1,62 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.tabularData
+{
+
+	import mx.automation.AutomationManager;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationTabularData;
+	import mx.collections.CursorBookmark;
+	import mx.collections.errors.ItemPendingError;
+	import mx.controls.listClasses.IListItemRenderer;
+	import mx.controls.Tree;
+	import mx.core.mx_internal;
+	use namespace mx_internal;
+
+	/**
+	 *  @private
+	 */
+	public class TreeTabularData extends ListTabularData
+	{
+
+		private var tree:Tree;
+
+		/**
+		 *  Constructor
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function TreeTabularData(l:Tree)
+		{
+			super(l);
+
+			tree = l;
+		}
+
+		/**
+		 *  @inheritDoc
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		override public function get numRows():int
+		{
+			return tree.collectionLength;
+		}
+
+	}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 16314
Author:   cframpto@adobe.com
Date:     2010-05-25T18:32:16.152892Z

Log Message:
-----------
ASDoc corrections.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/events/GridCaretEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/events/GridSelectionEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/supportClasses/SelectionMode.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridSelectionMode.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridSelectionMode.as
@@ -3,7 +3,7 @@

 /**
  *  The SelectionMode class defines the legal constant values for the DataGrid
- *  slectionMode property
+ *  selectionMode property.
  */
 public final class SelectionMode
 {
@@ -18,11 +18,54 @@
     //
     //--------------------------------------------------------------------------

-    // ToDo(cframpto): need ASdoc
+    /**
+     *  Specifies that there is no selection allowed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
     public static const NONE:String = "none";
+
+    /**
+     *  Specifies that one row can be selected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
     public static const SINGLE_ROW:String = "row";
+
+    /**
+     *  Specifies that one or more rows can be selected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
     public static const MULTIPLE_ROWS:String = "multipleRows";
+
+    /**
+     *  Specifies that one cell can be selected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
     public static const SINGLE_CELL:String = "cell";
+
+    /**
+     *  Specifies that one or more cells can be selected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
     public static const MULTIPLE_CELLS:String = "multipleCells";

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20012
Author:   jasonsj@adobe.com
Date:     2011-01-29T00:57:26.112385Z

Log Message:
-----------
Removing Button FIXMEs. Changed button shadow logic to remove tight text accounting.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -505,9 +505,7 @@
         iconX = Math.max(0, Math.round(iconX)) + layoutPaddingLeft;
         iconY = Math.max(0, Math.round(iconY)) + layoutPaddingTop;

-        // FIXME (jasonsj): adjust labelHeight to clip descent
-
-        setElementSize(labelDisplay, labelWidth, labelHeight);
+        setElementSize(labelDisplay, labelWidth, labelHeight + adjustablePaddingBottom);
         setElementPosition(labelDisplay, labelX, labelY);

         if (textWidth > labelWidth)


Transferred from the Adobe Open Source Subversion Repository

Revision: 4595
Author:   gauravj@adobe.com
Date:     2009-01-20T16:11:25.613473Z

Log Message:
-----------
Fix for - Example code in ObjectProxy ASDoc page is incorrect

Also modify the build.xml for "ant asdoc"

QE Notes: None
Doc Notes: None
Bugs: SDK-18335
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/asdoc/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>

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

--- frameworks/projects/framework/src/mx/utils/ObjectProxy.as
+++ frameworks/projects/framework/src/mx/utils/ObjectProxy.as
@@ -62,9 +62,9 @@
  *  }
  *
  *  // The trace output appears as:
- *  // updateHandler('opUpdate', name, Jacey, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
- *  // updateHandler('opUpdate', age, 2, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
- *  // updateHandler('opDelete', ssnum, null, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
+ *  // updateHandler('opUpdate', name, Tyler, Jacey, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
+ *  // updateHandler('opUpdate', age, 5, 2, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
+ *  // updateHandler('opDelete', ssnum, 555-55-5555, null, '698AF8CB-B3D9-21A3-1AFFDGHT89075CD2')
  *  </pre>
  */
 public dynamic class ObjectProxy extends Proxy


Transferred from the Adobe Open Source Subversion Repository

Revision: 17005
Author:   rfrishbe@adobe.com
Date:     2010-07-21T22:23:20.505181Z

Log Message:
-----------
Adding IconItemRenderer to SVN.  This makes it easier for others to work with the class.  For now, it's added to mobiletheme: spark.skins.mobile; however, it might move out of the skins and mobiletheme depending on PARB later on (as well as undergo a name-change).

This is still not the default item renderer. That change will come later when the class has been vetted a bit more.

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - will review with mobile list stuff later
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/IconItemRenderer.as</path>

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

--- frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -24,6 +24,7 @@
 import spark.skins.mobile.ActionBarSkin; ActionBarSkin;
 import spark.skins.mobile.ButtonSkin; spark.skins.mobile.ButtonSkin;
 import spark.skins.mobile.HScrollBarSkin; spark.skins.mobile.HScrollBarSkin;
+import spark.skins.mobile.IconItemRenderer; spark.skins.mobile.IconItemRenderer;
 import spark.skins.mobile.ListSkin; spark.skins.mobile.ListSkin;
 import spark.skins.mobile.MobileApplicationSkin; MobileApplicationSkin;
 import spark.skins.mobile.SliderSkin; SliderSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4337
Author:   egeorgie@adobe.com
Date:     2008-12-17T01:41:36.131845Z

Log Message:
-----------
ILayoutElement methods renames

Interface ILayoutElement
{
getLayoutWidth -> getLayoutBoundsWidth
getLayoutHeight -> getLayoutBoundsHeight
getLayoutPositionX -> getLayoutBoundsX
getLayoutPositionY -> getLayoutBoundsY
setLayoutSize -> setLayoutBoundsSize
setLayoutPosition -> setLayoutBoundsPosition
getPreferredWidth -> getPreferredBoundsWidth
getPreferredHeight -> getPreferredBoundsHeight
getMinWidth -> getMinBoundsWidth
getMinHeight -> getMinBoundsHeight
getMaxWidth -> getMaxBoundsWidth
getMaxHeight -> getMaxBoundsHeight

…unrelated stuff…
}

Reviewed by Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.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/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/graphics/GraphicTags_checkintests.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="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/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/VSlider.as
+++ frameworks/projects/spark/src/spark/components/VSlider.as
@@ -60,7 +60,7 @@
         {
             var trackLElement:ILayoutElement =
                 LayoutElementFactory.getLayoutElementFor(track);
-            return trackLElement.getLayoutHeight();
+            return trackLElement.getLayoutBoundsHeight();
         }
         else
            return 0;
@@ -73,7 +73,7 @@
     {
         var thumbLElement:ILayoutElement =
             LayoutElementFactory.getLayoutElementFor(thumb);
-        return thumbLElement.getLayoutHeight();
+        return thumbLElement.getLayoutBoundsHeight();
     }

     //--------------------------------------------------------------------------
@@ -105,13 +105,13 @@
                 var trackLElement:ILayoutElement =
                     LayoutElementFactory.getLayoutElementFor(track);

-                trackLen = trackLElement.getLayoutHeight();
-                trackPos = trackLElement.getLayoutPositionY();
+                trackLen = trackLElement.getLayoutBoundsHeight();
+                trackPos = trackLElement.getLayoutBoundsY();
             }

-            thumbLElement.setLayoutPosition(thumbLElement.getLayoutPositionX(),
+            thumbLElement.setLayoutBoundsPosition(thumbLElement.getLayoutBoundsX(),
                                          Math.round(trackPos + trackLen - thumbPos
-                                         - thumbLElement.getLayoutHeight()));
+                                         - thumbLElement.getLayoutBoundsHeight()));
         }
     }

@@ -132,11 +132,11 @@
     {
         var trackLElement:ILayoutElement =
             LayoutElementFactory.getLayoutElementFor(track);
-        var trackLen:Number = trackLElement.getLayoutHeight();
+        var trackLen:Number = trackLElement.getLayoutBoundsHeight();

         var thumbLElement:ILayoutElement =
             LayoutElementFactory.getLayoutElementFor(thumb);
-        var thumbH:Number = thumbLElement.getLayoutHeight();
+        var thumbH:Number = thumbLElement.getLayoutBoundsHeight();

         return trackLen - localY - thumbH;
     }
@@ -149,7 +149,7 @@
     {
         var thumbLElement:ILayoutElement =
             LayoutElementFactory.getLayoutElementFor(thumb);
-        var thumbH:Number = thumbLElement.getLayoutHeight();
+        var thumbH:Number = thumbLElement.getLayoutBoundsHeight();

         return pointToPosition(localX, localY) + (thumbH / 2);
     }
@@ -168,7 +168,7 @@
 	        var r:Point = localToGlobal(o);
 			r = tipAsDisplayObject.parent.globalToLocal(r);

-			// TODO (jszeto) Change to use ILayoutElement.setLayoutPosition?
+			// TODO (jszeto) Change to use ILayoutElement.setLayoutBoundsPosition?
         	tipAsDisplayObject.x = Math.floor(r.x < 0 ? 0 : r.x);
         	tipAsDisplayObject.y = Math.floor(r.y < 0 ? 0 : r.y);
     	}


リファクタ

リファクタ

--- project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundConductor.as
+++ project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundConductor.as
@@ -279,7 +279,7 @@
 			if (createSoundObject)
 			{
 				sound = new Sound();
-				sound.loadPCMFromByteArray(pcmBinary,pcmBinary.bytesAvailable);
+				sound.loadPCMFromByteArray(pcmBinary, pcmBinary.bytesAvailable);
 			}

 			var registeredSoundData:RegisteredSoundData = new RegisteredSoundData(soundId, sound, pcmBinary, allowMultiple, allowInterrupt);


Fixed interpolateTo on scale

Fixed interpolateTo on scale

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -602,10 +602,10 @@
                 sx += (scale.x - sx) * ratio;
                 sy += (scale.y - sy) * ratio;
                 sz += (scale.z - sz) * ratio;
-
+
 				_matrix.interpolateTo(target._matrix, ratio);
-                _matrix.appendScale(sx, sy, sz);
-
+				_matrix.prependScale(sx,sy,sz);
+
                 if (interpolateW)
                 {
                     var translation : Vector4   = getTranslation(TMP_VECTOR4);


tests

tests

--- testSrc/TestArrayApi.as
+++ testSrc/TestArrayApi.as
@@ -52,48 +52,46 @@
             }
         }

+        [Test]
+        public function testJoin():void
+        {
+            var s:Stream = $(1, 2, 3);
+            var str:String = s.join(",");
+            assertEquals(str, "1,2,3");
+        }

         [Test]
-        public function testCreate():void
+        public function testPop():void
         {
-            var streamArguments:Stream = $(1, 2, 3, 4, 5);
-            assertEquals(streamArguments.length, 5);
-            iterate(streamArguments);
-            deleteItem(streamArguments);
-            push(streamArguments, 5);
-            pop(streamArguments);
-        }
-
-        private function join(stream:Stream):void
-        {
-            log.info(stream.join(","));
-        }
-
-        private function pop(stream:Stream):void
-        {
-            var length:int = stream.length;
-            var item:* = stream[length - 1];
-            var popped:* = stream.pop();
-            assertEquals(stream.length, length - 1);
+            var s:Stream = $(1, 2, 3, 4, 5);
+            var length:int = s.length;
+            var item:* = s[length - 1];
+            var popped:* = s.pop();
+            assertEquals(s.length, length - 1);
             assertEquals(popped, item);
         }

-        private function push(stream:Stream, item:*):void
+        [Test]
+        public function testPush():void
         {
-            var length:int = stream.length;
-            stream.push(item);
-            assertEquals(stream.length, length + 1);
-            assertEquals(stream[length], item);
+            var s:Stream = $(1, 2, 3, 4, 5);
+            var length:int = s.length;
+            var item:int = 6;
+            s.push(item);
+            assertEquals(s.length, length + 1);
+            assertEquals(s[length], item);
         }

-        private function deleteItem(stream:Stream):void
+        [Test]
+        public function testDelete():void
         {
-            var length:int = stream.length;
+            var s:Stream = $(1, 2, 3, 4, 5);
+            var length:int = s.length;
             if (length == 0)
             {
                 try
                 {
-                    delete stream[0];
+                    delete s[0];
                     assertFalse(true);
                 }
                 catch (e:Error)
@@ -102,19 +100,26 @@
             }
             else
             {
-                delete stream[0];
-                assertEquals(stream.length, length - 1);
+                delete s[0];
+                assertEquals(s.length, length - 1);
             }
         }

-        private function iterate(stream:Stream):void
+        [Test]
+        public function testIterate():void
         {
-            var count:int = stream.length;
-            for each (var item:* in stream)
+            var s:Stream = $(1, 2, 3, 4, 5);
+            for (var i:int = 0; i < s.length; i++)
             {
-                count--;
+                assertEquals(s[i], i + 1);
             }
-            assertEquals(count, 0);
+            var index:int = 1;
+            for each (var item:* in s)
+            {
+                assertEquals(index, item);
+                index++;
+            }
+            assertEquals(s.length, index - 1);
         }
     }
 }


Added an option to generate mipmaps for textures.

It makes loading slower and there is a slight memory penalty, but textures that use a large variety
of scales look a hell of a lot better with mipmapping enabled. trilinear smoothing helps a lot too
but the end flump user can turn that on himself by traversing the loaded Movie's Image children
and changing the smoothing property.

--- runtime/src/main/as/flump/display/LibraryLoader.as
+++ runtime/src/main/as/flump/display/LibraryLoader.as
@@ -27,14 +27,19 @@
      * textures with multiple scale factors, loader will load the textures with the scale factor
      * closest to this value. If scaleFactor <= 0 (the default), Starling.contentScaleFactor will be
      * used.
+     * @param generateMipMaps If true (defaults to false), flump will instruct Starling to generate
+     * mip maps for all loaded textures. Scaling will look better if mipmaps are enabled, but there
+     * is a loading time and memory usage penalty.
      *
      * @return a Future to use to track the success or failure of loading the resources out of the
      * bytes. If the loading succeeds, the Future's onSuccess will fire with an instance of
      * Library. If it fails, the Future's onFail will fire with the Error that caused the
      * loading failure.
      */
-    public static function loadBytes (bytes :ByteArray, executor :Executor=null, scaleFactor :Number=-1) :Future {
-        return (executor || new Executor(1)).submit(new Loader(bytes, scaleFactor).load);
+    public static function loadBytes (bytes :ByteArray, executor :Executor=null,
+        scaleFactor :Number=-1, generateMipMaps :Boolean=false) :Future {
+        return (executor || new Executor(1)).submit(
+            new Loader(bytes, scaleFactor, generateMipMaps).load);
     }

     /**
@@ -49,14 +54,19 @@
      * textures with multiple scale factors, loader will load the textures with the scale factor
      * closest to this value. If scaleFactor <= 0 (the default), Starling.contentScaleFactor will be
      * used.
+     * @param generateMipMaps If true (defaults to false), flump will instruct Starling to generate
+     * mip maps for all loaded textures. Scaling will look better if mipmaps are enabled, but there
+     * is a loading time and memory usage penalty.
      *
      * @return a Future to use to track the success or failure of loading the resources from the
      * url. If the loading succeeds, the Future's onSuccess will fire with an instance of
      * Library. If it fails, the Future's onFail will fire with the Error that caused the
      * loading failure.
      */
-    public static function loadURL (url :String, executor :Executor=null, scaleFactor :Number=-1) :Future {
-        return (executor || new Executor(1)).submit(new Loader(url, scaleFactor).load);
+    public static function loadURL (url :String, executor :Executor=null,
+        scaleFactor :Number=-1, generateMipMaps :Boolean=false) :Future {
+        return (executor || new Executor(1)).submit(
+            new Loader(url, scaleFactor, generateMipMaps).load);
     }

     /** @private */
@@ -188,8 +198,9 @@

 class Loader
 {
-    public function Loader (toLoad :Object, scaleFactor :Number) {
+    public function Loader (toLoad :Object, scaleFactor :Number, generateMipMaps :Boolean) {
         _scaleFactor = (scaleFactor > 0 ? scaleFactor : Starling.contentScaleFactor);
+        _generateMipMaps = generateMipMaps;
         _toLoad = toLoad;
     }

@@ -251,7 +262,7 @@
             var scale :Number = atlas.scaleFactor;
             const baseTexture :Texture = Texture.fromBitmapData(
                 img.bitmapData,
-                false,   // generateMipMaps
+                _generateMipMaps,
                 false,  // optimizeForRenderToTexture
                 scale);

@@ -302,6 +313,7 @@

     protected var _toLoad :Object;
     protected var _scaleFactor :Number;
+    protected var _generateMipMaps :Boolean;
     protected var _future :FutureTask;
     protected var _versionChecked :Boolean;


add a computeNormals boolean argument to Geometry.computeTangentSpace()

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -393,7 +393,7 @@
 		 * @param replace Whether to replace existing normals or tangents data.
 		 *
 		 */
-		public function computeTangentSpace(streamUsage : int = -1) : Geometry
+		public function computeTangentSpace(computeNormals : Boolean = true, streamUsage : int = -1) : Geometry
 		{
 			var numStreams		: uint			= this.numVertexStreams;
 			var indices			: Vector.<uint>	= indexStream.lock();
@@ -434,7 +434,7 @@
 							new Vector.<Number>(numVertices * 6)
 						);
 					}
-					else if (!hasNormals)
+					else if (!hasNormals && computeNormals)
 					{
 						normalsStream = new VertexStream(
 							streamUsage,
@@ -451,7 +451,9 @@
 						);
 					}

-					fillNormalsData(indices, normalsStream, xyzStream, numVertices);
+					if (computeNormals)
+						fillNormalsData(indices, normalsStream, xyzStream, numVertices);
+
 					fillTangentsData(indices, tangentsStream, xyzStream, uvStream, numVertices);

 					if (!hasNormals)


Update HTTPStreamingMp3Audio2ToPESAudio.as

--- HLSPlugin/src/org/denivip/osmf/net/httpstreaming/hls/HTTPStreamingMp3Audio2ToPESAudio.as
+++ HLSPlugin/src/org/denivip/osmf/net/httpstreaming/hls/HTTPStreamingMp3Audio2ToPESAudio.as
@@ -1,6 +1,6 @@
 /*
  * Copyright
- * Watchtower stream.jw.org Team
+ * hangulee@gmail.com
  *
  */

@@ -264,14 +264,6 @@
 				} // switch
 			} // while

-			/*
-			var text:String = new String();
-			for(var i:int = 0; i<tagData.length; i++)
-				text += uint(tagData[i]).toString(16)+" ";
-
-			trace(text);
-			//*/
-
 			tagData.position = 0;

 			return tagData;
@@ -282,4 +274,4 @@
 			private var logger:Logger = Log.getLogger('org.denivip.osmf.net.httpstreaming.hls.HTTPStreamingMp3Audio2ToPESAudio') as Logger;
 		}
 	}
-}+}


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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridLockedRowContentHolder.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridLockedRowContentHolder.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


fixed infinite loop

fixed infinite loop

Change-Id: I55a3025ee77e35d0bd629ee782a0e0ec7928732f


RTSPClient: Don't miss data

RTSPClient: Don't miss data

If multiple RTSP commands were delivired in one TCP frame,
the second could be missed. Make sure we handle all data
when we're told data is available.

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -89,8 +89,6 @@
       this.ns = new NetStream(nc);
       dispatchEvent(new ClientEvent(ClientEvent.NETSTREAM_CREATED, { ns : this.ns }));
       video.attachNetStream(this.ns);
-      /* Put the NetStream in 'Data Generation Mode'. Data generated by FLVMux */
-      this.ns.play(null);

       handle.connect();
       return true;
@@ -147,7 +145,7 @@
       switch(data[0]) {
         case 0x52:
           /* ascii 'R', start of RTSP */
-          onRTSP();
+          onRTSPCommand();
           break;

         case 0x24:
@@ -207,7 +205,7 @@
       return parsed;
     }

-    private function onRTSP():void {
+    private function onRTSPCommand():void {
       var parsed:*, body:ByteArray = new ByteArray();
       if (false === (parsed = readRequest(body))) {
         return;
@@ -302,6 +300,10 @@
         trace('RTSPClient: STATE_TEARDOWN');
         break;
       }
+
+      if (0 < data.bytesAvailable) {
+        onData(null);
+      }
     }

     private function onInterleavedData():void
@@ -384,10 +386,8 @@
     }

     private function sendPlayReq():void {
-      if (state === STATE_PAUSED) {
-        /* NetStream was closed when pausing. Play it again if that is the case. */
-        this.ns.play(null);
-      }
+      /* Put the NetStream in 'Data Generation Mode'. Data is generated by FLVMux */
+      this.ns.play(null);

       state = STATE_PLAY;


reset variables upon load

reset variables upon load

--- src/flash/htmlelements/VideoElement.as
+++ src/flash/htmlelements/VideoElement.as
@@ -250,6 +250,10 @@
 			}
 			_isConnected = false;
 			_isPreloading = false;
+
+
+			_isEnded = false;
+			_bufferEmpty = false;

 			// start new connection
 			if (_isRTMP) {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19325
Author:   clucier@adobe.com
Date:     2010-12-13T20:17:04.998196Z

Log Message:
-----------
We now disable background processing (disable layout) during mobile view transitions.  Added mode to PerfReporter such that FPS is computed via ENTER_FRAME events instead of RENDER (was a pain to have to invoke stage.invalidate() at all the right places, for interval based animations). Disabled frameRate zooming in ViewNavigator.

QE notes: None
Doc notes: None
Bugs: SDK-28657, SDK-28755
Reviewer: Chiedo
Tests run: Checkin, TransitionTests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/impl/PerfReporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/TransitionTests/src/TransitionTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/IPerfReporter.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -15,6 +15,7 @@
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
+import flash.events.Event;

 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -23,7 +24,11 @@
 import mx.effects.Parallel;

 import spark.components.Group;
+import spark.effects.Animate;
 import spark.effects.Scale;
+import spark.effects.animation.MotionPath;
+import spark.effects.animation.SimpleMotionPath;
+

 use namespace mx_internal;

@@ -106,6 +111,11 @@
      */
     private var zoomTarget:UIComponent;

+    /**
+     *  @private
+     */
+    private var scaleEffect:Scale;
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -335,7 +345,10 @@

         transitionGroup = null;
         cachedNavigator = null;
-
+
+        scaleEffect.removeEventListener("effectUpdate", scaleEffectUpdateHandler);
+        scaleEffect = null;
+
         super.cleanUp();
     }

@@ -370,18 +383,28 @@

         // Create scale effect to zoom in/our our target from or to our
         // specified minimum scale.
-        var scaleEffect:Scale = new Scale();
+        scaleEffect = new Scale();
         scaleEffect.duration = duration;
         scaleEffect.easer = easer;
         scaleEffect.scaleXFrom = scaleEffect.scaleYFrom =
             (mode == ZoomViewTransitionMode.OUT) ? 1 : minimumScale;
         scaleEffect.scaleXTo = scaleEffect.scaleYTo =
             (mode == ZoomViewTransitionMode.OUT) ? minimumScale : 1;
-
+        scaleEffect.addEventListener("effectUpdate", scaleEffectUpdateHandler);
+
+        parallel.addChild(fadeEffect);
         parallel.addChild(scaleEffect);
-        parallel.addChild(fadeEffect);

         return parallel;
+    }
+
+    /**
+     *  @private
+     *  Ensures transform matrix is updated even if layout is disabled.
+     */
+    private function scaleEffectUpdateHandler(e:Event):void
+    {
+        zoomTarget.validateDisplayList();
     }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18357
Author:   jasonsj@adobe.com
Date:     2010-10-28T22:43:40.124825Z

Log Message:
-----------
Mobile Theme feature work:
Implemented borderVisible and prompt for mobile TextInputSkin
Fixed focus exclusions for CheckBox and RadioButton
Fixed promptDisplay bug in TextInput
Moved textShadowAlpha and textShadowColor to BasicInheritingTextStyles from ActionBar and Button
Added leading and letterSpacing to BasicInheritingTextStyles

QE notes: Update mustella bitmaps for Button and RadioButton
Doc notes:
Bugs:
SDK-28239 Fixed visuals for Button and RadioButton skin
Reviewer: gruehle, aharui
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as
@@ -302,3 +302,54 @@
  *  @productversion Flex 4
  */
 [Style(name="typographicCase", type="String", enumeration="default,capsToSmallCaps,uppercase,lowercase,lowercaseToSmallCaps", inherit="yes")]
+
+
+/**
+ *  Additional vertical space between lines of text.
+ *
+ *
The default value is 0.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="leading", type="Number", format="Length", inherit="yes", theme="mobile")]
+
+/**
+ *  The number of additional pixels to appear between each character.
+ *  A positive value increases the character spacing beyond the normal spacing,
+ *  while a negative value decreases it.
+ *
+ *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+[Style(name="letterSpacing", type="Number", inherit="yes", theme="mobile")]
+
+/**
+ *  Color of text shadows.
+ *
+ *  @default #FFFFFF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textShadowColor", type="uint", format="Color", inherit="yes", theme="mobile")]
+
+/**
+ *  Alpha of text shadows.
+ *
+ *  @default 0.55
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="textShadowAlpha", type="Number",inherit="yes", minValue="0.0", maxValue="1.0", theme="mobile")]


- volume fix

- volume fix

--- src/flash/htmlelements/VideoElement.as
+++ src/flash/htmlelements/VideoElement.as
@@ -346,7 +346,7 @@
 				return;

 			if (muted) {
-				_oldVolume = _stream.soundTransform.volume;
+				_oldVolume = (_stream == null) ? _oldVolume : _stream.soundTransform.volume;
 				setVolume(0);
 			} else {
 				setVolume(_oldVolume);


Transferred from the Adobe Open Source Subversion Repository

Revision: 13035
Author:   hneelu@adobe.com
Date:     2009-12-17T07:35:16.160630Z

Log Message:
-----------
Updating automation project to latest p4 changes.

Modified Paths:
--------------
228 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/tabularData/CartesianChartTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/CartesianChartTabularData.as
@@ -103,8 +103,7 @@
 			maxItems = 0;
 			// code modified to avoid the usage of numAutomationChildren and
 			// getAutomationChildAt in a loop
-			//var childList:Array  = delegate.getAutomationChildren();
-			var childList:Array  = Automation.automationManager2.getAutomationChildrenArray(delegate);
+			var childList:Array  = delegate.getAutomationChildren();
 			var n:int = childList.length;
 			//for(var i:int = 0; i < delegate.numAutomationChildren; ++i)
 			for (var i:int = 0; i < n; ++i)
@@ -157,8 +156,7 @@
 			var j:int;
 			// code modified to avoid the usage of numAutomationChildren and
 			// getAutomationChildAt in a loop
-			//var childList:Array  = delegate.getAutomationChildren();
-			var childList:Array  = Automation.automationManager2.getAutomationChildrenArray(delegate);
+			var childList:Array  = delegate.getAutomationChildren();
 			var n:int = childList.length;
 			end = end>n?n:end;
 			for (i = start; i <= end; ++i)


Transferred from the Adobe Open Source Subversion Repository

Revision: 22622
Author:   chiedozi@adobe.com
Date:     2011-09-19T20:34:22.183869Z

Log Message:
-----------
Small tweaks to SlideViewTransition to fix clipping issues when actionBarVisible or tabBarVisible were changed on a View

QE notes:
Doc notes:
Bugs: SDK-31560,SDK-31557
Reviewer: Evtim
Tests run: checkintests-mobile, mustella-mobile
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -264,6 +264,7 @@
         // Initialize the property bag used to save some of our
         // properties that are then restored after the transition is over.
         navigatorProps = new Object();
+        navigatorProps.initialHeight = navigator.height;

         // Determine if we will be animating the tabBar as part of the
         // transition
@@ -307,10 +308,14 @@

         if (startView)
         {
-            startViewProps = {  visible: startView.visible,
+            startViewProps = {  includeInLayout: startView.includeInLayout,
+                                visible: startView.visible,
                                 cacheAsBitmap: startView.cacheAsBitmap,
                                 opaqueBackground: startView.opaqueBackground };

+            // Remove the startView from layout so that it doesn't resize as the
+            // contentGroups of each navigator is resized
+            startView.includeInLayout = false;
             cachedStartViewGlobalPosition = getTargetNavigatorCoordinates(startView);
         }
     }
@@ -702,6 +707,7 @@

         if (startView)
         {
+            startView.includeInLayout = startViewProps.includeInLayout;
             startView.visible = startViewProps.visible;
             startView.cacheAsBitmap = startViewProps.cacheAsBitmap;
             startView.opaqueBackground = startViewProps.opaqueBackground;
@@ -823,15 +829,21 @@
      *  An mx_internal method was created to avoid any issues that may arise by
      *  adding this functionality in the Flex 4.5.1 dot release.  Developers
      *  can override this method to do nothing to revert to previous implementations.
+     *  This method was added to support clipping of Views during a view transition.
      */
     // TODO (chiedozi): Eventually get rid of this method
     mx_internal function applyScrollRect():void
     {
-        // The scrollRect is only set if the navigator doesn't have one
+        // When the initial view of the animation has tabBarVisible set to false,
+        // and the end view has it set to true, the height of the navigator
+        // will be altered to fit the actionBar.  Since the startView is not included in
+        // layout, its height will actually be larger than the navigator's.  To prevent
+        // the start view from being incorrectly clipped, the scrollRect's height
+        // is set to the maximum of the navigator's initial and current height.
         if (!navigator.scrollRect)
         {
             navigatorProps.scrollRectSet = true;
-            navigator.scrollRect = new Rectangle(0, 0, navigator.width, navigator.height);
+            navigator.scrollRect = new Rectangle(0, 0, navigator.width, Math.max(navigator.height, navigatorProps.initialHeight));
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17780
Author:   chiedozi@adobe.com
Date:     2010-09-21T07:04:53.589885Z

Log Message:
-----------
Refactored some of the ViewNavigator validation logic to occur at the end of the frame so that it can properly capture property changes for its children that occur during a validation pass.

QE notes:
Doc notes:
Bugs: SDK-27750,SDK-27823,SDK-27898
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration:

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -422,10 +422,10 @@
                 nextViewProps = null;
             }

-            if (actionBar.titleGroup && actionBar.titleGroup.visible)
+            if (actionBar && actionBar.titleGroup && actionBar.titleGroup.visible)
                 actionBar.titleGroup.cacheAsBitmap = false;

-            if (actionBar.titleDisplay
+            if (actionBar && actionBar.titleDisplay
                 && (actionBar.titleDisplay is DisplayObject)
                 && DisplayObject(actionBar.titleDisplay).visible)
                 DisplayObject(actionBar.titleDisplay).cacheAsBitmap = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 16236
Author:   jszeto@adobe.com
Date:     2010-05-20T00:54:54.963159Z

Log Message:
-----------
Form Feature Work

Merging in Form classes from the private sandbox. All spec'ed functionality has been implemented.

QE notes: none
Doc notes: Needs ASDoc comments
Bugs: none
Reviewer: Hans, Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/ErrorIndicator.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.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/spark/defaults.css</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/supportClasses/SkinnableTextBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml" copyfrom-rev="16047" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/StackedFormHeadingSkin.mxml</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormLayout.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/FormLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</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/spark/bundles/en_US/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png" copyfrom-rev="16235" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets/RequiredIndicator.png</path>
<path kind="dir" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/assets" copyfrom-rev="16235" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/assets</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormHeading.as" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml" copyfrom-rev="15875" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FormSkin.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/skins/spark/FocusSkin.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as
@@ -62,9 +62,6 @@
             return NaN;

         var result:Array = parseConstraintExp(str);
-        if (!result || result.length < 1)
-            return NaN;
-
         return result[0];
     }

@@ -72,19 +69,24 @@
      *  @private
      *  Parses a constraint expression, like left="col1:10"
      *  so that an array is returned where the first value is
-     *  the boundary (ie: "col1") and the second value is
-     *  the offset (ie: 10)
+     *  the offset (ie: 10) and the second value is
+     *  the boundary (ie: "col1")
      */
-    private static function parseConstraintExp(val:String):Array
+    public static function parseConstraintExp(val:Object):Array
     {
+        if (val is Number)
+            return [Number(val), null];
+
         if (!val)
-            return null;
+            return [NaN, null];
         // Replace colons with spaces
-        var temp:String = val.replace(/:/g, " ");
-
+        var temp:String = String(val).replace(/:/g, " ");
+
         // Split the string into an array
         var args:Array = temp.split(/\s+/);
-        return args;
+
+        // Return [offset, boundary]
+        return [args[1], args[0]];
     }
 }


Fixed crash in EventDispatcher when adding two listeners of the same type

--- tamarin-central/thane/flash/events/EventDispatcher.as
+++ tamarin-central/thane/flash/events/EventDispatcher.as
@@ -20,7 +20,7 @@
         if (listeners == null) {
             _listenerMap[type] = listeners = new Array();

-        } else if (-1 == _listenerMap.indexOf(listener)) {
+        } else if (-1 != listeners.indexOf(listener)) {
             return;
         }
         listeners.push(listener);
@@ -44,6 +44,11 @@
     public function dispatchEvent (event :Event) :Boolean
     {
         var listeners :Array = _listenerMap[event.type] as Array;
+
+        if (listeners == null) {
+            return true;
+        }
+
         for each (var listener :Function in listeners) {
             try {
                 listener(event);


Resize from computed size, not from already set size.

--- src/org/mangui/jwplayer/media/HLSProvider.as
+++ src/org/mangui/jwplayer/media/HLSProvider.as
@@ -104,7 +104,7 @@
                     _videoWidth = videoWidth;
                     Log.info("video size changed to " + _videoWidth + "/" + _videoHeight);
                     // force resize to adjust video A/R
-                    resize(_width, _height);
+                    resize(videoWidth, _videoHeight);
                 }
             }
         };


remove tag

remove tag

--- frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Language.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/utils/Language.as
@@ -371,7 +371,6 @@
         };

 		/**
-		 * @author lizhi
 		 * @param	arr
 		 * @param	names
 		 * @param	opt


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 6306
Author:   egeorgie@adobe.com
Date:     2009-04-28T01:17:42.359155Z

Log Message:
-----------
Layout PARB changes - rename "layout" package to "layouts"

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer:
tests: checkintests

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/BasicLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/BasicLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutElementHelper.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/RowAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/RowAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/Block.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LinearLayoutVector.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/HorizontalAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalAlign.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/VerticalLayout.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/ColumnAlign.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/ColumnAlign.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/TileOrientation.as" copyfrom-rev="6301" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileOrientation.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -24,7 +24,7 @@
 import spark.components.supportClasses.SkinnableContainerBase;
 import spark.core.IViewport;
 import spark.events.RendererExistenceEvent;
-import spark.layout.supportClasses.LayoutBase;
+import spark.layouts.supportClasses.LayoutBase;

 /**
  *  Dispatched when a renderer is added to the content holder.


Transferred from the Adobe Open Source Subversion Repository

Revision: 5288
Author:   rfrishbe@adobe.com
Date:     2009-03-13T01:44:49.712909Z

Log Message:
-----------
A bunch of small bug fixes.

- DataGroup bug around a visualelement being moved to another datagroup (SDK-19680)

- Added removeAllElements method to IVisualElementContainer (SDK-19424)

- Fix up ASDoc/RTE messages for Group/DataGroup/FxContainer when calling addChild(), removeChild(), etc... (SDK-19582)

- Added an mx_internal method, specifically for automation, so mouse event listeners can get added to a Container without adding a mouseshield and changing the behavior of the component (SDK-18864)

- When both skinClass and skinFactory are set, the skin doesn't get reloaded properly when skinFactory changes when it's a non-ClassFactory (SDK-19450)

- autoLayout and typicalItem properties weren't getting proxied properly on FxDataContainer (SDK-19799)

- Tabbing through two focusable items, when one of those items is partially "offscreen", starts the tab loop with the second item instead of the first (SDK-17283)

- Add Icon file for FxVideoDisplay and VideoElement.

- Also fixed up some ASDoc versioning info for stuff that was added in the Flex 4 timeframe but was actually added to the framework project and not the flex4 project.

- Also renaming Group.setMxmlContent -> Group.setMXMLContent to follow proper naming conventions.

QE Notes: I'll update the bug files and let you know which ones we need to add tests for
Doc Notes: -
Bugs: SDK-19680, SDK-19424, SDK-19582, SDK-18864, SDK-19450, SDK-19799, SDK-17283
Reviewer: Jason reviewed most of the changes, Alex reviewed the FocusManager change
tests: checkintests, mustella Group, DataGroup, FxComponent

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.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/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElementContainer.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/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVideoDisplay.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/VideoElement.png</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/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -643,6 +643,13 @@
                                                             VERTICAL_SCROLL_POSITION_PROPERTY_FLAG, true);
             }

+            if (dataGroupProperties.autoLayout !== undefined)
+            {
+                dataGroup.autoLayout = dataGroupProperties.autoLayout;
+                newDataGroupProperties = BitFlagUtil.update(newDataGroupProperties as uint,
+                                                            AUTO_LAYOUT_PROPERTY_FLAG, true);
+            }
+
             if (dataGroupProperties.dataProvider !== undefined)
             {
                 dataGroup.dataProvider = dataGroupProperties.dataProvider;
@@ -662,6 +669,13 @@
                 dataGroup.itemRendererFunction = dataGroupProperties.itemRendererFunction;
                 newDataGroupProperties = BitFlagUtil.update(newDataGroupProperties as uint,
                                                             ITEM_RENDERER_FUNCTION_PROPERTY_FLAG, true);
+            }
+
+            if (dataGroupProperties.typicalItem !== undefined)
+            {
+                dataGroup.typicalItem = dataGroupProperties.typicalItem;
+                newDataGroupProperties = BitFlagUtil.update(newDataGroupProperties as uint,
+                                                            TYPICAL_ITEM_PROPERTY_FLAG, true);
             }

             dataGroupProperties = newDataGroupProperties;
@@ -722,6 +736,9 @@
             if (BitFlagUtil.isSet(dataGroupProperties as uint, VERTICAL_SCROLL_POSITION_PROPERTY_FLAG))
                 newDataGroupProperties.verticalScrollPosition = dataGroup.verticalScrollPosition;

+            if (BitFlagUtil.isSet(dataGroupProperties as uint, AUTO_LAYOUT_PROPERTY_FLAG))
+                newDataGroupProperties.autoLayout = dataGroup.autoLayout;
+
             if (BitFlagUtil.isSet(dataGroupProperties as uint, DATA_PROVIDER_PROPERTY_FLAG))
                 newDataGroupProperties.dataProvider = dataGroup.dataProvider;

@@ -730,6 +747,9 @@

             if (BitFlagUtil.isSet(dataGroupProperties as uint, ITEM_RENDERER_FUNCTION_PROPERTY_FLAG))
                 newDataGroupProperties.itemRendererFunction = dataGroup.itemRendererFunction;
+
+            if (BitFlagUtil.isSet(dataGroupProperties as uint, TYPICAL_ITEM_PROPERTY_FLAG))
+                newDataGroupProperties.typicalItem = dataGroup.typicalItem;

             dataGroupProperties = newDataGroupProperties;