Transferred from the Adobe Open Source Subversion Repository

Revision: 9358
Author:   dsubrama@adobe.com
Date:     2009-08-17T23:51:20.104007Z

Log Message:
-----------
More work to support FXG 2.0 in the MXML Graphics library.

1. Switch blendMode default from layer to normal. Before, we did some trickery under the covers, where even though the default blendMode was layer, we actually only set it to layer when it resulted in a rendering difference (ie: when alpha was > 0 < 1 and other overlapping cases). Now, FXG 2.0 mandates blendMode default is normal – and we don’t have to do that trickery because the FXG exporters are smarter and will set blendMode explicitly to layer when necessary. This change is for Group and all graphic primitives.

2. I’ve added new enumerations to blendMode and maskType as well as a couple of new properties as mandated by FXG 2.0. There is additional work that needs to happen there that I’ll be doing next week.

3. I’ve renamed Group’s resizeMode enumerations from ‘normal’, ‘scale’ to ‘noScale’, ‘scale’.

4. I’ve renamed BitmapImage’s resizeMode enumerations from ‘normal’, ‘scale’, ‘repeat’ to ‘noScale’, ‘scale’, ‘repeat’. The default value for BitmapImage.resizeMode went from ‘repeat’ to ‘scale’. Additionally, BitmapImage.repeat property has now been eliminated - use resizeMode="repeat".

5. I’ve deprecated BitmapFill’s ‘repeat’ property. I’ve added a ‘resizeMode’ property to BitmapFill with the same enumerations, defaults and behavior as BitmapImage. I’ve also moved BitmapImageResizeMode from spark.primitives to mx.graphics. I’ve also renamed BitmapImageResizeMode.as to BitmapResizeMode.as (a PARB-approved rename).

QE notes:  Yes! Joan and I have cycloned numerous times and QA in on-board with the changes.
Doc notes: Yes
Bugs: Several
Reviewer: Evtim/Glenn
Tests run: Pretty much the entire mustella run for Halo and Spark components
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VScrollBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/examples/BitmapImageExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/GripperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MinimizeButtonSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImageResizeMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/RestoreButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacCloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacMinimizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacMaximizeButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/MaskType.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/CloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/TitleBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarSkin.mxml</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/sparkskins/src/mx/skins/spark/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -195,16 +195,16 @@
     /**
      *  @private
      */
-    override public function set resizeMode(stringValue:String):void
+    override public function set resizeMode(value:String):void
     {
         if (isValidScaleGrid())
         {
             // Force the resize mode to be scale if we
             // have set scaleGrid properties
-            stringValue = ResizeMode.SCALE;
+            value = ResizeMode.SCALE;
         }

-        super.resizeMode = stringValue;
+        super.resizeMode = value;
     }

     /**
@@ -284,34 +284,9 @@
     {
         if (super.alpha == value)
             return;
-
-        //The default blendMode in FXG is 'layer'. There are only
-        //certain cases where this results in a rendering difference,
-        //one being when the alpha of the Group is > 0 and < 1. In that
-        //case we set the blendMode to layer to avoid the performance
-        //overhead that comes with a non-normal blendMode.
-
-        if (value > 0 && value < 1 && !blendModeExplicitlySet)
-        {
-            if (_blendMode != BlendMode.LAYER)
-            {
-                _blendMode = BlendMode.LAYER;
-                blendModeChanged = true;
-                invalidateDisplayObjectOrdering();
-                invalidateProperties();
-            }
-        }
-        else if ((value == 1 || value == 0) && !blendModeExplicitlySet)
-        {
-            if (_blendMode != BlendMode.NORMAL)
-            {
-                _blendMode = BlendMode.NORMAL;
-                blendModeChanged = true;
-                invalidateDisplayObjectOrdering();
-                invalidateProperties();
-            }
-        }

+        invalidateProperties();
+
         super.alpha = value;
     }

@@ -325,9 +300,8 @@
      */
     private var _blendMode:String = BlendMode.NORMAL;
     private var blendModeChanged:Boolean;
