Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</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/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as
+++ frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as
@@ -124,6 +124,115 @@
      */
     public static const RESET_MOUSE_CURSOR_REQUEST:String = "resetMouseCursorRequest";

+	/**
+	 *	Sent from the top-level focus manager to a subordinate focus managers
+	 *  so all the focus managers participating in a tab loop get activated
+	 */
+	public static const ACTIVATE_FOCUS_REQUEST:String = "activateFocusRequest";
+
+	/**
+	 *	Sent from the top-level focus manager to a subordinate focus managers
+	 *  so all the focus managers participating in a tab loop get deactivated
+	 */
+	public static const DEACTIVATE_FOCUS_REQUEST:String = "deactivateFocusRequest";
+
+	/**
+	 *  Request to move control over focus to another FocusManager.and have
+	 *  that FocusManager give focus to a control under its management based
+	 *  on the direction propert in the event.
+	 *
+     *  When focus is moved back to the parent SWFs FocusManager, the direction
+	 *  property is set to FocusDirection.FORWARD or FocusDirection.BACKWARD.
+     *  When focus is moved to a child SWFs FocusManager, the direction
+	 *  property is set to FocusDirection.TOP or FocusDirection.BOTTOM.
+	 */
+	public static const MOVE_FOCUS_REQUEST:String = "moveFocusRequest";
+
+    /**
+     *  Create a modal window.
+     *
+     *  The show property can be used to show the modal window
+     *  after creating it. A value of true shows the modal window.
+     *  A value of false allows the modal window to remain hidden
+     *  until a ModalWindowRequest.SHOW request is dispatched.
+     *
+     *  The data property may have a Rectangle that
+     *  describes the area to exclude from the modal window. The coordinates
+     *  of the rectangle are in global coordinates. The parameter will only be present when
+     *  the requestor trusts the recipient of the request.
+     */
+    public static const CREATE_MODAL_WINDOW_REQUEST:String = "createModalWindowRequest";
+
+    /**
+     *  Show a modal window.
+     *
+     *  The skip property is used with this request. A value of true
+     *  indicates that the recipient should just forward the request up the parent chain
+     *  without processing the
+     *  request.
+     *
+     *  The data property may have a Rectangle that
+     *  describes the area to exclude based on the current parent. The coordinates
+     *  are in screen coordinates. The parameter will only be present when
+     *  the requestor trusts the recipient of the message.
+     */
+    public static const SHOW_MODAL_WINDOW_REQUEST:String = "showModalWindowRequest";
+
+    /**
+     *  Hide a modal window.
+     *
+     *  The remove property determines if the modal window is
+     *  removed from the display lists as well as hidden. A value of true
+     *  removes the modals window. A value of false only hides the
+     *  modal window.
+     */
+    public static const HIDE_MODAL_WINDOW_REQUEST:String = "hideModalWindowRequest";
+
+	/**
+	 *  Add a popup on the targeted application.
+     *  The request is not honored by the targeted application unless there
+     *  is mutual trust between the dispatching and receiving applications.
+	 *
+	 */
+	public static const ADD_POP_UP_REQUEST:String = "addPopUpRequest";
+
+	/**
+	 *  Remove a popup from the sandboxRoot's system manager.
+	 */
+	public static const REMOVE_POP_UP_REQUEST:String = "removePopUpRequest";
+
+	/**
+	 *  Add a placeholder for a pop up window hosted by a child SystemManager.
+	 *  The pop up window is untrusted so must remain hosted
+     *  by a child that trusts it.
+	 *  A placeholder is sent to the top-level root SystemManager
+     *  so activation and deactivation of all the pop ups can be managed there.
+	 */
+	public static const ADD_POP_UP_PLACE_HOLDER_REQUEST:String =
+				"addPopUpPlaceHolderRequest";
+
+	/**
+	 *  Remove a placeholder.
+	 */
+	public static const REMOVE_POP_UP_PLACE_HOLDER_REQUEST:String =
+				"removePopUpPlaceHolderRequest";
+
+	/**
+	 *  Get the size of the child systemManager.
+	 *  Dispatched by SWFLoader to the child systemManager
+	 *  to get the size of its content.  The child systemManager
+	 *  updates the width and height properties in the event object
+	 */
+	public static const GET_SIZE_REQUEST:String = "getSizeRequest";
+
+	/**
+	 *  Set the size of the child.systemManager
+	 *  Dispatched by SWFLoader to the child systemManager.  The child
+	 *  systemManager should update the size of its children accordingly
+	 *  based on the width and height properties in the event object
+	 */
+	public static const SET_ACTUAL_SIZE_REQUEST:String = "setActualSizeRequest";
+
     //--------------------------------------------------------------------------
     //
     //  Class methods


Transferred from the Adobe Open Source Subversion Repository

Revision: 11027
Author:   dloverin@adobe.com
Date:     2009-10-20T15:50:09.018295Z

Log Message:
-----------
Changes to enable using multiple style managers.

Multiple style managers are not the default yet. Can be enabled by compiling with -create-style-manager.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex, Paul
Tests run: checkintests, all mustella
Is noteworthy for integration: Yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceGenerator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexChangeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSMergedStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.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/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -24,6 +24,7 @@
 import mx.core.FlexVersion;
 import mx.core.IFlexModuleFactory;
 import mx.core.mx_internal;
+import mx.events.FlexChangeEvent;
 import mx.events.ModuleEvent;
 import mx.events.StyleEvent;
 import mx.managers.ISystemManager;
@@ -285,8 +286,11 @@
             DisplayObject(moduleFactory).dispatchEvent(request);
             var moduleFactory:IFlexModuleFactory = request.value as IFlexModuleFactory;
             if (moduleFactory)
+            {
                 _parent = IStyleManager2(moduleFactory.
                                          getImplementation("mx.styles::IStyleManager2"));
+            }
+
         }
     }

@@ -394,8 +398,14 @@
     {
         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
             return false;
-        else
-            return _qualifiedTypeSelectors;
+
+        if (_qualifiedTypeSelectors)
+            return _qualifiedTypeSelectors;
+
+        if (parent)
+            return parent.qualifiedTypeSelectors;
+
+        return false;
     }

     public function set qualifiedTypeSelectors(value:Boolean):void
@@ -449,8 +459,21 @@
      */
     public function get inheritingStyles():Object
     {
-        return _inheritingStyles;
-    }
+        var mergedStyles:Object = _inheritingStyles;
+
+        if (parent)
+        {
+            var otherStyles:Object = parent.inheritingStyles;
+            for (var obj:Object in otherStyles)
+            {
+                if (mergedStyles[obj] === undefined)
+                    mergedStyles[obj] = otherStyles[obj];
+            }
+        }
+
+        return mergedStyles;
+    }
+
     public function set inheritingStyles(value:Object):void
     {
         _inheritingStyles = value;
@@ -527,9 +550,10 @@
     {
 		if (!stylesRoot)
 		{
-			if (_selectors["global"] != null)
+            var style:CSSStyleDeclaration = getMergedStyleDeclaration("global");
+			if (style != null)
 			{
-			    stylesRoot = _selectors["global"].addStyleToProtoChain({}, null);
+			    stylesRoot = style.addStyleToProtoChain({}, null);
 			}
 		}
     }
@@ -552,6 +576,13 @@
     	for (var i:String in _selectors)
     		theSelectors.push(i);

+        if (parent)
+        {
+            var otherSelectors:Array = parent.selectors;
+            for (i in otherSelectors)
+                theSelectors.push(i);
+        }
+
     	return theSelectors;
     }

