F forcing stage top left alignment and no scale because it looks like there is no way to properly handle the stage3d otherwise without hacks using a transparent sprite

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -298,24 +298,21 @@
 		{
 			if (event.target != this)
 				return ;
+
+			stage.align = StageAlign.TOP_LEFT;
+			stage.scaleMode = StageScaleMode.NO_SCALE;

 			if (_autoResize)
 			{
 				parent.addEventListener(Event.RESIZE, resizeHandler);
-
-				if (parent == stage)
-				{
-					stage.align = StageAlign.TOP_LEFT;
-					stage.scaleMode = StageScaleMode.NO_SCALE;
-				}
-			}
-
-			resizeHandler();
+				resizeHandler();
+			}
 		}

 		private function removedHandler(event : Event) : void
 		{
-			parent.removeEventListener(Event.RESIZE, resizeHandler);
+			if (event.target == this)
+				parent.removeEventListener(Event.RESIZE, resizeHandler);
 		}

 		private function addedToStageHandler(event : Event) : void
@@ -329,7 +326,7 @@
 				while (_stage3d.willTrigger(Event.CONTEXT3D_CREATE))
 					_stage3d = stage.stage3Ds[int(++stageId)];

-				_stage3d.addEventListener(Event.CONTEXT3D_CREATE, resetStage3D);
+				_stage3d.addEventListener(Event.CONTEXT3D_CREATE, context3DCreatedHandler);
 				_stage3d.requestContext3D(Context3DRenderMode.AUTO);
 			}

@@ -404,12 +401,10 @@
 				showLogo();
 		}