-    private var blendModeExplicitlySet:Boolean;
-
-    [Inspectable(category="General", enumeration="add,alpha,darken,difference,erase,hardlight,invert,layer,lighten,multiply,normal,subtract,screen,overlay", defaultValue="normal")]
+
+    [Inspectable(category="General", enumeration="add,alpha,darken,difference,erase,hardlight,invert,layer,lighten,multiply,normal,subtract,screen,overlay,colordodge,colorburn,exclusion,softlight,hue,saturation,color,luminosity", defaultValue="normal")]

     /**
      *  A value from the BlendMode class that specifies which blend mode to use.
@@ -349,9 +323,7 @@
      */
     override public function get blendMode():String
     {
-        if (blendModeExplicitlySet)
-            return _blendMode;
-        else return BlendMode.LAYER;
+        return _blendMode;
     }

     /**
@@ -359,22 +331,26 @@
      */
     override public function set blendMode(value:String):void
     {
-        if (blendModeExplicitlySet && value == _blendMode)
+    	// FIXME (dsubrama): Temporarily exit when blendMode is set
+    	// to one of the AIM blendModes; support for this will come
+    	// shortly.
+        if (value == _blendMode || value == "colordodge" ||
+        	value =="colorburn" || value =="exclusion" ||
+        	value =="softlight" || value =="hue" ||
+        	value =="saturation" || value =="color"
+        	|| value =="luminosity")
             return;

         var oldValue:String = _blendMode;
         _blendMode = value;
-
-        blendModeExplicitlySet = true;

         blendModeChanged = true;

         // Only need to re-do display object assignment if blendmode was normal
-        // and is changing to someting else, or the blend mode was something else
+        // and is changing to something else, or the blend mode was something else
         // and is going back to normal.  This is because display object sharing
         // only happens when blendMode is normal.
-        if ((oldValue == BlendMode.NORMAL || value == BlendMode.NORMAL) &&
-            !(oldValue == BlendMode.NORMAL && value == BlendMode.NORMAL))
+        if (oldValue == BlendMode.NORMAL || value == BlendMode.NORMAL)
         {
             invalidateDisplayObjectOrdering();
         }
@@ -712,7 +688,7 @@
         if (blendModeChanged)
         {
             blendModeChanged = false;
-            super.blendMode = _blendMode;
+            super.blendMode = blendMode;
         }

         if (needsDisplayObjectAssignment)
@@ -1453,9 +1429,7 @@
         // in our implementation, and we don't want those to use our display object to
         // draw into because there could be something further down the line that has
         // layer < 0
-        // Make sure we use _blendMode here, since _blendMode can be "normal", but
-        // blendMode still report as "layer".
-        return _blendMode == "normal" && (layeringMode == ITEM_ORDERED_LAYERING);
+        return blendMode == "normal" && (layeringMode == ITEM_ORDERED_LAYERING);
     }

     /**


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

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


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

--- frameworks/projects/spark/src/spark/layouts/RowAlign.as
+++ frameworks/projects/spark/src/spark/layouts/RowAlign.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.layouts
 {


Added missing super() in DUDebugDraw.

Added missing super() in DUDebugDraw.

--- as3_lib/src/recastnavigation/debugutils/DUDebugDraw.as
+++ as3_lib/src/recastnavigation/debugutils/DUDebugDraw.as
@@ -16,6 +16,7 @@

 		public function DUDebugDraw()
 		{
+			super();
 			_obj.depthMask = depthMask;
 			_obj.texture = texture;
 			_obj.begin = begin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5067
Author:   smgilson@adobe.com
Date:     2009-02-25T16:21:22.849704Z

Log Message:
-----------
In preparation for adding ASDoc version tags for Flex, remove old tags from AIR files

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<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/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.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/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as
+++ frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as
@@ -11,34 +11,34 @@

 package mx.controls
 {
-	import flash.display.InteractiveObject;
-	import flash.display.NativeMenu;
-	import flash.display.NativeMenuItem;
-	import flash.display.Stage;
-	import flash.events.Event;
-	import flash.events.EventDispatcher;
-	import flash.events.TimerEvent;
-	import flash.ui.Keyboard;
-	import flash.utils.Timer;
-	import flash.xml.XMLNode;
-
-	import mx.collections.ArrayCollection;
-	import mx.collections.ICollectionView;
-	import mx.collections.XMLListCollection;
-	import mx.collections.errors.ItemPendingError;
-	import mx.controls.menuClasses.IMenuDataDescriptor;
-	import mx.controls.treeClasses.DefaultDataDescriptor;
-	import mx.core.Application;
-	import mx.core.EventPriority;
-	import mx.core.UIComponent;
-	import mx.core.UIComponentGlobals;
-	import mx.core.mx_internal;
-	import mx.events.CollectionEvent;
-	import mx.events.CollectionEventKind;
-	import mx.events.FlexNativeMenuEvent;
-	import mx.managers.ILayoutManagerClient;
-	import mx.managers.ISystemManager;
-
+    import flash.display.InteractiveObject;
+    import flash.display.NativeMenu;
+    import flash.display.NativeMenuItem;
+    import flash.display.Stage;
+    import flash.events.Event;
+    import flash.events.EventDispatcher;
+    import flash.events.TimerEvent;
+    import flash.ui.Keyboard;
+    import flash.utils.Timer;
+    import flash.xml.XMLNode;
+
+    import mx.collections.ArrayCollection;
+    import mx.collections.ICollectionView;
+    import mx.collections.XMLListCollection;
+    import mx.collections.errors.ItemPendingError;
+    import mx.controls.menuClasses.IMenuDataDescriptor;
+    import mx.controls.treeClasses.DefaultDataDescriptor;
+    import mx.core.Application;
+    import mx.core.EventPriority;
+    import mx.core.UIComponent;
+    import mx.core.UIComponentGlobals;
+    import mx.core.mx_internal;
+    import mx.events.CollectionEvent;
+    import mx.events.CollectionEventKind;
+    import mx.events.FlexNativeMenuEvent;
+    import mx.managers.ILayoutManagerClient;
+    import mx.managers.ISystemManager;
+
 //--------------------------------------
 //  Events
 //--------------------------------------
@@ -239,7 +239,6 @@
  *  @see flash.display.NativeMenu
  *  @see mx.events.FlexNativeMenuEvent
  *
- *  @playerversion AIR 1.1
  */
 public class FlexNativeMenu extends EventDispatcher implements ILayoutManagerClient, IFlexContextMenu
 {
@@ -281,123 +280,123 @@
     //--------------------------------------------------------------------------

     //--------------------------------------------------------------------------
-	//
-	//  Properties: ILayoutManagerClient
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  initialized
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the initialized property.
-	 */
-	private var _initialized:Boolean = false;
-
-    /**
-	 *  @copy mx.core.UIComponent#initialized
+    //
+    //  Properties: ILayoutManagerClient
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  initialized
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the initialized property.
+     */
+    private var _initialized:Boolean = false;
+
+    /**
+     *  @copy mx.core.UIComponent#initialized
      */
     public function get initialized():Boolean
-	{
-		return _initialized;
-	}
+    {
+        return _initialized;
+    }

     /**
      *  @private
      */
     public function set initialized(value:Boolean):void
-	{
-		_initialized = value;
-	}
+    {
+        _initialized = value;
+    }

     //----------------------------------
     //  nestLevel
     //----------------------------------

     /**
-	 *  @private
-	 *  Storage for the nestLevel property.
-	 */
-	private var _nestLevel:int = 1;
-
-	// no one will likely set nestLevel (but there's a setter in case
-	// someone wants to.  We default nestLevel to 1 as it's a top-level
-	// component that goes in the chrome.
-
-	/**
+     *  @private
+     *  Storage for the nestLevel property.
+     */
+    private var _nestLevel:int = 1;
+
+    // no one will likely set nestLevel (but there's a setter in case
+    // someone wants to.  We default nestLevel to 1 as it's a top-level
+    // component that goes in the chrome.
+
+    /**
      *  @copy mx.core.UIComponent#nestLevel
      */
-	public function get nestLevel():int
-	{
-		return _nestLevel;
-	}
-
-	/**
-     *  @private
-     */
-	public function set nestLevel(value:int):void
-	{
-		_nestLevel = value;
-
-		// After nestLevel is initialized, add this object to the
-		// LayoutManager's queue, so that it is drawn at least once
-		invalidateProperties();
-	}
-
-	//----------------------------------
-	//  processedDescriptors
-	//----------------------------------
-
-    /**
-     *  @private
-	 *  Storage for the processedDescriptors property.
-     */
-	private var _processedDescriptors:Boolean = false;
+    public function get nestLevel():int
+    {
+        return _nestLevel;
+    }
+
+    /**
+     *  @private
+     */
+    public function set nestLevel(value:int):void
+    {
+        _nestLevel = value;
+
+        // After nestLevel is initialized, add this object to the
+        // LayoutManager's queue, so that it is drawn at least once
+        invalidateProperties();
+    }
+
+    //----------------------------------
+    //  processedDescriptors
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the processedDescriptors property.
+     */
+    private var _processedDescriptors:Boolean = false;

     /**
      *  @copy mx.core.UIComponent#processedDescriptors
      */
     public function get processedDescriptors():Boolean
-	{
-		return _processedDescriptors;
-	}
+    {
+        return _processedDescriptors;
+    }

     /**
      *  @private
      */
     public function set processedDescriptors(value:Boolean):void
-	{
-		_processedDescriptors = value;
-	}
-
-	//----------------------------------
-	//  updateCompletePendingFlag
-	//----------------------------------
-
-    /**
-     *  @private
-	 *  Storage for the updateCompletePendingFlag property.
-     */
-	private var _updateCompletePendingFlag:Boolean = false;
-
-    /**
-	 *  A flag that determines if an object has been through all three phases
-	 *  of layout validation (provided that any were required).
+    {
+        _processedDescriptors = value;
+    }
+
+    //----------------------------------
+    //  updateCompletePendingFlag
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the updateCompletePendingFlag property.
+     */
+    private var _updateCompletePendingFlag:Boolean = false;
+
+    /**
+     *  A flag that determines if an object has been through all three phases
+     *  of layout validation (provided that any were required).
      */
     public function get updateCompletePendingFlag():Boolean
-	{
-		return _updateCompletePendingFlag;
-	}
+    {
+        return _updateCompletePendingFlag;
+    }

     /**
      *  @private
      */
     public function set updateCompletePendingFlag(value:Boolean):void
-	{
-		_updateCompletePendingFlag = value;
-	}
+    {
+        _updateCompletePendingFlag = value;
+    }

     //--------------------------------------------------------------------------
     //
@@ -428,19 +427,19 @@
       *  or null if there is not one.
       *
       *  Any changes made directly to the underlying NativeMenu instance
-	  *  may be lost when changes are made to the menu or the underlying
-	  *  data provider.
+      *  may be lost when changes are made to the menu or the underlying
+      *  data provider.
       */
-	public function get nativeMenu() : NativeMenu
-	{
-		return _nativeMenu;
-	}
-
-	//----------------------------------
+    public function get nativeMenu() : NativeMenu
+    {
+        return _nativeMenu;
+    }
+
+    //----------------------------------
     //  dataDescriptor
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var dataDescriptorChanged:Boolean = false;
@@ -492,12 +491,12 @@

         dataDescriptorChanged = true;
     }
