Transferred from the Adobe Open Source Subversion Repository

Revision: 4192
Author:   rfrishbe@adobe.com
Date:     2008-11-26T19:39:48.250759Z

Log Message:
-----------
This change will allow us to handle having the same items multiple times in the list, for example “Ryan Frishberg” can now be in the list twice.

In order to do it, rather than using the item to find the itemRenderer or to tell the list that an item’s been selected, we need to use the index instead.  Methods like getItemRenderer and getRendererItem were changed to accept an index rather than an item.  Other methods were added, like isItemIndexSelected() because I felt isItemSelected() is still a useful method to have, even though it’s ambiguous when multiple items come in to play.

For now, I just tried to change the parameters where needed.  Some of the names of the methods were updated to reflect the change, but others weren’t because PARB is going to review a lot of this on Thursday, so it’s easier to make a name change only once (and after PARB approves it).

I also added properties to ItemExistanceChangeEvent.as.  In a later checkin, I’ll create a separate RendererExistanceChangeEvent.as for DataGroups and use ItemExistanceChangeEvents only for IVisualElementContainers (Halo containers  will also dispatch these events).  However, this needs to be PARB reviewed, so I figured it’s best to hold off on this change until later.

Also included in this checkin are some small ASDoc updates to no longer use any of the “addItem(), numItems”, and instead use addElement() or numElements where appropriate.

