better error messages

better error messages

--- WeaveCore/src/weave/core/SessionManager.as
+++ WeaveCore/src/weave/core/SessionManager.as
@@ -824,7 +824,7 @@
 					// FOR DEBUGGING PURPOSES
 					if (Capabilities.isDebugger)
 					{
-						var error:Error = new Error("Object was disposed");
+						var error:Error = new Error("This is the stack trace from when the object was previously disposed.");
 						objectCC.addImmediateCallback(null, function():void { debugDisposedObject(linkableObject, error); } );
 					}
 				}
@@ -868,14 +868,15 @@
 		// FOR DEBUGGING PURPOSES
 		private function debugDisposedObject(disposedObject:ILinkableObject, disposedError:Error):void
 		{
-			// set some variables to aid in debugging
-			var obj:* = disposedObject;
+			// set some variables to aid in debugging - only useful if you add a breakpoint here.
+			var obj:*;
 			var ownerPath:Array = []; while (obj = getLinkableOwner(obj)) { ownerPath.unshift(obj); }
 			var parents:Array = []; for (obj in childToParentDictionaryMap[disposedObject] || []) { parents.push[obj]; }
 			var children:Array = []; for (obj in parentToChildDictionaryMap[disposedObject] || []) { children.push[obj]; }
 			var sessionState:Object = getSessionState(disposedObject);
-
-			var msg:String = "Disposed object still running callbacks: " + getQualifiedClassName(disposedObject);
+
+			// ADD A BREAKPOINT HERE TO DIAGNOSE THE PROBLEM
+			var msg:String = "WARNING: An object triggered callbacks after previously being disposed. " + getQualifiedClassName(disposedObject);
 			if (disposedObject is ILinkableVariable)
 				msg += ' (value = ' + (disposedObject as ILinkableVariable).getSessionState() + ')';
 			reportError(disposedError);


Transferred from the Adobe Open Source Subversion Repository

Revision: 15444
Author:   aharui@adobe.com
Date:     2010-04-15T18:38:50.982982Z

Log Message:
-----------
Merge SVN 15442 to trunk

QE Notes: none
Doc Notes:
Bugs: SDK-25404
Reviewer: Darrell
Tests run: Checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>

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

--- frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as
+++ frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as
@@ -373,6 +373,8 @@
 	private var idToPlaceholder:Object;

 	private var eventProxy:EventProxy;
+
+    private var eventProxyRefCounts:Object = {};

 	//--------------------------------------------------------------------------
 	//
@@ -414,6 +416,10 @@
 					addEventListenerToOtherSystemManagers(type, otherSystemManagerMouseListener, useCapture, priority, useWeakReference)
 				if (systemManager.getSandboxRoot() == systemManager)
                 {
+                    if (eventProxyRefCounts[actualType] == null)
+                        eventProxyRefCounts[actualType] = 1;
+                    else
+                        eventProxyRefCounts[actualType] ++;
                     Object(systemManager).$addEventListener(actualType, eventProxy.marshalListener,
                             useCapture, priority, useWeakReference);
                     if (actualType == MouseEvent.MOUSE_UP)
@@ -469,24 +475,32 @@
 			{
                 if (systemManager.getSandboxRoot() == systemManager && eventProxy)
                 {
-                    Object(systemManager).$removeEventListener(actualType, eventProxy.marshalListener,
-                            useCapture);
-                    if (actualType == MouseEvent.MOUSE_UP)
+                    if (eventProxyRefCounts[actualType] != null)
+                        eventProxyRefCounts[actualType] --;
+                    if (eventProxyRefCounts[actualType] == null || eventProxyRefCounts[actualType] == 0)
                     {
-                        try
+                        delete eventProxyRefCounts[actualType];
+                        Object(systemManager).$removeEventListener(actualType, eventProxy.marshalListener,
+                                useCapture);
+                        if (actualType == MouseEvent.MOUSE_UP)
                         {
-                            if (systemManager.stage)
-                                systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
-                                    useCapture);
+                            try
+                            {
+                                if (systemManager.stage)
+                                    systemManager.stage.removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                        useCapture);
+                            }
+                            catch (e:SecurityError)
+                            {
+                            }
+    			            // Remove both listeners in case the system manager was added
+    			            // or removed from the stage after the listener was added.
+                            Object(systemManager).$removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
+                                useCapture);
                         }
-                        catch (e:SecurityError)
-                        {
-                        }
-			            // Remove both listeners in case the system manager was added
-			            // or removed from the stage after the listener was added.
-                        Object(systemManager).$removeEventListener(Event.MOUSE_LEAVE, eventProxy.marshalListener,
-                            useCapture);
                     }
+                    else
+                        return false; // if we didn't actually remove, don't remove on the following lines either
                 }
 				if (!SystemManagerGlobals.changingListenersInOtherSystemManagers)
 					removeEventListenerFromOtherSystemManagers(type, otherSystemManagerMouseListener, useCapture);