@@ -567,7 +598,13 @@
      */
     public function hasAdvancedSelectors():Boolean
     {
-        return _hasAdvancedSelectors;
+        if (_hasAdvancedSelectors)
+            return true;
+
+        if (parent)
+            return parent.hasAdvancedSelectors();
+
+        return false;
     }

     /**
@@ -577,7 +614,13 @@
      */
     public function hasPseudoCondition(cssState:String):Boolean
     {
-        return _pseudoCSSStates != null && _pseudoCSSStates[cssState] != null;
+        if (_pseudoCSSStates != null && _pseudoCSSStates[cssState] != null)
+            return true;
+
+        if (parent)
+            return parent.hasPseudoCondition(cssState);
+
+        return false;
     }

     /**
@@ -606,7 +649,30 @@
             }
         }

-        return _subjects[subject] as Array;
+        // NOTE: It's important the the parent declarations come before this style
+        // manager's styles because the order here is the order they are added to the
+        // prototype chain.
+        var theSubjects:Array = null;
+
+        if (parent)
+            theSubjects = parent.getStyleDeclarations(subject);
+
+        if (!theSubjects)
+        {
+            theSubjects = _subjects[subject] as Array;
+        }
+        else
+        {
+            var subjectsArray:Array = _subjects[subject] as Array;
+            if (subjectsArray)
+                theSubjects = theSubjects.concat(subjectsArray);
+        }
+
+        return theSubjects;
+    }
+
+    private function isUnique(element:*, index:int, arr:Array):Boolean {
+        return (arr.indexOf(element) >= 0);
     }

     /**
@@ -662,6 +728,14 @@
      * for the specified CSS selector. The CSSStyleDeclaration object is the created by merging
      * the properties of the specified CSS selector of this style manager with all of the parent
      * style managers.
+     *
+     *

+     * If this style manager contains a style declaration for the given selector, its style properties
+     * will be updated with properties from the parent style manager's merged style declaration. If
+     * this style manager does not have a style declaration for a given selector, the parent's merged
+     * style declaration will be set into this style manager depending on the value of the
+     * setSelector parameter.
+     *

      *
      *
If the selector parameter starts with a period (.),
      * the returned CSSStyleDeclaration is a class selector and applies only to those instances
@@ -694,10 +768,20 @@
      */
     public function getMergedStyleDeclaration(selector:String):CSSStyleDeclaration
     {
-        // FIXME (dloverin) merge in styles from parent style manager.
-        return getStyleDeclaration(selector);
-    }
-
+        var style:CSSStyleDeclaration = getStyleDeclaration(selector);
+        var parentStyle:CSSStyleDeclaration = null;
+
+        // If we have a parent, get its style and merge them with our style.
+        if (parent)
+            parentStyle = parent.getMergedStyleDeclaration(selector);
+
+        if (style || parentStyle)
+            style = new CSSMergedStyleDeclaration(style, parentStyle,
+                             style ? style.selectorString : parentStyle.selectorString, this, false);
+
+        return style;
+    }
+
     /**
      *  Sets the CSSStyleDeclaration object that stores the rules
      *  for the specified CSS selector.
@@ -955,7 +1039,13 @@
      */
     public function isInheritingStyle(styleName:String):Boolean
     {
-        return inheritingStyles[styleName] == true;
+        if (inheritingStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isInheritingStyle(styleName))
+            return true;
+
+        return false;
     }

     /**
@@ -973,7 +1063,13 @@
      */
     public function isInheritingTextFormatStyle(styleName:String):Boolean
     {
-        return inheritingTextFormatStyles[styleName] == true;
+        if (inheritingTextFormatStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isInheritingTextFormatStyle(styleName))
+            return true;
+
+        return false;
     }

     /**
@@ -1014,7 +1110,13 @@
      */
     public function isSizeInvalidatingStyle(styleName:String):Boolean
     {
-        return sizeInvalidatingStyles[styleName] == true;
+        if (sizeInvalidatingStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isSizeInvalidatingStyle(styleName))
+            return true;
+
+        return false;
     }

     /**
@@ -1058,7 +1160,13 @@
      */
     public function isParentSizeInvalidatingStyle(styleName:String):Boolean
     {
-        return parentSizeInvalidatingStyles[styleName] == true;
+        if (parentSizeInvalidatingStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isParentSizeInvalidatingStyle(styleName))
+            return true;
+
+        return false;
     }

     /**
@@ -1103,7 +1211,13 @@
     public function isParentDisplayListInvalidatingStyle(
                                 styleName:String):Boolean
     {
-        return parentDisplayListInvalidatingStyles[styleName] == true;
+        if (parentDisplayListInvalidatingStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isParentDisplayListInvalidatingStyle(styleName))
+            return true;
+
+        return false;
     }

     /**
@@ -1140,7 +1254,13 @@
      */
     public function isColorName(colorName:String):Boolean
     {
-        return colorNames[colorName.toLowerCase()] !== undefined;
+        if (colorNames[colorName.toLowerCase()] !== undefined)
+            return true;
+
+        if (parent && parent.isColorName(colorName))
+            return true;
+
+        return false;
     }

     /**
@@ -1196,8 +1316,15 @@
             // Map "haloGreen" or "HaLoGrEeN" to 0x46FF00.
             var c:* = colorNames[colorName.toLowerCase()];
             if (c === undefined)
-                return StyleManager.NOT_A_COLOR;
+            {
+                // If not found then try our parent
+                if (parent)
+                    c = parent.getColorName(colorName);
+            }

+            if (c === undefined)
+                return StyleManager.NOT_A_COLOR;
+
             return uint(c);
         }

@@ -1264,7 +1391,13 @@
     {
         // By convention, we don't allow style values to be undefined,
         // so we can check for this as the "not set" value.
-        return value !== undefined;
+        if (value !== undefined)
+            return true;
+
+        if (parent)
+            return parent.isValidStyleValue(value);
+
+        return false;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.as
@@ -109,4 +109,4 @@
     function set showsCaret(value:Boolean):void;
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7938
Author:   jszeto@adobe.com
Date:     2009-06-18T00:08:38.098226Z

Log Message:
-----------
PopUpAnchor PARB Part 2

Rename and move spark.core.RelativePosition -> spark.components.PopUpPosition
Rename EXACT -> TOP_LEFT (topLeft)

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpPosition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/RelativePosition.as</path>

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

--- frameworks/projects/spark/src/spark/components/PopUpPosition.as
+++ frameworks/projects/spark/src/spark/components/PopUpPosition.as
@@ -0,0 +1,86 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+/**
+ *  Enumerated type for the PopUpAnchor.popUpPosition property. This type describes
+ *  the position of the popUp relative to the PopUpAnchor.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public final class PopUpPosition
+{
+	/**
+     *  Position above the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const ABOVE:String = "above";
+
+	/**
+     *  Position below the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const BELOW:String = "below";
+
+	/**
+     *  Position in the center of the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const CENTER:String = "center";
+
+	/**
+     *  Position at the upper left corner of the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const TOP_LEFT:String = "topLeft";
+
+	/**
+     *  Position to the left of the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const LEFT:String = "left";
+
+	/**
+     *  Position to the right of the target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+	public static const RIGHT:String = "right";
+
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6265
Author:   gosmith@adobe.com
Date:     2009-04-24T22:52:56.350830Z

Log Message:
-----------
To make RichText more lightweight, it now uses the same technique as RichEditableText2 for its TLF hostFormat. In particular, it uses an object which is not actually a TextLayoutFormat, but instead simply implements ITextLayoutFormat by pulling the format properties directly from the component's CSS styles using getStyle(). This object is now implemented in a new CSSTextLayoutFormat class. It is smaller because it has only one var (for the object to call getStyle() on) rather than a var for every format property.

Also, the code in SimpleText, RichText, and RichEditableText2 for handling embedded fonts is now more uniform; all three classes use an identical getEmbeddedFontContext() method, which can eventually be factored into a base class or utility class after we determine the constellation of text classes that we'll ship with. I also made this code more efficient by using only a static instance of EmbeddedFont and TextFormat.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/CSSTextLayoutFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/core/CSSTextLayoutFormat.as
+++ frameworks/projects/spark/src/spark/core/CSSTextLayoutFormat.as
@@ -0,0 +1,505 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.core
+{
+
+import flash.text.engine.FontLookup;
+import flashx.textLayout.formats.ITextLayoutFormat;
+import mx.core.mx_internal;
+import mx.styles.IStyleClient;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  This class is used by components such as RichText
+ *  and RichEditableText which use TLF to display their text.
+ *  The default formatting for their text is determined
+ *  by the component's CSS styles.
+ *  This class allows TLF to simply "pull" the format values
+ *  from the CSS system using getStyle() calls.
+ *  This takes less memory than using an instance of TextLayoutFormat
+ *  because this class has only one var while TextLayoutFormat
+ *  has one for every format.
+ */
+public class CSSTextLayoutFormat implements ITextLayoutFormat
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Constructor
+	 */
+	public function CSSTextLayoutFormat(client:IStyleClient)
+	{
+		super();
+
+		this.client = client;
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  The component whose CSS styles are used to determine the TLF format.
+	 */
+	private var client:IStyleClient;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties: ITextLayoutFormat
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	public function get alignmentBaseline():*
+	{
+		return client.getStyle("alignmentBaseline");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get backgroundAlpha():*
+	{
+		return client.getStyle("backgroundAlpha");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get backgroundColor():*
+	{
+		return client.getStyle("backgroundColor");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get baselineShift():*
+	{
+		return client.getStyle("baselineShift");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get blockProgression():*
+	{
+		return client.getStyle("blockProgression");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get breakOpportunity():*
+	{
+		return client.getStyle("breakOpportunity");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get cffHinting():*
+	{
+		return client.getStyle("cffHinting");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get color():*
+	{
+		return client.getStyle("color");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get columnCount():*
+	{
+		return client.getStyle("columnCount");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get columnGap():*
+	{
+		return client.getStyle("columnGap");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get columnWidth():*
+	{
+		return client.getStyle("columnWidth");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get digitCase():*
+	{
+		return client.getStyle("digitCase");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get digitWidth():*
+	{
+		return client.getStyle("digitWidth");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get direction():*
+	{
+		return client.getStyle("direction");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get dominantBaseline():*
+	{
+		return client.getStyle("dominantBaseline");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get firstBaselineOffset():*
+	{
+		return client.getStyle("firstBaselineOffset");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get fontFamily():*
+	{
+		return client.getStyle("fontFamily");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get fontLookup():*
+	{
+        var value:String = client.getStyle("fontLookup");
+
+		// Special processing of the "auto" value is required,
+		// because this value has meaning only in Flex, not in TLF.
+		// It tells Flex to use its EmbeddedFontRegistry to determine
+		// whether the font is embedded or not.
+		if (value == "auto")
+        {
+            if (client.mx_internal::embeddedFontContext)
+                value = FontLookup.EMBEDDED_CFF;
+            else
+                value = FontLookup.DEVICE;
+        }
+
+        return value;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get fontSize():*
+	{
+		return client.getStyle("fontSize");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get fontStyle():*
+	{
+		return client.getStyle("fontStyle");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get fontWeight():*
+	{
+		return client.getStyle("fontWeight");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get justificationRule():*
+	{
+		return client.getStyle("justificationRule");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get justificationStyle():*
+	{
+		return client.getStyle("justificationStyle");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get kerning():*
+	{
+		return client.getStyle("kerning");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get leadingModel():*
+	{
+		return client.getStyle("leadingModel");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get ligatureLevel():*
+	{
+		return client.getStyle("ligatureLevel");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get lineBreak():*
+	{
+		return client.getStyle("lineBreak");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get lineHeight():*
+	{
+		return client.getStyle("lineHeight");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get lineThrough():*
+	{
+		return client.getStyle("lineThrough");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get locale():*
+	{
+		return client.getStyle("locale");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get marginBottom():*
+	{
+		return client.getStyle("marginBottom");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get marginLeft():*
+	{
+		return client.getStyle("marginLeft");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get marginRight():*
+	{
+		return client.getStyle("marginRight");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get marginTop():*
+	{
+		return client.getStyle("marginTop");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get paddingBottom():*
+	{
+		return client.getStyle("paddingBottom");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get paddingLeft():*
+	{
+		return client.getStyle("paddingLeft");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get paddingRight():*
+	{
+		return client.getStyle("paddingRight");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get paddingTop():*
+	{
+		return client.getStyle("paddingTop");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get renderingMode():*
+	{
+		return client.getStyle("renderingMode");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get tabStops():*
+	{
+		return client.getStyle("tabStops");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textAlign():*
+	{
+		return client.getStyle("textAlign");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textAlignLast():*
+	{
+		return client.getStyle("textAlignLast");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textAlpha():*
+	{
+		return client.getStyle("textAlpha");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textDecoration():*
+	{
+		return client.getStyle("textDecoration");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textIndent():*
+	{
+		return client.getStyle("textIndent");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textJustify():*
+	{
+		return client.getStyle("textJustify");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get textRotation():*
+	{
+		return client.getStyle("textRotation");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get trackingLeft():*
+	{
+		return client.getStyle("trackingLeft");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get trackingRight():*
+	{
+		return client.getStyle("trackingRight");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get typographicCase():*
+	{
+		return client.getStyle("typographicCase");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get verticalAlign():*
+	{
+		return client.getStyle("verticalAlign");
+	}
+
+	/**
+	 *  @private
+	 */
+	public function get whiteSpaceCollapse():*
+	{
+		return client.getStyle("whiteSpaceCollapse");
+	}
+}
+
+}
+


Transferred from the Adobe Open Source Subversion Repository

Revision: 8422
Author:   smgilson@adobe.com
Date:     2009-07-07T14:41:50.996290Z

Log Message:
-----------
ASDoc updates

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

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/utils/LabelUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/IndexChangeEvent.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/events/TextOperationEvent.as</path>

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

--- frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
+++ frameworks/projects/airspark/src/spark/components/windowClasses/TitleBar.as
@@ -36,7 +36,7 @@
 //--------------------------------------

 /**
- *  The titleBar is enabled and the application is maximized.
+ *  The title bar is enabled and the application is maximized.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -46,7 +46,7 @@
 [SkinState("normalAndMaximized")]

 /**
- *  The titleBar is disabled and the application is maximized.
+ *  The title bar is disabled and the application is maximized.
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


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

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

 package mx.logging.errors
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18149
Author:   cframpto@adobe.com
Date:     2010-10-14T12:35:01.745486Z

Log Message:
-----------
Optimize how selectionLength is calculated so the performance of large selections is the best it can be.

QE notes: 1) test some large selections with some additional cells/rows added or deleted or readded 2) do the same starting with selectAll() 3) test selectionContainsCellRegion() during some of the manipulations in 1 & 2
Doc notes:
Bugs: SDK-28090
Reviewer: Hans
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridSelection.as

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
@@ -222,7 +222,14 @@
     //----------------------------------
     //  selectionLength
     //----------------------------------
-
+
+    //
+    /**
+     *  @private
+     *  Cache the selectionLength.  Only recalculate if selectionLength is -1.
+     */
+    private var _selectionLength:int = 0;
+
     /**
      *  If the selectionMode is either GridSelectionMode.SINGLE_ROW or
      *  GridSelectionMode.MULTIPLE_ROWS, returns the number of
@@ -243,37 +250,30 @@
      */
     public function get selectionLength():int
     {
-        if (selectionMode == GridSelectionMode.NONE)
-            return 0;
-
-        // Handle simple cases directly.
-        if (cellRegions.length == 0)
-        {
-            return selectAllFlag ?
-                   getGridDataProviderLength() * getGridColumnsLength() : 0;
-        }
-
-        // Simple case.  One cell region.
-        if (!selectAllFlag && cellRegions.length == 1 && cellRegions[0].isAdd)
-            return cellRegions[0].width * cellRegions[0].height;
-
-        var bounds:Rectangle = getCellRegionsBounds();
-        const left:int = bounds.left;
-        const right:int = bounds.right;
-        const bottom:int = bounds.bottom;
-
-        var selectedCount:int = 0;
-
-        for (var rowIndex:int = bounds.top; rowIndex < bottom; rowIndex++)
-        {
-            for (var columnIndex:int = left; columnIndex < right; columnIndex++)
-            {
-                if (regionsContainCell(rowIndex, columnIndex))
-                    selectedCount++;
-            }
-        }
-
-        return selectedCount;
+        // Note: this assumes there are no duplicate cells in cellRegions - ie
+        // 2 adds of the same cell without an intermediate delete.
+
+        if (_selectionLength < 0)
+        {
+            _selectionLength = selectAllFlag ?
+                getGridDataProviderLength() * getGridColumnsLength() : 0;
+
+            const cellRegionsLength:int = cellRegions.length;
+            for (var i:int = 0; i < cellRegionsLength; i++)
+            {
+                var cr:CellRect = cellRegions[i];
+                const numCells:int = cr.width * cr.height;
+
+                // Shorthand for
+                // if (cr.isAdd && !selectAllFlag || !cr.isAdd && selectAllFlag)
+                if (cr.isAdd != selectAllFlag)
+                    _selectionLength += numCells;
+                else
+                    _selectionLength -= numCells;
+            }
+        }
+
+        return _selectionLength;
     }

     //----------------------------------
@@ -425,6 +425,7 @@
             // be some removals that need to be cleared.
             removeSelection();
             selectAllFlag = true;
+            _selectionLength = -1;
             return true;
         }

@@ -446,7 +447,9 @@
      */
     public function removeAll():Boolean
     {
-        var selectionChanged:Boolean = removeSelection();
+        var selectionChanged:Boolean = selectionLength > 0;
+
+        removeSelection();
         selectionChanged = ensureRequiredSelection() || selectionChanged;

         return selectionChanged;
@@ -529,8 +532,7 @@
         if (!validateIndex(rowIndex))
             return false;

-        removeSelection();
-        addCellRegion(rowIndex, 0, 1, 1);
+        internalSetCellRegion(rowIndex);

         return true;
     }
@@ -559,7 +561,7 @@
         if (selectionMode != GridSelectionMode.MULTIPLE_ROWS)
             return false;

-        addCellRegion(rowIndex, 0, 1, 1);
+        internalAddCell(rowIndex);

         return true;
    }
@@ -589,7 +591,7 @@
         if (requireSelection && containsRow(rowIndex) && selectionLength == 1)
             return false;

-        removeCellRegion(rowIndex, 0, 1, 1);
+        internalRemoveCell(rowIndex);

         return true;
     }
@@ -616,8 +618,7 @@
         if (!validateRowRegion(rowIndex, rowCount))
             return false;

-        removeSelection();
-        addCellRegion(rowIndex, 0, rowCount, 1);
+        internalSetCellRegion(rowIndex, 0, rowCount, 1);

         return true;
     }
@@ -681,6 +682,24 @@
         if (!validateCellRegion(rowIndex, columnIndex, rowCount, columnCount))
             return false;

+        if (rowCount * columnCount > selectionLength)
+            return false;
+
+        const cellRegionsLength:int = cellRegions.length;
+
+        if (cellRegionsLength == 0)
+            return selectAllFlag;
+
+        if (!selectAllFlag && cellRegionsLength == 1)
+        {
+            const cr:CellRect = cellRegions[0];
+            return (cr.y <= rowIndex && cr.x <= columnIndex &&
+                    cr.y + cr.height <= rowIndex + rowCount &&
+                    cr.x + cr.width <= columnIndex + columnCount);
+        }
+
+        // Not a simple selection so we're going to have to check each cell.
+
         const bottom:int = rowIndex + rowCount;
         const right:int = columnIndex + columnCount;

@@ -722,8 +741,7 @@
         if (!validateCell(rowIndex, columnIndex))
             return false;

-        removeSelection();
-        addCellRegion(rowIndex, columnIndex, 1, 1);
+        internalSetCellRegion(rowIndex, columnIndex, 1, 1);

         return true;
     }
@@ -753,7 +771,7 @@
         if (!validateCellRegion(rowIndex, columnIndex, 1, 1))
             return false;

-        addCellRegion(rowIndex, columnIndex, 1, 1);
+        internalAddCell(rowIndex, columnIndex);

         return true;
     }
@@ -787,7 +805,7 @@
         if (requireSelection && containsCell(rowIndex, columnIndex) && selectionLength == 1)
             return false;

-        removeCellRegion(rowIndex, columnIndex, 1, 1);
+        internalRemoveCell(rowIndex, columnIndex);

         return true;
     }
@@ -825,8 +843,7 @@
         if (!validateCellRegion(rowIndex, columnIndex, rowCount, columnCount))
             return false;

-        removeSelection();
-        addCellRegion(rowIndex, columnIndex, rowCount, columnCount);
+        internalSetCellRegion(rowIndex, columnIndex, rowCount, columnCount);

         return true;
     }
@@ -951,17 +968,12 @@
      *  @private
      *  Remove any currently selected rows, cells and cached items.  This
      *  disregards the requireSelection flag.
-     *
-     *  @return true if the selection has changed.
-     */
-    private function removeSelection():Boolean
-    {
-        const hasSelection:Boolean = selectionLength > 0;
-
+     */
+    private function removeSelection():void
+    {
         cellRegions.length = 0;
         selectAllFlag = false;
-
-        return hasSelection;
+        _selectionLength = 0;
     }

     /**
@@ -1067,71 +1079,59 @@

         return false;
     }
-
-    /**
-     *  @private
-     *  Remove all cell regions that are completely contained by cr and then
-     *  append cr to cellRegions.
-     */
-    private function filterCellRegions(cr:CellRect):void
-    {
-        // If the previous region has the same isAdd and it contains this one,
-        // don't add this one.  Or if cr, contains the previous region,
-        // replace the previous region with this cr.
-        // If there are interleaved adds/deletes we can't compress cell regions
-        // without adding more smarts.
-        const crLength:int = cellRegions.length;
-        if (crLength > 0)
-        {
-            const lastCR:CellRect = cellRegions[crLength - 1];
-            if (lastCR.isAdd == cr.isAdd)
-            {
-                if (lastCR.containsRect(cr))
-                    return;
-
-                if (cr.containsRect(lastCR))
-                {
-                    cellRegions[crLength - 1] = cr;
-                    return;
-                }
-            }
-            else if (cr.equals(lastCR))
-            {
-                // If not select all, then don't need to record an add
-                // followed by the same remove.
-                // If select all, then don't need to record a remove followed
-                // by the same add.
-                if (!selectAllFlag && lastCR.isAdd ||
-                    selectAllFlag && !lastCR.isAdd)
-                {
-                    cellRegions.length--;
-                    return;
-                }
-            }
-        }
+
+    /**
+     *  @private
+     *  Initalize the list of cellRegions with this one.
+     */
+    private function internalSetCellRegion(rowIndex:int, columnIndex:int=0,
+                                           rowCount:uint=1, columnCount:uint=1):void
+    {
+        const cr:CellRect =
+            new CellRect(rowIndex, columnIndex, rowCount, columnCount, true);
+
+        removeSelection();
         cellRegions.push(cr);
-    }
-
-    /**
-     *  @private
-     *  Add the given cell region to the list of cellRegions.
-     */
-    private function addCellRegion(rowIndex:int, columnIndex:int,
-                                   rowCount:uint, columnCount:uint):void
-    {
-       filterCellRegions(new CellRect(rowIndex, columnIndex,
-                                         rowCount, columnCount, !selectAllFlag));
+
+        _selectionLength = rowCount * columnCount;
+    }
+
+    /**
+     *  @private
+     *  Add the given row/cell to the list of cellRegions.
+     */
+    private function internalAddCell(rowIndex:int, columnIndex:int=0):void
+    {
+        if (!regionsContainCell(rowIndex, columnIndex))
+        {
+            const cr:CellRect =
+                new CellRect(rowIndex, columnIndex, 1, 1, !selectAllFlag);
+            cellRegions.push(cr);
+
+            // If the length is current before this add, just increment the
+            // length.
+            if (_selectionLength >= 0)
+                _selectionLength++;
+        }
     }

     /**
      *  @private
-     *  Remove the given cell region from the list of cellRegions.
-     */
-    private function removeCellRegion(rowIndex:int, columnIndex:int,
-                                   rowCount:uint, columnCount:uint):void
-    {
-        filterCellRegions(new CellRect(rowIndex, columnIndex,
-            rowCount, columnCount, selectAllFlag));
+     *  Remove the given row/cell from the list of cellRegions.
+     */
+    private function internalRemoveCell(rowIndex:int, columnIndex:int=0):void
+    {
+        if (regionsContainCell(rowIndex, columnIndex))
+        {
+            const cr:CellRect =
+                new CellRect(rowIndex, columnIndex, 1, 1, selectAllFlag);
+            cellRegions.push(cr);
+
+            // If the length is current before this remove, just decrement the
+            // length.
+            if (_selectionLength >= 0)
+                _selectionLength--;
+        }
     }

     /**
@@ -1270,7 +1270,8 @@
                     cr.height = insertIndex - cr.y;

                     // insert newCR just after cr
-                    cellRegions.splice(++crIndex, 0, newCR);
+                    cellRegions.splice(++crIndex, 0, newCR);
+                    _selectionLength = -1;      // recalculate
                 }
             }
         }
@@ -1319,6 +1320,7 @@
             // new number of rows
             if (cr.bottom > rowCount)
             {
+                _selectionLength = -1;  // recalculate
                 if (cr.y >= rowCount)
                 {
                     cellRegions.splice(crIndex, 1);
@@ -1371,6 +1373,7 @@
                 }
                 else if (removeIndex >= cr.y && removeIndex < cr.bottom)
                 {
+                    _selectionLength = -1;  // recalculate
                     cr.height--;
                     if (cr.height == 0)
                     {
@@ -1518,6 +1521,7 @@

                     // insert newCR just after cr
                     cellRegions.splice(++crIndex, 0, newCR);
+                    _selectionLength = -1;  // recalculate
                 }
             }
         }
@@ -1587,6 +1591,7 @@
                 }
                 else if (removeIndex >= cr.x && removeIndex < cr.right)
                 {
+                    _selectionLength = -1;  // recalculate
                     cr.width--;
                     if (cr.width == 0)
                     {
@@ -1628,6 +1633,7 @@
             // new number of columns
             if (cr.right > columnCount)
             {
+                _selectionLength = -1;  // recalculate
                 if (cr.x >= columnCount)
                 {
                     cellRegions.splice(crIndex, 1);
@@ -1691,9 +1697,4 @@
     {
         return contains(cellColumnIndex, cellRowIndex);
     }
-
-    public function containsRow(rowIndex:int):Boolean
-    {
-        return contains(0, rowIndex);
-    }
 }


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

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


Use some of my acquired special knowledge.

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

--- src/as/com/threerings/ezgame/PlayersDisplay.as
+++ src/as/com/threerings/ezgame/PlayersDisplay.as
@@ -58,7 +58,7 @@
             label.y = y;
             addChild(label);
             y += label.textHeight + pad;
-            maxWidth = label.textWidth;
+            maxWidth = label.textWidth + TEXTWIDTH_ADD;
         }

         var players :Array = _gameCtrl.getPlayers();
@@ -82,7 +82,7 @@
             label.y = y;
             addChild(label);
             y += Math.max(label.textHeight, iconH) + pad;
-            maxWidth = Math.max(maxWidth, iconW + label.textWidth);
+            maxWidth = Math.max(maxWidth, iconW + label.textWidth + TEXTWIDTH_ADD);

             _playerLabels.push(label);
         }
@@ -172,5 +172,9 @@

     /** An array of labels, one for each player name. */
     protected var _playerLabels :Array = [];
+
+    /** These are fucking ridiculous. */
+    protected static const TEXTWIDTH_ADD :int = 5;
+    protected static const TEXTHEIGHT_ADD :int = 4;
 }
 }


admin console weave popup is now using setTimeout so it does not block.

--- WeaveAdmin/src/weave/services/AdminInterface.as
+++ WeaveAdmin/src/weave/services/AdminInterface.as
@@ -22,10 +22,12 @@
 	import flash.external.ExternalInterface;
 	import flash.net.FileReference;
 	import flash.utils.Dictionary;
+	import flash.utils.setTimeout;

 	import mx.controls.Alert;
 	import mx.controls.Button;
 	import mx.rpc.events.ResultEvent;
+	import mx.utils.StringUtil;
 	import mx.utils.UIDUtil;

 	import weave.Strings;
@@ -599,7 +601,11 @@
 			if (fileName)
 				url += 'file=' + fileName + '&'
 			url += 'adminSession=' + createWeaveService();
-			ExternalInterface.call('window.open', url, '_blank', 'width=1000,height=740,location=0,toolbar=0,menubar=0,resizable=1');
+			var target:String = '_blank';
+			var params:String = 'width=1000,height=740,location=0,toolbar=0,menubar=0,resizable=1';
+			// use setTimeout so it will call later without blocking ActionScript
+			var script:String = StringUtil.substitute('setTimeout(function(){ window.open("{0}", "{1}", "{2}"); }, 0)', url, target, params);
+			ExternalInterface.call(script);
 		}

 		public function saveWeaveFile(sessionState:String, clientConfigFileName:String, fileOverwrite:Boolean):DelayedAsyncInvocation


Added user privacy related API (ref #34)

--- actionscript/src/com/marpies/ane/onesignal/OneSignal.as
+++ actionscript/src/com/marpies/ane/onesignal/OneSignal.as
@@ -331,6 +331,36 @@
             }
         }

+		/**
+         * Lets your app require the user's privacy consent before it will initialize.
+         * If you call this method and pass in true, the SDK will delay initialization until
+         * your application calls provideUserConsent(true).
+         *
+         *
If the SDK is waiting for the user's consent, calling any OneSignal SDK methods will
+         * do nothing but print a warning. The user will not be registered for push notifications
+         * until this happens.

+         *
+         * @param value
+         */
+        public static function setRequiresUserPrivacyConsent( value:Boolean ):void {
+            if( !isSupported || !initExtensionContext() ) return;
+
+            mContext.call( "setRequiresUserPrivacyConsent", value );
+        }
+
+		/**
+         * If your application is set to require the user's privacy consent, you can provide this
+         * consent using this method. Until you call this method and pass in true,
+         * the SDK will not fully initialize and will not send any data to OneSignal.
+         *
+         * @param value
+         */
+        public static function provideUserConsent( value:Boolean ):void {
+            if( !isSupported || !initExtensionContext() ) return;
+
+            mContext.call( "provideUserConsent", value );
+        }
+
         /**
          * Adds callback that will be called when user taps a notification
          * or when notification is received while the app is in foreground.
@@ -393,6 +423,15 @@
          *
          *
          */
+
+		/**
+         * Returns a boolean indicating if the user has provided privacy consent.
+         */
+        public static function get userProvidedPrivacyConsent():Boolean {
+            if( !isSupported || !initExtensionContext() ) return false;
+
+            return mContext.call( "userProvidedPrivacyConsent" ) as Boolean;
+        }

         /**
          * Returns true if notifications are enabled for your app in the device


Adding IEventDispatcher as IConnection parent interface since it dispatches events.

--- driver/src/main/flex/org/postgresql/db/IConnection.as
+++ driver/src/main/flex/org/postgresql/db/IConnection.as
@@ -1,4 +1,5 @@
 package org.postgresql.db {
+    import flash.events.IEventDispatcher;

     /**
      * @eventType org.postgresql.event.ConnectionEvent.DISCONNECTED
@@ -28,7 +29,7 @@
     /**
      * Represents a single connection to a PostgreSQL backend.
      */
-    public interface IConnection {
+    public interface IConnection extends IEventDispatcher {

         /**
          * Execute a query with the given handler.


Transferred from the Adobe Open Source Subversion Repository

Revision: 8847
Author:   aharui@adobe.com
Date:     2009-07-28T02:07:59.326177Z

Log Message:
-----------
Fix an injection from Frame1 cleanup.  Also a side-effect of the tabChildren change

QE Notes: None
Doc Notes: None
Bugs: SDK-22222
Reviewer: Mustella
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/components/ComboBox, NumericStepper, DateField, PopUpButton, mustella/gumbo/DropDownList mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.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/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>

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

--- frameworks/projects/mx/src/mx/controls/PopUpButton.as
+++ frameworks/projects/mx/src/mx/controls/PopUpButton.as
@@ -1069,7 +1069,7 @@
         // the popUp and then click outside the application.

         // If the dropdown is open...
-        if (showingPopUp && _popUp)
+        if (showingPopUp && _popUp && event.target == this)
         {
             // If focus is moving outside the popUp...
             if (!event.relatedObject)


Transferred from the Adobe Open Source Subversion Repository

Revision: 1218
Author:   jimurphy@adobe.com
Date:     2008-04-15T16:09:32.174552Z

Log Message:
-----------
merge 3.0.x[1069:1202] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/PNGEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/JPEGEncoder.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/rpc/src/mx/rpc/xml/SchemaTypeRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/codec/IImageEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPFault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloColors.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RoundedRectangle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLBinding.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/IXMLDecoder.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/IXMLDecoder.as
@@ -71,15 +71,20 @@
      * @param xml The XML instance to decode to an ActionScript object.
      * This may be an XML instance, an XMLList of length 1 or a String that is
      * valid XML.
+     *
      * @param name The QName of an XML Schema element that
      * describes how to decode the value, or the name to be used for the
      * decoded value when a type parameter is also specified.
+     *
      * @param type The QName of an XML Schema simpleType or
      * complexType definition that describes how to decode the
      * value.
+     *
      * @param definition If neither a top-level element nor type exists in the
      * schema to describe how to decode this value, a custom element definition
      * can be provided.
+     *
+     * @return Returns an ActionScript object decoded from the given XML document.
      */
     function decode(xml:*, name:QName = null, type:QName = null, definition:XML = null):*;

@@ -91,4 +96,4 @@
     function reset():void;
 }

-}+}


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

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

 package spark.effects
 {


add missing RealisticMaterial.clone()

add missing RealisticMaterial.clone()

--- src/aerys/minko/render/material/realistic/RealisticMaterial.as
+++ src/aerys/minko/render/material/realistic/RealisticMaterial.as
@@ -5,6 +5,7 @@
 	import aerys.minko.render.material.phong.PhongMaterial;
 	import aerys.minko.render.resource.texture.ITextureResource;
 	import aerys.minko.scene.node.Scene;
+	import aerys.minko.type.binding.IDataProvider;

 	import flash.utils.Dictionary;

@@ -58,5 +59,10 @@

 			super(scene, properties, effect, name);
 		}
+
+        override public function clone() : IDataProvider
+        {
+            return new RealisticMaterial((effect as RealisticEffect).scene, this, effect, name);
+        }
 	}
 }


- handled some buffering/stop issues in certain Flash scenarios

--- src/flash/htmlelements/VideoElement.as
+++ src/flash/htmlelements/VideoElement.as
@@ -34,6 +34,7 @@
 		private var _bytesLoaded:Number = 0;
 		private var _bytesTotal:Number = 0;
 		private var _bufferedTime:Number = 0;
+		private var _bufferEmpty:Boolean = false;

 		private var _videoWidth:Number = -1;
 		private var _videoHeight:Number = -1;
@@ -114,12 +115,14 @@
 			switch (event.info.code) {

 				case "NetStream.Buffer.Empty":
+					_bufferEmpty = true;
 					_isEnded ? sendEvent(HtmlMediaEvent.ENDED) : null;
 					break;

 				case "NetStream.Buffer.Full":
 					_bytesLoaded = _stream.bytesLoaded;
 					_bytesTotal = _stream.bytesTotal;
+					_bufferEmpty = false;

 					sendEvent(HtmlMediaEvent.PROGRESS);
 					break;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20845
Author:   mhorn@adobe.com
Date:     2011-03-14T15:29:23.391952Z

Log Message:
-----------
merge 20756,20790,20712,20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/geom/Transform.as
+++ frameworks/projects/framework/src/mx/geom/Transform.as
@@ -25,26 +25,29 @@
 import mx.core.mx_internal;

 use namespace mx_internal;
-
+
 /**
- *  The mx.geom.Transform class adds synchronization support on top of the flash.geom.Transform class.
- *  The class has a target property which is the IVisualElement that the Transform has been assigned to.
- *  The IVisualElement implementations will typically set the target to themselves when the Transform
- *  is assigned to their transform property.
+ *  Adds synchronization support on top of the flash.geom.Transform class.
+ *  The class has a target property which is the IVisualElement that the Transform has been assigned to.
+ *  The IVisualElement implementations typically set the target to themselves when the Transform
+ *  is assigned to their transform property.
  *
- *  Changes to the Transform properties automatically get pushed to the target. Reading from the Transform
- *  properties reads directly from the target's transform.
+ *
Changes to the Transform properties automatically get pushed to the target. Reading from the Transform
+ *  properties reads directly from the target's transform.

+ *
+ *  @see flash.geom.Transform
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
- */
+ */
 public class Transform extends flash.geom.Transform
 {
     /**
      *  Constructor.
      *
+     *  @param src The target of the transform.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -153,6 +156,11 @@
     // we will need to update
     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function set matrix3D(value:Matrix3D):*
     {
@@ -253,6 +261,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getRelativeMatrix3D(relativeTo:DisplayObject):Matrix3D
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/rpc/IResponder.as
+++ frameworks/projects/framework/src/mx/rpc/IResponder.as
@@ -15,6 +15,11 @@
 /**
  *  This interface provides the contract for any service
  *  that needs to respond to remote or asynchronous calls.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IResponder
 {
@@ -23,6 +28,11 @@
 	 *  has been received.
 	 *  While data is typed as Object, it is often
 	 *  (but not always) an mx.rpc.events.ResultEvent.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function result(data:Object):void;

@@ -30,6 +40,11 @@
 	 *  This method is called by a service when an error has been received.
 	 *  While info is typed as Object it is often
 	 *  (but not always) an mx.rpc.events.FaultEvent.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function fault(info:Object):void;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11984
Author:   jimurphy@adobe.com
Date:     2009-11-19T15:30:34.821822Z

Log Message:
-----------
Merged 3.x revisions 11672,11898,11927,11952 -> trunk
........
  r11672 | clucier@adobe.com | 2009-11-11 17:07:26 -0500 (Wed, 11 Nov 2009) | 10 lines

  Bugs: SDK-23661
........
  r11898 | clucier@adobe.com | 2009-11-17 12:38:44 -0500 (Tue, 17 Nov 2009) | 10 lines

  Bugs: SDK-22721
........
  r11927 | clucier@adobe.com | 2009-11-18 08:42:28 -0500 (Wed, 18 Nov 2009) | 10 lines

  Bugs: SDK-16241
........
  r11952 | clucier@adobe.com | 2009-11-18 15:42:08 -0500 (Wed, 18 Nov 2009) | 10 lines

  Bugs: SDK-15988
........

The majority of files in this change list are svn property changes - removing the svn:mergeinfo property

The following paths are the actual changes from 3.x that were merged:
frameworks/projects/rpc/src/mx/rpc/soap/SOAPDecoder.as
frameworks/projects/framework/src/mx/formatters/NumberFormatter.as
frameworks/projects/framework/src/mx/formatters/NumberBase.as
frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as
frameworks/projects/framework/src/mx/controls/ColorPicker.as

Modified Paths:
--------------
127 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/soap/SOAPDecoder.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/SOAPDecoder.as
@@ -16,14 +16,11 @@
 import flash.xml.XMLDocument;
 import flash.xml.XMLNode;

-import mx.collections.IList;
-import mx.core.mx_internal;
 import mx.logging.ILogger;
 import mx.logging.Log;
 import mx.rpc.soap.types.ICustomSOAPType;
+import mx.rpc.wsdl.WSDLEncoding;
 import mx.rpc.wsdl.WSDLMessagePart;
-import mx.rpc.wsdl.WSDLConstants;
-import mx.rpc.wsdl.WSDLEncoding;
 import mx.rpc.wsdl.WSDLOperation;
 import mx.rpc.xml.ContentProxy;
 import mx.rpc.xml.DecodingContext;
@@ -31,10 +28,9 @@
 import mx.rpc.xml.SchemaDatatypes;
 import mx.rpc.xml.TypeIterator;
 import mx.rpc.xml.XMLDecoder;
-import mx.utils.ObjectProxy;
-import mx.utils.object_proxy;
 import mx.utils.StringUtil;
 import mx.utils.XMLUtil;
+import mx.utils.object_proxy;

 use namespace object_proxy;

@@ -915,12 +911,13 @@
      */
     private function resolveReferences(root:XML, cleanupElementsWithIdCache:Boolean=true):void
     {
-        if (_referencesResolved) return;
-
+        if (_referencesResolved)
+            return;
+
         var index:uint = 0;
         if (_elementsWithId == null)
             _elementsWithId = document..*.(attribute("id").length() > 0);
-
+
         // Note that we must consider all child nodes here, not just elements
         // as we need the accurate index in terms of child XML nodes to replace
         // a node with the referent.
@@ -928,39 +925,43 @@
         {
             if (child.nodeKind() == "element")
             {
-                var element:XML = child;
-                var href:String = getAttributeFromNode("href", element);
+                var href:String = getAttributeFromNode("href", child);
                 if (href != null)
                 {
                     var hashPosition:int = href.indexOf("#");
                     if (hashPosition >= 0)
                         href = href.substring(hashPosition + 1);
-
+
                     // Find the first element with a matching id attribute
                     var matches:XMLList = _elementsWithId.(@id == href);
                     var referent:XML;
-
+
                     if (matches.length() > 0)
                         referent = matches[0];
                     else
                         throw new Error("The element referenced by id '" + href + "' was not found.");
-
-                    referent.setName(element.name());
-
+
+                    referent.setName(child.name());
+
                     if (referent.hasComplexContent())
                         resolveReferences(referent, false);
-
+
+                    // Replace the reference with the referent
                     root.replace(index, referent);
-                }
-                else if (element.hasComplexContent())
-                {
-                    resolveReferences(element, false);
+
+                    // Then remove the id attribute from replaced value
+                    referent = root.child(index)[0];
+                    delete referent.@id;
+                }
+                else if (child.hasComplexContent())
+                {
+                    resolveReferences(child, false);
                 }
             }

             index++;
         }
-
+
         if (cleanupElementsWithIdCache)
         {
             _elementsWithId = null;


Transferred from the Adobe Open Source Subversion Repository

Revision: 6345
Author:   dsubrama@adobe.com
Date:     2009-04-28T18:49:50.634464Z

Log Message:
-----------
Code re-organization, updated ASDoc comments and a few PARB requested re-names (internal methods, shouldn't require updating on the QA side of things).

Reviewer: Me
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -107,12 +107,6 @@
 public class List extends ListBase implements IFocusManagerComponent
 {
     include "../core/Version.as";
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constants
-    //
-    //--------------------------------------------------------------------------

     //--------------------------------------------------------------------------
     //
@@ -181,28 +175,9 @@
     //  selectedIndex
     //----------------------------------

-
     [Bindable("selectionChanged")]
     /**
-     *  The 0-based index of the selected item, or -1 if no item is selected.
-     *  Setting the selectedIndex property deselects the currently selected
-     *  item and selects the item at the specified index.
-     *
-     *
The value of selectedIndex is always between -1 and
-     *  (dataProvider.length - 1).
-     *  If items at a lower index than selectedIndex are
-     *  removed from the component, the selected index is adjusted downward
-     *  accordingly.

-     *
-     *
When the value of the allowMultipleSelection property
-     *  is true, the property is set to the first selected item.

-     *
-     *  @default -1
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
     override public function get selectedIndex():int
     {
@@ -240,13 +215,6 @@
     private var multipleSelectionChanged:Boolean = false;

     [Bindable("selectionChanged")]
-    /*
-     *  Selected indices for this component.
-     *
-     *  TODO: describe
-     *
-     *  @default null
-     */
     /**
      *  Selected indices for this component.
      *
@@ -281,14 +249,6 @@
     }

     [Bindable("selectionChanged")]
-    /*
-     *  Selected items for this component.
-     *
-     *  TODO: describe
-     *
-     *  @default null
-     *
-     */
     /**
      *  Selected items for this component.
      *
@@ -383,12 +343,7 @@
     }

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
     override protected function partAdded(partName:String, instance:Object):void
     {
@@ -403,12 +358,7 @@
     }

     /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
+     *  @private
      */
     override protected function partRemoved(partName:String, instance:Object):void
     {
@@ -553,13 +503,20 @@
     }

     /**
-     *  @private
      *  If the layout element at the specified index isn't completely
      *  visible, scroll this IViewport.
      *
      *  In the future, this method may animate the scroll.
-     */
-    protected function ensureIndexIsVisible(index:int):void
+     *
+     *  @param index The index of the item that is brought into
+     *  visibility
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    protected function ensureItemIsVisible(index:int):void
     {
         if (!layout)
             return;
@@ -611,7 +568,7 @@
 	            // TODO (jszeto) Added this because we want the selection to commit immediately
 	            // Explore better way to accomplish this.
 	            commitSelectedIndex();
-	            ensureIndexIsVisible(selectedIndex);
+	            ensureItemIsVisible(selectedIndex);
 	        }
 		}
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11675
Author:   hmuller@adobe.com
Date:     2009-11-12T00:25:39.300334Z

Log Message:
-----------
Added minValue,maxValue,etc Style/Inspectable metadata tags for tools.

QE notes:
Doc notes:
Bugs: sdk-24100
Reviewer: Glenn
Tests run:
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/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</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/supportClasses/ScrollBar.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/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>
<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/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.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/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/Range.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -67,7 +67,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="borderAlpha", type="Number", inherit="no", theme="spark")]
+[Style(name="borderAlpha", type="Number", inherit="no", theme="spark", minValue="0.0", maxValue="1.0")]

 /**
  *  The color of the border for this component.
@@ -101,7 +101,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="contentBackgroundAlpha", type="Number", inherit="yes", theme="spark")]
+[Style(name="contentBackgroundAlpha", type="Number", inherit="yes", theme="spark", minValue="0.0", maxValue="1.0")]

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:contentBackgroundColor


Transferred from the Adobe Open Source Subversion Repository

Revision: 12280
Author:   smgilson@adobe.com
Date:     2009-11-30T17:45:36.448234Z

Log Message:
-----------
ASDoc updates in preperation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<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/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale3D.as
+++ frameworks/projects/spark/src/spark/effects/Scale3D.as
@@ -62,6 +62,8 @@
  *  />
  *  </pre>
  *
+ *  @includeExample examples/Scale3DEffectExample.mxml
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5


Transferred from the Adobe Open Source Subversion Repository

Revision: 10877
Author:   egeorgie@adobe.com
Date:     2009-10-05T22:23:37.431913Z

Log Message:
-----------
Fix a small syntax error in Path bounds calculations that could result in wrong bounds for edge cases involving MoveSegments.
Thanks go to Min for noticing the bug!

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

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

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -674,7 +674,7 @@
         while (true)
         {
             // Find a segment with a valid tangent or stop at a MoveSegment
-            while (start < count && (!segments[start] is MoveSegment))
+            while (start < count && !(segments[start] is MoveSegment))
             {
                 var prevSegment:PathSegment = start > 0 ? segments[start - 1] : null;
                 if (tangentIsValid(prevSegment, segments[start], sx, sy, m))