-		private function resetStage3D(event : Event = null) : void
+		private function context3DCreatedHandler(event : Event = null) : void
 		{
 			if (_stage3d && _stage3d.context3D && _width && _height)
 			{
-				update();
-
 				_renderer = new _rendererClass(this, _stage3d.context3D);

 				_visitors = Vector.<ISceneVisitor>([
@@ -421,7 +416,7 @@
 			}
 		}

-		private function update() : void
+		private function updateSizeAndPosition() : void
 		{
 			if (_stage3d)
 			{
@@ -503,7 +498,7 @@

 		private function stageResizeHandler(event : Event) : void
 		{
-			update();
+			updateSizeAndPosition();
 		}

 		private function stageEventHandler(event : Object) : void
@@ -577,7 +572,7 @@
 					|| _upperLeft.x != positionOnStage.x
 					|| _upperLeft.y != positionOnStage.y)
 				{
-					update();
+					updateSizeAndPosition();
 					_invalidRectangle = false;
 				}
 			}


Adjusted framerate of gif playback to be consistent with Firefox/Chrome

--- AS3GifPlayer/src/com/worlize/gif/GIFPlayer.as
+++ AS3GifPlayer/src/com/worlize/gif/GIFPlayer.as
@@ -213,7 +213,7 @@
 			// Store current frame index
 			_currentFrame = requestedIndex;

-			var requestedDelay:Number = (currentFrameObject.delayMs === 0) ? 100 : currentFrameObject.delayMs;
+			var requestedDelay:Number = (currentFrameObject.delayMs < 20) ? 100 : currentFrameObject.delayMs;
 			var delay:Number = Math.round(quantizeFrameDelay(requestedDelay, minFrameDelay));
 			delay = Math.max(delay - minFrameDelay/2, 0);
 			timer.delay = delay;


isolation view and interface implementation

git-svn-id: 4969af7a11582c80b682e8a73ed7b35a57fe0a9c@128997 3e83ccf1-c6ce-0310-9054-8fdb33cf0640

--- zucchini.lib/src/pl/ydp/automation/execution/structure/IStructure.as
+++ zucchini.lib/src/pl/ydp/automation/execution/structure/IStructure.as
@@ -1,5 +1,6 @@
 package pl.ydp.automation.execution.structure
 {
+	import flash.display.DisplayObject;
 	import flash.display.IBitmapDrawable;

 	/**
@@ -28,6 +29,10 @@
 		/**
 		 * Wyczyszczenie widoku (usunięcie struktury).
 		 */
-		function clean():void;
+		function clean():void;
+		/**
+		 * Kontener zawierający widok aplikacji.
+		 */
+		function get component():DisplayObject;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/AsyncDispatcher.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncDispatcher.as
@@ -0,0 +1,64 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 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.rpc
+{
+
+import flash.events.TimerEvent;
+import flash.events.TimerEvent;
+import flash.utils.Timer;
+
+[ExcludeClass]
+/**
+ *  This class provides a mechanism for dispatching a method asynchronously.
+ *  @private
+ */
+public class AsyncDispatcher
+{
+    /**
+     *  @private
+     */
+    public function AsyncDispatcher(method:Function, args:Array, delay:Number)
+    {
+        super();
+        _method = method;
+        _args = args;
+        _timer = new Timer(delay);
+        _timer.addEventListener(TimerEvent.TIMER, timerEventHandler);
+        _timer.start();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Private Methods
+    //
+    //--------------------------------------------------------------------------
+
+    private function timerEventHandler(event:TimerEvent):void
+    {
+        _timer.stop();
+        _timer.removeEventListener(TimerEvent.TIMER, timerEventHandler);
+        // This call may throw so do not put code after it
+        _method.apply(null, _args);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var _method:Function;
+    private var _args:Array;
+    private var _timer:Timer;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

Log Message:
-----------
Merge 3.0.x -- 362:394, 427:429, 603:608, 644:645, 651:663, 672:676, 755:756, 763:766, 785:790, 812:814, 854:861, 862:866, 866:933,971:1009, 1050:1056 --> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/DefaultDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IRepeaterClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/Locale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/SOAPMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IBrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ComponentDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/IViewCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/IMenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ILayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Spacer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/XMLListCollection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SliderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncToken.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ScrollEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/CuePointManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/NumericStepperEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/events/ChannelFaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/CursorBookmark.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/WSDLLoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/LoadEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/FlexClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/LogLogger.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/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build_framework.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/HeaderEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/ITreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>

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

--- frameworks/projects/framework/src/mx/effects/Tween.as
+++ frameworks/projects/framework/src/mx/effects/Tween.as
@@ -683,7 +683,7 @@

     /**
      *  Stops the tween, ending it without dispatching an event or calling
-     *  endFunction or onTweenEnd().
+     *  the Tween's endFunction or onTweenEnd().
      */
     public function stop():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11247
Author:   klin@adobe.com
Date:     2009-10-28T21:59:11.963883Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-23184.

Updated a bunch of Style metadata ASDocs to describe different defaults between the Halo and Spark themes. Also, fixed a few typos along the way.

defaults.css - rearranged a few styles to be in alphabetical order
Button.as - removed extra emphasizedSkin style metadata
Panel.as - added spark theme to borderAlpha metadata

QE notes: None
Doc notes: None
Bugs: SDK-23184
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerNative.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpMenuIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/fl/video/NCManagerDynamicStream.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/FocusStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ProgressBar.as
+++ frameworks/projects/mx/src/mx/controls/ProgressBar.as
@@ -98,7 +98,8 @@
 /**
  *  Skin style for a determinate progress bar.
  *
- *  @default mx.skins.halo.ProgressBarSkin
+ *  The default value for the Halo theme is mx.skins.halo.ProgressBarSkin.
+ *  The default value for the Spark theme is mx.skins.spark.ProgressBarSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -124,7 +125,8 @@
  *  Once the progress bar has moved the specified number of pixels, it gets respositioned back to
  *  its starting point. A value of 0 means that the bar is not moved.
  *
- *  @default 26
+ *  The default value for the Halo theme is 28.
+ *  The default value for the Spark theme is 14.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -136,7 +138,8 @@
 /**
  *  Skin style for an indeterminate progress bar.
  *
- *  @default mx.skins.halo.ProgressIndeterminateSkin
+ *  The default value for the Halo theme is mx.skins.halo.ProgressIndeterminateSkin.
+ *  The default value for the Spark theme is mx.skins.spark.ProgressIndeterminateSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -148,7 +151,8 @@
 /**
  *  Skin style for the mask of the determinate and indeterminate bars.
  *
- *  @default mx.skins.halo.ProgressMaskSkin
+ *  The default value for the Halo theme is mx.skins.halo.ProgressMaskSkin.
+ *  The default value for the Spark theme is mx.skins.spark.ProgressMaskSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -160,7 +164,8 @@
 /**
  *  Skin style for the progress indicator track.
  *
- *  @default mx.skins.halo.ProgressTrackSkin
+ *  The default value for the Halo theme is mx.skins.halo.ProgressTrackSkin.
+ *  The default value for the Spark theme is mx.skins.spark.ProgressBarTrackSkin.
  *
  *  @langversion 3.0
  *  @playerversion Flash 9
@@ -223,6 +228,10 @@
  *  @productversion Flex 3
  */
 [Style(name="labelWidth", type="Number", format="Length", inherit="yes")]
+
+//--------------------------------------
+//  Effects
+//--------------------------------------

 /**
  *  Effect called when Flex dispatches the complete event,


Transferred from the Adobe Open Source Subversion Repository

Revision: 14547
Author:   cframpto@adobe.com
Date:     2010-03-03T14:20:28.384244Z

Log Message:
-----------
Merge changes for mirroring from 4.x to trunk. Revs 14507,14530-14532.

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

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/mx/skins/wireframe/DataGridHeaderSeparatorSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/4.x/frameworks/projects/framework/src/mx/core/LayoutDirection.as" copyfrom-rev="14507" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutDirection.as</path>

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

--- frameworks/projects/spark/src/mx/core/FTETextField.as
+++ frameworks/projects/spark/src/mx/core/FTETextField.as
@@ -3032,8 +3032,13 @@
             else if (centerAligned)
                 textLine.x += centerOffset - width / 2;

-            clipWidth = Math.max(clipWidth, textLine.x + textLine.textWidth);
-
+            // If x < 0 then need to force clipping in validateNow() so text
+            // won't leak in this direction.
+            if (textLine.x < 0)
+                clipWidth = int.MAX_VALUE;
+            else
+                clipWidth = Math.max(clipWidth, textLine.x + textLine.textWidth);
+
             textLine.y += PADDING_TOP;
         }
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17115
Author:   deeptika@adobe.com
Date:     2010-07-29T08:32:34.974747Z

Log Message:
-----------
Setting moduleFactory for InstanceCache
QE notes:
Doc notes:
Bugs: FLEXDMV-2472 (Datatips not easily readable on using SWFLoader\ModuleLoader)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/InstanceCache.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartBase.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/InstanceCache.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/InstanceCache.as
@@ -17,6 +17,7 @@
 import mx.core.ClassFactory;
 import mx.core.ContextualClassFactory;
 import mx.core.IFactory;
+import mx.core.IFlexModuleFactory;
 import mx.core.IUITextField;

 /**
@@ -55,7 +56,7 @@
      *  @productversion Flex 3
      */
     public function InstanceCache(type:Object, parent:Object = null,
-                                  insertPosition:int = -1)
+                                  insertPosition:int = -1, moduleFactory:IFlexModuleFactory = null)
     {
         super();

@@ -68,7 +69,7 @@
         else if (type is Class)
         {
             _class = Class(type);
-            _factory = new ContextualClassFactory(Class(type));
+            _factory = new ContextualClassFactory(Class(type), moduleFactory);
         }

         _insertPosition = insertPosition;


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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 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.containers.utilityClasses
 {


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

--- frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.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: 3665
Author:   hmuller@adobe.com
Date:     2008-10-15T20:42:18.087020Z

Log Message:
-----------
Fixed 17335, completed Scrollbar viewport property, fixed an FxRange::setValue() problem.

Added a special case for zero-height rows/columns to
Vertical,HorizontalLayout::updateDisplayList(),::inView()
to fix 17335.

Fixed FxRange: now FlexEvent.VALUE_COMMIT event handlers
will see the final constrained value, per
FxRange::nearestValidValue(), as they should.

Completed the ScrollBar viewport property implementation.   Now
all of the synchronization between scrollbars and a their viewport
is handled by the scrollbar.   Previously it was handled by both
FxScroller, ScrollerSkin, and the layout classes.

ScrollBar now tracks its viewport's actual size, content size, and
scroll positions.  The corresonding code and protected API has been
removed from FxScroller, notably:

  protected function vsb_valueCommitHandler(event:Event):void
  protected function hsb_valueCommitHandler(event:Event):void
  protected function viewportContentWidthChanged(event:PropertyChangeEvent):void
  protected function viewportContentHeightChanged(event:PropertyChangeEvent):void
  protected function viewportHorizontalScrollPositionChanged(event:PropertyChangeEvent):void
  protected function viewportVerticalScrollPositionChanged(event:PropertyChangeEvent):void

The protected methods for tracking the viewport have moved,
with slightly different names, to FxScrollBar:

  protected function viewportResizeHandler(event:ResizeEvent):void
  protected function viewportContentWidthChangeHandler(event:PropertyChangeEvent):void
  protected function viewportContentHeightChangeHandler(event:PropertyChangeEvent):void
  protected function viewportHorizontalScrollPositionChangeHandler(event:PropertyChangeEvent):void
  protected function viewportVerticalScrollPositionChangeHandler(event:PropertyChangeEvent):void

QE: I've made API changes
Doc: No
Checkintests: Pass
Reviewer: Ryan
Bugs:
    SDK-17335 - inView reports incorrectly when setting rowHeight to zero on a VerticalLayout

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/Range.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/Range.as
@@ -273,11 +273,12 @@

         if (valueChanged || maxChanged || minChanged || valueIntervalChanged)
         {
-            setValue(nearestValidValue(_changedValue, valueInterval));
+            var currentValue:Number = (valueChanged) ? _changedValue : _value;
             valueChanged = false;
             maxChanged = false;
             minChanged = false;
             valueIntervalChanged = false;
+            setValue(nearestValidValue(currentValue, valueInterval));
         }

         if (stepSizeChanged)


Transferred from the Adobe Open Source Subversion Repository

Revision: 4866
Author:   hmuller@adobe.com
Date:     2009-02-05T22:14:08.037552Z

Log Message:
-----------
Bug fixes, notably support for "canceling" keyboard events that drive scrolling.  Added mouse-wheel scrolling to FxScroller.

QE Notes:
Doc Notes: None
Bugs: sdk-19027, sdk-19028, sdk-18903, sdk-18673
Reviewer: Evtim, Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</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/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/Range.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/Range.as
@@ -185,13 +185,12 @@

     /**
+     *  @private
      *  Implementation note: we temporarily store the new value in
      *  _changedValue and then update _value, by calling setValue()
      *  in commitProperties().  Only one "valueCommit" event is
      *  dispatched, even if this property has effectively changed
      *  twice per nearestValidValue().
-     *
-     *  @private
      */
     public function set value(newValue:Number):void
     {


Added constants to XBox 360 controller on a Windows 7 PC (subject to change)

--- com/zehfernando/input/binding/GamepadControls.as
+++ com/zehfernando/input/binding/GamepadControls.as
@@ -182,5 +182,103 @@
 		 */
 		public static const BUTTON_UNKNOWN_BUTTON_35:String = "BUTTON_35";

+		// These were tested on PC only and may change
+
+		/* Action button, down (green)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_BUTTON_ACTION_A:String = "BUTTON_4";
+
+		/* Action button, right (red)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_BUTTON_ACTION_B:String = "BUTTON_5";
+
+		/* Action button, up (yellow)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_BUTTON_ACTION_Y:String = "BUTTON_7";
+
+		/* Action button, left (blue)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_BUTTON_ACTION_X:String = "BUTTON_6";
+
+		/* Shoulder button, upper left (LEFT 1)
+		 *
Style: digital

+		 *
Works in: OUYA Controller, Playstation DS3

+		 */
+		public static const XBOX_L1:String = "BUTTON_8";
+
+		/* Shoulder button, upper right (RIGHT 1)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_R1:String = "BUTTON_9";
+
+		/* Shoulder button, lower left (LEFT 2)
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_L2_SENSITIVE:String = "BUTTON_10";
+
+		/* Shoulder button, lower right (RIGHT 2)
+		 *
Style: pressure-sensitive/analog

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_R2_SENSITIVE:String = "BUTTON_11";
+
+		/* Left stick press (LEFT 3)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_L3:String = "BUTTON_14";
+
+		/* Right stick press (RIGHT 3)
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_R3:String = "BUTTON_15";
+
+		/* Directional pad LEFT
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_DPAD_LEFT:String = "BUTTON_18";
+
+		/* Directional pad RIGHT
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_DPAD_RIGHT:String = "BUTTON_19";
+
+		/* Directional pad UP
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_DPAD_UP:String = "BUTTON_16";
+
+		/* Directional pad DOWN
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_DPAD_DOWN:String = "BUTTON_17";
+
+		/* BACK middle game controller button
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_BACK:String = "BUTTON_12";
+
+		/* START middle game controller button
+		 *
Style: digital

+		 *
Works in: XBox 360 Controller

+		 */
+		public static const XBOX_START:String = "BUTTON_13";
+
 	}
 }


Minor comment updates

Minor comment updates

--- com/zehfernando/input/binding/KeyActionBinder.as
+++ com/zehfernando/input/binding/KeyActionBinder.as
@@ -15,10 +15,11 @@
 	public class KeyActionBinder {

 		// Provides universal input control for game controllers and keyboard
+		// http://zehfernando.com/2013/abstracting-key-and-game-controller-inputs-in-adobe-air/

 		// Properties
 		private var _isRunning:Boolean;
-		private var alwaysPreventDefault:Boolean;								// If true, prevent action by other keys all the time (e.g. menu key)
+		private var alwaysPreventDefault:Boolean;						// If true, prevent action by other keys all the time (e.g. menu key)

 		// Instances
 		private var bindings:Vector.<BindingInfo>;						// Actual existing bindings, their action, and whether they're activated or not


Made stage a static variable and added a init() method

--- com/zehfernando/input/binding/KeyActionBinder.as
+++ com/zehfernando/input/binding/KeyActionBinder.as
@@ -36,6 +36,9 @@

 		// Constants
 		public static const VERSION:String = "1.0.0";
+
+		private static var stage:Stage;
+
 		// Properties
 		private var _isRunning:Boolean;
 		private var alwaysPreventDefault:Boolean;						// If true, prevent action by other keys all the time (e.g. menu key)
@@ -48,7 +51,6 @@
 		private var _onActionDeactivated:SimpleSignal;					// Receives: action:String
 		private var _onSensitiveActionChanged:SimpleSignal;				// Receives: action:String, value:Number (0-1)

-		private var stage:Stage;
 		private var gameInputDevices:Vector.<GameInputDevice>;

 		private static var gameInput:GameInput;
@@ -59,15 +61,16 @@
 		// ================================================================================================================
 		// STATIC CONSTRUCTOR ---------------------------------------------------------------------------------------------

-		{
+		public static function init(__stage:Stage):void  {
+			stage = __stage;
+
 			if (GameInput.isSupported) gameInput = new GameInput();
 		}

 		// ================================================================================================================
 		// CONSTRUCTOR ----------------------------------------------------------------------------------------------------

-		public function KeyActionBinder(__stage:Stage) {
-			stage = __stage;
+		public function KeyActionBinder() {
 			alwaysPreventDefault = true;
 			bindings = new Vector.<BindingInfo>();
 			actionsActivations = {};


FLEX-32589 Fixed issue with selecting ADG cells

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
@@ -1368,7 +1368,6 @@

         _temporary_selectedCells = value;
 		syncCellSelections(value);
-        clearPendingCells();
         selectedCellsChanged = true;
         invalidateProperties();
         invalidateDisplayList();
@@ -7614,6 +7613,8 @@

         caretBookmark  = null;
         anchorBookmark = null;
+
+		clearPendingCells();
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 13175
Author:   sameer@adobe.com
Date:     2009-12-23T05:47:48.947634Z

Log Message:
-----------
Updating data formats in AdvancedDataGrid as the drag and drop data format descriptors were renamed from "orderedItems" and "orderedItemsCaretIndex" to "itemsByIndex" and "caretIndex" respectively.

QE notes: verify drag-drop between AdvancedDataGrid and Spark List
Doc notes: None
Bugs: None
Reviewer: Sreeni
Tests run: None
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/controls/AdvancedDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/controls/listClasses/AdvancedListBase.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as
@@ -3090,7 +3090,7 @@
             return;

         if (!(_rootModel is IHierarchicalData) &&
-			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("orderedItems")))
+			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("itemsByIndex")))
         {
             super.dragEnterHandler(event);
             return;
@@ -3124,7 +3124,7 @@
             return;

         if (!(_rootModel is IHierarchicalData) &&
-			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("orderedItems")))
+			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("itemsByIndex")))
         {
             super.dragOverHandler(event);
             return;
@@ -3172,7 +3172,7 @@
             return;

         if (!(_rootModel is IHierarchicalData) &&
-			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("orderedItems")))
+			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("itemsByIndex")))
         {
             super.dragDropHandler(event);
             return;
@@ -3257,7 +3257,7 @@
             return;

         if (!(_rootModel is IHierarchicalData) &&
-			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("orderedItems")))
+			(event.dragSource.hasFormat("items") || event.dragSource.hasFormat("itemsByIndex")))
         {
             super.dragCompleteHandler(event);
             return;


Don't need Registers class

Don't need Registers class

--- raw/src/org/yellcorp/lib/layout/Layout.as
+++ raw/src/org/yellcorp/lib/layout/Layout.as
@@ -218,7 +218,7 @@

     private var constrainCount:Dictionary;

-    private var regs:Registers;
+    private var registers:Vector.<Number>;

     private var virtualMeasureProgram:Vector.<ASTNode>;
     private var measureProgram:Vector.<ASTNode>;
@@ -243,7 +243,7 @@
         propertyTransformer = new PropertyTransformer(propertyAdapter);

         constrainCount = new Dictionary(true);
-        regs = new Registers();
+        registers = new Vector.<Number>();

         virtualMeasureProgram = new Vector.<ASTNode>();
         measureProgram = null;
@@ -271,9 +271,9 @@

         var nodeFactory:NodeFactory = getNodeFactory(constraintType);

-        var regIndex:uint = regs.nextFreeIndex();
+        var regIndex:uint = allocateRegister();
         var measureNode:ASTNode = nodeFactory.measure(target, targetVirtualProp, relative, relativeVirtualProp);
-        var storeNode:ASTNode = new SetRegister(regs.regv, regIndex, measureNode);
+        var storeNode:ASTNode = new SetRegister(registers, regIndex, measureNode);
         var calculateNode:ASTNode = nodeFactory.calculate(regIndex, relative, relativeVirtualProp);

         virtualMeasureProgram.push(storeNode);
@@ -542,6 +542,12 @@
         }
     }

+    private function allocateRegister():uint
+    {
+        registers.push(0);
+        return registers.length - 1;
+    }
+
     private function incrementConstraint(target:Object):void
     {
         var count:int = constrainCount[target];
@@ -553,8 +559,8 @@
         if (!_nodeFactories)
         {
             var nf:Object = _nodeFactories = { };
-            nf[ConstraintType.OFFSET] = new OffsetNodeFactory(regs.regv);
-            nf[ConstraintType.PROPORTIONAL] = new ProportionalNodeFactory(regs.regv);
+            nf[ConstraintType.OFFSET] = new OffsetNodeFactory(registers);
+            nf[ConstraintType.PROPORTIONAL] = new ProportionalNodeFactory(registers);
         }
         var f:NodeFactory = _nodeFactories[constraintType];
         if (!f) throw new ArgumentError("Invalid constraint type: " + constraintType);
@@ -602,23 +608,6 @@
         }
         filterProgramInPlace(copy, filter);
         return copy;
-    }
-}
-
-
-class Registers
-{
-    public var regv:Vector.<Number>;
-
-    public function Registers()
-    {
-        regv = new Vector.<Number>();
-    }
-
-    public function nextFreeIndex():uint
-    {
-        regv.push(0);
-        return regv.length - 1;
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4889
Author:   jszeto@adobe.com
Date:     2009-02-07T01:21:29.010759Z

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

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

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

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -52,7 +52,8 @@
 import mx.events.ResizeEvent;
 import mx.events.StateChangeEvent;
 import mx.events.ValidationResultEvent;
-import mx.filters.IFlexBitmapFilter;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;
 import mx.geom.CompoundTransform;
 import mx.geom.Transform;
 import mx.geom.TransformOffsets;
@@ -2436,7 +2437,7 @@
             {
                 e = _filters[i] as IEventDispatcher;
                 if (e)
-                    e.removeEventListener(Event.CHANGE, filterChangeHandler);
+                    e.removeEventListener(BaseFilter.CHANGE, filterChangeHandler);
             }
         }

@@ -2448,12 +2449,12 @@
             n = _filters.length;
             for (i = 0; i < n; i++)
             {
-                if (_filters[i] is IFlexBitmapFilter)
+                if (_filters[i] is IBitmapFilter)
                 {
                     e = _filters[i] as IEventDispatcher;
                     if (e)
-                        e.addEventListener(Event.CHANGE, filterChangeHandler);
-                    clonedFilters.push(IFlexBitmapFilter(_filters[i]).createBitmapFilter());
+                        e.addEventListener(BaseFilter.CHANGE, filterChangeHandler);
+                    clonedFilters.push(IBitmapFilter(_filters[i]).clone());
                 }
                 else
                 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12930
Author:   egeorgie@adobe.com
Date:     2009-12-15T00:23:58.803039Z

Log Message:
-----------
Optimize transformSize and transformBounds, reduce allocation of Point objects.

This change addresses a couple of FIXMEs I had put in the internal MatrixUtil class. The parameters were changed to numbers instead of points and I unrolled the matrix multiplication to significantly reduce the number of multiplications and additions. Both methods now return reference to the same internal static Point object to further reduce dynamic object allocation.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Deepa
Tests run: checkintests, mustella tests/gumbo/layout
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/utils/MatrixUtil.as
+++ frameworks/projects/framework/src/mx/utils/MatrixUtil.as
@@ -256,7 +256,6 @@
         else
             t1 = Math.atan((d * ry) / (b * rx));

-        // FIXME (egeorgie): optimize
         var x1:Number = a * Math.cos(t) * rx + c * Math.sin(t) * ry;
         var x2:Number = -x1;
         x1 += a * cx + c * cy + matrix.tx;
@@ -344,7 +343,8 @@
     }

 	/**
-	 *  @param bounds Bounds to be transformed.
+	 *  @param width The width of the bounds to be transformed.
+	 *  @param height The height of the bounds to be transformed.
 	 *  @param matrix The transfomration matrix.
 	 *
 	 *  @param vec If vec is non-null it will be set to the vector from the
@@ -355,77 +355,106 @@
 	 *  x + vec.x and y + vec.y respectively
 	 *  will offset the transformed bounds top left corner by x,y.
 	 *
-	 *  @return Returns the transformed bounds.
+	 *  @return Returns the transformed bounds. Note that the Point object returned will be reused
+     *  by other MatrixUtil methods.
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	public static function transformSize(bounds:Point, matrix:Matrix):Point
+	public static function transformSize(width:Number, height:Number, matrix:Matrix):Point
 	{
-		// FIXME (egeorgie): don't use new points, but do the math ourselves?
-	    var pt1:Point = matrix.deltaTransformPoint(bounds);
-	    var pt2:Point = matrix.deltaTransformPoint(new Point());
-	    var pt3:Point = matrix.deltaTransformPoint(new Point(bounds.x, 0));
-	    var pt4:Point = matrix.deltaTransformPoint(new Point(0, bounds.y));
-
-        var maxX:Number = Math.max(Math.max(pt1.x, pt2.x), Math.max(pt3.x, pt4.x));
-        var minX:Number = Math.min(Math.min(pt1.x, pt2.x), Math.min(pt3.x, pt4.x));
-        var maxY:Number = Math.max(Math.max(pt1.y, pt2.y), Math.max(pt3.y, pt4.y));
-        var minY:Number = Math.min(Math.min(pt1.y, pt2.y), Math.min(pt3.y, pt4.y));
-
-	    pt1.x = maxX - minX;
-	    pt1.y = maxY - minY;
-	    return pt1;
+        const a:Number = matrix.a;
+        const b:Number = matrix.b;
+        const c:Number = matrix.c;
+        const d:Number = matrix.d;
+
+        // transform point (0,0)
+        var x1:Number = 0;
+        var y1:Number = 0;
+
+        // transform point (width, 0)
+        var x2:Number = width * a;
+        var y2:Number = width * b;
+
+        // transform point (0, height)
+        var x3:Number = height * c;
+        var y3:Number = height * d;
+
+        // transform point (width, height)
+        var x4:Number = x2 + x3;
+        var y4:Number = y2 + y3;
+
+        var minX:Number = Math.min(Math.min(x1, x2), Math.min(x3, x4));
+        var maxX:Number = Math.max(Math.max(x1, x2), Math.max(x3, x4));
+        var minY:Number = Math.min(Math.min(y1, y2), Math.min(y3, y4));
+        var maxY:Number = Math.max(Math.max(y1, y2), Math.max(y3, y4));
+
+        staticPoint.x = maxX - minX;
+        staticPoint.y = maxY - minY;
+        return staticPoint;
 	}

 	/**
-	 *  @param bounds width and height to be transformed.
-	 *  @param matrix The transfomration matrix.
+	 *  @param width The width of the bounds to be transformed.
+	 *  @param height The height of the bounds to be transformed.
+	 *  @param matrix The transfomration matrix.
 	 *
 	 *  @param topleft If topLeft is non-null it will be used as the origin of the bounds
 	 *  rectangle to be transformed.  On return, it will be set to the top left of the rectangle
 	 *  after transformation.
 	 *
-	 *  @return Returns the transformed width and height
+	 *  @return Returns the transformed width and height. Note that the Point object returned will be reused
+     *  by other MatrixUtil methods.
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
 	 */
-	public static function transformBounds(bounds:Point, matrix:Matrix, topLeft:Point = null):Point
+	public static function transformBounds(width:Number, height:Number, matrix:Matrix, topLeft:Point = null):Point
 	{
-		// FIXME (egeorgie): don't use new points, but do the math ourselves?
-		var x:Number = 0;
-		var y:Number = 0;
-
-		if (topLeft)
-		{
-			x = topLeft.x;
-			y = topLeft.y;
-		}
-
-	    var pt1:Point = matrix.transformPoint(new Point(bounds.x + x, bounds.y + y));
-	    var pt2:Point = matrix.transformPoint(new Point(x, y));
-	    var pt3:Point = matrix.transformPoint(new Point(bounds.x + x, 0 + y));
-	    var pt4:Point = matrix.transformPoint(new Point(0 + x, bounds.y + y));
-
-	    var maxX:Number = Math.max(Math.max(pt1.x, pt2.x), Math.max(pt3.x, pt4.x));
-	    var minX:Number = Math.min(Math.min(pt1.x, pt2.x), Math.min(pt3.x, pt4.x));
-	    var maxY:Number = Math.max(Math.max(pt1.y, pt2.y), Math.max(pt3.y, pt4.y));
-	    var minY:Number = Math.min(Math.min(pt1.y, pt2.y), Math.min(pt3.y, pt4.y));
-
-	    if (topLeft )
-	    {
-	        topLeft.x = minX;
-	        topLeft.y = minY;
+        const a:Number = matrix.a;
+        const b:Number = matrix.b;
+        const c:Number = matrix.c;
+        const d:Number = matrix.d;
+
+        // transform point (0,0)
+        var x1:Number = 0;
+        var y1:Number = 0;
+
+        // transform point (width, 0)
+        var x2:Number = width * a;
+        var y2:Number = width * b;
+
+        // transform point (0, height)
+        var x3:Number = height * c;
+        var y3:Number = height * d;
+
+        // transform point (width, height)
+        var x4:Number = x2 + x3;
+        var y4:Number = y2 + y3;
+
+        var minX:Number = Math.min(Math.min(x1, x2), Math.min(x3, x4));
+        var maxX:Number = Math.max(Math.max(x1, x2), Math.max(x3, x4));
+        var minY:Number = Math.min(Math.min(y1, y2), Math.min(y3, y4));
+        var maxY:Number = Math.max(Math.max(y1, y2), Math.max(y3, y4));
+
+        staticPoint.x = maxX - minX;
+        staticPoint.y = maxY - minY;
+
+        if (topLeft)
+        {
+            const tx:Number = matrix.tx;
+            const ty:Number = matrix.ty;
+            const x:Number = topLeft.x;
+            const y:Number = topLeft.y;
+
+	        topLeft.x = minX + a * x + b * y + tx;
+	        topLeft.y = minY + c * x + d * y + ty;
 		}
-
-	    pt1.x = maxX - minX;
-	    pt1.y = maxY - minY;
-	    return pt1;
+        return staticPoint;
 	}

 	/**
@@ -558,7 +587,7 @@
                                                           maxWidth, maxHeight);

                 // If we fit the width, but not the height
-                if (actualSize && transformSize(actualSize, matrix).y > height)
+                if (actualSize && transformSize(actualSize.x, actualSize.y, matrix).y > height)
                 {
                     actualSize = calcUBoundsToFitTBoundsHeight(height, matrix,
                                                                preferredWidth, preferredHeight,
@@ -566,7 +595,7 @@
                                                                maxWidth, maxHeight);

                     // If we fit the height, but not the width
-                    if (actualSize && transformSize(actualSize, matrix).x > width)
+                    if (actualSize && transformSize(actualSize.x, actualSize.y, matrix).x > width)
                        actualSize = null; // No solution
                 }
             }
@@ -711,7 +740,7 @@
                 b * x + d1 * y < 0 ) // Satisfy Case2
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).x > transformSize(new Point(x,y), matrix).x)
+                if (!s || transformSize(s.x, s.y, matrix).x > transformSize(x, y, matrix).x)
                    s = new Point(x, y);
             }
         }
@@ -729,7 +758,7 @@
                 b * x + d1 * y >= 0) // Satisfy Case3
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).x > transformSize(new Point(x,y), matrix).x)
+                if (!s || transformSize(s.x, s.y, matrix).x > transformSize(x, y, matrix).x)
                    s = new Point(x, y);
             }

@@ -741,7 +770,7 @@
                 b * x + d1 * y < 0) // Satisfy Case4
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).x > transformSize(new Point(x,y), matrix).x)
+                if (!s || transformSize(s.x, s.y, matrix).x > transformSize(x, y, matrix).x)
                    s = new Point(x, y);
             }
         }
@@ -880,7 +909,7 @@
                 a * x + c1 * y < 0 ) // Satisfy Case2
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).y > transformSize(new Point(x,y), matrix).y)
+                if (!s || transformSize(s.x, s.y, matrix).y > transformSize(x, y, matrix).y)
                    s = new Point(x, y);
             }
         }
@@ -898,7 +927,7 @@
                 a * x + c1 * y >= 0) // Satisfy Case3
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).y > transformSize(new Point(x,y), matrix).y)
+                if (!s || transformSize(s.x, s.y, matrix).y > transformSize(x, y, matrix).y)
                    s = new Point(x, y);
             }

@@ -910,7 +939,7 @@
                 a * x + c1 * y < 0) // Satisfy Case4
             {
                 // If there is no solution, or the new solution yields smaller value, pick the new solution.
-                if (!s || transformSize(s, matrix).y > transformSize(new Point(x,y), matrix).y)
+                if (!s || transformSize(s.x, s.y, matrix).y > transformSize(x, y, matrix).y)
                    s = new Point(x, y);
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9932
Author:   smgilson@adobe.com
Date:     2009-09-02T19:17:26.077257Z

Log Message:
-----------
Add ASDoc version tags to new or untagged classes - Part 2

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/RectangularBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Responder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/OverrideBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RichTextEditor.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as
@@ -36,6 +36,11 @@
  * An Operation can be called either by invoking the
  * function of the same name on the service or by accessing the Operation as a property on the service and
  * calling the send() method.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Operation extends AbstractOperation
 {
@@ -51,6 +56,11 @@
      *  @param service The ReoteObject object defining the service.
      *
      *  @param name The name of the service.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Operation(remoteObject:AbstractService = null, name:String = null)
     {
@@ -70,6 +80,11 @@
     /**
      * The concurrency for this Operation.  If it has not been explicitly set the setting from the RemoteObject
      * will be used.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get concurrency():String
     {
@@ -95,6 +110,11 @@

     /**
      * When this value is true, anonymous objects returned are forced to bindable objects.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function get makeObjectsBindable():Boolean
     {
@@ -116,6 +136,11 @@
      * Whether this operation should show the busy cursor while it is executing.
      * If it has not been explicitly set the setting from the RemoteObject
      * will be used.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get showBusyCursor():Boolean
     {
@@ -138,6 +163,11 @@
      * An ordered list of the names of the arguments to pass to a method invocation.  Since the arguments object is
      * a hashmap with no guaranteed ordering, this array helps put everything together correctly.
      * It will be set automatically by the MXML compiler, if necessary, when the Operation is used in tag form.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var argumentNames:Array;

@@ -164,6 +194,11 @@

     /**
      * @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function send(... args:Array):AsyncToken
     {
@@ -221,6 +256,11 @@

     /**
      * @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function cancel(id:String = null):AsyncToken
     {