-
-	//----------------------------------
+
+    //----------------------------------
     //  dataProvider
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var dataProviderChanged:Boolean = false;
@@ -513,11 +512,11 @@

     /**
      *  The hierarchy of objects that are used to define the structure
-	 *  of menu items in the NativeMenu. Individual data objects define
-	 *  menu items, and items with child items become menus and submenus.
+     *  of menu items in the NativeMenu. Individual data objects define
+     *  menu items, and items with child items become menus and submenus.
      *
      *
The FlexNativeMenu control handles the source data object as follows:

-	 *
+     *
      *

      *
A String containing valid XML text is converted to an XML object.

      *
An XMLNode is converted to an XML object.

@@ -625,7 +624,7 @@
     //  keyEquivalentField
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var keyEquivalentFieldChanged:Boolean = false;
@@ -641,8 +640,8 @@
     /**
      *  The name of the field in the data provider that determines the
      *  key equivalent for each menu item.  The set of values is defined
-	 *  in the Keyboard class, in the KEYNAME_XXXX constants. For example,
-	 *  consult that list for the value for a control character such as Home, Insert, etc.
+     *  in the Keyboard class, in the KEYNAME_XXXX constants. For example,
+     *  consult that list for the value for a control character such as Home, Insert, etc.
      *
      *
Setting the keyEquivalentFunction property causes this property to be ignored.

      *
@@ -694,7 +693,7 @@
      *
      *
The key equivalent function must take a single argument, which is the item
      *  in the data provider, and must return a String.

-	 *
+     *
      *
myKeyEquivalentFunction(item:Object):String

      *
      *  @default "undefined"
@@ -725,7 +724,7 @@
     //  keyEquivalentModifiersFunction
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var keyEquivalentModifiersFunctionChanged:Boolean = false;
@@ -734,47 +733,47 @@
      *  @private
      */
     private var _keyEquivalentModifiersFunction:Function = keyEquivalentModifiersDefaultFunction;
-
+
     private function keyEquivalentModifiersDefaultFunction(data:Object):Array
