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

--- frameworks/projects/spark/src/spark/core/IContentLoader.as
+++ frameworks/projects/spark/src/spark/core/IContentLoader.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 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: 4889
Author:   jszeto@adobe.com
Date:     2009-02-07T01:21:29.010759Z

Log Message:
-----------
Reverting revision 4885

Something in this checkin is causing an ASDoc compile failure. I will track this down later and resubmit the changes.

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BevelFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Parser.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IFlexBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateFilterInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as" copyfrom-rev="4884" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/filters/BevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/BevelFilter.as
@@ -1,54 +1,14 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2008 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////
-
 package mx.filters
 {
 import flash.events.IEventDispatcher;
-import flash.events.Event;
-import flash.events.EventDispatcher;
 import flash.filters.BevelFilter;
 import flash.filters.BitmapFilter;
-import flash.filters.BitmapFilterQuality;
 import flash.filters.BitmapFilterType;
-import mx.filters.IFlexBitmapFilter;
+import mx.filters.BaseDimensionFilter;
+import mx.filters.IBitmapFilter;

-/**
- *  @review
- *  Dispatched when a property value has changed.
- */
-[Event(name="change", type="flash.events.Event")]
-
-/**
- *  @review
- *
- * 	The mx.filters.BevelFilter class supports dynamically updating property values.
- *  When a property changes, it dispatches an event that tells the filter owner to
- *  reapply the filter. Use this class instead of flash.filters.BevelFilter if you plan
- *  to dynamically change the filter property values.
- *
- *  @see flash.filters.BevelFilter
- */
-public class BevelFilter extends EventDispatcher implements IFlexBitmapFilter
+public class BevelFilter extends BaseDimensionFilter implements IBitmapFilter
 {
-	include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-	/**
-	 * @copy flash.filters.BevelFilter
-	 */
 	public function BevelFilter(distance:Number = 4.0, angle:Number = 45,
 								highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0,
 								shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0,
@@ -56,8 +16,6 @@
 								quality:int = 1, type:String = "inner",
 								knockout:Boolean = false)
 	{
-		super();
-
 		this.distance = distance;
 		this.angle = angle;
 		this.highlightColor = highlightColor;
@@ -71,12 +29,6 @@
 		this.type = type;
 		this.knockout = knockout;
 	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------

 	//----------------------------------
     //  angle
@@ -108,58 +60,6 @@
 	}

 	//----------------------------------
-    //  blurX
-    //----------------------------------
-
-	private var _blurX:Number = 4.0;
-
-	/**
-	 *  The amount of horizontal blur. Valid values are 0 to 255. A blur of 1
-	 *  or less means that the original image is copied as is. The default
-	 *  value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32)
-	 *  are optimized to render more quickly than other values.
-	 */
-	public function get blurX():Number
-	{
-		return _blurX;
-	}
-
-	public function set blurX(value:Number):void
-	{
-		if (value != _blurX)
-		{
-			_blurX = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
-    //  blurY
-    //----------------------------------
-
-	private var _blurY:Number = 4.0;
-
-	/**
-	 *  The amount of vertical blur. Valid values are 0 to 255. A blur of 1
-	 *  or less means that the original image is copied as is. The default
-	 *  value is 4. Values that are a power of 2 (such as 2, 4, 8, 16, and 32)
-	 *  are optimized to render more quickly than other values.
-	 */
-	public function get blurY():Number
-	{
-		return _blurY;
-	}
-
-	public function set blurY(value:Number):void
-	{
-		if (value != _blurY)
-		{
-			_blurY = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
     //  distance
     //----------------------------------

@@ -232,66 +132,6 @@
 		}
 	}

-	//----------------------------------
-    //  knockout
-    //----------------------------------
-
-	private var _knockout:Boolean = false;
-
-	/**
-	 *  Specifies whether the object has a knockout effect. A knockout effect
-	 *  makes the object's fill transparent and reveals the background color
-	 *  of the document. The value true specifies a knockout effect; the
-	 *  default value is false (no knockout effect).
-	 */
-	public function get knockout():Boolean
-	{
-		return _knockout;
-	}
-
-	public function set knockout(value:Boolean):void
-	{
-		if (value != _knockout)
-		{
-			_knockout = value;
-			notifyFilterChanged();
-		}
-	}
-
-	//----------------------------------
-    //  quality
-    //----------------------------------
-
-	private var _quality:int = BitmapFilterQuality.LOW;
-
-	/**
-	 *  The number of times to apply the filter. The default value is
-	 *  BitmapFilterQuality.LOW, which is equivalent to applying the filter
-	 *  once. The value BitmapFilterQuality.MEDIUM  applies the filter twice;
-	 *  the value BitmapFilterQuality.HIGH applies it three times. Filters
-	 *  with lower values are rendered more quickly.
-	 *
-	 *  For most applications, a quality value of low, medium, or high is
-	 *  sufficient. Although you can use additional numeric values up to 15
-	 *  to achieve different effects, higher values are rendered more slowly.
-	 *  Instead of increasing the value of quality, you can often get a similar
-	 *  effect, and with faster rendering, by simply increasing the values of
-	 *  the blurX and blurY properties.
-	 */
-	public function get quality():int
-	{
-		return _quality;
-	}
-
-	public function set quality(value:int):void
-	{
-		if (value != _quality)
-		{
-			_quality = value;
-			notifyFilterChanged();
-		}
-	}
-
 	//----------------------------------
     //  shadowAlpha
     //----------------------------------
@@ -342,32 +182,6 @@
 		}
 	}

-	//----------------------------------
-    //  strength
-    //----------------------------------
-
-	private var _strength:Number = 1;
-
-	/**
-	 *  The strength of the imprint or spread. The higher the value, the more
-	 *  color is imprinted and the stronger the contrast between the glow and
-	 *  the background. Valid values are 0 to 255. A value of 0 means that the
-	 *  filter is not applied. The default value is 1.
-	 */
-	public function get strength():Number
-	{
-		return _strength;
-	}
-
-	public function set strength(value:Number):void
-	{
-		if (value != _strength)
-		{
-			_strength = value;
-			notifyFilterChanged();
-		}
-	}
-
 	//----------------------------------
     //  type
     //----------------------------------
@@ -394,36 +208,8 @@
 			notifyFilterChanged();
 		}
 	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-   	/**
-     * @private
-     * Notify of a change to our filter, so that filter stack is ultimately
-     * re-applied by the framework.
-     */
-	private function notifyFilterChanged():void
-	{
-		dispatchEvent(new Event(Event.CHANGE));
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  IFlexBitmapFilter
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Creates a flash.filters.BevelFilter instance using the current
-	 *  property values.
-	 *
-	 *  @return flash.filters.BevelFilter instance
-	 */
-	public function createBitmapFilter():BitmapFilter
+
+	public function clone():BitmapFilter
 	{
 		return new flash.filters.BevelFilter(distance, angle, highlightColor, highlightAlpha,
 											 shadowColor, shadowAlpha, blurX, blurY, strength,


Transferred from the Adobe Open Source Subversion Repository

Revision: 18635
Author:   aharui@adobe.com
Date:     2010-11-17T00:18:36.469040Z

Log Message:
-----------
Add estimatedSizes to the layout infrastructure to better deal with text reflow.
Add new events to layout infrastructure to deal with caching of size information

QE notes: New APIs and Interfaces
Doc notes: New APIs and interfaces
Bugs: SDK-27226, SDK-26155, SDK-25483, SDK-23621, SDK-27225, SDK-26993, SDK-25535, SDK-25521
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -66,10 +66,12 @@
     import flashx.textLayout.tlf_internal;
     import flashx.undo.IUndoManager;

+    import mx.core.FlexVersion;
     import mx.core.IFlexModuleFactory;
     import mx.core.IIMESupport;
     import mx.core.ISystemCursorClient;
     import mx.core.UIComponent;
+	import mx.core.UIComponentGlobals;
     import mx.core.mx_internal;
     import mx.events.FlexEvent;
     import mx.managers.IFocusManager;
@@ -787,20 +789,6 @@

         /**
          *  @private
-         *  Cache the width constraint as set by the layout in setLayoutBoundsSize()
-         *  so that text reflow can be calculated during a subsequent measure pass.
-         */
-        private var widthConstraint:Number = NaN;
-
-        /**
-         *  @private
-         *  Cache the height constraint as set by the layout in setLayoutBoundsSize()
-         *  so that text reflow can be calculated during a subsequent measure pass.
-         */
-        private var heightConstraint:Number = NaN;
-
-        /**
-         *  @private
          *  If the selection was via the selectRange() or selectAll() api, remember
          *  that until the next selection is set, either interactively or via the
          *  API.
@@ -876,7 +864,8 @@
         {
             super.explicitHeight = value;

-            heightConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(estimatedWidth, NaN);

             // Because of autoSizing, the size and display might be impacted.
             invalidateSize();
@@ -894,7 +883,8 @@
         {
             super.explicitWidth = value;

-            widthConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(NaN, estimatedHeight);

             // Because of autoSizing, the size and display might be impacted.
             invalidateSize();
@@ -924,8 +914,9 @@
         override public function set percentHeight(value:Number):void
         {
             super.percentHeight = value;
-
-            heightConstraint = NaN;
+
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(estimatedWidth, NaN);

             // If we were autoSizing and now we are not we need to remeasure.
             invalidateSize();
@@ -943,7 +934,8 @@
         {
             super.percentWidth = value;

-            widthConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(NaN, estimatedHeight);

             // If we were autoSizing and now we are not we need to remeasure.
             invalidateSize();
@@ -1562,7 +1554,8 @@
             _heightInLines = value;
             heightInLinesChanged = true;

-            heightConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(estimatedWidth, NaN);

             invalidateProperties();
             invalidateSize();
@@ -2366,7 +2359,8 @@
             _widthInChars = value;
             widthInCharsChanged = true;

-            widthConstraint = NaN;
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(NaN, estimatedHeight);

             invalidateProperties();
             invalidateSize();
@@ -2502,10 +2496,8 @@
                 if (displayAsPassword)
                     displayAsPasswordChanged = true;

-                // New text so remove any leftover constraints.
-                // Used if an item renderer is being recycled.
-                widthConstraint = NaN;
-                heightConstraint = NaN;
+                if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                    setEstimatedSize(NaN, NaN);

                 textChanged = false;
                 textFlowChanged = false;
@@ -2704,10 +2696,12 @@
                     // Go large.  For performance reasons, want to avoid a scrollRect
                     // whenever possible in drawBackgroundAndSetScrollRect().  This is
                     // particularly true for 1 line TextInput components.
-                    measuredWidth = !isNaN(explicitWidth) ? explicitWidth :
-                        Math.ceil(calculateWidthInChars());
-                    measuredHeight = !isNaN(explicitHeight) ? explicitHeight :
-                        Math.ceil(calculateHeightInLines());
+                    measuredWidth = !isNaN(estimatedWidth) ? estimatedWidth :
+									!isNaN(explicitWidth) ? explicitWidth :
+                        			Math.ceil(calculateWidthInChars());
+                    measuredHeight = !isNaN(estimatedHeight) ? estimatedHeight :
+									!isNaN(explicitHeight) ? explicitHeight :
+                        			Math.ceil(calculateHeightInLines());
                 }
             }
             else
@@ -2722,16 +2716,16 @@
                 // compositionHeight is NaN to allow the text to grow.
                 autoSize = true;

-                if (!isNaN(widthConstraint) || !isNaN(explicitWidth) ||
+                if (!isNaN(estimatedWidth) || !isNaN(explicitWidth) ||
                     !isNaN(widthInChars))
                 {
                     // width specified but no height
                     // if no text, start at one line high and grow

-                    if (!isNaN(widthConstraint))
-                        composeWidth = widthConstraint;
-                    else if (!isNaN(explicitWidth))
-                        composeWidth = explicitWidth;
+                    if (!isNaN(estimatedWidth))
+                        composeWidth = estimatedWidth;
+					else if (!isNaN(explicitWidth))
+						composeWidth = explicitWidth;
                     else
                         composeWidth = Math.ceil(calculateWidthInChars());

@@ -2748,15 +2742,15 @@
                         measuredWidth = Math.ceil(bounds.width);
                     measuredHeight = Math.ceil(bounds.bottom);
                 }
-                else if (!isNaN(heightConstraint) || !isNaN(explicitHeight) ||
+                else if (!isNaN(estimatedHeight) || !isNaN(explicitHeight) ||
                     !isNaN(_heightInLines))
                 {
                     // if no text, 1 char wide with specified height and grow

-                    if (!isNaN(heightConstraint))
-                        composeHeight = heightConstraint;
-                    else if (!isNaN(explicitHeight))
-                        composeHeight = explicitHeight;
+                    if (!isNaN(estimatedHeight))
+                        composeHeight = estimatedHeight;
+					else if (!isNaN(explicitHeight))
+						composeHeight = explicitHeight;
                     else
                         composeHeight = calculateHeightInLines();

@@ -2902,8 +2896,8 @@
          *  width and height are NaN unless there are constraints on them.
          */
         override public function setLayoutBoundsSize(
-                                    width:Number, height:Number,
-                                    postLayoutTransform:Boolean = true):void
+            width:Number, height:Number,
+            postLayoutTransform:Boolean = true):void
         {
             //trace("setLayoutBoundsSize", width, height);

@@ -2912,46 +2906,84 @@
             // between a measured width/height that is the same as the
             // constrained width/height to know whether that dimension can
             // be sized or must be fixed at the constrained value.
-            heightConstraint = height;
-
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+                setEstimatedSize(estimatedWidth, height);
+
+			if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+			{
+				var newEstimates:Boolean = false;
+				var cw:Number = estimatedWidth;
+				var ch:Number = estimatedHeight;
+				var oldcw:Number = cw;
+				var oldch:Number = ch;
+				// we got lied to, probably the constraints weren't accurate or
+				// couldn't be computed
+				if (!isNaN(width))
+				{
+					if (isNaN(estimatedWidth) || width != estimatedWidth)
+					{
+						cw = width;
+						newEstimates = true;
+					}
+				}
+				// we got lied to, probably the constraints weren't accurate or
+				// couldn't be computed
+				if (!isNaN(height))
+				{
+					if (isNaN(estimatedHeight) || height != estimatedHeight)
+					{
+						ch = height;
+						newEstimates = true;
+					}
+				}
+				if (newEstimates)
+				{
+					setEstimatedSize(cw, ch);
+					UIComponentGlobals.layoutManager.validateClient(this, true);
+					setEstimatedSize(oldcw, oldch, false);
+				}
+			}
+
             super.setLayoutBoundsSize(width, height, postLayoutTransform);
-
-            // Did we already constrain the width?
-            if (widthConstraint == width)
-                return;
-
-            // No reflow for explicit lineBreak
-            if (getStyle("lineBreak") == "explicit")
-                return;
-
-            // If we don't measure.
-            // Call super so we don't call the override
-            // and set autoSize to false;
-            if (super.canSkipMeasurement())
-                return;
-
-            if (!isNaN(explicitHeight))
-                return;
-
-            // We support reflow only in the case of constrained width and
-            // unconstrained height. Note that we compare with measuredWidth,
-            // as for example the RichEditableText can be
-            // constrained by the layout with "left" and "right", but the
-            // container width itself may not be constrained and it would depend
-            // on the element's measuredWidth.
-            var constrainedWidth:Boolean = !isNaN(width) && (width != measuredWidth) && (width != 0);
-            if (!constrainedWidth)
-                return;
-
-            // We support reflow only when we don't have a transform.
-            // We could add support for scale, but not skew or rotation.
-            if (postLayoutTransform && hasComplexLayoutMatrix)
-                return;
-
-            widthConstraint = width;
-
-            invalidateSize();
-
+
+            if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
+            {
+                // Did we already constrain the width?
+                if (estimatedWidth == width)
+                    return;
+
+                // No reflow for explicit lineBreak
+                if (getStyle("lineBreak") == "explicit")
+                    return;
+
+                // If we don't measure.
+                // Call super so we don't call the override
+                // and set autoSize to false;
+                if (super.canSkipMeasurement())
+                    return;
+
+                if (!isNaN(explicitHeight))
+                    return;
+
+                // We support reflow only in the case of constrained width and
+                // unconstrained height. Note that we compare with measuredWidth,
+                // as for example the RichEditableText can be
+                // constrained by the layout with "left" and "right", but the
+                // container width itself may not be constrained and it would depend
+                // on the element's measuredWidth.
+                var constrainedWidth:Boolean = !isNaN(width) && (width != measuredWidth) && (width != 0);
+                if (!constrainedWidth)
+                    return;
+
+                // We support reflow only when we don't have a transform.
+                // We could add support for scale, but not skew or rotation.
+                if (postLayoutTransform && hasComplexLayoutMatrix)
+                    return;
+
+                setEstimatedSize(width, estimatedHeight);
+
+                invalidateSize();
+            }
         }

         /**
@@ -3054,6 +3086,39 @@
             }

             super.drawFocus(isFocused);
+        }
+
+        /**
+         *  @inheritDoc
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.0
+         *  @productversion Flex 4.5
+         */
+        override public function setEstimatedSize(estimatedWidth:Number = NaN,
+                                                  estimatedHeight:Number = NaN,
+                                                  invalidateSizeAllowed:Boolean = true):void
+        {
+            var oldcw:Number = this.estimatedWidth;
+            var oldch:Number = this.estimatedHeight;
+            super.setEstimatedSize(estimatedWidth, estimatedHeight, invalidateSizeAllowed);
+            if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_5)
+            {
+				var sameWidth:Boolean = isNaN(estimatedWidth) && isNaN(oldcw) || estimatedWidth == oldcw;
+				var sameHeight:Boolean = isNaN(estimatedHeight) && isNaN(oldch) || estimatedHeight == oldch;
+				if (!(sameHeight && sameWidth))
+                {
+                    if (typicalText) return;
+
+                    if ((!isNaN(explicitWidth) || !isNaN(widthInChars)) &&
+                        (!isNaN(explicitHeight) || !isNaN(heightInLines)))
+                        return;
+
+					if (invalidateSizeAllowed)
+                    	invalidateSize();
+                }
+            }
         }

         //--------------------------------------------------------------------------
@@ -3635,9 +3700,9 @@

             // Is there some sort of width and some sort of height?
             return  (!isNaN(explicitWidth) || !isNaN(_widthInChars) ||
-                !isNaN(widthConstraint)) &&
+                !isNaN(estimatedWidth)) &&
                     (!isNaN(explicitHeight) || !isNaN(_heightInLines) ||
-                        !isNaN(heightConstraint));
+                        !isNaN(estimatedHeight));
         }

         /**
@@ -3757,12 +3822,12 @@
             if (typicalText != null)
                 return false;

-            if (!isNaN(widthConstraint))
+            if (!isNaN(estimatedWidth))
             {
                 // Do we have a constrained width and an explicit height?
                 // If so, the sizes are set so no need to remeasure now.
                 if (!isNaN(explicitHeight) || !isNaN(_heightInLines) ||
-                    !isNaN(heightConstraint))
+                    !isNaN(estimatedHeight))
                 {
                     return false;
                 }
@@ -3772,7 +3837,7 @@
                     return false;
             }

-            if (!isNaN(heightConstraint))
+            if (!isNaN(estimatedHeight))
             {
                 // Do we have a constrained height and an explicit width?
                 // If so, the sizes are set so no need to remeasure now.


Transferred from the Adobe Open Source Subversion Repository

Revision: 8732
Author:   cframpto@adobe.com
Date:     2009-07-22T15:00:53.140899Z

Log Message:
-----------
Do not need to invalidateDisplay list when setting either the horizontalScrollPosition or verticalScrollPostion since the
ContainerController's setters call updateForScroll(), if scrolling needs to happen, which updates the container.

Also do not need to invalidate the display list when the scroller calls clipAndEnableScrolling install or uninstall the RET as a viewport.  The scroller should do it if necessary.

QE notes:
Doc notes:
Bugs: SDK-22293
Reviewer: will be Gordon and Corey
Tests run: performance tests mentioned in the bug
Is noteworthy for integration:

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -631,7 +631,6 @@
         clipAndEnableScrollingChanged = true;

         invalidateProperties();
-        invalidateDisplayList();
     }

     //----------------------------------
@@ -727,7 +726,10 @@
         horizontalScrollPositionChanged = true;

         invalidateProperties();
-        invalidateDisplayList();
+
+        // Note:  TLF takes care of updating the container when the scroll
+        // position is set so there is no need for us to invalidate the
+        // display list.
     }

     //----------------------------------
@@ -775,7 +777,10 @@
         verticalScrollPositionChanged = true;

         invalidateProperties();
-        invalidateDisplayList();
+
+        // Note:  TLF takes care of updating the container when the scroll
+        // position is set so there is no need for us to invalidate the
+        // display list.
     }

     //--------------------------------------------------------------------------
@@ -1783,18 +1788,10 @@

         if (clipAndEnableScrollingChanged)
         {
-            // Not sure if there is any real difference between on and auto.
             // The TLF code seems to check for !off.
-            if (_clipAndEnableScrolling)
-            {
-                _textContainerManager.horizontalScrollPolicy = "on";
-                _textContainerManager.verticalScrollPolicy = "on";
-            }
-            else
-            {
-                _textContainerManager.horizontalScrollPolicy = "auto";
-                _textContainerManager.verticalScrollPolicy = "auto";
-            }
+            _textContainerManager.horizontalScrollPolicy = "auto";
+            _textContainerManager.verticalScrollPolicy = "auto";
+
             clipAndEnableScrollingChanged = false;
         }


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

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.filters
 {


Plotmanager code now accounts for bigger increment size and edge cases. Will now go to either one of the extremes if the user attempts to go past the bounds.

--- WeaveUISpark/src/weave/visualization/layers/PlotManager.as
+++ WeaveUISpark/src/weave/visualization/layers/PlotManager.as
@@ -389,9 +389,13 @@
 		{
 			zoomBounds.getScreenBounds(tempScreenBounds);
 			var minSize:Number = Math.min(minScreenSize.value, tempScreenBounds.getXCoverage(), tempScreenBounds.getYCoverage());
-			var zoomLevel:Number = ZoomUtils.getZoomLevel(bounds, tempScreenBounds, fullDataBounds, minSize);
-			if( zoomLevel > minZoomLevel.value && zoomLevel < maxZoomLevel.value )
+			var zoomLevel:Number = Math.round(ZoomUtils.getZoomLevel(bounds, tempScreenBounds, fullDataBounds, minSize));
+			if( zoomLevel >= minZoomLevel.value && zoomLevel <= maxZoomLevel.value )
 				zoomBounds.setDataBounds(bounds, zoomOutIfNecessary);
+			else if( zoomLevel < minZoomLevel.value )
+				setZoomLevel(minZoomLevel.value);
+			else if( zoomLevel > maxZoomLevel.value )
+				setZoomLevel(maxZoomLevel.value);
 		}

 		/**


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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/ButtonAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/ButtonAutomationImpl.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: 17330
Author:   chiedozi@adobe.com
Date:     2010-08-16T17:36:59.538425Z

Log Message:
-----------
Removed the sections functionality from ViewNavigator and refactored that logic into TabbedViewNavigator.  Updated dependent performance tests and components.
Introduced MobileApplicationBase and TabbedMobileApplication do support the tabbed use case for mobile.
Deleted SliderSkin from the framework.  All mobile skins now extend MobileSkin.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as" copyfrom-rev="17260" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ScriptRunner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ComponentCatalog.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedMobileApplicationSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/IPersistenceManager.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SliderSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/MobileApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as
@@ -0,0 +1,240 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+import flash.events.StageOrientationEvent;
+import flash.net.registerClassAlias;
+
+import mx.utils.BitFlagUtil;
+
+import spark.components.supportClasses.MobileApplicationBase;
+import spark.components.supportClasses.NavigationStack;
+import spark.components.supportClasses.ViewHistoryData;
+import spark.components.supportClasses.ViewNavigatorBase;
+
+[DefaultProperty("navigators")]
+
+/**
+ *
+ */
+public class TabbedMobileApplication extends MobileApplicationBase
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    // The following constants are used to indicate whether the developer
+    // has explicitly set one of the navigator template properties.  This
+    // allows us to properly store these set properties if the navigator skin
+    // changes.
+
+    // TODO (Chiedozi): Just in a var
+    /**
+     *  @private
+     */
+    private static const NAVIGATORS_PROPERTY_FLAG:uint = 1 << 0;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin Parts
+    //
+    //--------------------------------------------------------------------------
+
+    [SkinPart(required="false")]
+    /**
+     *  The main navigator for the application.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public var navigator:TabbedViewNavigator;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedMobileApplication()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  @private
+     */
+    private var navigatorProperties:Object = {};
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  navigators
+    //----------------------------------
+    /**
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get navigators():Vector.<ViewNavigatorBase>
+    {
+        if (navigator)
+            return navigator.navigators;
+        else
+            return navigatorProperties.navigators;
+    }
+    /**
+     *  @private
+     */
+    public function set navigators(value:Vector.<ViewNavigatorBase>):void
+    {
+        if (navigator)
+        {
+            navigator.navigators = value;
+            navigatorProperties = BitFlagUtil.update(navigatorProperties as uint,
+                NAVIGATORS_PROPERTY_FLAG, value != null);
+        }
+        else
+            navigatorProperties.navigators = value;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods: MobileApplicationBase
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     */
+    override protected function backKeyHandler():void
+    {
+        if (navigator)
+            navigator.backKeyHandler();
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    // TODO (chiedozi): make a getter (PARB)
+    override public function canCancelDefaultBackKeyBehavior():Boolean
+    {
+        return  navigator && navigator.canCancelDefaultBackKeyBehavior();
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    override protected function orientationChangeHandler(event:StageOrientationEvent):void
+    {
+        if (navigator)
+            navigator.landscapeOrientation = landscapeOrientation;
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    // TODO (chiedozi): PARB
+    override protected function persistApplicationState():void
+    {
+        super.persistApplicationState();
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    override protected function registerPeristenceClassAliases():void
+    {
+        super.registerPeristenceClassAliases();
+
+        // Register aliases for custom classes that will be written to
+        // persistence store by navigator
+        registerClassAlias("ViewHistoryData", ViewHistoryData);
+        registerClassAlias("NavigationStack", NavigationStack);
+    }
+
+    /**
+     *  @inheritDoc
+     */
+    override protected function restoreApplicationState():void
+    {
+        super.restoreApplicationState();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: UIComponent
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        super.partAdded(partName, instance);
+
+        if (instance == navigator)
+        {
+            var newNavigatorProperties:uint = 0;
+
+            if (navigatorProperties.navigators !== undefined)
+            {
+                navigator.navigators = navigatorProperties.navigators;
+                newNavigatorProperties = BitFlagUtil.update(newNavigatorProperties,
+                    NAVIGATORS_PROPERTY_FLAG, true);
+            }
+
+            navigator.landscapeOrientation = landscapeOrientation;
+
+            // Set the stage focus to the navigator
+            systemManager.stage.focus = navigator;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        super.partRemoved(partName, instance);
+
+        if (instance == navigator)
+        {
+            // Always want to save the navigation stack
+            navigatorProperties = {navigators:navigator.navigators};
+        }
+    }
+}
+}


avoid update icons when debug icons not visible

--- bin/Data/Scripts/Editor/EditorViewDebugIcons.as
+++ bin/Data/Scripts/Editor/EditorViewDebugIcons.as
@@ -21,6 +21,7 @@

 const int splinePathResolution = 16;
 bool debugIconsShow = true;
+bool supressDebugIconsShow = false;
 Vector2 debugIconsSize = Vector2(0.025, 0.025);
 Vector2 debugIconsSizeSmall = debugIconsSize / 2.0;

@@ -98,11 +99,12 @@

 void UpdateViewDebugIcons()
 {
+    if (editorScene is null) return;
+
     if (timeToNextDebugIconsUpdate > time.systemTime) return;

-    if (editorScene is null) return;
-
     debugIconsNode = editorScene.GetChild("DebugIconsContainer", true);
+

     if (debugIconsNode is null)
     {
@@ -118,15 +120,26 @@
     {
         CreateDebugIcons();
     }
-
-    Vector3 camPos = cameraNode.worldPosition;

     if (debugIconsSetPointLights !is null)
     {
         debugIconsSetDirectionalLights.enabled = debugIconsShow;
         debugIconsSetSpotLights.enabled = debugIconsShow;
         debugIconsSetPointLights.enabled = debugIconsShow;
-
+        debugIconsSetCameras.enabled = debugIconsShow;
+        debugIconsSetSoundSources.enabled = debugIconsShow;
+        debugIconsSetSoundSources3D.enabled = debugIconsShow;
+        debugIconsSetSoundListeners.enabled = debugIconsShow;
+        debugIconsSetZones.enabled = debugIconsShow;
+        debugIconsSetSplinesPoints.enabled = debugIconsShow;
+    }
+
+    if (debugIconsShow == false) return;
+
+    Vector3 camPos = activeViewport.cameraNode.worldPosition;
+
+    if (debugIconsSetPointLights !is null)
+    {
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("Light", true);

         if (nodes.length > 0)
@@ -138,7 +151,6 @@
             debugIconsSetPointLights.Commit();
             debugIconsSetSpotLights.Commit();
             debugIconsSetDirectionalLights.Commit();
-

             debugIconsSetDirectionalLights.numBillboards = nodes.length;
             debugIconsSetSpotLights.numBillboards = nodes.length;
@@ -187,7 +199,6 @@

     if (debugIconsSetCameras !is null)
     {
-        debugIconsSetCameras.enabled = debugIconsShow;
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("Camera", true);

         if (nodes.length > 0)
@@ -211,9 +222,7 @@
     }

     if (debugIconsSetSoundSources !is null)
-    {
-        debugIconsSetSoundSources.enabled = debugIconsShow;
-
+    {
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundSource", true);

         if (nodes.length > 0)
@@ -234,9 +243,7 @@
     }

     if (debugIconsSetSoundSources3D !is null)
-    {
-        debugIconsSetSoundSources3D.enabled = debugIconsShow;
-
+    {
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundSource3D", true);

         if (nodes.length > 0)
@@ -258,7 +265,6 @@

     if (debugIconsSetSoundListeners !is null)
     {
-        debugIconsSetSoundListeners.enabled = debugIconsShow;
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("SoundListener" , true);

         if (nodes.length > 0)
@@ -280,8 +286,6 @@

     if (debugIconsSetZones !is null)
     {
-        debugIconsSetZones.enabled = debugIconsShow;
-
         // Collect all scene's Zones and add it
         Array<Node@> nodes = editorScene.GetChildrenWithComponent("Zone", true);

@@ -320,8 +324,6 @@
     {
         if (debugIconsSetSplinesPoints !is null)
         {
-            debugIconsSetSplinesPoints.enabled = debugIconsShow;
-
             // Collect all scene's SplinePath and add it
             Array<Node@> nodes = editorScene.GetChildrenWithComponent("SplinePath", true);

@@ -376,6 +378,5 @@
         timeToNextDebugIconsUpdateSplinePath = time.systemTime + stepDebugIconsUpdateSplinePath;
     }

-
     timeToNextDebugIconsUpdate = time.systemTime + stepDebugIconsUpdate;
 }


Add UGCDownload/UGCRead tests

Add UGCDownload/UGCRead tests

--- test/src/FRESteamWorksTest.as
+++ test/src/FRESteamWorksTest.as
@@ -177,7 +177,9 @@
 		}

 		private var id:String;
+		private var handle:String;
 		private function onSteamResponse(e:SteamEvent):void{
+			var apiCall:Boolean;
 			switch(e.req_type){
 				case SteamConstants.RESPONSE_OnUserStatsStored:
 					log("RESPONSE_OnUserStatsStored: "+e.response);
@@ -200,7 +202,7 @@
 					log("User subscribed files: " + result.resultsReturned + "/" + result.totalResults);
 					for(var i:int = 0; i < result.resultsReturned; i++) {
 						id = result.publishedFileId[i];
-						var apiCall:Boolean = Steamworks.getPublishedFileDetails(result.publishedFileId[i]);
+						apiCall = Steamworks.getPublishedFileDetails(result.publishedFileId[i]);
 						log(i + ": " + result.publishedFileId[i] + " (" + result.timeSubscribed[i] + ") - " + apiCall);
 					}
 					break;
@@ -208,9 +210,29 @@
 					log("RESPONSE_OnGetPublishedFileDetails: " + e.response);
 					var res:FileDetailsResult = Steamworks.getPublishedFileDetailsResult(id);
 					log("Result for " + id + ": " + res);
-					if(res)
+					if(res) {
 						log("File: " + res.fileName + ", handle: " + res.fileHandle);
-					break;
+						handle = res.fileHandle;
+						apiCall = Steamworks.UGCDownload(res.fileHandle, 0);
+						log("UGCDownload(...) == " + apiCall);
+					}
+					break;
+				case SteamConstants.RESPONSE_OnUGCDownload:
+					log("RESPONSE_OnUGCDownload: " + e.response);
+					var ugcResult:DownloadUGCResult = Steamworks.getUGCDownloadResult(handle);
+					log("Result for " + handle + ": " + ugcResult);
+					if(ugcResult) {
+						log("File: " + ugcResult.fileName + ", handle: " + ugcResult.fileHandle + ", size: " + ugcResult.size);
+						var ba:ByteArray = new ByteArray();
+						ba.length = ugcResult.size;
+						apiCall = Steamworks.UGCRead(ugcResult.fileHandle, ba.length, 0, ba);
+						log("UGCRead(...) == " + apiCall);
+						if(apiCall) {
+							log("Result length: " + ba.position + "//" + ba.length);
+							log("Result: " + ba.readUTFBytes(ugcResult.size));
+						}
+						break;
+					}
 				default:
 					log("STEAMresponse type:"+e.req_type+" response:"+e.response);
 			}


Fix typo.

Fix typo.

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

--- src/as/com/threerings/util/Integer.as
+++ src/as/com/threerings/util/Integer.as
@@ -72,7 +72,7 @@
     }

     /**
-     * Compares to int values in an overflow safe manner.
+     * Compares two int values in an overflow safe manner.
      */
     public static function compare (val1 :int, val2 :int) :int
     {


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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5046
Author:   gosmith@adobe.com
Date:     2009-02-23T23:44:14.771003Z

Log Message:
-----------
Updated TLF SWCs to Build 377.

Removed a workaround in TextGraphic that was a temporary fix for SDK-18880. It is now fixed by the fact that TLF allows FlowElements to be reparented. This workaround was also exposing another TLF problem (that you couldn't use TextLineFactory to re-render a TextFlow after removing its children) reported in SDK-19440; this has also been fixed in TLF.

QE Notes: Please retest bug SDK-18880 to make sure it is still fixed.
Doc Notes: None
Bugs: SDK-18880, SDK-19149, SDK-19440
Reviewer: Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_textField.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_edit.swc</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -582,12 +582,6 @@
         // Don't want this handler firing when we're re-composing the text lines.
         textFlow.removeEventListener(DamageEvent.DAMAGE, textFlow_damageHandler);

-        // Temporary fix for SDK-18880.
-        // This won't be necessary when TLF allows
-        // FlowElements to be reparented.
-        if (contentChanged || textChanged)
-            textFlow.replaceChildren(0, textFlow.numChildren);
-
         textFlow = createTextFlow();
         _content = textFlow;


Transferred from the Adobe Open Source Subversion Repository

Revision: 17201
Author:   cframpto@adobe.com
Date:     2010-08-05T14:56:08.412026Z

Log Message:
-----------
Add listStylePosition and listStyleType metadata for TLF's new list element.  Add them both to the list of size invalidating styles.  Add styles to list of styles in ASdoc.

QE notes:  listStylePosition=outside leaks outside our components - known issue which we're working with TLF on
Doc notes:
Bugs: SDK-27254
Reviewer: Corey
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -381,6 +381,8 @@
  *    ligatureLevel="common"
  *    lineHeight="120%"
  *    lineThrough="false"
+ *    listStylePosition="outside"
+ *    listStyleType="disc"
  *    locale="en"
  *    paragraphEndIndent="0"
  *    paragraphSpaceAfter="0"


Transferred from the Adobe Open Source Subversion Repository

Revision: 6290
Author:   chaase@adobe.com
Date:     2009-04-27T18:42:18.522446Z

Log Message:
-----------
Added animation behavior to scrollbars and sliders. For now, animation only happens based on mouse events (key events still have previous non-animated behavior).
Also, added shift-click behavior to ScrollBar, behaves essentially like a Slider, going to the clicked location instead of paging toward it.
Finally, fixed an unrelated bug in Animation where Animates set up with a MotionPath with no time=0 keyframe would not run properly.

These changes necessitate changes in Mustella (need to listen to 'change' event on scrollbars/sliders, not 'updateComplete' or 'click', since the animations may cause several valid 'updateComplete' events on the way to the final changed value.

QE Notes: Mustella changes in ScrollBar and Slider necessary. See note above. Changes have been made and are awaiting this checkin to update Mustella tests.
Doc Notes: None
Bugs:
Reviewer: Hans and Glenn (scrolling/sliding changes), Jason (Animation bug changes)
tests: checkintests, Mustella ScrollBar, Slider, Scroller (all required minor changes to pass)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<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/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.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/TrackBase.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/supportClasses/Slider.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/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test_testScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/AnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/ScrollbarFrenzy.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -427,6 +427,37 @@
         invalidateSkin();
     }

+    //---------------------------------
+    // smoothScrolling
+    //---------------------------------
+
+    /**
+     * @private
+     * Backing storage for the smoothScrolling property
+     */
+    private var _smoothScrolling:Boolean = true;
+
+    /**
+     * This property determines whether the scrollbar will animate
+     * smoothly when paging and stepping. When false, page and step
+     * operations will jump directly to the paged/stepped locations.
+     * When true, the scrollbar, and any content it is scrolling, will
+     * animate to that location.
+     *
+     * @default true
+     */
+    public function get smoothScrolling():Boolean
+    {
+        return _smoothScrolling;
+    }
+    public function set smoothScrolling(value:Boolean):void
+    {
+        _smoothScrolling = value;
+        if (verticalScrollBar)
+            verticalScrollBar.smoothScrolling = value;
+        if (horizontalScrollBar)
+            horizontalScrollBar.smoothScrolling = value;
+    }

     //--------------------------------------------------------------------------
     //
@@ -683,10 +714,16 @@
         super.partAdded(partName, instance);

         if (instance == verticalScrollBar)
-            verticalScrollBar.viewport = viewport;
+        {
+            verticalScrollBar.viewport = viewport;
+            verticalScrollBar.smoothScrolling = smoothScrolling;
+        }

         if (instance == horizontalScrollBar)
-            horizontalScrollBar.viewport = viewport;
+        {
+            horizontalScrollBar.viewport = viewport;
+            horizontalScrollBar.smoothScrolling = smoothScrolling;
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</path>
<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/mobilecomponents/src/spark/components/supportClasses/MobileTextField.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/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.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/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.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/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -17,8 +17,8 @@
 import flashx.textLayout.elements.TextFlow;
 import flashx.textLayout.formats.TextLayoutFormat;

+import mx.core.ScrollPolicy;
 import mx.core.mx_internal;
-import mx.core.ScrollPolicy;
 import mx.events.FlexEvent;

 import spark.components.supportClasses.SkinnableTextBase;
@@ -647,11 +647,11 @@
                                      anchorPosition:int=-1,
                                      activePosition:int=-1):TextLayoutFormat
     {
-        if (!textDisplay)
+        if (!(textDisplay is RichEditableText))
             return null;

-        return textDisplay.getFormatOfRange(requestedFormats, anchorPosition,
-                                            activePosition);
+        return RichEditableText(textDisplay).getFormatOfRange(
+                    requestedFormats, anchorPosition, activePosition);
     }

     /**
@@ -666,26 +666,27 @@
                                      anchorPosition:int=-1,
                                      activePosition:int=-1):void
     {
+        if (!(textDisplay is RichEditableText))
+            return;
+
+        RichEditableText(textDisplay).setFormatOfRange(
+                    format, anchorPosition, activePosition);
+    }
+
+    /**
+     *  @copy spark.components.RichEditableText#scrollToRange()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function scrollToRange(anchorPosition:int = 0,
+                                  activePosition:int = int.MAX_VALUE):void
+    {
         if (!textDisplay)
             return;

-        textDisplay.setFormatOfRange(format, anchorPosition, activePosition);
-    }
-
-    /**
-     *  @copy spark.components.RichEditableText#scrollToRange()
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function scrollToRange(anchorPosition:int = 0,
-                                  activePosition:int = int.MAX_VALUE):void
-    {
-        if (!textDisplay)
-            return;
-
         textDisplay.scrollToRange(anchorPosition, activePosition);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16483
Author:   preilly@adobe.com
Date:     2010-06-07T20:10:21.068761Z

Log Message:
-----------
* Fixed some legitimate errors, which were previously unreported by
  the compiler.  After revision 16213 is unreverted, errors like these
  will be reported.

QE notes:
Doc notes:
Bugs: N/A
Reviewer: rdermer
Tests run: checkintests, full clean of framework projects from FB
Is noteworthy for integration: NO

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/container/TextContainerManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/textLayout/src/flashx/textLayout/container/ContainerController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -216,7 +216,7 @@
         // by TLF's context menu.

         if (textDisplay.contextMenu)
-            userContextMenu = textDisplay.contextMenu;
+            userContextMenu = textDisplay.contextMenu as ContextMenu;

         if (!userContextMenu)
             userContextMenu = super.getContextMenu();


qnd: fix condition

qnd: fix condition

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@91100 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- plugins/bitrateDetectionPlugin/src/com/kaltura/kdpfl/plugin/component/BitrateDetectionMediator.as
+++ plugins/bitrateDetectionPlugin/src/com/kaltura/kdpfl/plugin/component/BitrateDetectionMediator.as
@@ -112,7 +112,7 @@
 						if (mediaProxy.vo.kalturaMediaFlavorArray && mediaProxy.vo.kalturaMediaFlavorArray.length)
 						{
 							var highBR:int = mediaProxy.vo.kalturaMediaFlavorArray[mediaProxy.vo.kalturaMediaFlavorArray.length - 1].bitrate;
-							if ((highBR <= mediaProxy.vo.preferedFlavorBR) || (highBR - mediaProxy.vo.preferedFlavorBR)<=(highBR * 0.2))
+							if (0.8 * highBR <= mediaProxy.vo.preferedFlavorBR)
 							{
 								trace ("***** no BW CHECK***");
 								//// if the last preferred bitrate is higher or equals (with 20% error range) to the current highest bitrate,