@@ -516,8 +530,8 @@
 	{
 		var awm:ActiveWindowManager =
 			ActiveWindowManager(systemManager.getImplementation("mx.managers::IActiveWindowManager"));
-
 		// trace("SM: activate " + f + " " + forms.length);
+
 		if (awm.form)
 		{
 			if (awm.form != event.form && awm.forms.length > 1)


Transferred from the Adobe Open Source Subversion Repository

Revision: 19715
Author:   chiedozi@adobe.com
Date:     2011-01-11T22:21:58.489080Z

Log Message:
-----------
Fixed RTE in SlideViewTransition that occurred when an ActionBar wasn't in the skin

QE notes:
Doc notes:
Bugs: SDK-29080
Reviewer: Jason San Jose
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -269,7 +269,8 @@
         }

         // Save the position of the action in global coordinates
-        cachedActionBarGlobalPosition = getGlobalCoordinates(actionBar);
+		if (actionBar)
+        	cachedActionBarGlobalPosition = getGlobalCoordinates(actionBar);

         // Cache the tab bar bitmap and location
         if (tabBar)


Improve filtering

Improve filtering

--- application/src/im/siver/logger/controllers/TraceController.as
+++ application/src/im/siver/logger/controllers/TraceController.as
@@ -22,7 +22,7 @@
     public final class TraceController extends EventDispatcher {

         [Bindable]
-        private var _dataFilterd:ArrayCollection = new ArrayCollection();
+        private var _dataFiltered:ArrayCollection = new ArrayCollection();

         private var _data:ArrayCollection = new ArrayCollection();
         private var _panel:TracePanel;
@@ -49,11 +49,11 @@
          */
         private function creationComplete(e:FlexEvent):void {
             _panel.removeEventListener(FlexEvent.CREATION_COMPLETE, creationComplete);
-            _panel.datagrid.dataProvider = _dataFilterd;
+            _panel.datagrid.dataProvider = _dataFiltered;
             _panel.datagrid.addEventListener(ListEvent.ITEM_DOUBLE_CLICK, showTrace, false, 0, true);
             _panel.filter.addEventListener(Filter.CHANGED, filterChanged, false, 0, true);
             _panel.clearButton.addEventListener(MouseEvent.CLICK, clear, false, 0, true);
-            _dataFilterd.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionDidChange, false, 0, true);
+            _dataFiltered.addEventListener(CollectionEvent.COLLECTION_CHANGE, collectionDidChange, false, 0, true);
         }

         /**
@@ -62,82 +62,41 @@
         private function filterChanged(event:Event):void {
             // Check if a filter term is given
             if (_panel.filter.words.length == 0) {
-                _dataFilterd.filterFunction = null;
-                _dataFilterd.refresh();
+                _dataFiltered.filterFunction = null;
+                _dataFiltered.refresh();
             } else {
-                _dataFilterd.filterFunction = checkFilter;
-                _dataFilterd.refresh();
-            }
-        }
-
-        private function addItem(item:Object):void {
-            _dataFilterd.addItem(item);
-        }
-
-        private function simpleFilter(item:Object):Boolean {
-            return false;
-        }
-
-        /**
-         * Loop through the search terms and compare strings
-         */
-        private function checkFilter(item:Object):Boolean {
+                _dataFiltered.filterFunction = fullFilter;
+                _dataFiltered.refresh();
+            }
+        }
+
+        /**
+         * Look through targets and messages
+         * @param item data-provider item
+         * @return true if item has been found
+         */
+        private function fullFilter(item:Object):Boolean {
             var message:String = item.message;
             var target:String = item.target;
-            var label:String = item.label;
-            var person:String = item.person;
-            if (message == null) message = "";
-            if (target == null) target = "";
-            if (label == null) label = "";
-            if (person == null) person = "";
-            message = StringUtil.trim(message).toLowerCase();
-            target = StringUtil.trim(target).toLowerCase();
-            label = StringUtil.trim(label).toLowerCase();
-            person = StringUtil.trim(person).toLowerCase();
-            var i:int;
-
-            // Clone words
-            var words:Array = [];
-            for (i = 0; i < _panel.filter.words.length; i++) {
-                words[i] = _panel.filter.words[i];
-            }
-
-            if (message != "") {
-                for (i = 0; i < words.length; i++) {
+            var i:int, words:Array = _panel.filter.words, len:int = words.length;
+
+            if (target != null) {
+                target = target.toLowerCase();
+                for (i = 0; i < len; ++i) {
+                    if (target.indexOf(words[i]) != -1) {
+                        return true;
+                    }
+                }
+            }
+
+            if (message != null) {
+                message = message.toLowerCase();
+                for (i = 0; i < len; ++i) {
                     if (message.indexOf(words[i]) != -1) {
-                        words.splice(i, 1);
-                        i--;
+                        return true;
                     }
                 }
             }
-            if (words.length == 0) return true;
-            if (target != "") {
-                for (i = 0; i < words.length; i++) {
-                    if (target.indexOf(words[i]) != -1) {
-                        words.splice(i, 1);
-                        i--;
-                    }
-                }
-            }
-            if (words.length == 0) return true;
-            if (label != "") {
-                for (i = 0; i < words.length; i++) {
-                    if (label.indexOf(words[i]) != -1) {
-                        words.splice(i, 1);
-                        i--;
-                    }
-                }
-            }
-            if (words.length == 0) return true;
-            if (person != "") {
-                for (i = 0; i < words.length; i++) {
-                    if (person.indexOf(words[i]) != -1) {
-                        words.splice(i, 1);
-                        i--;
-                    }
-                }
-            }
-            if (words.length == 0) return true;
             return false;
         }

@@ -149,7 +108,7 @@
             if (event.currentTarget.selectedItem != null) {

                 // Get the data
-                var item:Object = _dataFilterd.getItemAt(event.currentTarget.selectedIndex);
+                var item:Object = _dataFiltered.getItemAt(event.currentTarget.selectedIndex);

                 // Check the window to open
                 if (item.message == "Snapshot" && item.xml == null) {
@@ -169,7 +128,7 @@
          */
         public function clear(event:MouseEvent = null):void {
             _data.removeAll();
-            _dataFilterd.removeAll();
+            _dataFiltered.removeAll();
             _panel.datagrid.horizontalScrollPosition = 0;
         }

@@ -233,7 +192,7 @@

                     // Add to list
                     _data.addItem(traceItem);
-                    addItem(traceItem);
+                    _dataFiltered.addItem(traceItem);
                     break;

                 case Constants.COMMAND_SNAPSHOT:
@@ -272,7 +231,7 @@

                     // Add to list
                     _data.addItem(traceItem);
-                    addItem(traceItem);
+                    _dataFiltered.addItem(traceItem);
                     break;
             }
         }


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

--- frameworks/projects/advancedgrids/src/mx/collections/Grouping.as
+++ frameworks/projects/advancedgrids/src/mx/collections/Grouping.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.collections
 {


updated PubNub Flash ActionScript 3 API with 10x Connections Limit Increase.

--- flash/PubNub.as
+++ flash/PubNub.as
@@ -43,6 +43,14 @@

         private var start_time_token:Number = 0;
         private var queue:Array;
+
+        private var ori:Number = Math.random()*9|1;
+        private function nextorigin(origin:String):String {
+            return origin.indexOf('pubsub') > 0
+               && origin.replace(
+                   'pubsub', 'ps' + (ori<10?ori++:ori=1)
+               ) || origin;
+        }

         public function PubNub(enforcer:SingletonEnforcer)
         {
@@ -226,7 +234,7 @@
             }

             subscriptions[channel].connected = true;
-            var url:String = origin + "/" + "subscribe" + "/" + sub_key + "/" + _encode(channel) + "/" + 0;
+            var url:String = nextorigin(origin) + "/" + "subscribe" + "/" + sub_key + "/" + _encode(channel) + "/" + 0;
             var uid:String = _uid();

             function subHandler( evt:Event ):void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4283
Author:   rfrishbe@adobe.com
Date:     2008-12-10T22:34:18.162845Z

Log Message:
-----------
PARB Review changes for Group and DataGroup.  The main API changes are:

- content property on Group and FxContainer renamed to mxmlContent.

- contentFactory property on FxContainer renamed to mxmlContentFactory

- New names for DataGroup methods: getRendererForItemAt(index:int):IVisualElement and getItemIndexForRenderer(renderer:IVisualElement):int.  These are now in the mxml_internal namespace (not public anymore)

- registerRenderer and unregisterRenderer are private methods (not public)

Also, I made a minor fix to ITransformable.

QE Notes: Steve's changing the mustella tests for me and will be checking in shortly.
Doc Notes: None
Bugs: SDK-18042
Reviewer: Hans
tests: checkintests, Steve ran mustella tests for all of gumbo and states

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/MyScrollBarTrackSkin.mxml</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/development/eclipse/flex/flex4test/src/skins/MyVScrollBarSkin.mxml</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/wireframe/src/wireframe/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarTrackSkin.mxml</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/wireframe/src/wireframe/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/skins/CircularScrollBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -115,7 +115,7 @@
     {
         super.itemSelected(index, selected);

-        var renderer:Object = dataGroup.getItemRenderer(index);
+        var renderer:Object = dataGroup.mx_internal::getRendererForItemAt(index);

         if (renderer)
         {
@@ -221,7 +221,8 @@
      */
     private function item_clickHandler(event:MouseEvent):void
     {
-        var index:int = dataGroup.getRendererItem(event.currentTarget as IVisualElement);
+        var index:int = dataGroup.mx_internal::getItemIndexForRenderer(
+                            event.currentTarget as IVisualElement);

 		selectedIndex = index;
     }
@@ -238,13 +239,14 @@
 		var renderer:Object;

 		currentButton = focusManager.getFocus();
-		index = dataGroup.getRendererItem(currentButton as IVisualElement);
+		index = dataGroup.mx_internal::getItemIndexForRenderer(
+		              currentButton as IVisualElement);

 		var n:int = dataProvider.length;
 		var zz:int = 0;
 		for (var i:int = 0; i < n; i++)
 		{
-			renderer = dataGroup.getItemRenderer(i);
+			renderer = dataGroup.mx_internal::getRendererForItemAt(i);
 			if (renderer == currentButton)
 				renderer.layer = n - 1;
 			else
@@ -268,10 +270,11 @@
             {
 				focusManager.showFocusIndicator = true;
 				currentButton = focusManager.getFocus();
-		        index = dataGroup.getRendererItem(currentButton as IVisualElement);
+		        index = dataGroup.mx_internal::getItemIndexForRenderer(
+		                  currentButton as IVisualElement);
 				if (index > 0)
 				{
-					renderer = dataGroup.getItemRenderer(index-1);
+					renderer = dataGroup.mx_internal::getRendererForItemAt(index-1);
 					IFocusManagerComponent(renderer).setFocus();
 				}

@@ -282,10 +285,11 @@
             {
 				focusManager.showFocusIndicator = true;
 				currentButton = focusManager.getFocus();
-		        index = dataGroup.getRendererItem(currentButton as IVisualElement);
+		        index = dataGroup.mx_internal::getItemIndexForRenderer(
+		                  currentButton as IVisualElement);
 				if (index < dataProvider.length - 1)
 				{
-					renderer = dataGroup.getItemRenderer(index+1);
+					renderer = dataGroup.mx_internal::getRendererForItemAt(index+1);
 					IFocusManagerComponent(renderer).setFocus();
 				}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -31,6 +31,11 @@
  *  The FxButtonBar control displays a set of Buttons
  *
  *  @includeExample examples/FxButtonBarExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class FxButtonBar extends FxListBase implements IFocusManagerComponent
 {
@@ -50,6 +55,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function FxButtonBar()
     {
@@ -90,6 +100,11 @@

     /**
      * A skin part that defines the first button.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var firstButton:IFactory;

@@ -101,6 +116,11 @@

     /**
      * A skin part that defines the last button.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var lastButton:IFactory;

@@ -112,6 +132,11 @@

     /**
      * A skin part that defines the middle button(s).
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var middleButton:IFactory;

@@ -217,6 +242,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override protected function partAdded(partName:String, instance:Object):void
     {
@@ -232,6 +262,11 @@

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3451
Author:   egreenfi@adobe.com
Date:     2008-10-02T05:10:18.410127Z

Log Message:
-----------
- UIComponents, GraphicElements's matrix used for layout calculations, and set by the parent layouts, is now decoupled from the actual layout used by the flash player for rendering.
- Both UIComponents an d GraphicElements can be handed a TransformOffset object. The transformOffset allows developers to specify adjustments to the transform as defined by the compoennts parent layout.
- 3D properties on components and graphic elements are now supported.  Setting a 3D property or a 3D matrix on a component or element will affect it visually, but the 2D layouts will continue to lay out as though only the 2D portion of their layout is applied.
- transformX,Y,Z now fully supported on components and elements.  For layouts that don't try and set the post transform bounds (i.e., absolute layout without constraints), the layout scale and rotation will be centered on this point.  The offset transform will also be centered around this point.
- layering is now decoupled from item order.  By default, components now render in order based on the value of their 'layer' property.  All components' layers default to 0.  components with the same layer render in the order they appear in their parent group's item list.
- setting transform.matrix on UIComponent is now supported, and is roughly the same as setting the convenience layout properties on the component.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/.flexProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/framework/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4/.flexLibProperties</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom</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/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/framework/.flexLibProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4/.actionScriptProperties</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/geom/Transform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/geom/Transform.as" copyfrom-rev="3342" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TransformUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/TransformOffset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/fxg-manifest.xml</path>

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

--- frameworks/projects/spark/src/spark/core/IGraphicElement.as
+++ frameworks/projects/spark/src/spark/core/IGraphicElement.as
@@ -153,6 +153,16 @@
 	//  visible
 	//----------------------------------

+	//----------------------------------
+	//  scaleY
+	//----------------------------------
+	/**
+	 *  Indicates the layer of the element relative to its siblings. Defaults to 0.
+	 */
+	function get layer():Number;
+	function set layer(value:Number):void;
+
+
 	/**
 	 *  Controls the visibility of the element.
 	 */


Transferred from the Adobe Open Source Subversion Repository

Revision: 8487
Author:   smgilson@adobe.com
Date:     2009-07-09T18:57:21.985536Z

Log Message:
-----------
final checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/effects/RemoveAction.as
+++ frameworks/projects/spark/src/spark/effects/RemoveAction.as
@@ -35,7 +35,7 @@
  *
  *  @mxml
  *
- *
The <mx:RemoveAction> tag
+ *
The <s:RemoveAction> tag
  *  inherits all of the tag attributes of its superclass,
  *  and adds the following tag attributes:


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

--- frameworks/projects/framework/src/mx/effects/EffectInstance.as
+++ frameworks/projects/framework/src/mx/effects/EffectInstance.as
@@ -206,10 +206,10 @@
      */
     public function get duration():Number
     {
-        if (!mx_internal::durationExplicitlySet &&
-            mx_internal::parentCompositeEffectInstance)
-        {
-            return mx_internal::parentCompositeEffectInstance.duration;
+        if (!durationExplicitlySet &&
+            parentCompositeEffectInstance)
+        {
+            return parentCompositeEffectInstance.duration;
         }
         else
         {
@@ -222,7 +222,7 @@
      */
     public function set duration(value:Number):void
     {
-        mx_internal::durationExplicitlySet = true;
+        durationExplicitlySet = true;
         _duration = value;
     }

@@ -619,7 +619,7 @@
             case "resizeStart":
             case "resizeEnd":
             {
-                if (!mx_internal::durationExplicitlySet)
+                if (!durationExplicitlySet)
                     duration = 250;
                 break;
             }


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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8271
Author:   dsubrama@adobe.com
Date:     2009-06-25T23:25:28.723385Z

Log Message:
-----------
Change the event type of List-based component's change, changing and caretChange events to a new event class: spark.events.IndexChangeEvent.

QA: Yes
Doc: Yes
Checkintests: Pass
Mustella: List/DDL/ButtonBar tests pass
Reviewers: Hans & Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DropDownListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/IndexChangeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ButtonBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/IndexChangedEvent.as</path>

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

--- frameworks/projects/spark/src/spark/events/IndexChangeEvent.as
+++ frameworks/projects/spark/src/spark/events/IndexChangeEvent.as
@@ -0,0 +1,240 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.events
+{
+
+import flash.events.Event;
+
+/**
+ *  The IndexChangeEvent class represents events that are dispatched when
+ *  an index changes in a Spark component.
+ *
+ *  @see spark.components.supportClasses.ListBase
+ *  @see spark.components.List
+ *  @see spark.components.ButtonBar
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class IndexChangeEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The IndexChangeEvent.CHANGE constant defines the value of the
+     *  type property of the event object for a change event,
+     *  which indicates that an index has changed, such as when a List-based control
+     *  changes its selection.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
inputType	Indicates whether this event
+     *         was caused by a mouse or keyboard interaction.

+     *
newIndex	The zero-based index
+     *       after the change.

+     *
oldIndex	The zero-based index
+     *       before the change.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
Type	IndexChangeEvent.CHANGE

+     *

+     *
+     *  @eventType change
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const CHANGE:String = "change";
+
+    /**
+     *  The IndexChangeEvent.CHANGING constant defines the value of the
+     *  type property of the event object for a changing event,
+     *  which indicates that the current selection is about to change.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
inputType	Indicates whether this event
+     *         was caused by a mouse or keyboard interaction.

+     *
newIndex	The zero-based index of the
+     *       selected item after the change.

+     *
oldIndex	The zero-based index of the
+     *       selected item before the change.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
Type	IndexChangeEvent.CHANGING

+     *

+     *
+     *  @eventType changing
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const CHANGING:String = "changing";
+
+    /**
+     *  The IndexChangeEvent.CARET_CHANGE constant defines the value of the
+     *  type property of the event object for a caretChange event,
+     *  which indicates that the current item in focus is about to change.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
inputType	Indicates whether this event
+     *         was caused by a mouse or keyboard interaction.

+     *
newIndex	The zero-based index of the
+     *       selected item after the change.

+     *
oldIndex	The zero-based index of the
+     *       selected item before the change.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
Type	IndexChangeEvent.CARET_CHANGE

+     *

+     *
+     *  @eventType caretChange
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static const CARET_CHANGE:String = "caretChange";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *  Normally called by a Flex control and not used in application code.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble
+     *  up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     *
+     *  @param oldIndex The zero-based index before the change.
+     *
+     *  @param newIndex The zero-based index after the change.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function IndexChangeEvent(type:String, bubbles:Boolean = false,
+                                      cancelable:Boolean = false,
+                                      oldIndex:Number = -1,
+                                      newIndex:Number = -1)
+    {
+        super(type, bubbles, cancelable);
+
+        this.oldIndex = oldIndex;
+        this.newIndex = newIndex;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  newIndex
+    //----------------------------------
+
+    /**
+     *  The zero-based index after the change. For change events
+     *  it is the index of the current child.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var newIndex:Number;
+
+    //----------------------------------
+    //  oldIndex
+    //----------------------------------
+
+    /**
+     *  The zero-based index before the change.
+     *  For change events it is the index of the previous child.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var oldIndex:Number;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new IndexChangeEvent(type, bubbles, cancelable,
+                                     oldIndex, newIndex);
+    }
+}
+
+}


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

--- frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalAlign.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


fixed problem - debugging code was running when it shouldn't

Change-Id: I290736b37fe62260eaaabb74a4a740eabe1d13e1

--- WeaveData/src/weave/services/URLRequestUtils.as
+++ WeaveData/src/weave/services/URLRequestUtils.as
@@ -321,7 +321,7 @@

 		if (loadNow)
 		{
-			if (URLRequestUtils.delayed)
+			if (URLRequestUtils.delayResults)
 			{
 				label = request.url;
 				try
@@ -331,7 +331,7 @@
 					label += ' ' + ObjectUtil.toString(bytes.readObject()).split('\n').join(' ');
 				}
 				catch (e:Error) { }
-				//WeaveAPI.externalTrace('requested ' + label);
+				weaveTrace('requested ' + label);
 				URLRequestUtils.delayed.push({"label": label, "resume": resume});
 			}


Exposing columns and row data in SimpleResultHandler.

The values are now cleaned up in dispose--there is no sense in
making this implementation exceedingly flexible.

--- driver/src/main/flex/org/postgresql/db/SimpleResultHandler.as
+++ driver/src/main/flex/org/postgresql/db/SimpleResultHandler.as
@@ -20,6 +20,14 @@
             }
             _onQueryResult = onQueryResult;
             _onCompletion = onCompletion;
+        }
+
+        public function get columns():Array {
+            return _columns;
+        }
+
+        public function get data():Array {
+            return _data;
         }

         public function handleColumns(columns:Array):void {
@@ -48,8 +56,6 @@
         public function handleCompletion(command:String, rows:int, oid:int):void {
             if (_columns) {
                 onQueryResult(_columns, _data);
-                _columns = null;
-                _data = null;
             }
             onCompletion(command, rows);
         }
@@ -65,7 +71,8 @@
         }

         public function dispose() : void {
-            /* do nothing */
+            _columns = null;
+            _data = null;
         }

     }


Added option to specify requestHeaders in loadFile()

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -32,6 +32,7 @@
 	import flash.net.FileReference;
 	import flash.net.SharedObject;
 	import flash.net.URLRequest;
+	import flash.net.URLRequestHeader;
 	import flash.net.navigateToURL;
 	import flash.system.Capabilities;
 	import flash.ui.ContextMenu;
@@ -265,16 +266,32 @@
 		private var _loadFileCallback:Function;
 		/**
 		 * Loads a session state file from a URL.
-		 * @param url The URL to the session state file (.weave or .xml) specified as a String or a URLRequest.
+		 * @param url The URL to the session state file (.weave or .xml) specified as a String, a URLRequest, or an Object containing properties "url" and "requestHeaders".
+		 *            Example:  {"url": "myfile.ext", "requestHeaders": {"Content-type", "foo"}}
 		 * @param callback Either a Function or a String containing a JavaScript function definition. The callback will be invoked when the file loading completes.
 		 * @param noCacheHack If set to true, appends "?" followed by a series of numbers to prevent Flash from using a cached version of the file.  Only works when url is given as a String.
 		 */
 		public function loadFile(url:Object, callback:Object = null, noCacheHack:Boolean = false):void
 		{
-			if (noCacheHack && url is String)
-				url = String(url) + "?" + (new Date()).getTime(); // prevent flex from using cache
-
-			var request:URLRequest = url as URLRequest || new URLRequest(String(url));
+			var request:URLRequest;
+			if (url is URLRequest)
+			{
+				request = url as URLRequest;
+			}
+			else if (url is String)
+			{
+				if (noCacheHack)
+					url = String(url) + "?" + (new Date()).getTime(); // prevent flex from using cache
+				request = new URLRequest(String(url));
+			}
+			else
+			{
+				request = new URLRequest(String(url['url']));
+				var headers:Object = url['requestHeaders'];
+				for (var k:String in headers)
+					request.requestHeaders.push(new URLRequestHeader(k, headers[k]));
+			}
+
 			_requestedConfigFile = request.url;
 			_loadFileCallback = callback as Function;
 			if (callback is String)


Transferred from the Adobe Open Source Subversion Repository

Revision: 18432
Author:   dloverin@adobe.com
Date:     2010-11-03T20:02:02.380580Z

Log Message:
-----------
Initial check-in for RSL Sharing Among Modules Feature

QE notes: testable but not PARB'd
Doc notes: None.
Bugs: SDK-27917
Reviewer: Alex
Tests run: cylone server, checkintests
Is noteworthy for integration: No.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/config/ConfigurationException_en.properties</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ApplicationDomainTarget.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/config/ConfigurationException.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/common/RuntimeSharedLibrarySettingsConfiguration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/RSLData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>

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

--- frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
+++ frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
@@ -256,21 +256,19 @@
         // load the bytes into the current application domain.
         loadBytesLoader = new Loader();
         var context:LoaderContext = new LoaderContext();
-
-        if (moduleFactory != null)
-            context.applicationDomain = moduleFactory.info()["currentDomain"];
-        else
+        var rslData:RSLData = currentRSLData;
+
+        if (rslData.moduleFactory)
+        {
+            context.applicationDomain = rslData.moduleFactory.info()["currentDomain"];
+        }
+        else if (moduleFactory)
+        {
+            context.applicationDomain = moduleFactory.info()["currentDomain"];
+        }
+        else
+        {
             context.applicationDomain = ApplicationDomain.currentDomain;
-
-        // TODO (dloverin): For now, load all RSLs into the top-level application
-        // domain. Remove this code once we have cooperative loading implemented.
-        while (context.applicationDomain && context.applicationDomain.parentDomain)
-        {
-            // Don't load an RSL into a bootstrap application domain.
-            if (!context.applicationDomain.parentDomain.hasDefinition("mx.managers::SystemManager"))
-                break;
-
-            context.applicationDomain = context.applicationDomain.parentDomain;
         }

         context.securityDomain = null;
@@ -283,7 +281,6 @@
         }

         // verify the digest, if any, is correct
-        var rslData:RSLData = currentRSLData;
         if (rslData.digest != null && rslData.verifyDigest)
         {
             var verifiedDigest:Boolean = false;


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21593
Author:   aharui@adobe.com
Date:     2011-07-16T04:39:08.938529Z

Log Message:
-----------
Optimize Advanced CSS selector lookup.  Selectors are sorted into categories as they are registered so we can do quick elimination of some categories of selectors.

QE notes: New API in IAdvancedStyleClient
Doc notes: New API in IAdvancedStyleClient
Bugs: SDK-29880
Reviewer: Peter F
Tests run: Mustella Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>

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

--- frameworks/projects/framework/src/mx/styles/IStyleManager2.as
+++ frameworks/projects/framework/src/mx/styles/IStyleManager2.as
@@ -111,14 +111,17 @@
      *  is the right most simple type selector in a potential selector chain.
      *
      *  @param subject The style subject.
-     *  @return Array of StyleDeclarations for this subject.
+     *  @return Object map of StyleDeclarations for this subject.  The object
+     *  has four properties: class for class selectors,
+     *  id for id selectors, pseudo for pseudo selectors and unconditional
+     *  for selectors without conditions
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    function getStyleDeclarations(subject:String):Array;
+     *  @productversion Flex 4.6
+     */
+    function getStyleDeclarations(subject:String):Object;

     /**
      * Gets a CSSStyleDeclaration object that stores the rules


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11625
Author:   rfrishbe@adobe.com
Date:     2009-11-10T20:03:43.934666Z

Log Message:
-----------
The last few cleanups for the OSMF video player.  Hooking up the videoObject property in VideoDisplay to return the flash.media.Video object.  Also, when pauseWhenHidden is set to false, we'll detach all the event listeners on the parents because they are no longer needed.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer2.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1859,9 +1859,8 @@
                 y: this.y,
                 width: this.getPreferredBoundsWidth(false),
                 height: this.getPreferredBoundsHeight(false),
-                // FIXME (rfrishbe):
-//                smoothing: videoDisplay.videoPlayer.smoothing,
-//                deblocking: videoDisplay.videoPlayer.deblocking,
+                smoothing: videoDisplay.videoObject.smoothing,
+                deblocking: videoDisplay.videoObject.deblocking,
                 includeInLayout: this.includeInLayout};
             includeInLayout = false;
             pauseWhenHidden = false;
@@ -1894,8 +1893,8 @@
             invalidateDisplayList();

             // this is for video performance reasons
-//            videoDisplay.videoPlayer.smoothing = false;
-//            videoDisplay.videoPlayer.deblocking = 0;
+            videoDisplay.videoObject.smoothing = false;
+            videoDisplay.videoObject.deblocking = 0;

             this.validateNow();

@@ -2002,8 +2001,8 @@
         this.y = beforeFullScreenInfo.y;
         this.setLayoutBoundsSize(beforeFullScreenInfo.width, beforeFullScreenInfo.height);

-//        videoDisplay.videoPlayer.smoothing = beforeFullScreenInfo.smoothing;
-//        videoDisplay.videoPlayer.deblocking = beforeFullScreenInfo.deblocking;
+        videoDisplay.videoObject.smoothing = beforeFullScreenInfo.smoothing;
+        videoDisplay.videoObject.deblocking = beforeFullScreenInfo.deblocking;

         // remove from top level application:
         if (parent is IVisualElementContainer)


Transferred from the Adobe Open Source Subversion Repository

Revision: 9124
Author:   jszeto@adobe.com
Date:     2009-08-06T00:11:14.345958Z

Log Message:
-----------
http://bugs.adobe.com/jira/browse/SDK-22488 - Odd bitmap sharing issue with custom DropDownList component using bitmap item renderer

BitmapImage was disposing of the previous source whenever a new source was set. Since the button BitmapImage was always swapping in the selectedItem, it destroyed the previously selected item.

The fix is to alter the code that disposes of the old source. If the BitmapImage created the BitmapData (because the source was a Class or DisplayObject), then it is responsible for disposing of it. Otherwise it is the developer's responsibility to dispose of the BitmapData.

I updated the ASDoc to explain when BitmapImage will dispose of the BitmapData.

QE notes: Add test cases
Doc notes: Need to explain when the developer is responsible for disposing of the BitmapData.
Bugs: SDK-22488
Reviewer: Glenn
Tests run: spark primitives
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -101,6 +101,7 @@
     private var _scaleGridLeft:Number;
     private var _scaleGridRight:Number;
     private var _scaleGridTop:Number;
+    private var bitmapDataCreated:Boolean = false;

     private static var matrix:Matrix = new Matrix();
     private var cachedSourceGrid:Array;
@@ -286,6 +287,11 @@
      *
      *
The BitmapImage class is designed to work with embedded images or images that are
      *  loaded at run time

+     *
+     *
If the source is a Bitmap or BitmapData instance or is an external image file, it
+     *  is the responsibility of the caller to dispose of the source once it is no longer needed.
+     *  If BitmapImage created the BitmapData instance, then it will dispose of the BitmapData once the
+     *  source has changed.

      *
      *  @see flash.display.Bitmap
      *  @see flash.display.BitmapData
@@ -316,11 +322,13 @@
             _scaleGridRight = NaN;
             _scaleGridTop = NaN;
             _scaleGridBottom = NaN;
+            var currentBitmapCreated:Boolean = false;

             if (value is Class)
             {
                 var cls:Class = Class(value);
                 value = new cls();
+                currentBitmapCreated = true;
             }
             else if (value is String)
             {
@@ -353,6 +361,7 @@
             {
                 bitmapData = new BitmapData(tmpSprite.width, tmpSprite.height, true, 0);
                 bitmapData.draw(tmpSprite, new Matrix());
+                currentBitmapCreated = true;

                 if (tmpSprite.scale9Grid)
                 {
@@ -365,7 +374,7 @@

             _source = value;

-            setBitmapData(bitmapData);
+            setBitmapData(bitmapData, currentBitmapCreated);
         }
     }

@@ -571,14 +580,17 @@
      *  @private
      *  Utility function that sets the underlying bitmapData property.
      */
-    private function setBitmapData(bitmapData:BitmapData):void
+    private function setBitmapData(bitmapData:BitmapData, internallyCreated:Boolean = false):void
     {
         // Clear previous bitmapData
         if (_bitmapData)
         {
-            _bitmapData.dispose();
+            if (bitmapDataCreated) // Dispose the bitmap if we created it
+                _bitmapData.dispose();
             _bitmapData = null;
         }
+
+        bitmapDataCreated = internallyCreated;

         _bitmapData = bitmapData;


add minimise restore fix

add minimise restore fix

--- example/src/StarlingRoot.as
+++ example/src/StarlingRoot.as
@@ -13,9 +13,13 @@
 import com.tuarua.webview.WebViewEvent;

 import flash.desktop.NativeApplication;
+import flash.display.NativeWindow;
+import flash.display.NativeWindowDisplayState;
 import flash.display.StageDisplayState;
 import flash.events.Event;
 import flash.events.FullScreenEvent;
+import flash.events.NativeWindowBoundsEvent;
+import flash.events.NativeWindowDisplayStateEvent;
 import flash.filesystem.File;
 import flash.geom.Point;
 import flash.geom.Rectangle;
@@ -72,9 +76,13 @@

     public function start():void {

-
         WebViewANESample.target.stage.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreenEvent);
-        NativeApplication.nativeApplication.addEventListener(flash.events.Event.EXITING, onExiting);
+        NativeApplication.nativeApplication.addEventListener(Event.EXITING, onExiting);
+
+        if (Capabilities.os.toLowerCase().indexOf("mac") == 0) {
+            NativeApplication.nativeApplication.activeWindow.addEventListener(
+                    NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE, onWindowMiniMaxi);
+        }

         if (!webView.isSupported) {
             return;
@@ -244,6 +252,16 @@

     }

+    private function onWindowMiniMaxi(event:NativeWindowDisplayStateEvent):void {
+        /*
+         !! Needed for OSX, restores webView when we restore from minimized state
+         */
+        if (event.beforeDisplayState == NativeWindowDisplayState.MINIMIZED) {
+            webView.removeFromStage();
+            webView.addToStage();
+        }
+    }
+
     private function onEscKey(event:WebViewEvent):void {
         if (WebViewANESample.target.stage.displayState == StageDisplayState.FULL_SCREEN_INTERACTIVE) {
             WebViewANESample.target.stage.displayState = StageDisplayState.NORMAL;
@@ -253,7 +271,7 @@
     }

     private function onDownloadComplete(event:WebViewEvent):void {
-        trace(event.params,"complete");
+        trace(event.params, "complete");
     }

     private function onDownloadProgress(event:WebViewEvent):void {
@@ -419,8 +437,6 @@
             webView.goForward();
             /*
              var obj:BackForwardList = webView.backForwardList();
-             trace()
-             trace()
              */
         }
     }
@@ -493,7 +509,6 @@

     /**
      * It's very important to call webView.shutDown(); when the app is exiting. This cleans up CEF on Windows.
-     *
      */
     private function onExiting(event:Event):void {
         webView.shutDown();


Fixing comments

Fixing comments

--- helpers/Croppa.as
+++ helpers/Croppa.as
@@ -9,7 +9,7 @@
 		 * Build a croppa formatted URL
 		 * @param  src     Absolute path to the source image
 		 * @param  width   Width to crop to.  Set to -1, 0, or NaN to make it wildcarded
-		 * @param  height  Width to crop to.  Set to -1, 0, or NaN to make it wildcarded
+		 * @param  height  Height to crop to.  Set to -1, 0, or NaN to make it wildcarded
 		 * @param  options Addtional Croppa options, passed as key/value pairs.  Like ['resize']
 		 * @return A Croppa-friendly URL
 		 */
@@ -31,4 +31,4 @@
 		}

 	}
-}+}


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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LineSeriesAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/charts/LineSeriesAutomationImpl.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.automation.delegates.charts
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6907
Author:   cframpto@adobe.com
Date:     2009-05-14T13:41:48.219761Z

Log Message:
-----------
Temporarily workaround Vellum bug so performance tests can be run.  TCM.setText(null) followed by TCM.getText("\n") returns the string "null\n" of length 5.

Remove obsolete comment in RichEditableTextContainerManager.as

Doc Notes:
Bugs: SDK-21132
Reviewers: Gordon

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -191,9 +191,6 @@

     /**
      *  @private
-     *  ToDo: there is currently an issue with event handlers.  As soon as
-     *  there is a controller attached all the event handling is done by the
-     *  controller and this no longer gets called.
      */
     override public function focusInHandler(event:FocusEvent):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6404
Author:   rfrishbe@adobe.com
Date:     2009-04-30T00:34:09.399480Z

Log Message:
-----------
Finishing up VideoPlayer/VideoElement. Added support for streaming videos and fixed a few of the bugs.  Added the skins from XD.  These still need a little tweaking, and I'll go over them with XD. For the skins, I had to add some new sub-components, like the VideoPlayerVolumeBar and VideoPlayScrubBar.

Also added 3 new events for TrackBase (thumbDrag, thumbPress, thumbRelease).  These were in Halo's Slider, and I needed them for the VideoPlayerScrubBar.

Also fixed some other bugs, like needing to call removeDynamicPartInstance() on the Slider when the dataTip is removed.  Also fixed a bug around alternatingItemsColor for ItemRenderer.

QE Notes: -
Doc Notes: -
Bugs: SDK-19486, SDK-20105, SDK-20789
Reviewer: Glenn, Jason
tests: checkintests, some mustella tests were failing, but seemed like random 1 pixel differences in DropDownList.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBarMuteButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/StreamItem.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarMuteButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarThumbSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenVolumeBarThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenFullScreenButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerVolumeBarTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenPlayPauseButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/templates/swfobject/index.template.html</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -545,7 +545,7 @@
             {
                 if(skinParts[id] == true)
                 {
-                    if (!(id in skin) || skin[id] == null)
+                    if (!(id in skin))
                         throw(new Error(resourceManager.getString("components", "requiredSkinPartNotFound", [id])));
                 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20135
Author:   cframpto@adobe.com
Date:     2011-02-04T17:17:14.255516Z

Log Message:
-----------
Fixup ASdoc for text styles and properties in TextArea/TextInput/SkinnableTextBase which are common to spark and mobile text but have different descriptions/values.  We are restricted to how we can format the doc since there can only be one @copy and it must be last.  In addition, we do not want the summary line to be "Not supported for the mobile theme".  Stephen Gilson and I worked out a template which uses @see rather than @copy since there can be multiple @see tags.  Look at SkinnableTextBase.editable for an example when mobile supports the property and SkinnableTextBase.typicalText for an example when mobile does not support the property.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.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/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/SelectionFormatTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as
@@ -10,10 +10,15 @@
 ////////////////////////////////////////////////////////////////////////////////

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineBreak
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Controls word wrapping within the container.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.blockProgression

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#lineBreak
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -22,10 +27,15 @@
 [Style(name="lineBreak", type="String", enumeration="toFit,explicit", inherit="no")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingBottom
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Bottom inset, in pixels.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.paddingBottom

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#paddingBottom
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -34,10 +44,15 @@
 [Style(name="paddingBottom", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingLeft
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Left inset, in pixels.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.paddingLeft

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#paddingLeft
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -46,10 +61,15 @@
 [Style(name="paddingLeft", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingRight
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Right inset, in pixels.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.paddingRight

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#paddingRight
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -58,10 +78,15 @@
 [Style(name="paddingRight", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingTop
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Top inset, in pixels.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.paddingRight

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#paddingRight
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -70,10 +95,15 @@
 [Style(name="paddingTop", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#verticalAlign
- *
- *
This style is not supported in the mobile theme.

- *
+ *  Vertical alignment or justification.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.verticalAlign

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#verticalAlign
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5


fixed issue where name of AIR app descriptor was wrong when using template from SDK

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -1237,18 +1237,21 @@
 						console.info("Generated application ID: " + appID);
 					}
 					descriptor = populateAdobeAIRDescriptorTemplateFile(descriptor, appID);
+
+					//clear this so that the name is based on the project name
+					airDescriptor = null;
 				}
 				descriptor = descriptor.replace(/<content>.*<\/content>/, "<content>" + contentValue + "</content>");
 				if(this._outputIsJS)
 				{
 					var debugOutputDir:String = path.join(outputDir, "bin", "js-debug");
-					var debugDescriptorOutputPath:String = path.resolve(debugOutputDir, path.basename(airDescriptor));
+					var debugDescriptorOutputPath:String = findAIRDescriptorOutputPath(this._mainFile, airDescriptor, debugOutputDir, false);
 					mkdirp["sync"](path.dirname(debugDescriptorOutputPath));
 					fs.writeFileSync(debugDescriptorOutputPath, descriptor, "utf8");
 					if(!this._debugBuild)
 					{
 						var releaseOutputDir:String = path.join(outputDir, "bin", "js-release");
-						var releaseDescriptorOutputPath:String = path.resolve(releaseOutputDir, path.basename(airDescriptor));
+						var releaseDescriptorOutputPath:String = findAIRDescriptorOutputPath(this._mainFile, airDescriptor, releaseOutputDir, false);
 						mkdirp["sync"](path.dirname(releaseDescriptorOutputPath));
 						fs.writeFileSync(releaseDescriptorOutputPath, descriptor, "utf8");
 					}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5310
Author:   jszeto@adobe.com
Date:     2009-03-13T22:10:52.856444Z

Log Message:
-----------
Flex SDK Bug Fix

SDK-19845 Straight-line paths do not seem to render properly.

The Path was not protecting against zero value width or height when drawing the segments.

Fixed bug in FxSpinner where all keyboard events were not bubbling. Instead, what we want is for the UP/DOWN/HOME/END keyDown events to not bubble.

Updated function name in FxSlider to follow event handler function naming convention.

QE Notes: Add tests for vertical or horizontal line Paths
Doc Notes: n/a
Bugs: SDK-19845
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -377,13 +377,15 @@
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
         var prevValue:Number = this.value;
-
+        var stopPropagation:Boolean = false;
+
         switch (event.keyCode)
         {
             case Keyboard.DOWN:
             //case Keyboard.LEFT:
             {
                 step(false);
+                stopPropagation = true;
                 break;
             }

@@ -391,18 +393,21 @@
             //case Keyboard.RIGHT:
             {
                 step(true);
+                stopPropagation = true;
                 break;
             }

             case Keyboard.HOME:
             {
                 value = minimum;
+                stopPropagation = true;
                 break;
             }

             case Keyboard.END:
             {
                 value = maximum;
+                stopPropagation = true;
                 break;
             }

@@ -416,7 +421,8 @@
         if (value != prevValue)
             dispatchEvent(new Event("change"));

-        event.stopImmediatePropagation();
+		if (stopPropagation)
+        	event.stopPropagation();
     }
 }