-	{
-		var modifiers:Array = [];
-		var xmlModifiers:Array = ["@altKey", "@cmdKey", "@ctrlKey",
-		                          "@shiftKey", "@commandKey", "@controlKey"];
-		var objectModifiers:Array = ["altKey", "cmdKey", "ctrlKey",
-		                             "shiftKey", "commandKey", "controlKey"];
+    {
+        var modifiers:Array = [];
+        var xmlModifiers:Array = ["@altKey", "@cmdKey", "@ctrlKey",
+                                  "@shiftKey", "@commandKey", "@controlKey"];
+        var objectModifiers:Array = ["altKey", "cmdKey", "ctrlKey",
+                                     "shiftKey", "commandKey", "controlKey"];
         var keyboardModifiers:Array = [Keyboard.ALTERNATE, Keyboard.COMMAND,
                                        Keyboard.CONTROL, Keyboard.SHIFT,
                                        Keyboard.COMMAND, Keyboard.CONTROL];
-
-		if (data is XML)
-        {
-        	for (var i:int = 0; i < xmlModifiers.length; i++)
-        	{
-        		try
-	            {
-	            	var modifier:* = data[xmlModifiers[i]];
-		            if (modifier[0] == true)
-		                modifiers.push(keyboardModifiers[i]);
-	            }
-	            catch(e:Error)
-	            {
-	            }
-        	}
+
+        if (data is XML)
+        {
+            for (var i:int = 0; i < xmlModifiers.length; i++)
+            {
+                try
+                {
+                    var modifier:* = data[xmlModifiers[i]];
+                    if (modifier[0] == true)
+                        modifiers.push(keyboardModifiers[i]);
+                }
+                catch(e:Error)
+                {
+                }
+            }
         }
         else if (data is Object)
         {
             for (i = 0; i < objectModifiers.length; i++)
-        	{
-        		try
-	            {
-	            	modifier = data[objectModifiers[i]];
-		            if (String(modifier).toLowerCase() == "true")
-		                modifiers.push(keyboardModifiers[i]);
-	            }
-	            catch(e:Error)
-	            {
-	            }
-        	}
+            {
+                try
+                {
+                    modifier = data[objectModifiers[i]];
+                    if (String(modifier).toLowerCase() == "true")
+                        modifiers.push(keyboardModifiers[i]);
+                }
+                catch(e:Error)
+                {
+                }
+            }
         }

         return modifiers;
@@ -788,15 +787,15 @@
      *
      *  If you omit this property, Flex uses its own default function to determine the
      *  Array of modifiers by looking in the data provider data for the presence of
-	 *  the following (boolean) fields: altKey, commandKey,
-	 *  controlKey, and shiftKey.
+     *  the following (boolean) fields: altKey, commandKey,
+     *  controlKey, and shiftKey.
      *
      *
The keyEquivalentModifiersFunction property is good for handling
      *  formatting, localization, and platform independence.

      *
      *
The key equivalent modifiers function must take a single argument, which
      *  is the item in the data provider, and must return an array of modifier key names.

-	 *
+     *
      *
myKeyEquivalentModifiersFunction(item:Object):Array

      *
      *  @default "undefined"
@@ -826,7 +825,7 @@
     //  labelField
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var labelFieldChanged:Boolean = false;
@@ -845,18 +844,18 @@
      *  Strings, Flex uses each string value as the label. If the data
      *  provider is an E4X XML object, you must set this property explicitly.
      *  For example, if each XML elementin an E4X XML Object includes a "label"
-	 *  attribute containing the text to display for each menu item, set
-	 *  the labelField to "@label".
+     *  attribute containing the text to display for each menu item, set
+     *  the labelField to "@label".
      *
      *
In a label, you can specify the character to be used as the mnemonic index
      *  by preceding it with an underscore. For example, a label value of "C_ut"
-	 *  sets the mnemonic index to 1. Only the first underscore present is used for this
-	 *  purpose.  To display a literal underscore character in the label, you can escape it
-	 *  using a double underscore. For example, a label value of "C__u_t" would
-	 *  result in a menu item with the label "C_ut" and a mnemonic index of 3 (the "t"
-	 *  character). If the field defined in the mnemonicIndexField property
-	 *  is present and set to a value greater than zero, that value takes precedence over
-	 *  any underscore-specified mnemonic index value.

+     *  sets the mnemonic index to 1. Only the first underscore present is used for this
+     *  purpose.  To display a literal underscore character in the label, you can escape it
+     *  using a double underscore. For example, a label value of "C__u_t" would
+     *  result in a menu item with the label "C_ut" and a mnemonic index of 3 (the "t"
+     *  character). If the field defined in the mnemonicIndexField property
+     *  is present and set to a value greater than zero, that value takes precedence over
+     *  any underscore-specified mnemonic index value.

      *
      *
Setting the labelFunction property causes this property to be ignored.

      *
@@ -910,7 +909,7 @@
      *
      *
The label function must take a single argument, which is the item
      *  in the data provider, and must return a String.

-	 *
+     *
      *
myLabelFunction(item:Object):String

      *
      *  @default "undefined"
@@ -940,7 +939,7 @@
     //  mnemonicIndexField
     //----------------------------------

-	/**
+    /**
      *  @private
      */
     private var mnemonicIndexFieldChanged:Boolean = false;
@@ -958,15 +957,15 @@
      *  mnemonic index for each menu item.
      *
      *
If the field specified by this property contains a number greater
-	 *  than zero, that mnemonic index
+     *  than zero, that mnemonic index
      *  takes precedence over one specified by an underscore in the label.

      *
      *
Setting the mnemonicIndexFunction property causes
-	 *  this property to be ignored.

+     *  this property to be ignored.

      *
      *  @default "mnemonicIndex"
-	 *
-	 *  @see #labelField
+     *
+     *  @see #labelField
      */
     public function get mnemonicIndexField():String
     {
@@ -1010,7 +1009,7 @@
      *  property value.

      *
      *
If this property is defined and the function returns a number greater than
-	 *  zero for a data item, the returned mnemonic index
+     *  zero for a data item, the returned mnemonic index
      *  takes precedence over one specified by an underscore in the label.

      *
      *
The mnemonicIndexFunction property is good for handling formatting,
@@ -1018,7 +1017,7 @@
      *
      *
The mnemonic index function must take a single argument which is the item
      *  in the data provider and return an int.

-	 *
+     *
      *
myMnemonicIndexFunction(item:Object):int

      *
      *  @default "undefined"
@@ -1067,7 +1066,7 @@
      *
      *
If the data provider has a root node, and the showRoot property
      *  is set to false, the top-level menu items displayed by the
-	 *  FlexNativeMenu control correspond to the immediate descendants of the root node.

+     *  FlexNativeMenu control correspond to the immediate descendants of the root node.

      *
      *
This flag has no effect when using a data provider without a root nodes,
      *  such as a List or Array.

@@ -1098,27 +1097,27 @@
     //  Methods
     //
     //--------------------------------------------------------------------------
-
-   	/**
-	 *  @copy mx.core.UIComponent#invalidateProperties()
-	 */
+
+    /**
+     *  @copy mx.core.UIComponent#invalidateProperties()
+     */
     public function invalidateProperties():void
     {
         // Don't try to add the object to the display list queue until we've
-		// been assigned a nestLevel, or we'll get added at the wrong place in
-		// the LayoutManager's priority queue.
-		if (!invalidatePropertiesFlag && nestLevel > 0)
-		{
-			invalidatePropertiesFlag = true;
-			if (UIComponentGlobals.mx_internal::layoutManager)
-				UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
-			else
-			{
-				var myTimer:Timer = new Timer(100, 1);
-				myTimer.addEventListener(TimerEvent.TIMER, validatePropertiesTimerHandler);
-				myTimer.start();
-			}
-		}
+        // been assigned a nestLevel, or we'll get added at the wrong place in
+        // the LayoutManager's priority queue.
+        if (!invalidatePropertiesFlag && nestLevel > 0)
+        {
+            invalidatePropertiesFlag = true;
+            if (UIComponentGlobals.mx_internal::layoutManager)
+                UIComponentGlobals.mx_internal::layoutManager.invalidateProperties(this);
+            else
+            {
+                var myTimer:Timer = new Timer(100, 1);
+                myTimer.addEventListener(TimerEvent.TIMER, validatePropertiesTimerHandler);
+                myTimer.start();
+            }
+        }
     }

     /**
@@ -1157,50 +1156,50 @@
     }

     /**
-	 *  Validates and updates the properties and layout of this object
-	 *  and redraws it, if necessary.
-	 */
-	public function validateNow():void
-	{
-		// Since we don't have commit/measure/layout phases,
-		// all we need to do here is the commit phase
-		if (invalidatePropertiesFlag)
-			validateProperties();
-	}
-
-	/**
-	 *  Sets the context menu of the InteractiveObject to the underlying native menu.
-	 */
-	public function setContextMenu(component:InteractiveObject):void
-	{
-		component.contextMenu = nativeMenu;
-
-		if (component is Application)
-		{
-			var systemManager:ISystemManager = Application(component).systemManager;
-
-			if (systemManager is InteractiveObject)
-        		InteractiveObject(systemManager).contextMenu = nativeMenu;
-		}
-
-		component.dispatchEvent(new Event("flexContextMenuChanged"));
-	}
-
-	/**
-	 *  Unsets the context menu of the InteractiveObject that has been set to
-	 *  the underlying native menu.
-	 */
-	public function unsetContextMenu(component:InteractiveObject):void
-	{
-		component.contextMenu = null;
-
-		component.dispatchEvent(new Event("flexContextMenuChanged"));
-	}
+     *  Validates and updates the properties and layout of this object
+     *  and redraws it, if necessary.
+     */
+    public function validateNow():void
+    {
+        // Since we don't have commit/measure/layout phases,
+        // all we need to do here is the commit phase
+        if (invalidatePropertiesFlag)
+            validateProperties();
+    }
+
+    /**
+     *  Sets the context menu of the InteractiveObject to the underlying native menu.
+     */
+    public function setContextMenu(component:InteractiveObject):void
+    {
+        component.contextMenu = nativeMenu;
+
+        if (component is Application)
+        {
+            var systemManager:ISystemManager = Application(component).systemManager;
+
+            if (systemManager is InteractiveObject)
+                InteractiveObject(systemManager).contextMenu = nativeMenu;
+        }
+
+        component.dispatchEvent(new Event("flexContextMenuChanged"));
+    }
+
+    /**
+     *  Unsets the context menu of the InteractiveObject that has been set to
+     *  the underlying native menu.
+     */
+    public function unsetContextMenu(component:InteractiveObject):void
+    {
+        component.contextMenu = null;
+
+        component.dispatchEvent(new Event("flexContextMenuChanged"));
+    }

     /**
      *  Processes the properties set on the component.
-	 *
-	 *  @see mx.core.UIComponent#commitProperties()
+     *
+     *  @see mx.core.UIComponent#commitProperties()
      */
     protected function commitProperties():void
     {
@@ -1211,7 +1210,7 @@
         }

         if (dataProviderChanged ||showRootChanged ||
-        	labelFieldChanged || dataDescriptorChanged)
+            labelFieldChanged || dataDescriptorChanged)
         {
             var tmpCollection:ICollectionView;

@@ -1251,7 +1250,7 @@
                                                false,
                                                EventPriority.DEFAULT_HANDLER, true);

-             	populateMenu(_nativeMenu, tmpCollection);
+                populateMenu(_nativeMenu, tmpCollection);
             }

             dispatchEvent(new Event("nativeMenuChange"));
@@ -1280,10 +1279,10 @@
     private function clearMenu(menu:NativeMenu):void
     {
         var numItems:int = menu.numItems;
-    	for (var i:int = 0; i < numItems; i++)
-    	{
-    		menu.removeItemAt(0);
-    	}
+        for (var i:int = 0; i < numItems; i++)
+        {
+            menu.removeItemAt(0);
+        }
     }

     /**
@@ -1323,59 +1322,59 @@
             return;
         }

-		var type:String = dataDescriptor.getType(data).toLowerCase();
-		var isSeparator:Boolean = (type == "separator");
-
-		// label changes later, but separator is read-only so need to know here
-		var nativeMenuItem:NativeMenuItem = new NativeMenuItem("", isSeparator);
-
-		if (!isSeparator)
-		{
-			// enabled
-			nativeMenuItem.enabled = dataDescriptor.isEnabled(data);
-
-			// checked
-			nativeMenuItem.checked = type == "check" && dataDescriptor.isToggled(data);
-
-			// data
-			nativeMenuItem.data = dataDescriptor.getData(data, mx_internal::_rootModel);
-
-			// key equivalent
-			nativeMenuItem.keyEquivalent = itemToKeyEquivalent(data);
-
-			// key equivalent modifiers
-			nativeMenuItem.keyEquivalentModifiers = itemToKeyEquivalentModifiers(data);
-
-			// label and mnemonic index
-			var labelData:String = itemToLabel(data);
-			var mnemonicIndex:int = itemToMnemonicIndex(data);
-
-			if (mnemonicIndex >= 0)
-			{
-				nativeMenuItem.label = parseLabelToString(labelData);
-				nativeMenuItem.mnemonicIndex = mnemonicIndex;
-			}
-			else
-			{
-				nativeMenuItem.label = parseLabelToString(labelData);
-				nativeMenuItem.mnemonicIndex = parseLabelToMnemonicIndex(labelData);
-			}
-
-			// event listeners
-			nativeMenuItem.addEventListener(flash.events.Event.SELECT, itemSelectHandler, false, 0, true);
-
-			// recursive
-			if (dataDescriptor.isBranch(data, mx_internal::_rootModel) &&
-				dataDescriptor.hasChildren(data, mx_internal::_rootModel))
-			{
-				nativeMenuItem.submenu = createMenu();
-				populateMenu(nativeMenuItem.submenu,
-					dataDescriptor.getChildren(data, mx_internal::_rootModel));
-			}
-		}
-
-		// done!
-		menu.addItem(nativeMenuItem);
+        var type:String = dataDescriptor.getType(data).toLowerCase();
+        var isSeparator:Boolean = (type == "separator");
+
+        // label changes later, but separator is read-only so need to know here
+        var nativeMenuItem:NativeMenuItem = new NativeMenuItem("", isSeparator);
+
+        if (!isSeparator)
+        {
+            // enabled
+            nativeMenuItem.enabled = dataDescriptor.isEnabled(data);
+
+            // checked
+            nativeMenuItem.checked = type == "check" && dataDescriptor.isToggled(data);
+
+            // data
+            nativeMenuItem.data = dataDescriptor.getData(data, mx_internal::_rootModel);
+
+            // key equivalent
+            nativeMenuItem.keyEquivalent = itemToKeyEquivalent(data);
+
+            // key equivalent modifiers
+            nativeMenuItem.keyEquivalentModifiers = itemToKeyEquivalentModifiers(data);
+
+            // label and mnemonic index
+            var labelData:String = itemToLabel(data);
+            var mnemonicIndex:int = itemToMnemonicIndex(data);
+
+            if (mnemonicIndex >= 0)
+            {
+                nativeMenuItem.label = parseLabelToString(labelData);
+                nativeMenuItem.mnemonicIndex = mnemonicIndex;
+            }
+            else
+            {
+                nativeMenuItem.label = parseLabelToString(labelData);
+                nativeMenuItem.mnemonicIndex = parseLabelToMnemonicIndex(labelData);
+            }
+
+            // event listeners
+            nativeMenuItem.addEventListener(flash.events.Event.SELECT, itemSelectHandler, false, 0, true);
+
+            // recursive
+            if (dataDescriptor.isBranch(data, mx_internal::_rootModel) &&
+                dataDescriptor.hasChildren(data, mx_internal::_rootModel))
+            {
+                nativeMenuItem.submenu = createMenu();
+                populateMenu(nativeMenuItem.submenu,
+                    dataDescriptor.getChildren(data, mx_internal::_rootModel));
+            }
+        }
+
+        // done!
+        menu.addItem(nativeMenuItem);
     }

     /**
@@ -1383,13 +1382,13 @@
      */
      public function display(stage:Stage, x:int, y:int):void
      {
-     	nativeMenu.display(stage, x, y);
+        nativeMenu.display(stage, x, y);
      }

     /**
      *  Returns the key equivalent for the given data object
      *  based on the keyEquivalentField and keyEquivalentFunction
-	 *  properties. If the method cannot convert the parameter to a String, it returns an
+     *  properties. If the method cannot convert the parameter to a String, it returns an
      *  empty string.
      *
      *  @param data Object to be displayed.
@@ -1464,8 +1463,8 @@

     /**
      *  Returns the String to use as the menu item label for the given data
-	 *  object, based on the labelField and labelFunction
-	 *  properties.
+     *  object, based on the labelField and labelFunction
+     *  properties.
      *  If the method cannot convert the parameter to a String, it returns a
      *  single space.
      *
@@ -1525,7 +1524,7 @@
     /**
      *  Returns the mnemonic index for the given data object
      *  based on the mnemonicIndexField and mnemonicIndexFunction
-	 *  properties. If the method cannot convert the parameter to an integer, it returns -1.
+     *  properties. If the method cannot convert the parameter to an integer, it returns -1.
      *
      *  @param data Object to be displayed.
      *
@@ -1581,50 +1580,50 @@
     /**
      *  Determines the actual label to be used for the NativeMenuItem
      *  by removing underscore characters and converting escaped underscore
-	 *  characters, if there are any.
+     *  characters, if there are any.
      */
     protected function parseLabelToString(data:String):String
     {
-    	const singleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER, "g");
-    	const doubleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER + MNEMONIC_INDEX_CHARACTER, "g");
-    	var dataWithoutEscapedUnderscores:Array = data.split(doubleCharacter);
-
-    	// now need to find lone underscores and remove it
-    	var len:int = dataWithoutEscapedUnderscores.length;
-    	for(var i:int = 0; i < len; i++)
-    	{
-    		var str:String = String(dataWithoutEscapedUnderscores[i]);
-    		dataWithoutEscapedUnderscores[i] = str.replace(singleCharacter, "");
-    	}
-
-    	return dataWithoutEscapedUnderscores.join(MNEMONIC_INDEX_CHARACTER);
+        const singleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER, "g");
+        const doubleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER + MNEMONIC_INDEX_CHARACTER, "g");
+        var dataWithoutEscapedUnderscores:Array = data.split(doubleCharacter);
+
+        // now need to find lone underscores and remove it
+        var len:int = dataWithoutEscapedUnderscores.length;
+        for(var i:int = 0; i < len; i++)
+        {
+            var str:String = String(dataWithoutEscapedUnderscores[i]);
+            dataWithoutEscapedUnderscores[i] = str.replace(singleCharacter, "");
+        }
+
+        return dataWithoutEscapedUnderscores.join(MNEMONIC_INDEX_CHARACTER);
     }

     /**
      *  Extracts the mnemonic index from a label based on the presence of
-	 *  an underscore character. It finds the leading underscore character if
+     *  an underscore character. It finds the leading underscore character if
      *  there is one and uses that as the index.
      */
     protected function parseLabelToMnemonicIndex(data:String):int
     {
-    	const doubleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER + MNEMONIC_INDEX_CHARACTER, "g");
+        const doubleCharacter:RegExp = new RegExp(MNEMONIC_INDEX_CHARACTER + MNEMONIC_INDEX_CHARACTER, "g");
         var dataWithoutEscapedUnderscores:Array = data.split(doubleCharacter);