QE Notes: Steve's excluded any failing tests.  As noted in the checkin, there will probably be some renaming related to these methods.  Also, add some tests for duplicate items now.
Doc Notes: None
Bugs: SDK-17912
Reviewer: Glenn
tests: checkintests, mustella DataGroup, FxDataContainer, FxList

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -11,7 +11,6 @@

 package mx.components
 {
-import flash.display.DisplayObject;
 import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
 import flash.ui.Keyboard;
@@ -252,37 +251,35 @@
     /**
      *  @private
      */
-    override protected function itemSelected(item:Object, selected:Boolean):void
-    {
-        var item:Object = dataGroup.getItemRenderer(item);
-
-        if (item)
-        {
-            if ("selected" in item)
-                item.selected = selected;
+    override protected function itemSelected(index:int, selected:Boolean):void
+    {
+        super.itemSelected(index, selected);
+
+        var renderer:Object = dataGroup.getItemRenderer(index);
+
+        if (renderer)
+        {
+            if ("selected" in renderer)
+                renderer.selected = selected;
             else
             {
                 // TODO: localize below (and other messages)
-                throw new Error("The item needs to support the \"selected\" property " +
+                throw new Error("The item renderer needs to support the \"selected\" property " +
                         "for selection to work.  An easy way to accomplish this is by wrapping " +
                         "your component in a DefaultComplexItemRenderer");
             }
         }
     }
-
-    /**
-     *  Returns true if the item is selected.
-     */
-    public function isItemSelected(item:Object):Boolean
+
+    /**
+     *  @private
+     */
+    override public function isItemIndexSelected(index:int):Boolean
     {
         if (allowMultipleSelection)
-        {
-            var itemIndex:int = dataProvider.getItemIndex(item);
-
-            return selectedIndices.indexOf(itemIndex) != -1;
-        }
-
-        return item == selectedItem;
+            return selectedIndices.indexOf(index) != -1;
+
+        return index == selectedIndex;
     }

     /**
@@ -385,7 +382,7 @@
             count = removedItems.length;
             for (i = 0; i < count; i++)
             {
-                itemSelected(dataProvider.getItemAt(removedItems[i]), false);
+                itemSelected(removedItems[i], false);
             }
         }

@@ -395,7 +392,7 @@
             count = addedItems.length;
             for (i = 0; i < count; i++)
             {
-                itemSelected(dataProvider.getItemAt(addedItems[i]), true);
+                itemSelected(addedItems[i], true);
             }
         }
     }
@@ -412,13 +409,14 @@
      */
     private function dataGroup_itemAddHandler(event:ItemExistenceChangedEvent):void
     {
-        var renderer:Object = dataGroup.getItemRenderer(event.relatedObject);
+        var index:int = event.index;
+        var renderer:Object = event.renderer;

         if (renderer)
             renderer.addEventListener("click", item_clickHandler);

-        if (isItemSelected(event.relatedObject))
-            itemSelected(event.relatedObject, true);
+        if (isItemIndexSelected(index))
+            itemSelected(index, true);
     }

     /**
@@ -426,8 +424,9 @@
      *  Called when an item has been removed from this component.
      */
     private function dataGroup_itemRemoveHandler(event:ItemExistenceChangedEvent):void
-    {
-        var renderer:Object = dataGroup.getItemRenderer(event.relatedObject);
+    {
+        var index:int = event.index;
+        var renderer:Object = event.renderer;

         if (renderer)
             renderer.removeEventListener("click", item_clickHandler);
@@ -441,7 +440,7 @@
     {
         // Multiple selection needs to be added here....

-        selectedItem = dataGroup.getRendererItem(DisplayObject(event.currentTarget));
+        selectedIndex = dataGroup.getRendererItem(event.currentTarget);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5305
Author:   chaase@adobe.com
Date:     2009-03-13T20:07:42.611851Z

Log Message:
-----------
Fixed a few unrelated effects bugs, including an RTE when manually playing an FxRotate3D effect, incorrect calculations using valueBy in general, and allowing FxAnimateColor to handle color names instead of just uints.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Animate.as
+++ frameworks/projects/spark/src/spark/effects/Animate.as
@@ -22,6 +22,8 @@
 import mx.events.AnimationEvent;
 import mx.events.EffectEvent;
 import mx.styles.IStyleClient;
+
+import spark.effects.MotionPath;

 use namespace mx_internal;

@@ -298,7 +300,7 @@
                 affectedProperties = new Array(animationProperties.length);
                 for (var i:int = 0; i < animationProperties.length; ++i)
                 {
-                    var effectHolder:AnimationProperty = AnimationProperty(animationProperties[i]);
+                    var effectHolder:MotionPath = MotionPath(animationProperties[i]);
                     affectedProperties[i] = effectHolder.property;
                 }
             }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.olap
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 4229
Author:   egreenfi@adobe.com
Date:     2008-12-04T00:38:26.275387Z

Log Message:
-----------
added layering support to DataGroup

DataGroup now correctly supports non-zero layers on its itemRenderers.

Also, fixed an injection from Wednesday that broke charts due to a function added to UIComponent that I seem to be overly fond of.

QA: yes.
DOC: no.
REviewer: Deepa.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.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/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -69,6 +69,15 @@
     private var _itemRenderer:IFactory;

     private var itemRendererChanged:Boolean;
+
+    /**
+     *  @private
+     *  flag to indicate whether a child in the item renderer has a non-zero layer, requiring child re-ordering.
+     */
+    private var _layeringFlags:uint = 0;
+
+    private static const LAYERING_ENABLED:uint = 	0x1;
+    private static const LAYERING_DIRTY:uint = 		0x2;

     [Inspectable(category="Data")]

@@ -331,6 +340,11 @@
         // GroupBase's commitProperties reattaches the mask
         super.commitProperties();

+        if(_layeringFlags & LAYERING_DIRTY)
+        {
+        	manageDisplayObjectLayers();
+        }
+
         // Check whether we manage the elements, or are they managed by an ItemRenderer
         // TODO EGeorgie: we need to optimize this, iterating through all the elements is slow.
         // Validate element properties
@@ -381,6 +395,80 @@
             if (element)
                 element.validateDisplayList();
         }
+    }
+
+   private function manageDisplayObjectLayers():void
+    {
+        var topLayerItems:Vector.<IVisualElement>;
+        var bottomLayerItems:Vector.<IVisualElement>;
+        var keepLayeringEnabled:Boolean = false;
+
+        var insertIndex:uint = 0;
+
+		_layeringFlags &= ~LAYERING_DIRTY;
+
+        // Iterate through all of the items
+        var len:int = itemRendererRegistry.length;
+        var displayObject:DisplayObject;
+
+        for (var i:int = 0; i < len; i++)
+        {
+            var item:Object = itemRendererRegistry[i];
+
+            var layer:Number = 0;
+            if (item is IVisualElement)
+                layer = (item as IVisualElement).layer;
+            if (layer != 0)
+            {
+                if (layer > 0)
+                {
+                    if (topLayerItems == null) topLayerItems = new Vector.<IVisualElement>();
+                    topLayerItems.push(item);
+                    continue;
+                }
+                else
+                {
+                    if (bottomLayerItems == null) bottomLayerItems = new Vector.<IVisualElement>();
+                    bottomLayerItems.push(item);
+                    continue;
+                }
+            }
+            displayObject = (item is GraphicElement)? GraphicElement(item).displayObject:item as DisplayObject;
+            super.setChildIndex(displayObject,insertIndex++);
+        }
+        if (topLayerItems != null)
+        {
+            keepLayeringEnabled = true;
+            GroupBase.mx_internal::sortOnLayer(topLayerItems);
+            len = topLayerItems.length;
+            for (i=0;i<len;i++)
+            {
+            	item = topLayerItems[i];
+	            displayObject = (item is GraphicElement)? GraphicElement(item).displayObject:item as DisplayObject;
+	            super.setChildIndex(displayObject,insertIndex++);
+            }
+        }
+
+        if (bottomLayerItems != null)
+        {
+            keepLayeringEnabled = true;
+            insertIndex=0;
+
+            GroupBase.mx_internal::sortOnLayer(bottomLayerItems);
+            len = bottomLayerItems.length;
+
+            for (i=0;i<len;i++)
+            {
+            	item = bottomLayerItems[i];
+	            displayObject = (item is GraphicElement)? GraphicElement(item).displayObject:item as DisplayObject;
+	            super.setChildIndex(displayObject,insertIndex++);
+            }
+        }
+
+        if (keepLayeringEnabled == false)
+        {
+            _layeringFlags &= ~LAYERING_ENABLED;
+        }
     }

     //--------------------------------------------------------------------------
@@ -411,6 +499,15 @@
     }

     /**
+     *  @private
+     */
+    override public function invalidateLayering():void
+    {
+    	_layeringFlags |= (LAYERING_ENABLED | LAYERING_DIRTY);
+        invalidateProperties();
+    }
+
+    /**
      *  Adds an item to this DataGroup.
      *  Flex calls this method automatically; you do not call it directly.
      *
@@ -439,6 +536,7 @@
             myItemRenderer = createRendererForItem(item, index);
         }

+
         registerRenderer(index, myItemRenderer);

         if (myItemRenderer is GraphicElement)
@@ -454,6 +552,7 @@

         invalidateSize();
         invalidateDisplayList();
+
     }

     /**
@@ -525,7 +624,9 @@

         // TODO (rfrishbe): need to check for DisplayObject?
         if (item is IVisualElement)
-            host = IVisualElement(item).parent;
+        {
+            host = IVisualElement(item).parent;
+        }
         else if (item is DisplayObject)
             host = DisplayObject(item).parent;

@@ -557,9 +658,12 @@
                 return child;
             }
             else
-                child.parent.removeChild(child);
-
-        }
+                child.parent.removeChild(child);
+        }
+
+        if ((_layeringFlags & LAYERING_ENABLED) ||
+        	(item is IVisualElement && (item as IVisualElement).layer != 0))
+        	invalidateLayering();

         return super.addChildAt(child, index != -1 ? index : super.numChildren);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20007
Author:   cframpto@adobe.com
Date:     2011-01-28T20:19:13.564049Z

Log Message:
-----------
Add [Inspectable] metadata to all spark text components

QE notes:
Doc notes:
Bugs: part of SDK-28942
Reviewer: Corey
Tests run: cyclone, FlashBuilder w/ DesignView
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -257,7 +257,7 @@
     //  widthInChars
     //----------------------------------

-    [Inspectable(minValue="0.0")]
+    [Inspectable(category="General", minValue="0.0")]

     /**
      *  The default width of the control, measured in em units.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

checkintests: pass

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

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

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

--- frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as
@@ -14,46 +14,23 @@
     import mx.messaging.messages.MessagePerformanceInfo;

     /**
-     * The MessagePerformanceUtils class is used to retrieve various metrics about
+     * The MessagePerformanceUtils utility class is used to retrieve various metrics about
      * the sizing and timing of a message sent from a client to the server and its
      * response message, as well as pushed messages from the server to the client.
-     *
-     *
Metrics are gathered when the following properties on the channel are set to true:
-     * <record-message-times> enables capturing of timing information,
-     * <record-message-sizes> enables capturing of sizing information.
-     * Set these parameters to true or false,
-     * where the default value is false.
-     * You can set them to different values to capture only one type of metrics.
-     * For example, the following channel definition specifies to capture message timing information,
-     * but not message sizing information:

-     *
-     *

-     * <channel-definition id="my-streaming-amf"
-     *     class="mx.messaging.channels.StreamingAMFChannel">
-     *     <endpoint
-     *         url="http://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf"
-     *         class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
-     *     <properties>
-     *         <record-message-times>true</record-message-times>
-     *         <record-message-sizes>false</record-message-sizes>
-     *     </properties>
-     * </channel-definition>

+     * Metrics are gathered when corresponding properties on the channel used are enabled:
+     * <record-message-times> denotes capturing of timing information,
+     * <record-message-sizes> denotes capturing of sizing information.
      *
-     *
In your client application, you use the methods and properties of this class
-     * to retrieve performance metrics about received messages.

+     *
You can then use methods of this utility class to retrieve various performance information
+     * about the message that you have just received.

      *
      *
When these metrics are enabled an instance of this class should be created from
-     * a response, acknowledgement, or message handler in the form:

-     *
-     *
var mpiutil:MessagePerformanceUtils = new MessagePerformanceUtils(event.message);
+     * a response, acknowledgement, or message handler via something like:

+     * @example
+     *

+     *      var mpiutil:MessagePerformanceUtils = new MessagePerformanceUtils(event.message);
      *

      *
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
      */
     public class MessagePerformanceUtils
     {
@@ -108,20 +85,13 @@
         //--------------------------------------------------------------------------

         /**
-         * Constructor.
-         *
-         * Creates an MessagePerformanceUtils instance with information from
-         * the message received by the client.
-         *
-         * @param message The message received from the server.
-         * This can be a message pushed from the server, or an acknowledge message received
-         * by the client after the client pushed a message to the server.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Constructor
+         *
+         * Creates an MPUtils instance with information from the MPI headers
+         * of the passed in message
+         *
+         * @param message The message whose MPI headers will be used in retrieving
+         * MPI information
          */
         public function MessagePerformanceUtils(message:Object):void
         {
@@ -147,16 +117,10 @@
         //--------------------------------------------------------------------------

         /**
-         * Time, in milliseconds, between this client sending a message and
-         * receiving a response from the server.
-         *
-         *
This property contains 0 for a streaming or RTMP (LiveCycle Data Services ES only) channel.

-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Time between this client sending a message and receiving a response
+         * for it from the server
+         *
+         * @return Total time in milliseconds
          */
         public function get totalTime():Number
         {
@@ -167,41 +131,29 @@
         }

         /**
-         * Time, in milliseconds, between server receiving the client message and
-         * either the time the server responded to the received message or has
-         * the pushed message ready to be sent to a receiving client.
-         * For example, for an acknowledge message, this is the time from when the server receives
-         * a message from the producer and sends the acknowledge message back to the producer.
-         * For a consumer that uses polling, it is the time between the arrival of
-         * the consumers polling message and any message returned in response to the poll.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Time between server receiving the client message and either the time
+         * the server responded to the received message or had the pushed message ready
+         * to be sent to the receiving client.
+         *
+         * @return Server processing time in milliseconds
          */
         public function get serverProcessingTime():Number
         {
             if (pushedMessageFlag)
             {
-                return mpip.serverPrePushTime - mpip.receiveTime;
+            	return mpip.serverPrePushTime - mpip.receiveTime;
             }
             else
             {
-                return mpio.sendTime - mpii.receiveTime;
+            	return mpio.sendTime - mpii.receiveTime;
             }
         }

         /**
-         * Time, in milliseconds, between the server receiving the client message
-         * and the server beginning to push the message out to other clients.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Time between server receiving the client message and the server beginning to push
+         * messages out to other clients as a result of the original message.
+         *
+         * @return Server pre-push processing time in milliseconds
          */
         public function get serverPrePushTime():Number
         {
@@ -214,143 +166,106 @@
         }

         /**
-         * Processing time, in milliseconds, of the message by the adapter
-         * associated with the destination before either the response to
-         * the message was ready or the message has been prepared to be pushed
-         * to the receiving client.
-         * This corresponds to the time that the message was processed by your code
-         * on the server.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Time spent in the adapter associated with the destination for this message before
+         * either the response to the message was ready or the message had been prepared
+         * to be pushed to the receiving client.
+         *
+         * @return Server adapter processing time in milliseconds
          */
-        public function get serverAdapterTime():Number
-        {
-            if (pushedMessageFlag)
-            {
-                if (mpip == null)
-                    return 0;
-                if (mpip.serverPreAdapterTime == 0 || mpip.serverPostAdapterTime == 0)
-                    return 0;
-
-                return mpip.serverPostAdapterTime - mpip.serverPreAdapterTime;
-            }
-            else
-            {
-                if (mpii == null)
-                    return 0;
-                if (mpii.serverPreAdapterTime == 0 || mpii.serverPostAdapterTime == 0)
-                    return 0;
-
-                return mpii.serverPostAdapterTime - mpii.serverPreAdapterTime;
-            }
-        }
+		public function get serverAdapterTime():Number
+		{
+			if (pushedMessageFlag)
+			{
+				if (mpip == null)
+					return 0;
+				if (mpip.serverPreAdapterTime == 0 || mpip.serverPostAdapterTime == 0)
+					return 0;
+
+				return mpip.serverPostAdapterTime - mpip.serverPreAdapterTime;
+			}
+			else
+			{
+				if (mpii == null)
+					return 0;
+				if (mpii.serverPreAdapterTime == 0 || mpii.serverPostAdapterTime == 0)
+					return 0;
+
+				return mpii.serverPostAdapterTime - mpii.serverPreAdapterTime;
+			}
+		}

         /**
-         * Time, in milliseconds, spent in a module invoked from the adapter associated
-         * with the destination for this message, before either the response to the message
-         * was ready or the message had been prepared to be pushed to the receiving client.
-         * This corresponds to the time that the message was processed by the server,
-         * excluding the time it was processed by your custom code, as defined by the value in
-         * the serverAdapterTime property.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
-         */
-        public function get serverAdapterExternalTime():Number
-        {
-            if (pushedMessageFlag)
-            {
-                if (mpip == null)
-                    return 0;
-                if (mpip.serverPreAdapterExternalTime == 0 || mpip.serverPostAdapterExternalTime == 0)
-                    return 0;
-
-                return mpip.serverPostAdapterExternalTime - mpip.serverPreAdapterExternalTime;
-            }
-            else
-            {
-                if (mpii == null)
-                    return 0;
-                if (mpii.serverPreAdapterExternalTime == 0 || mpii.serverPostAdapterExternalTime == 0)
-                    return 0;
-
-                return mpii.serverPostAdapterExternalTime - mpii.serverPreAdapterExternalTime;
-            }
-        }
+         * Time spent in a module invoked from the adapter associated with the destination for this message
+         * but external to it, before either the response to the message was ready or the message had been
+         * prepared to be pushed to the receiving client.
+         *
+         * @return Server adapter-external processing time in milliseconds
+         */
+		public function get serverAdapterExternalTime():Number
+		{
+			if (pushedMessageFlag)
+			{
+				if (mpip == null)
+					return 0;
+				if (mpip.serverPreAdapterExternalTime == 0 || mpip.serverPostAdapterExternalTime == 0)
+					return 0;
+
+				return mpip.serverPostAdapterExternalTime - mpip.serverPreAdapterExternalTime;
+			}
+			else
+			{
+				if (mpii == null)
+					return 0;
+				if (mpii.serverPreAdapterExternalTime == 0 || mpii.serverPostAdapterExternalTime == 0)
+					return 0;
+
+				return mpii.serverPostAdapterExternalTime - mpii.serverPreAdapterExternalTime;
+			}
+		}

         /**
          * Time that the message waited on the server after it was ready to be pushed to the client
          * but had not yet been polled for.
-         */
-        public function get serverPollDelay():Number
-        {
-            if (mpip == null)
-                return 0;
-            if (mpip.serverPrePushTime == 0 || mpio.sendTime == 0)
-                return 0;
-
-            return mpio.sendTime - mpip.serverPrePushTime;
-        }
-
-        /**
-         * Server processing time spent outside of the adapter associated with
-         * the destination of this message.
-         * Calculated as serverProcessingTime - serverAdapterTime.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
-         */
-        public function get serverNonAdapterTime():Number
-        {
-            return serverProcessingTime - serverAdapterTime;
-        }
-
-        /**
-         * The duration, in milliseconds, from when a client sent a message to the server
-         * until it received a response, excluding the server processing time.
-         * This value is calculated as totalTime - serverProcessingTime.
-         *
-         *
If a pushed message is using a streaming or RTMP (LiveCycle Data Services ES only) channel,
-         * the metric is meaningless because the client does not initiate the pushed message;
-         * the server sends a message to the client whenever a message is available.
-         * Therefore, for a message pushed over a streaming or RTMP channel,
-         * this value is 0.
-         * However, for an acknowledge message sent over a streaming or RTMP channel,
-         * the metric contains a valid number.

-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         */
+		public function get serverPollDelay():Number
+		{
+			if (mpip == null)
+				return 0;
+			if (mpip.serverPrePushTime == 0 || mpio.sendTime == 0)
+				return 0;
+
+			return mpio.sendTime - mpip.serverPrePushTime;
+		}
+
+        /**
+         * Server processing time spent outside of the adapter associated with the destination of this message
+         *
+         * @return Non-adapter server processing time in milliseconds
+         */
+		public function get serverNonAdapterTime():Number
+		{
+			return serverProcessingTime - serverAdapterTime;
+		}
+
+        /**
+         * The network round trip time for a client message and the server response to it,
+         * calculated by the difference between total time and server processing time
+         *
+         * @return Network round trip time in milliseconds
          */
         public function get networkRTT():Number
         {
-            if (!pushedMessageFlag)
-                return totalTime - serverProcessingTime;
+        	if (!pushedMessageFlag)
+            	return totalTime - serverProcessingTime;
             else
-                return 0;
+            	return 0;
         }

         /**
-         * The number of milliseconds since the start of the Unix epoch,
-         * January 1, 1970, 00:00:00 GMT, to when the server sent a response message back to the client.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Timestamp in milliseconds since epoch of when the server sent a response message back
+         * to the client
+         *
+         * @return Timestamp in milliseconds since epoch
          */
         public function get serverSendTime():Number
         {
@@ -358,14 +273,10 @@
         }

         /**
-         * The number of milliseconds since the start of the Unix epoch,
-         * January 1, 1970, 00:00:00 GMT, to when the client received response message from the server.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Timestamp in milliseconds since epoch of when the client received response message from
+         * the server
+         *
+         * @return Timestamp in milliseconds since epoch
          */
         public function get clientReceiveTime():Number
         {
@@ -373,14 +284,10 @@
         }

         /**
-         * The size of the original client message, in bytes,
-         * as measured during deserialization by the server endpoint.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * The size of the original client message as measured during deserialization by the server
+         * endpoint
+         *
+         * @return Message size in Bytes
          */
         public function get messageSize():int
         {
@@ -391,14 +298,10 @@
         }

         /**
-         * The size, in bytes, of the response message sent to the client by the server
-         * as measured during serialization at the server endpoint.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * The size of the response message sent to the client by the server as measured during serialization
+         * at the server endpoint
+         *
+         * @return Message size in Bytes
          */
         public function get responseMessageSize():int
         {
@@ -406,18 +309,11 @@
         }

         /**
-         * Contains true if the message was pushed to the client
-         * but is not a response to a message that originated on the client.
-         * For example, when the client polls the server for a message,
-         * pushedMessageFlag is false.
-         * When you are using a streaming channel, pushedMessageFlag is true.
-         * For an acknowledge message, pushedMessageFlag is false.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Returns true if message was pushed to the client and is not a response to a message that
+         * originated on the client
+         *
+         * @return true if this message was pushed to the client and is not a response to a message that
+         * originated on the client
          */
         public function get pushedMessageFlag():Boolean
         {
@@ -425,16 +321,11 @@
         }

         /**
-         * Time, in milliseconds, from when the originating client sent a message
-         * and the time that the receiving client received the pushed message.
-         * Note that this value is only relevant if the two clients have synchronized clocks.
-         * Only populated in the case of a pushed message, but not for an acknowledge message,
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Only populated in the case of a pushed message, this is the time between the push causing client
+         * sending its message and the push receving client receiving it.  Note that the two clients'
+         * clocks must be in sync for this to be meaningful.
+         *
+         * @return Total push time in milliseconds
          */
         public function get totalPushTime():Number
         {
@@ -442,17 +333,11 @@
         }

         /**
-         * Time, in milliseconds, from when the server pushed the message
-         * until the client received it.
-         * Note that this value is only relevant if the server and receiving client
-         * have synchronized clocks.
-         * Only populated in the case of a pushed message, but not for an acknowledge message.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Only populated in the case of a pushed message, this is the network time between
+         * the server pushing the message and the client receiving it.  Note that the server
+         * and client clocks must be in sync for this to be meaningful.
+         *
+         * @return One way server push time in milliseconds
          */
         public function get pushOneWayTime():Number
         {
@@ -460,15 +345,10 @@
         }

         /**
-         * The timestamp, in milliseconds since the start of the Unix epoch on
-         * January 1, 1970, 00:00:00 GMT, to when the client that caused a push message sent its message.
-         * Only populated in the case of a pushed message, but not for an acknowledge message.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Only populated in the case of a pushed message, timestamp in milliseconds since epoch of
+         * when the client that caused a push message sent its message.
+         *
+         * @return Timestamp in milliseconds since epoch
          */
         public function get originatingMessageSentTime():Number
         {
@@ -476,14 +356,10 @@
         }

         /**
-         * Size, in bytes, of the message that originally caused this pushed message.
-         * Only populated in the case of a pushed message, but not for an acknowledge message.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * Only populated in the case of a pushed message, size in Bytes of the message that originally
+         * caused this pushed message
+         *
+         * @return Pushed causer message size in Bytes
          */
         public function get originatingMessageSize():Number
         {
@@ -491,24 +367,15 @@
         }

         /**
-         * The prettyPrint() method returns a formatted String containing all
-         * non-zero and non-null properties of the class.
-         *
-         *
For example, you can use the Alert control to display the available metrics,
-         * as the following example shows:

-         *
-         *

+         * Method returns a summary of all information available in MPI.  A suggested use of this
+         * is something like,
+         * @example
+         * <listing version="3.0">
          *      var mpiutil:MessagePerformanceUtils = new MessagePerformanceUtils(message);
          *      Alert.show(mpiutil.prettyPrint(), "MPI Output", Alert.NONMODAL);
-         *

-         *
-         * @return String containing a summary of all available non-zero and non-null metrics.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion BlazeDS 4
-         *  @productversion LCDS 3
+         * </listing>
+         *
+         * @return String containing a summary of all information available in MPI
          */
         public function prettyPrint():String
         {
@@ -523,12 +390,12 @@
                 alertString +="Network Roundtrip time (s): " + (networkRTT / 1000) + "\n";
             if (serverProcessingTime != 0)
                 alertString +="Server processing time (s): " + (serverProcessingTime / 1000) + "\n";
-            if (serverAdapterTime != 0)
-                alertString +="Server adapter time (s): " + (serverAdapterTime / 1000) + "\n";
-            if (serverNonAdapterTime != 0)
-                alertString +="Server non-adapter time (s): " + (serverNonAdapterTime / 1000) + "\n"
-            if (serverAdapterExternalTime != 0)
-                alertString +="Server adapter external time (s): " + (serverAdapterExternalTime / 1000) + "\n";
+      		if (serverAdapterTime != 0)
+      			alertString +="Server adapter time (s): " + (serverAdapterTime / 1000) + "\n";
+      		if (serverNonAdapterTime != 0)
+      			alertString +="Server non-adapter time (s): " + (serverNonAdapterTime / 1000) + "\n"
+      		if (serverAdapterExternalTime != 0)
+      			alertString +="Server adapter external time (s): " + (serverAdapterExternalTime / 1000) + "\n";

             if (pushedMessageFlag)
             {
@@ -539,8 +406,8 @@
                     alertString += "Push one way time (s): " + (pushOneWayTime / 1000) + "\n";
                 if (originatingMessageSize != 0)
                     alertString += "Originating Message size (B): " + originatingMessageSize + "\n";
-                if (serverPollDelay != 0)
-                    alertString +="Server poll delay (s): " + (serverPollDelay / 1000) + "\n";
+      			if (serverPollDelay != 0)
+      				alertString +="Server poll delay (s): " + (serverPollDelay / 1000) + "\n";
             }

             return alertString;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7502
Author:   jszeto@adobe.com
Date:     2009-06-03T00:34:08.950238Z

Log Message:
-----------
Fixed RadialGradientStroke rotation bug

http://bugs.adobe.com/jira/browse/SDK-18372 -  RadialGradientStroke transform does not rotate

Copied the logic from RadialGradient to RadialGradientStroke. The createGradientBox function doesn’t do what we want because it rotates first and then scales. We want to scale first and then rotate.

Added constant for the width and height of the untransformed gradient to all of the gradient classes.

QE Notes: Test RadialGradientStroke rotation
Doc Notes: None
Bugs: SDK-18372
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as
@@ -216,7 +216,7 @@
         else
         {
             matrix.identity();
-            matrix.scale(rect.width / 1638.4, 1);
+            matrix.scale(rect.width / GRADIENT_DIMENSION, 1);
             matrix.translate(rect.left + rect.width / 2, 0);
             matrix.concat(compoundTransform.matrix);
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7862
Author:   jszeto@adobe.com
Date:     2009-06-15T22:06:23.250745Z

Log Message:
-----------
GraphicElement PARB Changes

mx.core.AdvancedLayoutFeatures
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets

mx.core.IVisualElement
•	Rename layer -> depth

mx.core.UIComponent
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

mx.graphics.GradientBase
•	Remove scaleX

mx.graphics.GradientStroke
•	Add apply(g:Graphics, bounds:Rectangle)

mx.graphics.IStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.LinearGradient
•	Add scaleX

mx.graphics.LinearGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.RadialGradient
•	Add scaleX

mx.graphics.RadialGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.SolidColorStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.flash.UIMovieClip
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

spark.components.PopUpAnchor
•	Change popUp type from UIComponent -> IFlexDisplayObject
•	Rename positionPopUp -> calculatePopUpPosition
•	Rename autoSizePopUpWidth -> popUpWidthMatchesAnchorWidth
•	Rename autoSizePopUpHeight -> popUpHeightMatchesAnchorHeight

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

spark.core.SpriteVisualElement
•	Rename layer -> depth
•	Remove computeMatrix

spark.primitives.BitmapImage
•	Change _NORMAL_UINT from protected -> private
•	Change _REPEAT_UINT from protected -> private
•	Change _SCALE_UINT from protected -> private
•	Change resizeModeToUINT from protected -> private
•	Rename drawElement -> draw

spark.primitives.Line
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw

spark.primitives.Path
•	Change graphicsPath fro protected -> mx_internal
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw
•	Rename renderGraphicsAtScale -> generateGraphicsPath
•	Change generateGraphicsPath from protected -> mx_internal
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing

spark.primitives.Rect
•	Rename drawElement -> draw

spark.primitives.supportClasses.GraphicElement
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets
•	Rename getBitmapData -> captureBitmapData
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing
•	Rename skipMeasure -> canSkipMeasurement
•	Add protected hasComplexLayoutMatrix:Boolean getter
•	Remove target
•	Remove computeMatrix
•	Change DEFAULT_MAX_WIDTH from public -> private
•	Change DEFAULT_MAX_HEIGHT from public -> private
•	Change DEFAULT_MIN_WIDTH from public -> private
•	Change DEFAULT_MIN_HEIGHT from public -> private
•	Change allocateLayoutFeatures from protected -> mx_internal
•	Change invalidateTransform from protected -> private
•	Change captureBitmapData from public -> mx_internal
•	Change applyMaskType from protected -> mx_internal
•	Change dispatchPropertyChangeEvent from protected -> private
•	Change applyComputedTransform from protected -> mx_internal
•	Change filterChangedHandler from protected -> private

spark.supportClasses.StrokedElement
•	Rename drawElement -> draw
•	Remove getStroke()
•	Add getStrokeExtents() override

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.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/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.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/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as
+++ frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as
@@ -166,6 +166,7 @@
     }

     //----------------------------------
+
 	//  matrix
 	//----------------------------------

@@ -174,8 +175,44 @@
      */
     override public function set matrix(value:Matrix):void
     {
+    	scaleX = NaN;
     	scaleY = NaN;
     	super.matrix = value;
+    }
+
+    //----------------------------------
+    //  scaleX
+    //----------------------------------
+
+    private var _scaleX:Number;
+
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+
+    /**
+     *  The horizontal scale of the gradient transform, which defines the width of the (unrotated) gradient
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get scaleX():Number
+    {
+        return _scaleX;
+    }
+
+    /**
+     *  @private
+     */
+    public function set scaleX(value:Number):void
+    {
+        var oldValue:Number = _scaleX;
+        if (value != oldValue && !compoundTransform)
+        {
+            _scaleX = value;
+            dispatchGradientChangedEvent("scaleX", oldValue, value);
+        }
     }

     //----------------------------------
@@ -220,14 +257,6 @@
     //--------------------------------------------------------------------------

     /**
-     *  @private
-     */
-    override public function apply(g:Graphics):void
-    {
-        // No-op. Need to deprecate. Was never implemented for this class
-    }
-
-    /**
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -240,14 +269,17 @@
     /**
      *  @private
      */
-    override public function draw(g:Graphics, rc:Rectangle):void
-    {
-        g.lineStyle(weight, 0, 1, pixelHinting, scaleMode,
+    override public function apply(graphics:Graphics, bounds:Rectangle = null):void
+    {
+    	commonMatrix.identity();
+
+        graphics.lineStyle(weight, 0, 1, pixelHinting, scaleMode,
                     caps, joints, miterLimit);

-        calculateTransformationMatrix(rc, commonMatrix);
-
-        g.lineGradientStyle(GradientType.RADIAL, colors,
+        if (bounds)
+        	calculateTransformationMatrix(bounds, commonMatrix);
+
+        graphics.lineGradientStyle(GradientType.RADIAL, colors,
                             alphas, ratios, commonMatrix,
                             spreadMethod, interpolationMethod,
                             focalPointRatio);
@@ -256,17 +288,17 @@
     /**
      *  @private
      */
-    override public function generateGraphicsStroke(rect:Rectangle):GraphicsStroke
+    override public function createGraphicsStroke(bounds:Rectangle):GraphicsStroke
     {
         // The parent class sets the gradient stroke properties common to
         // LinearGradientStroke and RadialGradientStroke
-        var graphicsStroke:GraphicsStroke = super.generateGraphicsStroke(rect);
+        var graphicsStroke:GraphicsStroke = super.createGraphicsStroke(bounds);

         if (graphicsStroke)
         {
             // Set other properties specific to this RadialGradientStroke
             GraphicsGradientFill(graphicsStroke.fill).type = GradientType.RADIAL;
-            calculateTransformationMatrix(rect, commonMatrix);
+            calculateTransformationMatrix(bounds, commonMatrix);
             GraphicsGradientFill(graphicsStroke.fill).matrix = commonMatrix;
             GraphicsGradientFill(graphicsStroke.fill).focalPointRatio = focalPointRatio;

@@ -303,4 +335,4 @@
     }

 }
-}+}


added load* methods on group to make it easier to load content in a Group

A Group.load()
A Group.loadClass()
A Group.loadBytes()

--- src/aerys/minko/scene/node/Group.as
+++ src/aerys/minko/scene/node/Group.as
@@ -3,8 +3,13 @@
 	import aerys.minko.ns.minko_scene;
 	import aerys.minko.scene.controller.AbstractController;
 	import aerys.minko.type.Signal;
+	import aerys.minko.type.loader.ILoader;
+	import aerys.minko.type.loader.SceneLoader;
+	import aerys.minko.type.loader.parser.ParserOptions;
 	import aerys.minko.type.math.Matrix4x4;

+	import flash.net.URLRequest;
+	import flash.utils.ByteArray;
 	import flash.utils.Proxy;
 	import flash.utils.flash_proxy;
 	import flash.utils.getQualifiedClassName;
@@ -456,6 +461,9 @@
 			return _children[int(index - 1)];
 		}

+		/**
+		 * @inheritdoc
+		 */
 		public function addController(controller : AbstractController) : void
 		{
 			_controllers.push(controller);
@@ -464,6 +472,9 @@
 			_controllerAdded.execute(this, controller);
 		}

+		/**
+		 * @inheritdoc
+		 */
 		public function removeController(controller : AbstractController) : void
 		{
 			var numControllers	: uint = _controllers.length - 1;
@@ -475,9 +486,51 @@
 			_controllerRemoved.execute(this, controller);
 		}

+		/**
+		 * @inheritdoc
+		 */
 		public function getController(index : uint) : AbstractController
 		{
 			return _controllers[index];
+		}
+
+		public function load(request	: URLRequest,
+							 options	: ParserOptions) : ILoader
+		{
+			var loader	: SceneLoader	= new SceneLoader(options);
+
+			loader.complete.add(loaderCompleteHandler);
+			loader.load(request);
+
+			return loader;
+		}
+
+		public function loadClass(classObject	: Class,
+								  options		: ParserOptions) : ILoader
+		{
+			var loader	: SceneLoader	= new SceneLoader(options);
+
+			loader.complete.add(loaderCompleteHandler);
+			loader.loadClass(classObject);
+
+			return loader;
+		}
+
+		public function loadBytes(bytes		: ByteArray,
+								  options	: ParserOptions) : ILoader
+		{
+			var loader	: SceneLoader	= new SceneLoader(options);
+
+			loader.complete.add(loaderCompleteHandler);
+			loader.loadBytes(bytes);
+
+			return loader;
+		}
+
+		private function loaderCompleteHandler(loader	: ILoader,
+											   scene	: ISceneNode) : void
+		{
+			addChild(scene);
 		}
 	}
 }


F Fix bug that caused constant shaders to always render black

--- src/aerys/minko/render/shader/compiler/graph/visitors/ResolveParametrizedComputationVisitor.as
+++ src/aerys/minko/render/shader/compiler/graph/visitors/ResolveParametrizedComputationVisitor.as
@@ -43,18 +43,21 @@
 		{
 			super.finish();

-			if (_isComputable[_shaderGraph.position])
+			if (_isComputable[_shaderGraph.position] && !isConstant(_shaderGraph.position))
 				_shaderGraph.position = createComputableConstant(_shaderGraph.position);

-			if (_isComputable[_shaderGraph.color])
+			if (_isComputable[_shaderGraph.color] && !isConstant(_shaderGraph.color))
 				_shaderGraph.color = createComputableConstant(_shaderGraph.color);

 			var kills		: Vector.<AbstractNode>	= _shaderGraph.kills;
 			var numKills	: uint					= kills.length;

 			for (var killId : uint = 0; killId < numKills; ++killId)
-				if (_isComputable[kills[killId]])
-					kills[killId] = createComputableConstant(kills[killId]);
+			{
+				var kill : AbstractNode = kills[killId];
+				if (_isComputable[kill] && !isConstant(kill))
+					kills[killId] = createComputableConstant(kill);
+			}
 		}

 		override protected function visitInterpolate(interpolate	: Interpolate,


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

--- frameworks/projects/framework/src/mx/logging/targets/TraceTarget.as
+++ frameworks/projects/framework/src/mx/logging/targets/TraceTarget.as
@@ -26,6 +26,11 @@
  *  to the flashlog.txt file. The default location of this file is the same directory as
  *  the mm.cfg file. You can customize the location of this file by using the TraceOutputFileName
  *  property in the mm.cfg file. You must also set TraceOutputFileEnable to 1 in your mm.cfg file.

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class TraceTarget extends LineFormattedTarget
 {
@@ -43,6 +48,11 @@
      *
Constructs an instance of a logger target that will send
      *  the log data to the global trace() method.
      *  All output will be directed to flashlog.txt by default.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function TraceTarget()
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionInstance.as
@@ -21,6 +21,8 @@
 import mx.core.mx_internal;
 import mx.effects.effectClasses.ActionEffectInstance;
 import mx.core.IVisualElementContainer;
+
+use namespace mx_internal;

 /**
  *  The RemoveActionInstance class implements the instance class
@@ -146,7 +148,7 @@
                         getContainer(propertyChanges.end) == null)
         }

-        if (!mx_internal::playReversed)
+        if (!playReversed)
         {
             // Set the style property
             if (doRemove && target && getContainer(target) != null)


XMPPBoshConnection polls too early currently, before it has processed the responses and queued up any new requests for sending.  This results in too many messages being sent to the server (e.g. sends poll message, then processes responses, then immediately sends more requests).  This can actually result in erroneous behavior -- I noticed with Tigase that XIFF was sending the poll when receiving the stream features from Tigase, and Tigase would return with another stream features message, causing 2 separate sessions to eventually be set up.

This fixes that by moving the call to pollServer from onRequestComplete to the end of processResponse, so that we can then check to see whether we should poll based on the number of outstanding requests and the length of the request queue.

See http://www.igniterealtime.org/community/thread/40903?tstart=0

git-svn-id: c197267f952b24206666de142881703007ca05d5@11555 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
@@ -394,12 +394,6 @@
 			}

 			resetResponseProcessor();
-
-			//if we have no outstanding requests, then we're free to send a poll at the next opportunity
-			if ( requestCount == 0 && !sendQueuedRequests())
-			{
-				pollServer();
-			}
 		}

 		/**
@@ -472,6 +466,12 @@
 			}

 			resetResponseProcessor();
+
+			//if we have no outstanding requests, then we're free to send a poll at the next opportunity
+			if ( requestCount == 0 && !sendQueuedRequests())
+			{
+				pollServer();
+			}
 		}

 		/**


XMPPBoshConnection polls too early currently, before it has processed the responses and queued up any new requests for sending.  This results in too many messages being sent to the server (e.g. sends poll message, then processes responses, then immediately sends more requests).  This can actually result in erroneous behavior -- I noticed with Tigase that XIFF was sending the poll when receiving the stream features from Tigase, and Tigase would return with another stream features message, causing 2 separate sessions to eventually be set up.

This fixes that by moving the call to pollServer from onRequestComplete to the end of processResponse, so that we can then check to see whether we should poll based on the number of outstanding requests and the length of the request queue.

See http://www.igniterealtime.org/community/thread/40903?tstart=0


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

--- frameworks/projects/advancedgrids/src/mx/collections/SummaryField2.as
+++ frameworks/projects/advancedgrids/src/mx/collections/SummaryField2.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/styles/metadata/GapStyles.as
+++ frameworks/projects/advancedgrids/src/mx/styles/metadata/GapStyles.as
@@ -0,0 +1,34 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Number of pixels between children in the horizontal direction.
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 8.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="horizontalGap", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Number of pixels between children in the vertical direction.
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 6.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="verticalGap", type="Number", format="Length", inherit="no")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 3418
Author:   shodgson@adobe.com
Date:     2008-09-30T17:24:48.986106Z

Log Message:
-----------
Remove obsolete poll-sync responders from PollingChannel and other impacted protocol-specific channels.

QA: No
Doc: No
Checkintests Pass: Yes

This stuff was originally used by a PollingChannel to directly monitor subscribe/unsubscribe commands issued by higher-level components in order to drive a count of active subscriptions, and from that, whether or not the channel needed to issue poll requests.

However, DataService, and then Consumer ended up managing this directly because they had better insight into when they considered themselves subscribed and they notify the PollingChannel of their state changes directly (mx_internally). When this was added, the underlying poll-sync responder machinery didn't go away, and it generally doesn't cause problems except in the case of a client disconnect without a preceding explicit unsubscribe. In this case the higher level component moves to an unsubscribed state when it disconnects (and lets the PollingChannel know) but because no unsubscribe command is sent by a poll-sync responder, the extra count it added never decrements and the channel continues to poll incorrectly.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as
@@ -378,21 +378,11 @@
      */
     final override protected function getMessageResponder(agent:MessageAgent, msg:IMessage):MessageResponder
     {
-        var responder:MessageResponder = null;
-        if (msg is CommandMessage)
-        {
-            var cmd:CommandMessage = CommandMessage(msg);
-            if ((cmd.operation == CommandMessage.SUBSCRIBE_OPERATION) ||
-                (cmd.operation == CommandMessage.UNSUBSCRIBE_OPERATION))
-            {
-                responder = getPollSyncMessageResponder(agent, cmd);
-            }
-            else if (cmd.operation == CommandMessage.POLL_OPERATION)
-            {
-                responder = new PollCommandMessageResponder(agent, msg, this, _log);
-            }
-        }
-        return responder == null ? getDefaultMessageResponder(agent, msg):responder;
+        if ((msg is CommandMessage) && ((msg as CommandMessage).operation == CommandMessage.POLL_OPERATION))
+        {
+            return new PollCommandMessageResponder(agent, msg, this, _log);
+        }
+        return getDefaultMessageResponder(agent, msg);
     }

     /**
@@ -521,14 +511,6 @@
            	if (props["login-after-disconnect"].length())
            		_loginAfterDisconnect = props["login-after-disconnect"].toString()=="true";
         }
-    }
-
-    /**
-     *  @private
-     */
-    protected function getPollSyncMessageResponder(agent:MessageAgent, msg:CommandMessage):MessageResponder
-    {
-        return null;
     }

     /**


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

--- frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
+++ frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
@@ -1,4 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
+		////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
 //  Copyright 2008 Adobe Systems Incorporated
@@ -12,25 +12,25 @@
 {
 /**
  *  The EaseInOutBase class is the base class that provide easing capability.
- *  The EaseInOutBase class  defines easing as consisting of two phases:
- *  the acceleration, or ease in phase, followed by the deceleration, or ease out phase.
+ *  The EaseInOutBase class  defines easing as consisting of two phases:
+ *  the acceleration, or ease in phase, followed by the deceleration, or ease out phase.
  *  The default behavior of this class returns a linear
  *  interpolation for both easing phases. You can create a subclass
  *  of EaseInOutBase to get more interesting behavior.
- *
+ *
  *  @mxml
  *
  *
The <s:EaseInOutBase> tag
  *  inherits all of the tag attributes of its of its superclass,
  *  and adds the following tag attributes:

- *
+ *
  *

  *  <s:EaseInOutBase
  *    id="ID"
- *    easeInFraction="0.5"
+ *    easeInFraction="0.5"
  *   />
  *

- *
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -41,12 +41,12 @@

     /**
      *  Constructor.
-     *
+     *
      *  @param easeInFraction Sets the value of
      *  the easeInFraction property. The default value is
      *  EasingFraction.IN_OUT, which eases in for the first half
      *  of the time and eases out for the remainder.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -59,18 +59,18 @@

     /**
      * Storage for the _easeInFraction property
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
     private var _easeInFraction:Number = .5;
-
+
     [Inspectable(minValue="0.0", maxValue="1.0")]
-
+
     /**
-     *  The percentage of an animation that should be spent accelerating.
+     *  The percentage of an animation that should be spent accelerating.
      *  This factor sets an implicit
      *  "easeOut" parameter, equal to (1 - easeIn), so that any time not
      *  spent easing in is spent easing out. For example, to have an easing
@@ -78,9 +78,9 @@
      *  set easeIn to .5.
      *
      *
Valid values are between 0.0 and 1.0.

-     *
+     *
      *  @default .5
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -97,23 +97,23 @@

     /**
      *  Takes the fraction representing the elapsed duration of an animation
-     *  (a value between 0.0 to 1.0) and returns a new elapsed value.
-     *  This  value is used to calculate animated property values.
+     *  (a value between 0.0 to 1.0) and returns a new elapsed value.
+     *  This  value is used to calculate animated property values.
      *  By changing the value of the elapsed fraction, you effectively change
      *  the animation of the property.
-     *
-     *  For EaseInOutBase, this method calculates the eased fraction
-     *  value based on the easeInFraction property. If
+     *
+     *  For EaseInOutBase, this method calculates the eased fraction
+     *  value based on the easeInFraction property. If
      *  fraction is less than easeInFraction,
      *  this method calls the easeIn() method. Otherwise it
-     *  calls the easeOut() method.
+     *  calls the easeOut() method.
      *  It is expected
      *  that these functions are overridden in a subclass.
-     *
+     *
      *  @param fraction The elapsed fraction of the animation.
      *
      *  @return The eased fraction of the animation.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -122,27 +122,27 @@
     public function ease(fraction:Number):Number
     {
         var easeOutFraction:Number = 1 - easeInFraction;
-
+
         if (fraction <= easeInFraction && easeInFraction > 0)
             return easeInFraction * easeIn(fraction/easeInFraction);
         else
-            return easeInFraction + easeOutFraction *
+            return easeInFraction + easeOutFraction *
                 easeOut((fraction - easeInFraction)/easeOutFraction);
     }
-
+
     /**
-     *  Returns a value that represents the eased fraction during the
-     *  ease in phase of the animation. The value returned by this class
-     *  is simply the fraction itself, which represents a linear
+     *  Returns a value that represents the eased fraction during the
+     *  ease in phase of the animation. The value returned by this class
+     *  is simply the fraction itself, which represents a linear
      *  interpolation of the fraction. More interesting behavior is
      *  implemented by subclasses of EaseInOutBase.
-     *
+     *
      *  @param fraction The fraction elapsed of the easing in phase
      *  of the animation, between 0.0 and 1.0.
-     *
+     *
      *  @return A value that represents the eased value for this
      *  phase of the animation.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -152,20 +152,20 @@
     {
         return fraction;
     }
-
+
     /**
-     *  Returns a value that represents the eased fraction during the
-     *  ease out phase of the animation. The value returned by this class
-     *  is simply the fraction itself, which represents a linear
+     *  Returns a value that represents the eased fraction during the
+     *  ease out phase of the animation. The value returned by this class
+     *  is simply the fraction itself, which represents a linear
      *  interpolation of the fraction. More interesting behavior is
      *  implemented by subclasses of EaseInOutBase.
-     *
+     *
      *  @param fraction The fraction elapsed of the easing out phase
      *  of the animation, between 0.0 and 1.0.
-     *
+     *
      *  @return A value that represents the eased value for this
      *  phase of the animation.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -175,6 +175,6 @@
     {
         return fraction;
     }
-
+
 }
-}+}


ridiculous

ridiculous

--- src/org/httpclient/ui/HttpClientAppImpl.as
+++ src/org/httpclient/ui/HttpClientAppImpl.as
@@ -43,8 +43,9 @@

     public function onCreationComplete(event:Event):void {
       Security.allowDomain("*");
-      Security.loadPolicyFile("http://http-test.s3.amazonaws.com/crossdomain.xml");
-      status = "Loaded policy file";
+      // You will need a socket policy server for this to work in Flash. While your security experts are patting themselves on the back
+      // everyone is moving to a different technology.
+      Security.loadPolicyFile("xmlsocket://ducktyper.com:5001");
     }

     public function onRequest(event:Event):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10828
Author:   jszeto@adobe.com
Date:     2009-10-02T17:41:48.523309Z

Log Message:
-----------
FXG stroke and fill translation fix

http://bugs.adobe.com/jira/browse/SDK-23257 - Gradient translation should occur from 0,0, not the upper left bounds

The current API only passes in the shape's bounds. I have added a new targetOrigin parameter to IFill.begin, IStroke.apply and IStroke.createGraphicsStroke of type Point. It is the origin (0,0) of the shape in the target graphic's coordinate space.

Changed the logic in the gradient stroke and fills. The x and y transform properties are now positioned relative to the origin instead of to the top left corner of the bounds. If no x and y are set, then the default behavior remains the same.

Removed the centering logic in LinearGradientStroke when scaleX was set.

This API change has been approved by PARB.

QE notes: Need to add tests that exercise this logic
Doc notes: Need to document additions to the API
Bugs: SDK-23257
Reviewer: Deepa
Tests run: spark/primitives, gumbo/components
Is noteworthy for integration: Yes, modifications to the API

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.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/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.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/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/RadialGradient.as
+++ frameworks/projects/framework/src/mx/graphics/RadialGradient.as
@@ -15,7 +15,9 @@
 import flash.display.GradientType;
 import flash.display.Graphics;
 import flash.geom.Matrix;
+import flash.geom.Point;
 import flash.geom.Rectangle;
+
 import mx.core.mx_internal;

 use namespace mx_internal;
@@ -140,6 +142,11 @@
         super();
     }

+    /**
+     *  @private
+     */
+    private static var commonMatrix:Matrix = new Matrix();
+
     //--------------------------------------------------------------------------
     //
     //  Properties
@@ -206,7 +213,7 @@

             dispatchGradientChangedEvent("focalPointRatio", oldValue, value);
         }
-    }
+    }

     //----------------------------------
 	//  matrix
@@ -306,22 +313,12 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-	private static var commonMatrix:Matrix = new Matrix();
-
-    /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function begin(target:Graphics, bounds:Rectangle):void
-    {
-    	var w:Number = !isNaN(scaleX) ? scaleX : bounds.width;
-    	var h:Number = !isNaN(scaleY) ? scaleY : bounds.height;
-		var regX:Number = bounds.left + (!isNaN(x) ? x : bounds.width / 2);
-		var regY:Number = bounds.top + (!isNaN(y) ? y : bounds.height / 2);
+    public function begin(target:Graphics, targetBounds:Rectangle, targetOrigin:Point):void
+    {
+    	var w:Number = !isNaN(scaleX) ? scaleX : targetBounds.width;
+    	var h:Number = !isNaN(scaleY) ? scaleY : targetBounds.height;
+		var regX:Number =  !isNaN(x) ? x + targetOrigin.x : targetBounds.left + targetBounds.width / 2;
+		var regY:Number =  !isNaN(y) ? y + targetOrigin.y : targetBounds.top + targetBounds.height / 2;

 		commonMatrix.identity();

@@ -332,10 +329,10 @@
 	        commonMatrix.translate(regX, regY);
 		}
 	 	else
-	 	{
+	 	{
             commonMatrix.scale(1 / GRADIENT_DIMENSION, 1 / GRADIENT_DIMENSION);
             commonMatrix.concat(compoundTransform.matrix);
-            commonMatrix.translate(bounds.left, bounds.top);
+            commonMatrix.translate(targetOrigin.x, targetOrigin.y);
 	 	}

         target.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios,


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.styles
 {


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

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