Transferred from the Adobe Open Source Subversion Repository

Revision: 9177
Author:   jimurphy@adobe.com
Date:     2009-08-07T21:15:07.894169Z

Log Message:
-----------
Merged 3.4 revisions 8630,8660,8683,8735,8750,8753,8755,8757,8759,8764,8776,8798,8821,8824,8837,8862,8911,8946,8949,8962,8965,9026,9109,9131,9138-9139,9147 -> trunk

integrates:
player: 10.0.32.18
AIR kit: 1.5.2.8870 (20090721ap)

checkintests: pass

(btw: I'm not happy about doing this on a Friday PM!)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.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/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.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/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as
@@ -1234,6 +1234,12 @@
         if (attributeValue != null)
         {
             var typeQName:QName = schemaManager.getQNameForPrefixedName(attributeValue, definition);
+
+            // Check if a concrete type was specified in the xml value
+            var xsiType:QName = getXSIType(value);
+            if (xsiType != null)
+                typeQName = xsiType;
+
             content = createContent(typeQName);
             decodeType(typeQName, content, elementQName, value);
             return content;
@@ -2107,11 +2113,25 @@
                         }
                         else
                         {
+                            // TODO: Remove these hacks and establish a convention
+                            // for simple property values on strongly typed values
+
                             // HACK for SDK-14800:
                             // Flex Builder 3 may generate a strongly typed class for simpleContent extensions
                             // or restrictions, which uses the convention of "_" + typeName for the simpleContent
                             // value.
-                            var simplePropName:String = "_" + getUnqualifiedClassName(simpleContent);
+                            var localName:String = getUnqualifiedClassName(simpleContent);
+                            var simplePropName:String = "_" + localName;
+                            if (Object(simpleContent).hasOwnProperty(simplePropName))
+                            {
+                                simpleContent[simplePropName] = value;
+                                return;
+                            }
+
+                            // HACK for SDK-22327:
+                            // Flex Builder 3 may alternatively generate a property
+                            // name with camel case for a simpleType enumeration
+                            simplePropName = localName.charAt(0).toLowerCase() + localName.substr(1);
                             if (Object(simpleContent).hasOwnProperty(simplePropName))
                             {
                                 simpleContent[simplePropName] = value;


Transferred from the Adobe Open Source Subversion Repository

Revision: 6215
Author:   smgilson@adobe.com
Date:     2009-04-23T17:12:57.259499Z

Log Message:
-----------
ASDoc updates for effect classes

Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -16,20 +16,52 @@
 import spark.effects.supportClasses.AnimateTransformInstance;

 /**
- * This class is a utility wrapper around the AnimateTransform effect, exposing the
- * properties that make sense for someone wishing to merely scale a target object
- * in the x and y directions around some transform center.
+ *  The AnimateTransformScale effect scales a target object
+ *  in the x and y directions around the transform center.
+ *  A scale of 2.0 means the object has been magnified by a factor of 2,
+ *  and a scale of 0.5 means the object has been reduced by a factor of 2.
  *
- *
Like all AnimateTransform-based effects, this effect will only work on subclasses
- * of UIComponent and GraphicElement, as these effects depend on specific
- * transform functions in those classes. Also, all of these effects run one single
- * effect instance on any given target at a time, which means that they will
- * share the transform center set by any of the contributing effects.

+ *
Like all AnimateTransform-based effects, this effect will only work on subclasses
+ *  of UIComponent and GraphicElement, as these effects depend on specific
+ *  transform functions in those classes.

+ *
+ *  @mxml
+ *
+ *
The <mx:AnimateTransformScale> tag
+ *  inherits all of the tag attributes of its of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:AnimateTransformScale
+ *    id="ID"
+ *    scaleXBy="val"
+ *    scaleXFrom="val"
+ *    scaleXTo="val"
+ *    scaleYBy="val"
+ *    scaleYFrom="val"
+ *    scaleYTo="val"
+ *   />
+ *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class AnimateTransformScale extends AnimateTransform
 {
     include "../core/Version.as";

+    /**
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function AnimateTransformScale(target:Object=null)
     {
         super(target);
@@ -49,7 +81,12 @@
     [Inspectable(category="General", defaultValue="NaN")]

     /**
-     * The starting scale factor in the y direction.
+     *  The starting scale factor in the y direction.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleYFrom:Number;

@@ -61,6 +98,11 @@

     /**
      * The ending scale factor in the y direction.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleYTo:Number;

@@ -76,6 +118,11 @@
      * of the other from/to values to specify the delta to add to the
      * from value or to derive the from value by subtracting from the
      * to value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleYBy:Number;

@@ -87,6 +134,11 @@

     /**
      * The starting scale factor in the x direction.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleXFrom:Number;

@@ -98,6 +150,11 @@

     /**
      * The ending scale factor in the x direction.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleXTo:Number;

@@ -113,6 +170,11 @@
      * of the other from/to values to specify the delta to add to the
      * from value or to derive the from value by subtracting from the
      * to value.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var scaleXBy:Number;


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.gridClasses
 {


XHR, Flash: Simplify a bit. FormData test is going to pass finally.

--- src/flash/src/com/XMLHttpRequest.as
+++ src/flash/src/com/XMLHttpRequest.as
@@ -377,19 +377,17 @@
 		{
 			var boundary:String = '----moxieboundary' + new Date().getTime(),
 				dashdash:String = '--', crlf:String = '\r\n',
-				tmpBa:ByteArray;
+				tmpBa:ByteArray, param:Array;

 			tmpBa = new ByteArray;

 			request.requestHeaders.push(new URLRequestHeader("Content-Type", 'multipart/form-data; boundary=' + boundary));

-			for (var i:int=0; i < _postData.length; i++) {
-				var name:String = _postData[i][0];
-				var value:String = _postData[i][1];
+			for each (param in _postData) {
 				tmpBa.writeUTFBytes(
 					dashdash + boundary + crlf +
-					'Content-Disposition: form-data; name="' + name + '"' + crlf + crlf +
-					value + crlf
+					'Content-Disposition: form-data; name="' + param[0] + '"' + crlf + crlf +
+					param[1] + crlf
 				);
 			}


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

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

 package spark.components.supportClasses
 {


Map zoom now behaves as it did before when selected aspect ratio
didn't match screen aspect ratio.

Change-Id: Ib56cf21fdc2dee28b74a0ea8760d411a9e85e492

--- WeaveUI/src/weave/visualization/layers/InteractiveVisualization.as
+++ WeaveUI/src/weave/visualization/layers/InteractiveVisualization.as
@@ -553,9 +553,9 @@
 		/**
 		 * This function projects drag start,stop screen coordinates into data coordinates and stores the result in queryBounds.
 		 * @param layer If layer is null, InteractiveVisualization's screen/data bounds will be used.  Otherwise, uses IPlotLayer's bounds.
-		 * @param sameDirection Specify true when computing zoom coordinates.
+		 * @param zooming Specify true when computing zoom coordinates.
 		 */
-		protected function projectDragBoundsToDataQueryBounds(layer:IPlotLayer, sameDirection:Boolean):void
+		protected function projectDragBoundsToDataQueryBounds(layer:IPlotLayer, zooming:Boolean):void
 		{
 			if (layer)
 			{
@@ -582,12 +582,21 @@
 			queryBounds.setMinPoint(localMinPoint);
 			queryBounds.setMaxPoint(localMaxPoint);

-			if (sameDirection)
-			{
+			if (zooming)
+			{
+				// swap min,max coordinates if necessary
 				if (queryBounds.getXDirection() != tempDataBounds.getXDirection())
 					queryBounds.setXRange(queryBounds.getXMax(), queryBounds.getXMin());
 				if (queryBounds.getYDirection() != tempDataBounds.getYDirection())
 					queryBounds.setYRange(queryBounds.getYMax(), queryBounds.getYMin());
+
+				// expand rectangle if necessary to match screen aspect ratio
+				var xScale:Number = queryBounds.getXCoverage() / tempScreenBounds.getXCoverage();
+				var yScale:Number = queryBounds.getYCoverage() / tempScreenBounds.getYCoverage();
+				if (xScale > yScale)
+					queryBounds.setHeight( queryBounds.getYDirection() * tempScreenBounds.getYCoverage() * xScale );
+				if (yScale > xScale)
+					queryBounds.setWidth( queryBounds.getXDirection() * tempScreenBounds.getXCoverage() * yScale );
 			}
 		}

@@ -628,7 +637,7 @@

 				// when using the selection layer, clear the probe
 				setProbeKeys(layer, []);
-				projectDragBoundsToDataQueryBounds(layer, true);
+				projectDragBoundsToDataQueryBounds(layer, false);

 				// calculate minImportance


Transferred from the Adobe Open Source Subversion Repository

Revision: 19989
Author:   klin@adobe.com
Date:     2011-01-27T23:32:03.687643Z

Log Message:
-----------
Revert 19979. Need to look into some breaking effects tests.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/TransformUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -57,7 +57,6 @@
 import mx.managers.ISystemManager;
 import mx.managers.IToolTipManagerClient;
 import mx.utils.MatrixUtil;
-import mx.utils.TransformUtil;

 use namespace mx_internal;

@@ -3421,18 +3420,20 @@

         _transform = value;
     }
-
-    /**
-     *  A utility method to update the rotation, scale, and translation of the
-     *  transform while keeping a particular point, specified in the component's
-     *  own coordinate space, fixed in the parent's coordinate space.
-     *  This function will assign the rotation, scale, and translation values
-     *  provided, then update the x/y/z properties as necessary to keep
-     *  the transform center fixed.
-     *  @param scale the new values for the scale of the transform
-     *  @param rotation the new values for the rotation of the transform
-     *  @param translation the new values for the translation of the transform
-     *  @param transformCenter the point, in the component's own coordinates, to keep fixed relative to its parent.
+
+    private static var xformPt:Point;
+
+    /**
+     * A utility method to update the rotation, scale, and translation of the
+     * transform while keeping a particular point, specified in the component's
+     * own coordinate space, fixed in the parent's coordinate space.
+     * This function will assign the rotation, scale, and translation values
+     * provided, then update the x/y/z properties as necessary to keep
+     * the transform center fixed.
+     * @param scale the new values for the scale of the transform
+     * @param rotation the new values for the rotation of the transform
+     * @param translation the new values for the translation of the transform
+     * @param transformCenter the point, in the component's own coordinates, to keep fixed relative to its parent.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -3457,43 +3458,93 @@
             _includeInLayout = false;
         }

-        TransformUtil.transformAround(this,
-                                      transformCenter,
-                                      scale,
-                                      rotation,
-                                      translation,
-                                      postLayoutScale,
-                                      postLayoutRotation,
-                                      postLayoutTranslation,
-                                      _layoutFeatures,
-                                      initAdvancedLayoutFeatures);
-
+        if (_layoutFeatures == null)
+        {
+            // TODO (chaase): should provide a way to return to having no
+            // layoutFeatures if we call this later with a more trivial
+            // situation
+            var needAdvancedLayout:Boolean =
+                (scale != null && ((!isNaN(scale.x) && scale.x != 1) ||
+                    (!isNaN(scale.y) && scale.y != 1) ||
+                    (!isNaN(scale.z) && scale.z != 1))) ||
+                (rotation != null && ((!isNaN(rotation.x) && rotation.x != 0) ||
+                    (!isNaN(rotation.y) && rotation.y != 0) ||
+                    (!isNaN(rotation.z) && rotation.z != 0))) ||
+                (translation != null && translation.z != 0 && !isNaN(translation.z)) ||
+                postLayoutScale != null ||
+                postLayoutRotation != null ||
+                postLayoutTranslation != null;
+            if (needAdvancedLayout)
+                initAdvancedLayoutFeatures();
+        }
         if (_layoutFeatures != null)
         {
+            _layoutFeatures.transformAround(transformCenter, scale, rotation,
+                translation, postLayoutScale, postLayoutRotation,
+                postLayoutTranslation);
             invalidateTransform();

             // Will not invalidate parent if we have set _includeInLayout to false
             // in the beginning of the method
             invalidateParentSizeAndDisplayList();
         }
+        else
+        {
+            if (rotation != null && !isNaN(rotation.z))
+                this.rotation = rotation.z;
+            if (scale != null)
+            {
+                scaleX = scale.x;
+                scaleY = scale.y;
+            }
+            if (transformCenter == null)
+            {
+                if (translation != null)
+                {
+                    x = translation.x;
+                    y = translation.y;
+                }
+            }
+            else
+            {
+                if (xformPt == null)
+                    xformPt = new Point();
+                xformPt.x = transformCenter.x;
+                xformPt.y = transformCenter.y;
+                var postXFormPoint:Point =
+                    transform.matrix.transformPoint(xformPt);
+                if (translation != null)
+                {
+                    x += translation.x - postXFormPoint.x;
+                    y += translation.y - postXFormPoint.y;
+                }
+                else
+                {
+                    var xformedPt:Point =
+                        transform.matrix.transformPoint(xformPt);
+                    x += xformedPt.x - postXFormPoint.x;
+                    y += xformedPt.y - postXFormPoint.y;
+                }
+            }
+        }

         if (!invalidateLayout)
             _includeInLayout = oldIncludeInLayout;
     }

     /**
-     *  A utility method to transform a point specified in the local
-     *  coordinates of this object to its location in the object's parent's
-     *  coordinates. The pre-layout and post-layout result will be set on
-     *  the position and postLayoutPosition
-     *  parameters, if they are non-null.
-     *
-     *  @param localPosition The point to be transformed, specified in the
-     *  local coordinates of the object.
-     *  @position A Vector3D point that will hold the pre-layout
-     *  result. If null, the parameter is ignored.
-     *  @postLayoutPosition A Vector3D point that will hold the post-layout
-     *  result. If null, the parameter is ignored.
+     * A utility method to transform a point specified in the local
+     * coordinates of this object to its location in the object's parent's
+     * coordinates. The pre-layout and post-layout result will be set on
+     * the position and postLayoutPosition
+     * parameters, if they are non-null.
+     *
+     * @param localPosition The point to be transformed, specified in the
+     * local coordinates of the object.
+     * @position A Vector3D point that will hold the pre-layout
+     * result. If null, the parameter is ignored.
+     * @postLayoutPosition A Vector3D point that will hold the post-layout
+     * result. If null, the parameter is ignored.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -3504,11 +3555,34 @@
                                            position:Vector3D,
                                            postLayoutPosition:Vector3D):void
     {
-        TransformUtil.transformPointToParent(this,
-                                             localPosition,
-                                             position,
-                                             postLayoutPosition,
-                                             _layoutFeatures);
+        if (_layoutFeatures != null)
+        {
+            _layoutFeatures.transformPointToParent(true, localPosition,
+                position, postLayoutPosition);
+        }
+        else
+        {
+            if (xformPt == null)
+                xformPt = new Point();
+            if (localPosition)
+            {
+                xformPt.x = localPosition.x;
+                xformPt.y = localPosition.y;
+            }
+            var tmp:Point = transform.matrix.transformPoint(xformPt);
+            if (position != null)
+            {
+                position.x = tmp.x;
+                position.y = tmp.y;
+                position.z = 0;
+            }
+            if (postLayoutPosition != null)
+            {
+                postLayoutPosition.x = tmp.x;
+                postLayoutPosition.y = tmp.y;
+                postLayoutPosition.z = 0;
+            }
+        }
     }

     /**
@@ -3561,7 +3635,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    private function initAdvancedLayoutFeatures():AdvancedLayoutFeatures
+    private function initAdvancedLayoutFeatures():void
     {
         var features:AdvancedLayoutFeatures = new AdvancedLayoutFeatures();

@@ -3583,7 +3657,6 @@
         _layoutFeatures = features;

         invalidateTransform();
-        return features;
     }

     private function invalidateTransform():void


Transferred from the Adobe Open Source Subversion Repository

Revision: 12796
Author:   cframpto@adobe.com
Date:     2009-12-10T18:05:16.265768Z

Log Message:
-----------
Because TLF does not have the concept of "auto" fontLookup like we have at the Flex-level, we have had to rework the meaning of the fontLookup attribute so it is possible to have spans with device text in a component whose fontLookup is "embeddedCFF" without requiring fontLookup "device" to be explicitly specified for those spans.

For Spark text components, the default fontLookup has been changed from "auto" to "embeddedCFF".  The default fontFamily is "Arial".

If the component level fontLookup either defaults to "embeddedCFF" or is explicitly set to "embeddedCFF", for each element that is not explicitly set to fontLookup "device", it will first look for the embedded font, and failing that, will fail back to the device font.  All fonts for a given text component must be in the same swf context.

If the component-level fontLookup is "device" or the component-level fontFamily is not found in the swf context, the font lookup for all elements in the component will revert to "device".

If the player doesn't find the device font it will fallback to one of the builtin default fonts.

QE notes: probably need some new mustella tests to cover all the cases - 5 RichText truncation tests fail but I'm not sure this change has anything to do with that
Doc notes:
Bugs: SDK-24470
Reviewer: Gordon
Tests run: checkintests, TextArea, Label, RichText
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/utils/TextUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</path>

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

--- frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
+++ frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as
@@ -346,6 +346,24 @@
 		}
 	}

+    /**
+     *  Returns true if the embedded font with the given characteristics is
+     *  in the moduleFactory, otherwise returns false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function isFontRegistered(font:EmbeddedFont,
+                                     moduleFactory:IFlexModuleFactory):Boolean
+    {
+        var fontKey:String = createFontKey(font);
+        var fontDictionary:Dictionary = fonts[fontKey];
+
+        return fontDictionary && fontDictionary[moduleFactory] == 1;
+    }
+
 	/**
      *  @inheritDoc
 	 *


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/accessibility/RadioButtonAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/RadioButtonAccImpl.as
@@ -12,6 +12,7 @@
 package mx.accessibility
 {

+import mx.accessibility.AccConst;
 import mx.controls.RadioButton;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -91,7 +92,7 @@
 	{
 		super(master);

-		role = 0x2D; // ROLE_SYSTEM_RADIOBUTTON
+		role = AccConst.ROLE_SYSTEM_RADIOBUTTON;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 22217
Author:   mhorn@adobe.com
Date:     2011-08-25T18:07:03.696931Z

Log Message:
-----------
minor asdoc change

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/BorderContainer.as
+++ frameworks/projects/spark/src/spark/components/BorderContainer.as
@@ -156,7 +156,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Basics of mobile skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 18323
Author:   smgilson@adobe.com
Date:     2010-10-26T17:50:12.524532Z

Log Message:
-----------
Fix invalid HTML in ASDoc comments for the [DiscouragedForProfile] metadata tag

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -40,7 +40,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Spark Skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


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

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

 package spark.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18200
Author:   deeptika@adobe.com
Date:     2010-10-19T08:38:49.688818Z

Log Message:
-----------
Datavisualization.swc refactoring - 1

Rewritten Legend component to extend UIComponent instead of Container
Added style "labelClass" to AxisRenderer, ColumnChart, ColumnSeries, BarChart and BarSeries.
Its default value is spark.components.Label (mx.controls.Label if former is not found in the application domain)

QE notes: Legend, Column and Bar chart labeling, Axis labels needs good amount of testing. Mustella tests would fail for labels (a shift in position of labels might be there).

Doc notes: A new style "labelClass" is added for classes AxisRenderer, ColumnChart, ColumnSeries, BarChart and BarSeries

Bugs:
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/BarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/BarSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/items/BarSeriesItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/AxisRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/Legend.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/ColumnChart.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/ColumnSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/series/items/ColumnSeriesItem.as</path>

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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LegendAutomationImpl.as
@@ -17,7 +17,7 @@

 	import mx.automation.Automation;
 	import mx.automation.IAutomationObjectHelper;
-	import mx.automation.delegates.core.ContainerAutomationImpl;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
 	import mx.charts.Legend;
 	import mx.charts.events.LegendMouseEvent;

@@ -35,7 +35,7 @@
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	public class LegendAutomationImpl extends ContainerAutomationImpl
+	public class LegendAutomationImpl extends UIComponentAutomationImpl
 	{
 		include "../../../core/Version.as";


remove dead code

remove dead code

--- src/aerys/minko/scene/controller/mesh/MeshController.as
+++ src/aerys/minko/scene/controller/mesh/MeshController.as
@@ -72,8 +72,6 @@
             var transformController : TransformController = target.scene.getControllersByType(TransformController)[0]
                 as TransformController;

-//            transformController.setSharedLocalToWorldTransformReference(target, _localToWorld);
-//            transformController.setSharedWorldToLocalTransformReference(target, _worldToLocal);
             _localToWorld = transformController.getLocalToWorldTransform(target, true);
             _worldToLocal = transformController.getWorldToLocalTransform(target, true);
             transformController.synchronizeTransforms(target, true);


I see that it was not a desire for verbosity but rather a limitation of Flash
that inspired the previous structure.

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

--- src/as/com/threerings/ezgame/client/EZGameController.as
+++ src/as/com/threerings/ezgame/client/EZGameController.as
@@ -126,7 +126,16 @@
     // from PlaceController
     override protected function createPlaceView (ctx :CrowdContext) :PlaceView
     {
-        return _panel = new EZGamePanel(ctx, this);
+        return new EZGamePanel(ctx, this);
+    }
+
+    // from PlaceController
+    override protected function didInit () :void
+    {
+        super.didInit();
+
+        // we can't just assign _panel in createPlaceView() for some exciting reason
+        _panel = (_view as EZGamePanel);
     }

     protected var _ezObj :EZGameObject;


fix coding style

fix coding style

--- src/aerys/minko/scene/node/light/PointLight.as
+++ src/aerys/minko/scene/node/light/PointLight.as
@@ -169,7 +169,7 @@
 								   shadowMapZNear		: Number	= 0.1,
 								   shadowMapZFar		: Number	= 1000)
 		{
-			_shadowMapSize				= shadowMapSize;
+			_shadowMapSize	= shadowMapSize;

 			super(
 				new PointLightController(),
@@ -184,7 +184,7 @@
 			this.shininess				= shininess;
 			this.attenuationDistance	= attenuationDistance;
 			this.shadowZNear			= shadowMapZNear;
-			this.shadowZFar			= shadowMapZFar;
+			this.shadowZFar		    	= shadowMapZFar;

 			if ([ShadowMappingType.NONE,
 				 ShadowMappingType.DUAL_PARABOLOID,


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

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

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23032
Author:   aaltman@adobe.com
Date:     2011-10-17T21:01:46.021689Z

Log Message:
-----------
Make sure complete event listener is registered before any property changes that may generate a complete event

QE notes: None
Doc notes: None
Bugs: SDK-31879
Reviewer: aharui
Tests run: checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -2176,7 +2176,7 @@
                 {
                     if (stageText.viewPort.width != globalRect.width || stageText.viewPort.height != globalRect.height)
                         completeEventPending = true;
-
+
                     stageText.viewPort = globalRect;
                 }

@@ -2398,7 +2398,6 @@
         if (stageText != null)
         {
             stageText.addEventListener(Event.CHANGE, stageText_changeHandler);
-            stageText.addEventListener(Event.COMPLETE, stageText_completeHandler);
             stageText.addEventListener(FocusEvent.FOCUS_IN, stageText_focusInHandler);
             stageText.addEventListener(FocusEvent.FOCUS_OUT, stageText_focusOutHandler);
             stageText.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, stageText_softKeyboardHandler);
@@ -2816,6 +2815,12 @@
         // Don't let the StageText show up until we've calculated its correct
         // visibility.
         stageText.visible = false;
+        // The "complete" handler must be registered before changes to the stage
+        // or viewPort. StageText on iOS dispatches complete events during the
+        // setting of these properties, unlike Android which does so some time
+        // afterward.
+        stageText.addEventListener(Event.COMPLETE, stageText_completeHandler);
+
         stageText.stage = stage;
         // Setting stageText.stage requires a complete event for bitmap swapping
         completeEventPending = true;
@@ -3023,7 +3028,7 @@

                 result = singleLinePool.pop();
             }
-
+
             // The first time a StageText is acquired, it's guaranteed to have been
             // newly-created. Take that opportunity to stash away the StageText's
             // defaults for properties that StyleableStageText may not necessarily


fix : the main class need to extend Sprite

--- ext/template/project/src/template.as
+++ ext/template/project/src/template.as
@@ -1,6 +1,8 @@
-package {
+package{

-	public class @@project_name@@{
+	import flash.display.Sprite;
+
+	public class @@project_name@@ extends Sprite{

 		public function @@project_name@@(){


Improved assertThrows() error message to state the expected error type.

--- as3/src/asunit/framework/Assert.as
+++ as3/src/asunit/framework/Assert.as
@@ -100,11 +100,12 @@
         static public function assertThrows(errorType:Class, block:Function):void {
             try {
                 block.call();
-                throw new AssertionFailedError("assertThrows block did not throw an expected exception");
+                throw new AssertionFailedError("expected error type:<" + getQualifiedClassName(errorType) + "> but none was thrown." );
             }
             catch(e:Error) {
                 if(!(e is errorType)) {
-                    throw new AssertionFailedError("assertThrows did not throw the expected error type, instead threw: " + getQualifiedClassName(e));
+                    throw new AssertionFailedError("expected error type:<" + getQualifiedClassName(errorType)
+						+"> but was:<" + getQualifiedClassName(e) + ">");
                 }
             }
         }


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

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

 package mx.collections
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7929
Author:   hmuller@adobe.com
Date:     2009-06-17T23:06:42.698986Z

Log Message:
-----------
Range et al PARB changes, Opus #1.   In addition to the changes listed below, updated
flex4tests, notably ScrollBarFrenzy, for the new API.   These changes will break
performance test suite (TwoThumbSlider.as).

Range
  valueInterval => snapInterval
  step() => changeValueByStep()
  remove protected nearestValidSize() method

Slider
  Add protected pendingValue property
  Remove protected pointClickToPosition() method

TrackBase
  Add two new protected methods: updateSkinDisplayList(), pointToValue()
  Remove the following protected properties: get trackSize:Number, thumbSize:Number
  Remove the following protected methods:
      clickOffset()
      positionToValue()
      valueToPosition()
      pointToPosition()
      positionThumb()
      sizeThumb()
      calculateThumbSize()
      calculateNewValue()

ScrollBar
  page() => changeValueByPage()

Spinner
  valueWrap => allowValueWrap

NumericStepper
  displayFormatFunction => valueFormatFunction
  extractValueFunction => valueParseFunction
  commitTextInput => make private

QE Notes: Most Mustella tests passed after the protected API changes but prior to the renames.
Doc Notes:
Bugs:
Reviewer: Jason, Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/ScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/SkinTest.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/testWheel.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/ScrollbarFrenzy.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/components/CircularScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarSkin.mxml</path>

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

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

 import spark.components.supportClasses.Slider;
-import mx.core.ILayoutElement;

 //--------------------------------------
 //  Other metadata
@@ -61,100 +60,37 @@

     //--------------------------------------------------------------------------
     //
-    //  Overridden properties: Slider
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  The size of the track, which equals the width of the track.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override protected function get trackSize():Number
-    {
-        return track ? track.getLayoutBoundsWidth() : 0;
-    }
-
-    /**
-     *  The size of the thumb button, which equals the height of the thumb button.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override protected function calculateThumbSize():Number
-    {
-        return thumb ? thumb.getLayoutBoundsWidth() : 0;
-    }
-
-    //--------------------------------------------------------------------------
-    //
     // Methods
     //
     //--------------------------------------------------------------------------

     /**
-     *  Position the thumb button based on the specified thumb position,
-     *  relative to the current X location of the track
-     *  in the control.
-     *
-     *  @param thumbPos A number representing the new position of
-     *  the thumb button in the control.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
-    override protected function positionThumb(thumbPos:Number):void
+    override protected function pointToValue(x:Number, y:Number):Number
     {
-        if (thumb)
-        {
-            var trackPos:Number = track.getLayoutBoundsX();
-            thumb.setLayoutBoundsPosition(Math.round(trackPos + thumbPos),
-                                          thumb.getLayoutBoundsY());
-        }
+        if (!thumb || !track)
+            return 0;
+
+        var range:Number = maximum - minimum;
+        var thumbRange:Number = track.getLayoutBoundsWidth() - thumb.getLayoutBoundsWidth();
+        return minimum + ((thumbRange != 0) ? (x / thumbRange) * range : 0);
     }

     /**
-     *  Return the position of the thumb button on a HSlider component.
-     *  The position of the thumb on an HSlider is equal to the
-     *  given localX parameter.
-     *
-     *  @param localX The x position relative to the track.
-     *
-     *  @param localY The y position relative to the track.
-     *
-     *  @return The position of the thumb button.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
-    override protected function pointToPosition(localX:Number,
-                                                localY:Number):Number
+    override protected function updateSkinDisplayList():void
     {
-        return localX;
+        if (!thumb || !track)
+            return;
+
+        var thumbRange:Number = track.getLayoutBoundsWidth() - thumb.getLayoutBoundsWidth();
+        var range:Number = maximum - minimum;
+        var thumbPos:Number = (range > 0) ? ((pendingValue - minimum) / range) * thumbRange : 0;
+        thumb.setLayoutBoundsPosition(Math.round(track.getLayoutBoundsX() + thumbPos), thumb.getLayoutBoundsY());
     }
-
-    /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    override protected function pointClickToPosition(localX:Number,
-                                                     localY:Number):Number
-    {
-        return pointToPosition(localX, localY) - thumb.getLayoutBoundsWidth() / 2;
-    }
+

     /**
      *  @private
@@ -163,9 +99,9 @@
     {
     	var tipAsDisplayObject:DisplayObject = dataTipInstance as DisplayObject;

-    	if (tipAsDisplayObject)
+    	if (tipAsDisplayObject && thumb)
     	{
-			var relX:Number = thumb.x - (tipAsDisplayObject.width - thumbSize) / 2;
+			var relX:Number = thumb.x - (tipAsDisplayObject.width - thumb.width) / 2;
 	        var o:Point = new Point(relX, dataTipOriginalPosition.y);
 	        var r:Point = localToGlobal(o);


Transferred from the Adobe Open Source Subversion Repository

Revision: 18191
Author:   cframpto@adobe.com
Date:     2010-10-18T15:59:11.231891Z

Log Message:
-----------
Fix TileLayout navigation with arrow keys - special case handling for last row if the last row isn't full

QE notes:
Doc notes:
Bugs: SDK-25433
Reviewer: Kevin
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -1668,15 +1668,18 @@
             // Make sure we don't return an index for an empty space in the last row.
             // newRow is guaranteed to be greater than zero:

-            // Step 1: We can end up at the empty space in the last row if we moved right from
-            // the last item.
-            if (currentIndex == maxIndex && newColumn > currentColumn)
-                newColumn = currentColumn;
-
-            // Step 2: We can end up at the empty space in the last row if we moved down from
-            // the previous row.
-            if (newRow == rowCount - 1 && newColumn > maxIndex - columnCount * (rowCount - 1))
-                newRow--;
+            if (newRow == rowCount - 1)
+            {
+                // Step 1: We can end up at the empty space in the last row if we moved right from
+                // the last item.
+                if (currentIndex == maxIndex && newColumn > currentColumn)
+                    newColumn = currentColumn;
+
+                // Step 2: We can end up at the empty space in the last row if we moved down from
+                // the previous row.
+                if (newColumn > maxIndex - columnCount * (rowCount - 1))
+                    newRow--;
+            }

             return newRow * columnCount + newColumn;
         }


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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.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 spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17332
Author:   jszeto@adobe.com
Date:     2010-08-16T18:34:20.076604Z

Log Message:
-----------
Mobile SDK Button Skins

Adding down states to CheckBox and optimizing the drawing logic in ToggleButtonSkinBase.

QE notes: new CheckBox down states
Doc notes: none
Bugs: none
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/Checkbox_bg_selected.fxg" copyfrom-rev="17284" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBox_upSelected.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/Checkbox_bg_normal.fxg</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/Checkbox_bg_selected.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBox_downSelected.fxg</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/Checkbox_bg_normal.fxg" copyfrom-rev="17284" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBox_up.fxg</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/mobiletheme/src/spark/skins/mobile/ToggleButtonSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBox_down.fxg</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@1265937 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as
@@ -39,14 +39,24 @@
     private var currentStateIconClass:Class;

     /**
-     *  The Class used to create the icon in the unselected state
+     *  The Class used to create the icon in the up state
      */
-    protected var backgroundClass:Class;
+    protected var upIconClass:Class;

     /**
-     *  The Class used to create the icon in the selected state
+     *  The Class used to create the icon in the selected up state
      */
-    protected var selectedBackgroundClass:Class;
+    protected var upSelectedIconClass:Class;
+
+    /**
+     *  The Class used to create the icon in the down state
+     */
+    protected var downIconClass:Class;
+
+    /**
+     *  The Class used to create the icon in the selected down state
+     */
+    protected var downSelectedIconClass:Class;

     //--------------------------------------------------------------------------
     //
@@ -59,13 +69,31 @@
      */
     override protected function commitCurrentState():void
     {
+        super.commitCurrentState();
+
         // Check for selected or not selected
         if (currentState != null)
         {
-            changeFXGSkin = true;
-            invalidateProperties();
-            invalidateSize();
-            invalidateDisplayList();
+            if (currentState == "up")
+                currentStateIconClass = upIconClass;
+            else if (currentState == "down")
+                currentStateIconClass = downIconClass;
+            else if (currentState == "upAndSelected")
+                currentStateIconClass = upSelectedIconClass;
+            else if (currentState == "downAndSelected")
+                currentStateIconClass = downSelectedIconClass;
+            else if (currentState.indexOf("AndSelected") != -1)
+                currentStateIconClass = upSelectedIconClass;
+            else
+                currentStateIconClass = upIconClass;
+
+            if (!(iconDisplay is currentStateIconClass))
+            {
+                changeFXGSkin = true;
+                invalidateProperties();
+                invalidateSize();
+                invalidateDisplayList();
+            }
         }
     }

@@ -76,26 +104,20 @@
     {
         super.commitProperties();

-        // TODO (jszeto) needs optimization
         if (changeFXGSkin)
         {
             changeFXGSkin = false;

-            // Remove iconDisplay
-            if (iconDisplay != null && iconDisplay.parent != null)
-                removeChild(iconDisplay);
-
-            // TODO (jszeto) add null checks for the backgroundClasses
-            if (currentState.indexOf("AndSelected") != -1)
+            if (currentStateIconClass)
             {
-                iconDisplay = new selectedBackgroundClass();
+                // Remove iconDisplay
+                if (iconDisplay != null)
+                    removeChild(iconDisplay);
+
+                iconDisplay = new currentStateIconClass();
+
+                addChild(iconDisplay);
             }
-            else
-            {
-                iconDisplay = new backgroundClass();
-            }
-
-            addChild(iconDisplay);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4081
Author:   smgilson@adobe.com
Date:     2008-11-12T14:50:02.708556Z

Log Message:
-----------
Remove @private from an interface and class

QE Notes: None
Doc Notes: None
Bugs:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBaseContentHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/ISmallMessage.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/messages/ISmallMessage.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/ISmallMessage.as
@@ -15,7 +15,6 @@
 /**
  * A marker interface that is used to indicate that an IMessage has an
  * alternative smaller form for serialization.
- * @private
  */
 public interface ISmallMessage extends IMessage
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.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/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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

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

+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
@@ -528,12 +530,6 @@

     /**
      *  @private
-     *  Previous imeMode.
-     */
-    private var prevMode:String = IMEConversionMode.UNKNOWN;
-
-    /**
-     *  @private
      */
     private var errorCaught:Boolean = false;

@@ -1004,6 +1000,7 @@

         _textContainerManager.editingMode = value;
     }
+

     //----------------------------------
     //  heightInLines
@@ -1589,6 +1586,38 @@
     //  Methods: UIComponent
     //
     //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function parentChanged(p:DisplayObjectContainer):void
+    {
+        if (focusManager)
+        {
+            focusManager.removeEventListener(FlexEvent.FLEX_WINDOW_ACTIVATE,
+                _textContainerManager.activateHandler)
+            focusManager.removeEventListener(FlexEvent.FLEX_WINDOW_DEACTIVATE,
+                _textContainerManager.deactivateHandler)
+        }
+
+        super.parentChanged(p);
+
+        if (focusManager)
+        {
+            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_ACTIVATE,
+                _textContainerManager.activateHandler, false, 0, true)
+            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_DEACTIVATE,
+                _textContainerManager.deactivateHandler, false, 0, true)
+        }
+        else
+        {
+            // if no focusmanager yet, add capture phase to detect when it
+            // gets added
+            systemManager.getSandboxRoot().addEventListener(FlexEvent.ADD_FOCUS_MANAGER,
+                    addFocusManagerHandler, true, 0, true)
+        }
+
+    }

     /**
      *  @private
@@ -3049,6 +3078,27 @@

     /**
      *  @private
+     *  Called when a FocusManager is added to an IFocusManagerContainer.
+     *  We need to check that it belongs
+     *  to us before listening to it.
+     *  Because we listen to sandboxroot, you cannot assume the type of
+     *  the event.
+     */
+    private function addFocusManagerHandler(event:Event):void
+    {
+        if (focusManager == event.target["focusManager"])
+        {
+            systemManager.getSandboxRoot().removeEventListener(FlexEvent.ADD_FOCUS_MANAGER,
+                    addFocusManagerHandler, true)
+            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_ACTIVATE,
+                _textContainerManager.activateHandler, false, 0, true)
+            focusManager.addEventListener(FlexEvent.FLEX_WINDOW_DEACTIVATE,
+                _textContainerManager.deactivateHandler, false, 0, true)
+        }
+    }
+
+    /**
+     *  @private
      *  RichEditableTextContainerManager overrides focusInHandler and calls
      *  this before executing it's own focusInHandler.
      *
@@ -3069,8 +3119,6 @@

             if (_imeMode != null)
             {
-                IME.enabled = true;
-                prevMode = IME.conversionMode;
                 // When IME.conversionMode is unknown it cannot be
                 // set to anything other than unknown(English)
                 try
@@ -3115,16 +3163,6 @@
         if (focusManager)
             focusManager.defaultButtonEnabled = true;

-        if (_imeMode != null && editingMode == EditingMode.READ_WRITE)
-        {
-            // When IME.conversionMode is unknown it cannot be
-            // set to anything other than unknown(English)
-            // and when known it cannot be set to unknown
-            if (IME.conversionMode != IMEConversionMode.UNKNOWN
-                && prevMode != IMEConversionMode.UNKNOWN)
-                IME.conversionMode = prevMode;
-            IME.enabled = false;
-        }
     }

     /**
@@ -3508,6 +3546,7 @@
             invalidateDisplayList();
         }
     }
+
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6191
Author:   aharui@adobe.com
Date:     2009-04-22T05:02:29.650316Z

Log Message:
-----------
Fix more bugs related to embedded fonts and TLF, including TLF in an RSL.

Temporary fix to allow RichText to be parented by non-UIComponents so the FXG compiler work can continue.  However, a solution for handling embedded fonts in that configuration still needs to be determined.

QE Notes: None
Doc Notes: None
Bugs: SDK-19631
Reviewer: gordon
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -309,6 +309,18 @@

     /**
      *  @private
+     *  If the embeddedFontContext changed
+     */
+    private var embeddedFontContextChanged:Boolean;
+
+    /**
+     *  @private
+     *  True if we need to compute the fontLookup
+     */
+    private var autoFontLookup:Boolean = false;
+
+    /**
+     *  @private
      */
     private var textFlow:TextFlow;

@@ -1424,13 +1436,19 @@
             // Create/modify TextFlow for the current text.
             _content = textFlow = createTextFlow();

-            // Tell it where to create its TextLines.
-            if (textChanged || contentChanged)
-            {
+            if (embeddedFontContextChanged)
+            {
+                embeddedFontContextChanged = false;
+
                 if (embeddedFontContext)
                     textFlow.flowComposer.textLineCreator = ITextLineCreator(embeddedFontContext);
                 else
                     textFlow.flowComposer.textLineCreator = new TextLineCreator();
+            }
+
+            // Tell it where to create its TextLines.
+            if (textChanged || contentChanged)
+            {
                 textFlow.flowComposer.addControllerAt(
                     new DisplayObjectContainerController(this), 0);
                 // Set scroll policy appropriately.
@@ -1936,33 +1954,18 @@
         p.replaceChildren(0, 0, span);
         return textFlow;
     }
-
-    /**
-     *  @private
-     */
-    private function setHostTextLayoutFormat(styleProp:String):void
-    {
-        var checkForEmbed:Boolean = false;
-
-        if (styleProp in hostTextLayoutFormat)
-        {
-            var value:* = getStyle(styleProp);
-
-            if (styleProp == "tabStops" && value === undefined)
-                value = [];
-
-            if (styleProp == "fontLookup" && value == "auto")
-                checkForEmbed = true;
-            else
-                hostTextLayoutFormat[styleProp] = value;
-        }
-        if (checkForEmbed)
-        {
-            var embeddedFont:EmbeddedFont = getEmbeddedFont(
-                hostTextLayoutFormat.fontFamily,
-                hostTextLayoutFormat.fontWeight == "bold",
-                hostTextLayoutFormat.fontStyle == "italic");
-
+
+    private function checkEmbeddedFontContext():void
+    {
+        var embeddedFont:EmbeddedFont = getEmbeddedFont(
+            hostTextLayoutFormat.fontFamily,
+            hostTextLayoutFormat.fontWeight == "bold",
+            hostTextLayoutFormat.fontStyle == "italic");
+
+        var oldEmbeddedFontContext:IFlexModuleFactory = embeddedFontContext;
+
+        if (autoFontLookup)
+        {
             embeddedFontContext =
                 embeddedFontRegistry.getAssociatedModuleFactory(
                     embeddedFont, moduleFactory);
@@ -1985,6 +1988,10 @@
                 {
                     hostTextLayoutFormat.fontLookup = FontLookup.EMBEDDED_CFF;
                 }
+                else
+                {
+                    hostTextLayoutFormat.fontLookup = FontLookup.DEVICE;
+                }
             }
         }
         else
@@ -1994,6 +2001,36 @@
             else
                 embeddedFontContext = null;
         }
+        // force us to re-create the textline factory
+        if (oldEmbeddedFontContext != embeddedFontContext)
+            embeddedFontContextChanged = true;
+    }
+
+    /**
+     *  @private
+     */
+    private function setHostTextLayoutFormat(styleProp:String):void
+    {
+        if (styleProp in hostTextLayoutFormat)
+        {
+            var value:* = getStyle(styleProp);
+
+            if (styleProp == "tabStops" && value === undefined)
+                value = [];
+
+            if (styleProp == "fontLookup")
+            {
+                if (value == "auto")
+                    autoFontLookup = true;
+                else
+                {
+                    autoFontLookup = false;
+                    hostTextLayoutFormat[styleProp] = value;
+                }
+            }
+            else
+                hostTextLayoutFormat[styleProp] = value;
+        }
     }

     /**
@@ -2167,6 +2204,7 @@
             hostTextLayoutFormatInvalid = false;
         }

+        checkEmbeddedFontContext();
         textFlow.hostFormat = new TextLayoutFormat(hostTextLayoutFormat);

         return textFlow;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7543
Author:   gosmith@adobe.com
Date:     2009-06-04T07:41:31.426059Z

Log Message:
-----------
Various changes to obscure Spark text styles.

The default for the 'dominantBaseline' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "roman". In TLF, a value of "auto" means "ideographicCenter" if the 'locale' is Japanese (i.e., starts with "ja") or Chinese (i.e., starts with "zh"), and "roman" otherwise. SimpleText now implements this same logic.

The default for the 'firstBaselineOffset' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "ascent". SimpleText does not support 'firstBaselineOffset'.

The default for the 'justificationRule' style, as set in the global selector, is now "auto" as it is now in TLF, instead of "space". In TLF, a value of "auto" means "eastAsian" if the 'locale' is Japanese or Chinese, and "space" otherwise. SimpleText now implements this same logic.

The default for the 'justificationStyle' style, as set in the global selector, is now "auto", as it is now in TLF, instead of "pushInKinsoku". In TLF, a value of "auto" means "pushInKinsoku" regardless of the locale. (I guess "auto" just sounds like a nicer default.) SimpleText now implements this same logic.

The default for the 'tabStops' style, as set in the global selector, is now null. Previously it was omitted from the global selector and the default value was therefore undefined.

The 'tracking' style has been removed. (The 'trackingLeft' and 'trackingRight' styles remain.) A 'tracking' attribute was defined in FXG 1.0 but FTE instead implemented trackingLeft and trackingRight properties. So when compiling FXG 1.0, the compiler will (soon) map 'tracking' to 'trackingRight', and 'tracking' will not be supported in MXML. SimpleText no longer pays any attention to a 'tracking' style.

The 'leadingModel' style can now be set to "ascentDescentUp", as in TLF. The default remains "auto".

The metadata for the 'backgroundAlpha' style in TextGraphicElement and RichEditableText no longer says theme="halo".

I also fixed some [Event] metadata and @eventType comments in RichEditableText.

Finally, RichEditableText now has an mx_internal createTextContainerManager() method. You can override this if you need to subclass our RichEditableTextContainerManager.

QE Notes: Some tests may need updating due to these changes.
Doc Notes: None
Bugs: SDK-21594
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/BasicTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/AdvancedTextLayoutFormatStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -112,26 +112,26 @@
  *  You can alter the operation, or cancel the event
  *  to prevent the operation from being processed.
  *
- *  @eventType mx.events.FlexEvent.CHANGING
+ *  @eventType spark.events.TextOperationEvent.CHANGING
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="changing", type="mx.events.TextOperationEvent")]
+[Event(name="changing", type="spark.events.TextOperationEvent")]

 /**
  *  Dispatched after a user editing operation is complete.
  *
- *  @eventType mx.events.FlexEvent.CHANGE
+ *  @eventType spark.events.TextOperationEvent.CHANGE
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="change", type="mx.events.TextOperationEvent")]
+[Event(name="change", type="spark.events.TextOperationEvent")]

 /**
  *  Dispatched when the user pressed the Enter key.
@@ -166,7 +166,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="backgroundAlpha", type="Number", inherit="no", theme="halo")]
+[Style(name="backgroundAlpha", type="Number", inherit="no")]

 /**
  *  The color of the background of the entire
@@ -367,8 +367,7 @@
         // as the DisplayObjectContainer for its TextLines.
         // This TextContainerManager instance persists for the lifetime
         // of the component.
-        _textContainerManager = new RichEditableTextContainerManager(
-                                this, staticTextContainerManagerConfiguration);
+        _textContainerManager = createTextContainerManager();

         // Add event listeners on this component.

@@ -1073,7 +1072,7 @@
     /**
      *  @private
      */
-    private var _textContainerManager:TextContainerManager; /*** public? ***/
+    private var _textContainerManager:TextContainerManager;

     /**
      *  @private
@@ -1982,6 +1981,15 @@
     //
     //--------------------------------------------------------------------------

+	/**
+	 *  @private
+	 */
+	mx_internal function createTextContainerManager():TextContainerManager
+	{
+		return new RichEditableTextContainerManager(
+			this, staticTextContainerManagerConfiguration);
+	}
+
 	/**
 	 *  @private
 	 *  Uses the component's CSS styles to determine the module factory