-
-    	// now need to find first underscore
-    	var len:int = dataWithoutEscapedUnderscores.length;
-    	var strLengthUpTo:int = 0; // length of string accumulator
-    	for(var i:int = 0; i < len; i++)
-    	{
-    		var str:String = String(dataWithoutEscapedUnderscores[i]);
-    		var index:int = str.indexOf(MNEMONIC_INDEX_CHARACTER);
-
-    		if (index >= 0)
-    			return index + strLengthUpTo;
-
-    		strLengthUpTo += str.length + MNEMONIC_INDEX_CHARACTER.length;
-    	}
-
-    	return -1;
+
+        // now need to find first underscore
+        var len:int = dataWithoutEscapedUnderscores.length;
+        var strLengthUpTo:int = 0; // length of string accumulator
+        for(var i:int = 0; i < len; i++)
+        {
+            var str:String = String(dataWithoutEscapedUnderscores[i]);
+            var index:int = str.indexOf(MNEMONIC_INDEX_CHARACTER);
+
+            if (index >= 0)
+                return index + strLengthUpTo;
+
+            strLengthUpTo += str.length + MNEMONIC_INDEX_CHARACTER.length;
+        }
+
+        return -1;
     }

     //--------------------------------------------------------------------------
@@ -1632,8 +1631,8 @@
     //  Event handlers
     //
     //--------------------------------------------------------------------------
-
- 	/**
+
+    /**
      *  @private
      */
     private function itemSelectHandler(event:Event):void
@@ -1643,11 +1642,11 @@
         var type:String = dataDescriptor.getType(nativeMenuItem.data).toLowerCase();
         if (type == "check")
         {
-        	var checked:Boolean = !dataDescriptor.isToggled(nativeMenuItem.data);
-        	nativeMenuItem.checked = checked;
-        	dataDescriptor.setToggled(nativeMenuItem.data, checked);
-        	// this causes an update event which ends up re-creating
-        	// the whole menu... (SDK-13109)
+            var checked:Boolean = !dataDescriptor.isToggled(nativeMenuItem.data);
+            nativeMenuItem.checked = checked;
+            dataDescriptor.setToggled(nativeMenuItem.data, checked);
+            // this causes an update event which ends up re-creating
+            // the whole menu... (SDK-13109)
         }

         var menuEvent:FlexNativeMenuEvent = new FlexNativeMenuEvent(FlexNativeMenuEvent.ITEM_CLICK);
@@ -1670,8 +1669,8 @@
         menuEvent.nativeMenu = nativeMenu;
         dispatchEvent(menuEvent);
     }
-
- 	/**
+
+    /**
      *  @private
      */
     private function collectionChangeHandler(ce:CollectionEvent):void
@@ -1706,7 +1705,7 @@
         }
         else if (ce.kind == CollectionEventKind.UPDATE)
         {
-         	dataProviderChanged = true;
+            dataProviderChanged = true;
             invalidateProperties();
             // should handle elegantly with better performance
             // but can't right now


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 6312
Author:   gosmith@adobe.com
Date:     2009-04-28T03:27:10.193369Z

Log Message:
-----------
Fixed FTE when RichEditableText tried to call validateBaseline().

Also commented out code where TextPrimitive was setting alwaysCreateDisplayObject.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol will review

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -515,7 +515,7 @@
         if (isEmpty)
             text = "Wj";

-        mx_internal::validateBaselinePosition();
+        validateBaselinePosition();

         if (isEmpty)
             text = "";


Transferred from the Adobe Open Source Subversion Repository

Revision: 7581
Author:   cframpto@adobe.com
Date:     2009-06-05T16:54:24.993662Z

Log Message:
-----------
-Redo workaround for SDK21552.  It turns out that in AIR all keyboard events are cancelable so blindly calling event.preventDefault() after the TCM keyDownHandler has processed the event results in the default behavior for normal keys being canceled - hence no text gets inserted.  It also turns out that our SystemManager.keyDownHandler is converting the keyDown events for the set of nav keys used by the scroller into cancelable events.  For the player, normal keys are not cancelable so blindly calling preventDefault() only canceled the nav keys which is what we wanted.

- Remove a no longer needed check in the text setter since TCM.setText() now does the check.

QA Notes:
Doc Notes:
Bugs: SDK-21580
Reviewers: Gordon

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/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1378,12 +1378,6 @@
      */
     public function set text(value:String):void
     {
-        // ToDo: remove this when Vellum fixes this bug.
-        // TextContainerManager setText()/getText() doesn't deal with null
-        // correctly so if text is set to null, convert it to the empty string.
-        if (value == null)
-            value = "";
-
         // Use the setter so _text is refreshed if needed.  This check is
         // needed to block property binding recursion (set causes change event
         // which causes binding to fire which repeats the process).


Transferred from the Adobe Open Source Subversion Repository

Revision: 14743
Author:   chaase@adobe.com
Date:     2010-03-12T23:30:57.186697Z

Log Message:
-----------
QE notes: spark/effects/Resize/Controls/Resize_Controls_Button_FromTo needs to be fixed to reflect the new behavior; effects that set playheadTime >= the effect duration no longer automatically dispatch an effectEnd event. Also, basictests EasingTests was updated to reflect new (correct) behavior.
Doc notes: none
Bugs: sdk-25352, sdk-25270, sdk-25269
Reviewer: Jason (+Ely for sdk-25352's AnimateTransformInstance)
Tests run: checkintests, Mustella mx/effects/Parallel|Sequence, spark/effects
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/CompositeEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/EasingTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -774,12 +774,17 @@
                         }
                     }
                 }
+                else if (currentTime > duration)
+                {
+                    currentTime = duration;
+                    _playheadTime = duration;
+                }
             }
             _cycleTime = currentTime;

             calculateValue(currentTime);

-            if (currentTime >= duration)
+            if (currentTime >= duration && !_doSeek)
             {
                 end();
                 animationEnded = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20836
Author:   chiedozi@adobe.com
Date:     2011-03-12T01:31:06.093014Z

Log Message:
-----------
Merging hero_private revision 20834 into trunk

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -1232,6 +1232,17 @@
     }

     /**
+     *  @private
+     *  Method is used to force the animation timeline to update its current
+     *  time.
+     */
+    mx_internal static function pulse():void
+    {
+        if (timer)
+            Timeline.pulse();
+    }
+
+    /**
      *  Pauses the effect until the resume() method is called.
      *  If stop() is called before resume(), then
      *  the animation cannot be resumed.


M Default inverse trigonometric functions to do 0 iterations, while AbstractVisitor still implement methods to change parents in the shader graph

--- src/aerys/minko/render/shader/part/ShaderPart.as
+++ src/aerys/minko/render/shader/part/ShaderPart.as
@@ -545,7 +545,7 @@
 			return divide(sin(angle), cos(angle));
 		}

-		protected final function acos(angle : Object, numIterations : uint = 6) : SFloat
+		protected final function acos(angle : Object, numIterations : uint = 0) : SFloat
 		{
 			var roughtGuess	: SFloat = multiply(Math.PI / 2, subtract(1, angle));

@@ -561,12 +561,12 @@
 			return roughtGuess;
 		}

-		protected final function asin(angle : Object, numIterations : uint = 6) : SFloat
+		protected final function asin(angle : Object, numIterations : uint = 0) : SFloat
 		{
 			return subtract(Math.PI / 2, acos(angle, numIterations));
 		}

-		protected final function atan(angle : Object, numIterations : uint = 6) : SFloat
+		protected final function atan(angle : Object, numIterations : uint = 0) : SFloat
 		{
 			return asin(multiply(angle, rsqrt(add(1, multiply(angle, angle)))), numIterations);
 		}
@@ -680,7 +680,6 @@
 			main._kills.push(getNode(value));
 		}

-
 		protected final function localToWorld(vertex : Object) : SFloat
 		{
 			return multiply4x4(vertex, localToWorldMatrix);


Clone fix: pass in our ApplicationDomain.

This is sorta wacked. Grumble. I wish there was a pointer to the class always,
instead of the language letting anonymous functions be a "constructor".
This may not always work if a subclass of OccupantInfo is loaded into a sub-domain.

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

--- src/as/com/threerings/crowd/data/OccupantInfo.as
+++ src/as/com/threerings/crowd/data/OccupantInfo.as
@@ -20,6 +20,8 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

 package com.threerings.crowd.data {
+
+import flash.system.ApplicationDomain;

 import com.threerings.util.ClassUtil;
 import com.threerings.util.Cloneable;
@@ -98,7 +100,8 @@
      */
     public function clone () :Object
     {
-        var that :OccupantInfo = ClassUtil.newInstance(this) as OccupantInfo;
+        var that :OccupantInfo =
+            ClassUtil.newInstance(this, ApplicationDomain.currentDomain) as OccupantInfo;
         that.bodyOid = this.bodyOid;
         that.username = this.username;
         that.status = this.status;


default READ to all

default READ to all

--- example/test.as
+++ example/test.as
@@ -2,6 +2,7 @@
 #
 ASG(fill) {
     INPA($(P)LEVEL)
+    RULE(1, READ)
     RULE(1, WRITE){
         CALC("A<3")
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 15817
Author:   jszeto@adobe.com
Date:     2010-04-29T17:59:39.385730Z

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

Applied PARB changes.
Added validation support prototype
Replaced helpText with helpContent
Added FormSkin, FormHeading and FormHeadingSkin

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/Form.as
+++ frameworks/projects/spark/src/spark/components/Form.as
@@ -19,12 +19,15 @@
      *
      *  ISSUES:
      *  - Support auto-generation of numberLabel values?
-     *
+     *  - Should we support developer overriding the layout defined value in columnWidths?
+     *  If so, we need a seperate property or function like columnWidthsOverride
      *
      */

     /**
-     *  TBD
+     *  SkinnableContainer with IFormItem children. It has a columnWidths property
+     *  which is an array of numbers that correspond to the maximum width for
+     *  each form column. Typically this is set by the FormLayout.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -68,8 +71,7 @@
          *  @productversion Flex 4.5
          */

-        // TODO Should we support developer overriding the layout defined value?
-        // If so, we need a seperate property or function like columnWidthsOverride
+        //
         public function get columnWidths():Vector.<Number>
         {
             return _columnWidths;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12969
Author:   egeorgie@adobe.com
Date:     2009-12-15T21:56:35.581732Z

Log Message:
-----------
Cleanup FIXMEs.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -384,7 +384,7 @@
     private function tangentIsValid(prevSegment:PathSegment, curSegment:PathSegment,
                                     sx:Number, sy:Number, m:Matrix):Boolean
     {
-        // FIXME (egeorgie): optimize, we don't need to compute the tangent,
+        // TODO (egeorgie): optimize, we don't need to compute the tangent,
         // but just make sure the segment is not collapsed into a single point?

         // Check the start tangent only. If it's valid,
@@ -837,12 +837,6 @@
             fill.begin(g, bounds, origin);
     }

-    // FIXME (egeorgie): these are a short term fix for MAX to work around the fact
-    //that graphic elements can't differentiate between owning a display object
-    //and sharing one.  The problem is, a previous graphic element might be
-    //moving our display object around, messing with our drawX/drawY.
-    //after MAX, we'll be cleaning up the sharing code, and putting graphics caching
-    //into the GraphicElement base class.
     private var _drawBounds:Rectangle = new Rectangle();

     /**
@@ -855,8 +849,6 @@
      */
     override protected function draw(g:Graphics):void
     {
-        // FIXME (egeorgie): temporary check until DOsharing and graphics caching is cleaned up
-        //after MAX.  See above.
         if (drawX !=  _drawBounds.x || drawY !=  _drawBounds.y ||
             width !=  _drawBounds.width || height !=  _drawBounds.height)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8207
Author:   smgilson@adobe.com
Date:     2009-06-24T22:55:28.494485Z

Log Message:
-----------
Fix ASDoc version tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/DropDownEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/TrackBaseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -165,7 +165,7 @@
     {
         if (postLayoutTransform && hasComplexLayoutMatrix)
             width = getRoundRectBoundingBox(width, height, radiusX, radiusY,
-            								layoutFeatures.layoutMatrix).width;
+                                            layoutFeatures.layoutMatrix).width;

         // Take stroke into account
         return width + getStrokeExtents(postLayoutTransform).x;
@@ -180,7 +180,7 @@
     {
         if (postLayoutTransform && hasComplexLayoutMatrix)
             height = getRoundRectBoundingBox(width, height, radiusX, radiusY,
-            								 layoutFeatures.layoutMatrix).height;
+                                             layoutFeatures.layoutMatrix).height;

         // Take stroke into account
         return height + getStrokeExtents(postLayoutTransform).y;
@@ -190,9 +190,9 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
@@ -224,9 +224,9 @@
      *  @inheritDoc
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
@@ -262,7 +262,7 @@
         var stroke:Number = -getStrokeExtents(postLayoutTransform).x * 0.5;
         if (postLayoutTransform && hasComplexLayoutMatrix)
             return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY,
-            										layoutFeatures.layoutMatrix).x;
+                                                    layoutFeatures.layoutMatrix).x;

         return stroke + this.x;
     }
@@ -275,7 +275,7 @@
         var stroke:Number = - getStrokeExtents(postLayoutTransform).y * 0.5;
         if (postLayoutTransform && hasComplexLayoutMatrix)
             return stroke + getRoundRectBoundingBox(width, height, radiusX, radiusY,
-            										layoutFeatures.layoutMatrix).y;
+                                                    layoutFeatures.layoutMatrix).y;

         return stroke + this.y;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10006
Author:   gruehle@adobe.com
Date:     2009-09-03T22:04:47.081899Z

Log Message:
-----------
Initial checkin of the "More styles for Spark skins" feature. Details here:
http://opensource.adobe.com/wiki/display/flexsdk/More+Styles+for+Spark+Skins

There are some known issues:
* Panel bottom corners not rounded correctly when the panel has a control bar
* cornerRadius on Tab and DateChooser non functional
* cornerRadius values > 4 have drawing artifacts in the "down" state of Button and button-like components
* TextInput/TextArea incorrectly list lineBreak and verticalAlign as valid styles

This checkin also includes a couple minor unrelated bug fixes:
* Remove MiniDebugTarget. This is a logging target that used MiniDebug, which hasn't worked since Flex 1.5
* Fix RTEs when setting focusSkin to null
* Optimization: don't measure skins if the host component has explicit sizes

QE notes: Yes, many baseline images will need to be regenerated
Doc notes: New ASDoc comments should be scrubbed
Bugs: SDK-22931, SDK-22798, SDK-22217, SDK-19358
Reviewer: Jason
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/targets/MiniDebugTarget.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/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</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/spark/defaults.css</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/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</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/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerIncrementButtonSkin.mxml</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/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/skins/SparkSkin.as
+++ frameworks/projects/spark/src/spark/skins/SparkSkin.as
@@ -117,11 +117,15 @@
         if (content && content.length > 0)
         {
             var contentBackgroundColor:uint = getStyle("contentBackgroundColor");
+            var contentBackgroundAlpha:Number = getStyle("contentBackgroundAlpha");

             for (i = 0; i < content.length; i++)
             {
                 if (this[content[i]])
+                {
                     this[content[i]].color = contentBackgroundColor;
+                    this[content[i]].alpha = contentBackgroundAlpha;
+                }
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12747
Author:   mhorn@adobe.com
Date:     2009-12-09T21:22:56.886279Z

Log Message:
-----------
asdoc updates for l10n

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TabBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TitleWindowCloseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VSliderTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ComboBoxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/NumericStepperSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VScrollBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TitleWindowSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarRightButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/SpinnerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HScrollBarTrackSkin.mxml</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/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.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/wireframe/src/spark/skins/wireframe/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/TabBarButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ScrollBarLeftButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/RadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/HScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VScrollBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ButtonBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/skins/SparkSkin.as
+++ frameworks/projects/spark/src/spark/skins/SparkSkin.as
@@ -34,7 +34,7 @@
     static private var colorTransform:ColorTransform = new ColorTransform();

     /**
-     *  Flag that specified whether or not this skin should be affected by chromeColor.
+     *  Specifies whether or not this skin should be affected by the chromeColor style.
      *
      *  @default false
      *
@@ -76,7 +76,8 @@
     }

     /**
-     * Names of items that should have their color property defined by the symbolColor style.
+     * Names of items that should have their color property defined by
+     * the symbolColor style.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -88,8 +89,9 @@
         return null;
     }

-    /*
-     * Names of items that should have their color property defined by the contentBackgroundColor style.
+    /**
+     * Names of items that should have their color property defined by
+     * the contentBackgroundColor style.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -189,6 +191,9 @@
         super.updateDisplayList(unscaledWidth, unscaledHeight);
     }

+    /**
+     *  @private
+     */
     override public function beginHighlightBitmapCapture():Boolean
     {
         var needRedraw:Boolean = super.beginHighlightBitmapCapture();
@@ -210,6 +215,9 @@
         return needRedraw;
     }

+    /**
+     *  @private
+     */
     override public function endHighlightBitmapCapture():Boolean
     {
         var needRedraw:Boolean = super.endHighlightBitmapCapture();


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

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