Transferred from the Adobe Open Source Subversion Repository

Revision: 2506
Author:   jimurphy@adobe.com
Date:     2008-07-16T13:25:03.893431Z

Log Message:
-----------
Merged 3.0.x revisions [2417,2458,2504] -> trunk
-I also manually updated modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java to implement flex2.linker.LinkerConfiguration due to a name change in trunk
-removed player 9 stuff

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.project" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.project</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/DependencyChecker.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/IResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.actionScriptProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/mac/Install Flash Player 10 UB.dmg</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/modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs</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/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.flexLibProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.flexLibProperties</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/lnx/install_flash_player_9_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibrariesNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DependencyNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.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="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 Plugin.exe</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/mac/Install Flash Player 9 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/MarshalMouseEvent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/resources/LocaleSorter.as" copyfrom-rev="2504" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/LocaleSorter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 ActiveX.exe</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework" copyfrom-rev="2504" action="A">/flex/sdk/trunk/development/eclipse/flex/airframework</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollThumb.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DefNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibraryNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/ScriptNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/ContextStatics.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DepNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/10/lnx/Flash Player.app.zip</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/libs/player/9</path>

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

--- frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
@@ -442,12 +442,14 @@

 		// If the localeChain wasn't specified in the FlashVars of the SWF's
 		// HTML wrapper, or in the query parameters of the SWF URL,
-		// then set it to the list of compiled locales.
+		// then initialize it to the list of compiled locales,
+        // sorted according to the system's preferred locales as reported by
+        // Capabilities.languages or Capabilities.language.
 		// For example, if the applications was compiled with, say,
-		// -locale=en_US,ja_JP, then set the localeChain to
-		// [ "en_US", "ja_JP" ].
+		// -locale=en_US,ja_JP and Capabilities.languages reports [ "ja-JP" ],
+        // set the localeChain to [ "ja_JP" "en_US" ].
 		if (!resourceManager.localeChain)
-			resourceManager.localeChain = compiledLocales;
+			resourceManager.initializeLocaleChain(compiledLocales);
 	}

     /**


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

--- frameworks/projects/framework/src/mx/core/IConstraintClient.as
+++ frameworks/projects/framework/src/mx/core/IConstraintClient.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.core
 {


M DrawCall now handles textures

M DrawCall now handles textures

--- src/aerys/minko/render/DrawCall.as
+++ src/aerys/minko/render/DrawCall.as
@@ -2,6 +2,7 @@
 {
 	import aerys.minko.render.resource.IndexBuffer3DResource;
 	import aerys.minko.render.resource.VertexBuffer3DResource;
+	import aerys.minko.render.resource.texture.ITextureResource;
 	import aerys.minko.render.shader.binding.IParameterBinding;
 	import aerys.minko.type.stream.IVertexStream;
 	import aerys.minko.type.stream.IndexStream;
@@ -11,13 +12,14 @@

 	import flash.display3D.Context3D;
 	import flash.display3D.Context3DProgramType;
-
+
 	public final class DrawCall
 	{
+		private var _vertexConstants	: Vector.<Number>					= null;
+		private var _fragmentConstants	: Vector.<Number>					= null;
+		private var _textureResources	: Vector.<ITextureResource>			= new Vector.<ITextureResource>(8, true);
 		private var _bindings			: Vector.<IParameterBinding>		= null;
 		private var _nameToBinding		: Object							= {};
-		private var _vertexConstants	: Vector.<Number>					= null;
-		private var _fragmentConstants	: Vector.<Number>					= null;

 		private var _numVertexBuffers	: int								= 0;
 		private var _vertexBuffers		: Vector.<VertexBuffer3DResource>	= new Vector.<VertexBuffer3DResource>(8, true);
@@ -34,7 +36,7 @@
 		{
 			return _inputComponents;
 		}
-
+
 		public function setStreams(vertexStreams 	: Vector.<IVertexStream>,
 								   indexStream		: IndexStream) : void
 		{
@@ -60,12 +62,14 @@

 		public function DrawCall(vertexConstants 		: Vector.<Number>,
 								 fragmentConstants 		: Vector.<Number>,
+								 textureResources		: Vector.<ITextureResource>,
 								 vertexInputComponents	: Vector.<VertexComponent>,
 								 vertexInputIndices		: Vector.<uint>,
 								 bindings				: Vector.<IParameterBinding>)
 		{
-			_vertexConstants = vertexConstants;
-			_fragmentConstants = fragmentConstants;
+			_vertexConstants = vertexConstants.concat();
+			_fragmentConstants = fragmentConstants.concat();
+			_textureResources = textureResources.concat();
 			_inputComponents = vertexInputComponents;
 			_inputIndices = vertexInputIndices;
 			_bindings = bindings;
@@ -97,6 +101,39 @@
 				Context3DProgramType.FRAGMENT,
 				0,
 				_fragmentConstants
+			);
+
+			context.setTextureAt(
+				0,
+				_textureResources[0] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				1,
+				_textureResources[1] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				2,
+				_textureResources[2] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				3,
+				_textureResources[3] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				4,
+				_textureResources[4] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				5,
+				_textureResources[5] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				6,
+				_textureResources[6] ? _textureResources[0].getNativeTexture(context) : null
+			);
+			context.setTextureAt(
+				7,
+				_textureResources[7] ? _textureResources[0].getNativeTexture(context) : null
 			);

 			context.setVertexBufferAt(


RTSPClient auth: do not fall if authOpts.stale is null

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -221,7 +221,7 @@
         /* Unauthorized, change authState and (possibly) try again */
         authOpts = parsed.headers['www-authenticate'];

-        if (authOpts.stale.toUpperCase() === 'TRUE') {
+        if (authOpts.stale && authOpts.stale.toUpperCase() === 'TRUE') {
           requestReset();
           prevMethod();
           return false;


Whoops, should have removed this with the JID refactoring


Transferred from the Adobe Open Source Subversion Repository

Revision: 12638
Author:   jszeto@adobe.com
Date:     2009-12-08T00:40:49.277976Z

Log Message:
-----------
http://bugs.adobe.com/jira/browse/SDK-24510 - MX DateField popup behaves differently in 3.x and 4.0

In DateField, make sure textInput mouseEnabled and mouseChildren are set to true.

QE notes: None
Doc notes: None
Bugs: SDK-24510
Reviewer: Kevin
Tests run: DateField
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as

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

--- frameworks/projects/mx/src/mx/controls/DateField.as
+++ frameworks/projects/mx/src/mx/controls/DateField.as
@@ -1968,6 +1968,8 @@
         downArrowButton.setStyle("paddingLeft", 0);
         downArrowButton.setStyle("paddingRight", 0);
         textInput.editable = false;
+        textInput.mouseChildren = true;
+        textInput.mouseEnabled = true;
         textInput.addEventListener(TextEvent.TEXT_INPUT, textInput_textInputHandler);
         // hide the border, we use the text input's border
         if (border)


Added better security measures thanks to jPlayer

--- src/flash/FlashMediaElement.as
+++ src/flash/FlashMediaElement.as
@@ -88,16 +88,43 @@
         private var _idleTime:int;
         private var _isMouseActive:Boolean
 		private var _isOverStage:Boolean = false;
+
+		// security checkes
+		private var securityIssue:Boolean = false; // When SWF parameters contain illegal characters
+		private var directAccess:Boolean = false; // When SWF visited directly with no parameters (or when security issue detected)

 		public function FlashMediaElement() {

 			// show allow this player to be called from a different domain than the HTML page hosting the player
 			Security.allowDomain("*");
-
+
+			// check for security issues (borrowed from jPLayer)
+			checkFlashVars(loaderInfo.parameters);
+
+
+			// add debug output
+			_output = new TextField();
+			_output.textColor = 0xeeeeee;
+			_output.width = stage.stageWidth - 100;
+			_output.height = stage.stageHeight;
+			_output.multiline = true;
+			_output.wordWrap = true;
+			_output.border = false;
+			_output.filters = [new DropShadowFilter(1, 0x000000, 45, 1, 2, 2, 1)];
+
+			_output.text = "Initializing...\n";
+			addChild(_output);
+			_output.visible = securityIssue;
+
+			if (securityIssue) {
+				_output.text = "WARNING: Security issue detected. Player stopped.";
+				return;
+			}
+
 			// get parameters
 			var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
-			_mediaUrl = (params['file'] != undefined) ? String(params['file']).replace("\\\"","") : ""; // replacing quotes is for XSS
+			_mediaUrl = (params['file'] != undefined) ? String(params['file']) : "";
 			_autoplay = (params['autoplay'] != undefined) ? (String(params['autoplay']) == "true") : false;
 			_debug = (params['debug'] != undefined) ? (String(params['debug']) == "true") : false;
 			_isVideo = (params['isvideo'] != undefined) ? ((String(params['isvideo']) == "false") ? false : true  ) : true;
@@ -115,6 +142,7 @@
 			_pseudoStreamingStartQueryParam = (params['pseudostreamstart'] != undefined) ? (String(params['pseudostreamstart'])) : "start";
 			_streamer = (params['flashstreamer'] != undefined) ? (String(params['flashstreamer'])) : "";

+			_output.visible = _debug;

 			if (isNaN(_timerRate))
 				_timerRate = 250;
@@ -140,20 +168,8 @@
 			//_alwaysShowControls = true;

 			//_debug=true;
-
-			// debugging
-			_output = new TextField();
-			_output.textColor = 0xeeeeee;
-			_output.width = stage.stageWidth - 100;
-			_output.height = stage.stageHeight;
-			_output.multiline = true;
-			_output.wordWrap = true;
-			_output.border = false;
-			_output.filters = [new DropShadowFilter(1, 0x000000, 45, 1, 2, 2, 1)];
-
-			_output.text = "Initializing...\n";
-			addChild(_output);
-			_output.visible = _debug;
+
+

 			// position and hide
@@ -369,6 +385,34 @@

 		}

+		// borrowed from jPLayer
+		// https://github.com/happyworm/jPlayer/blob/e8ca190f7f972a6a421cb95f09e138720e40ed6d/actionscript/Jplayer.as#L228
+		private function checkFlashVars(p:Object):void {
+			var i:Number = 0;
+			for each (var s:String in p) {
+				if (isIllegalChar(s)) {
+					securityIssue = true; // Illegal char found
+				}
+				i++;
+			}
+			if(i === 0 || securityIssue) {
+				directAccess = true;
+			}
+		}
+
+		private function isIllegalChar(s:String):Boolean {
+			var illegals:String = "' \" ( ) { } * + / \\ < > = document";
+			if(Boolean(s)) { // Otherwise exception if parameter null.
+				for each (var illegal:String in illegals.split(' ')) {
+					if(s.indexOf(illegal) >= 0) {
+						return true; // Illegal char found
+					}
+				}
+			}
+			return false;
+		}
+
+
 		// START: Controls and events
 		function mouseActivityMove(event:MouseEvent):void {


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

--- frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as
+++ frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as
@@ -0,0 +1,350 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.EventDispatcher;
+import flash.utils.getQualifiedClassName;
+import flash.events.Event;
+
+import mx.core.mx_internal;
+import mx.logging.ILogger;
+import mx.logging.Log;
+import mx.messaging.errors.MessagingError;
+import mx.messaging.events.MessageEvent;
+import mx.messaging.events.MessageFaultEvent;
+import mx.messaging.messages.AsyncMessage;
+import mx.messaging.messages.IMessage;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+import mx.rpc.events.AbstractEvent;
+import mx.rpc.events.FaultEvent;
+import mx.rpc.events.InvokeEvent;
+import mx.rpc.events.ResultEvent;
+import mx.utils.ObjectProxy;
+import mx.utils.StringUtil;
+
+use namespace mx_internal;
+
+[ResourceBundle("rpc")]
+
+/**
+ * An invoker is an object that actually executes a remote procedure call (RPC).
+ * For example, RemoteObject, HTTPService, and WebService objects are invokers.
+ */
+public class AbstractInvoker extends EventDispatcher
+{
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    public function AbstractInvoker()
+    {
+        super();
+        _log = Log.getLogger("mx.rpc.AbstractInvoker");
+        activeCalls = new ActiveCalls();
+    }
+
+    //-------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //-------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var resourceManager:IResourceManager =
+									ResourceManager.getInstance();
+
+    //-------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //-------------------------------------------------------------------------
+
+    [Bindable("resultForBinding")]
+
+    /**
+     *  The result of the last invocation.
+     */
+    public function get lastResult():Object
+    {
+        return _result;
+    }
+
+    [Inspectable(defaultValue="true", category="General")]
+
+    /**
+     * When this value is true, anonymous objects returned are forced to bindable objects.
+     */
+    public function get makeObjectsBindable():Boolean
+    {
+        return _makeObjectsBindable;
+    }
+
+    public function set makeObjectsBindable(b:Boolean):void
+    {
+        _makeObjectsBindable = b;
+    }
+
+    /**
+    *  Event dispatched for binding when the result property
+    *  changes.
+    */
+    mx_internal static const BINDING_RESULT:String = "resultForBinding";
+
+    //-------------------------------------------------------------------------
+    //
+    //             Public Methods
+    //
+    //-------------------------------------------------------------------------
+
+    /**
+     *  Cancels the last service invocation or an invokation with the specified id.
+     *  Even though the network operation may still continue, no result or fault event
+     *  is dispatched.
+     *
+     *  @param id The messageId of the invocation to cancel. Optional. If omitted, the
+     *         last service invocation is canceled.
+     */
+    public function cancel(id:String = null):AsyncToken
+    {
+        if (id != null)
+            return activeCalls.removeCall(id);
+        else
+            return activeCalls.cancelLast();
+    }
+
+    /**
+     *  Sets the result property of the invoker to null.
+     *  This is useful when the result is a large object that is no longer being
+     *  used.
+     *
+     *  @param  fireBindingEvent Set to true if you want anything
+     *          bound to the result to update. Otherwise, set to
+     *          false.
+     *          The default value is true
+     */
+    public function clearResult(fireBindingEvent:Boolean = true):void
+    {
+        _result = null;
+        if (fireBindingEvent)
+            dispatchEvent(new flash.events.Event(BINDING_RESULT));
+    }
+
+
+   //-------------------------------------------------------------------------
+   //
+   // Internal Methods
+   //
+   //-------------------------------------------------------------------------
+
+   /**
+    *  This method is overridden in subclasses to redirect the event to another
+    *  class.
+    *
+    *  @private
+    */
+    mx_internal function dispatchRpcEvent(event:AbstractEvent):void
+    {
+        event.callTokenResponders();
+        if (!event.isDefaultPrevented())
+        {
+            dispatchEvent(event);
+        }
+    }
+
+    /**
+     *  Take the MessageAckEvent and take the result, store it, and broadcast out
+     *  appropriately.
+     *
+     *  @private
+     */
+    mx_internal function resultHandler(event:MessageEvent):void
+    {
+        var token:AsyncToken = preHandle(event);
+
+        //if the handler didn't give us something just bail
+        if (token == null)
+            return;
+
+        if (processResult(event.message, token))
+        {
+            dispatchEvent(new flash.events.Event(BINDING_RESULT));
+            var resultEvent:ResultEvent = ResultEvent.createEvent(_result, token, event.message);
+            resultEvent.headers = _responseHeaders;
+            dispatchRpcEvent(resultEvent);
+        }
+        //no else, we assume process would have dispatched the faults if necessary
+    }
+
+    /**
+     *  Take the fault and convert it into a rpc.events.FaultEvent.
+     *
+     *  @private
+     */
+    mx_internal function faultHandler(event:MessageFaultEvent):void
+    {
+        var msgEvent:MessageEvent = MessageEvent.createEvent(MessageEvent.MESSAGE, event.message);
+        var token:AsyncToken = preHandle(msgEvent);
+
+        // continue only on a matching or empty correlationId
+        // empty correlationIds could be the result of de/serialization errors
+        if ((token == null) &&
+            (AsyncMessage(event.message).correlationId != null) &&
+            (AsyncMessage(event.message).correlationId != "") &&
+            (event.faultCode != "Client.Authentication"))
+        {
+            return;
+        }
+
+        var fault:Fault = new Fault(event.faultCode, event.faultString, event.faultDetail);
+        fault.rootCause = event.rootCause;
+        var faultEvent:FaultEvent = FaultEvent.createEvent(fault, token, event.message);
+        faultEvent.headers = _responseHeaders;
+        dispatchRpcEvent(faultEvent);
+    }
+
+    /**
+     * Return the id for the NetworkMonitor.
+     * @private
+     */
+    mx_internal function getNetmonId():String
+    {
+        return null;
+    }
+
+    /**
+     * @private
+     */
+    mx_internal function invoke(message:IMessage, token:AsyncToken = null) : AsyncToken
+    {
+        if (token == null)
+            token = new AsyncToken(message);
+        else
+            token.setMessage(message);
+
+        activeCalls.addCall(message.messageId, token);
+
+        var fault:Fault;
+        try
+        {
+            //asyncRequest.invoke(message, new AsyncResponder(resultHandler, faultHandler, token));
+            asyncRequest.invoke(message, new Responder(resultHandler, faultHandler));
+            dispatchRpcEvent(InvokeEvent.createEvent(token, message));
+        }
+        catch(e:MessagingError)
+        {
+            _log.warn(e.toString());
+            var errorText:String = resourceManager.getString(
+				"rpc", "cannotConnectToDestination",
+				[ asyncRequest.destination ]);
+            fault = new Fault("InvokeFailed", e.toString(), errorText);
+            new AsyncDispatcher(dispatchRpcEvent, [FaultEvent.createEvent(fault, token, message)], 10);
+        }
+        catch(e2:Error)
+        {
+            _log.warn(e2.toString());
+            fault = new Fault("InvokeFailed", e2.message);
+            new AsyncDispatcher(dispatchRpcEvent, [FaultEvent.createEvent(fault, token, message)], 10);
+        }
+
+        return token;
+    }
+
+    /**
+     * Find the matching call object and pass it back.
+     *
+     * @private
+     */
+    mx_internal function preHandle(event:MessageEvent):AsyncToken
+    {
+        return activeCalls.removeCall(AsyncMessage(event.message).correlationId);
+    }
+
+    /**
+     * @private
+     */
+    mx_internal function processResult(message:IMessage, token:AsyncToken):Boolean
+    {
+        var body:Object = message.body;
+
+        if (makeObjectsBindable && (body != null) && (getQualifiedClassName(body) == "Object"))
+        {
+            _result = new ObjectProxy(body);
+        }
+        else
+        {
+            _result = body;
+        }
+
+        return true;
+    }
+
+    /**
+     * @private
+     */
+    mx_internal function get asyncRequest():AsyncRequest
+    {
+        if (_asyncRequest == null)
+        {
+            _asyncRequest = new AsyncRequest();
+        }
+        return _asyncRequest;
+    }
+
+    /**
+     * @private
+     */
+    mx_internal function set asyncRequest(req:AsyncRequest):void
+    {
+        _asyncRequest = req;
+    }
+
+    /**
+     * @private
+     */
+    mx_internal var activeCalls:ActiveCalls;
+
+    /**
+     * @private
+     */
+    mx_internal var _responseHeaders:Array;
+
+    /**
+     * @private
+     */
+    mx_internal var _result:Object;
+
+    /**
+     * @private
+     */
+    mx_internal var _makeObjectsBindable:Boolean;
+
+    /**
+     * @private
+     */
+    private var _asyncRequest:AsyncRequest;
+
+    /**
+     * @private
+     */
+    private var _log:ILogger;
+}
+
+}


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

--- frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLLoader.as
+++ frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLLoader.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2006-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.wsdl
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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


In with the new logging

In with the new logging

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

--- src/as/com/threerings/whirled/data/SceneImpl.as
+++ src/as/com/threerings/whirled/data/SceneImpl.as
@@ -97,9 +97,7 @@
             update.apply(_model);
         } catch (e :Error) {
             var log :Log = Log.getLog(this);
-            log.warning("Error applying update [scene=" + this +
-                        ", update=" + update + "].");
-            log.logStackTrace(e);
+            log.warning("Error applying update", "scene", this, "update", update, e);
         }
     }


Removed variable that stored getTimer() value but was never used.

--- src/org/robotlegs/mvcs/Mediator.as
+++ src/org/robotlegs/mvcs/Mediator.as
@@ -140,7 +140,6 @@
 		 */
 		public function findProperty(name:String, type:*):*
 		{
-			var start:int = getTimer();
 			var val:*;
 			var viewDo:DisplayObject = getViewComponent() as DisplayObject;
 			var parent:DisplayObjectContainer;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21549
Author:   aharui@adobe.com
Date:     2011-07-12T17:28:34.366187Z

Log Message:
-----------
Make EmbeddedFontRegistry optional so the text controls can use it as a way of knowing if embedded fonts are being used.  Provides measureable performance improvements.  Simple shell apps will have to force-link EmbeddedFontRegistry like they do for other managers.

QE notes: Two mustella test apps require updating
Doc notes: Has been notified
Bugs: SDK-29451
Reviewer: Glenn
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/FrameworkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>

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

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -240,6 +240,8 @@
     //  embeddedFontRegistry
     //----------------------------------

+    private static var noEmbeddedFonts:Boolean;
+
     /**
      *  @private
      *  Storage for the _embeddedFontRegistry property.
@@ -257,12 +259,19 @@
      */
     private static function get embeddedFontRegistry():IEmbeddedFontRegistry
     {
-        if (!_embeddedFontRegistry)
+        if (!_embeddedFontRegistry && !noEmbeddedFonts)
         {
-            _embeddedFontRegistry = IEmbeddedFontRegistry(
-                Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+            try
+            {
+                _embeddedFontRegistry = IEmbeddedFontRegistry(
+                    Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+            }
+            catch (e:Error)
+            {
+                noEmbeddedFonts = true;
+            }
         }
-
+
         return _embeddedFontRegistry;
     }

@@ -2217,7 +2226,8 @@
             var textFormat:TextFormat = getTextStyles();
             if (textFormat.font)
             {
-                var fontModuleFactory:IFlexModuleFactory =
+                var fontModuleFactory:IFlexModuleFactory = (noEmbeddedFonts || !embeddedFontRegistry) ?
+                    null :
                     embeddedFontRegistry.getAssociatedModuleFactory(
                     textFormat.font, textFormat.bold, textFormat.italic,
                         this, moduleFactory, creatingSystemManager(), true);


Transferred from the Adobe Open Source Subversion Repository

Revision: 14869
Author:   cframpto@adobe.com
Date:     2010-03-19T02:24:27.434644Z

Log Message:
-----------
Merge mirroring changes 14728-14730, 14772-14775, 14806 from 4.x to trunk.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</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/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.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/defaults.css</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/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -2150,7 +2150,7 @@
         if (styleChangedFlag)
         {
             const oldMirror:Boolean = mirror;
-            mirror = getStyle("layoutDirection") == "rtl";
+            mirror = getStyle("layoutDirection") == LayoutDirection.RTL;
             if (mirror || oldMirror)
                 validateTransformMatrix();
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 9113
Author:   rfrishbe@adobe.com
Date:     2009-08-05T20:04:23.598537Z

Log Message:
-----------
UIComponent's should dispatch an ADD and a REMOVE event when they are added or removed from a Flex container.  Halo Container was the one who dispatched this event.  We need to do the same in Group to honor this contract.

There was debate around whether we should dispatch this for GraphicElements and whether components like DataGroup should dispatch it, but for now, the primary use case seems to be around UIComponent's in a Group, so that's what we're doing here.

QE notes: Please add tests for this
Doc notes: -
Bugs: SDK-21814
Reviewer: Deepa, Glenn
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -17,11 +17,13 @@
 import flash.geom.Rectangle;

 import mx.core.IFontContextComponent;
+import mx.core.IUIComponent;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.events.FlexEvent;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
 import mx.styles.StyleProtoChain;
@@ -1282,6 +1284,9 @@
         {
             dispatchEvent(new ElementExistenceEvent(
                           ElementExistenceEvent.ELEMENT_ADD, false, false, element, index));
+
+            if (element is IUIComponent)
+                element.dispatchEvent(new FlexEvent(FlexEvent.ADD));
         }

         invalidateSize();
@@ -1307,6 +1312,9 @@
         {
             dispatchEvent(new ElementExistenceEvent(
                           ElementExistenceEvent.ELEMENT_REMOVE, false, false, element, index));
+
+            if (element is IUIComponent)
+                element.dispatchEvent(new FlexEvent(FlexEvent.REMOVE));
         }

         if (element && (element is IGraphicElement))


Handle the Tor relay address as an instance variable.

Comment the hardcoded relay address.

--- swfcat.as
+++ swfcat.as
@@ -11,8 +11,12 @@

     public class swfcat extends Sprite
     {
-        private const TOR_ADDRESS:String = "173.255.221.44";
-        private const TOR_PORT:int = 9001;
+        /* David's relay (nickname 3VXRyxz67OeRoqHn) that also serves a
+           crossdomain policy. */
+        private const DEFAULT_TOR_ADDR:Object = {
+            host: "173.255.221.44",
+            port: 9001
+        };

         private var output_text:TextField;

@@ -24,6 +28,7 @@
         private var s_c:Socket;

         private var fac_addr:Object;
+        private var tor_addr:Object;

         private function puts(s:String):void
         {
@@ -49,6 +54,7 @@
         private function loaderinfo_complete(e:Event):void
         {
             var fac_spec:String;
+            var tor_spec:String;

             puts("Parameters loaded.");
             fac_spec = this.loaderInfo.parameters["facilitator"];
@@ -63,13 +69,15 @@
                 return;
             }

-            go(TOR_ADDRESS, TOR_PORT);
+            tor_addr = DEFAULT_TOR_ADDR;
+
+            go();
         }

         /* We connect first to the Tor relay; once that happens we connect to
            the facilitator to get a client address; once we have the address
            of a waiting client then we connect to the client and BAM! we're in business. */
-        private function go(tor_address:String, tor_port:int):void
+        private function go():void
         {
             s_t = new Socket();

@@ -90,8 +98,8 @@
                     s_c.close();
             });

-            puts("Tor: connecting to " + tor_address + ":" + tor_port + ".");
-            s_t.connect(tor_address, tor_port);
+            puts("Tor: connecting to " + tor_addr.host + ":" + tor_addr.port + ".");
+            s_t.connect(tor_addr.host, tor_addr.port);
         }

         private function tor_connected(e:Event):void


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

--- frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.as
+++ frameworks/projects/automation_air/src/mx/automation/air/AirDragManagerAutomationHandler.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


- bugfix: background-gradient-rotation wasn't properly initialized to a default value

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@792 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/css/ComputedStyles.as
+++ src/reprise/css/ComputedStyles.as
@@ -108,7 +108,7 @@
 		public var backgroundGradientType : String;
 		public var backgroundGradientColors : Array;
 		public var backgroundGradientRatios : Array;
-		public var backgroundGradientRotation : Number;
+		public var backgroundGradientRotation : Number = 0;
 		public var backgroundImage : String = 'none';
 		public var backgroundShadowColor : AdvancedColor;
 		public var backgroundImageType : String;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20078
Author:   klin@adobe.com
Date:     2011-02-02T23:41:09.401228Z

Log Message:
-----------
Recommit 19979. Fixed missing parameter in TransformUtil's needAdvancedLayout call.

Refactoring shared transformation code in UIComponent, SpriteVisualElement, and UIMovieClip into a utility class, TransformUtil. The methods transformAround() and transformPointToParent() are now delegated to the new class. For transformAround, the components also pass in their AdvancedLayoutFeatures and initAdvancedLayoutFeatures() method so that TransformUtil can create and initialize the layout features object if necessary.

QE notes: No
Doc notes: No
Bugs: SDK-22637
Reviewer: Evtim
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes, possibly for FC

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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/TransformUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -57,6 +57,7 @@
 import mx.managers.ISystemManager;
 import mx.managers.IToolTipManagerClient;
 import mx.utils.MatrixUtil;
+import mx.utils.TransformUtil;

 use namespace mx_internal;

@@ -3420,20 +3421,18 @@

         _transform = value;
     }
-
-    private static var xformPt:Point;
-
-    /**
-     * A utility method to update the rotation, scale, and translation of the
-     * transform while keeping a particular point, specified in the component's
-     * own coordinate space, fixed in the parent's coordinate space.
-     * This function will assign the rotation, scale, and translation values
-     * provided, then update the x/y/z properties as necessary to keep
-     * the transform center fixed.
-     * @param scale the new values for the scale of the transform
-     * @param rotation the new values for the rotation of the transform
-     * @param translation the new values for the translation of the transform
-     * @param transformCenter the point, in the component's own coordinates, to keep fixed relative to its parent.
+
+    /**
+     *  A utility method to update the rotation, scale, and translation of the
+     *  transform while keeping a particular point, specified in the component's
+     *  own coordinate space, fixed in the parent's coordinate space.
+     *  This function will assign the rotation, scale, and translation values
+     *  provided, then update the x/y/z properties as necessary to keep
+     *  the transform center fixed.
+     *  @param scale the new values for the scale of the transform
+     *  @param rotation the new values for the rotation of the transform
+     *  @param translation the new values for the translation of the transform
+     *  @param transformCenter the point, in the component's own coordinates, to keep fixed relative to its parent.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -3458,93 +3457,43 @@
             _includeInLayout = false;
         }

-        if (_layoutFeatures == null)
-        {
-            // TODO (chaase): should provide a way to return to having no
-            // layoutFeatures if we call this later with a more trivial
-            // situation
-            var needAdvancedLayout:Boolean =
-                (scale != null && ((!isNaN(scale.x) && scale.x != 1) ||
-                    (!isNaN(scale.y) && scale.y != 1) ||
-                    (!isNaN(scale.z) && scale.z != 1))) ||
-                (rotation != null && ((!isNaN(rotation.x) && rotation.x != 0) ||
-                    (!isNaN(rotation.y) && rotation.y != 0) ||
-                    (!isNaN(rotation.z) && rotation.z != 0))) ||
-                (translation != null && translation.z != 0 && !isNaN(translation.z)) ||
-                postLayoutScale != null ||
-                postLayoutRotation != null ||
-                postLayoutTranslation != null;
-            if (needAdvancedLayout)
-                initAdvancedLayoutFeatures();
-        }
+        TransformUtil.transformAround(this,
+                                      transformCenter,
+                                      scale,
+                                      rotation,
+                                      translation,
+                                      postLayoutScale,
+                                      postLayoutRotation,
+                                      postLayoutTranslation,
+                                      _layoutFeatures,
+                                      initAdvancedLayoutFeatures);
+
         if (_layoutFeatures != null)
         {
-            _layoutFeatures.transformAround(transformCenter, scale, rotation,
-                translation, postLayoutScale, postLayoutRotation,
-                postLayoutTranslation);
             invalidateTransform();

             // Will not invalidate parent if we have set _includeInLayout to false
             // in the beginning of the method
             invalidateParentSizeAndDisplayList();
         }
-        else
-        {
-            if (rotation != null && !isNaN(rotation.z))
-                this.rotation = rotation.z;
-            if (scale != null)
-            {
-                scaleX = scale.x;
-                scaleY = scale.y;
-            }
-            if (transformCenter == null)
-            {
-                if (translation != null)
-                {
-                    x = translation.x;
-                    y = translation.y;
-                }
-            }
-            else
-            {
-                if (xformPt == null)
-                    xformPt = new Point();
-                xformPt.x = transformCenter.x;
-                xformPt.y = transformCenter.y;
-                var postXFormPoint:Point =
-                    transform.matrix.transformPoint(xformPt);
-                if (translation != null)
-                {
-                    x += translation.x - postXFormPoint.x;
-                    y += translation.y - postXFormPoint.y;
-                }
-                else
-                {
-                    var xformedPt:Point =
-                        transform.matrix.transformPoint(xformPt);
-                    x += xformedPt.x - postXFormPoint.x;
-                    y += xformedPt.y - postXFormPoint.y;
-                }
-            }
-        }

         if (!invalidateLayout)
             _includeInLayout = oldIncludeInLayout;
     }

     /**
-     * A utility method to transform a point specified in the local
-     * coordinates of this object to its location in the object's parent's
-     * coordinates. The pre-layout and post-layout result will be set on
-     * the position and postLayoutPosition
-     * parameters, if they are non-null.
-     *
-     * @param localPosition The point to be transformed, specified in the
-     * local coordinates of the object.
-     * @position A Vector3D point that will hold the pre-layout
-     * result. If null, the parameter is ignored.
-     * @postLayoutPosition A Vector3D point that will hold the post-layout
-     * result. If null, the parameter is ignored.
+     *  A utility method to transform a point specified in the local
+     *  coordinates of this object to its location in the object's parent's
+     *  coordinates. The pre-layout and post-layout result will be set on
+     *  the position and postLayoutPosition
+     *  parameters, if they are non-null.
+     *
+     *  @param localPosition The point to be transformed, specified in the
+     *  local coordinates of the object.
+     *  @position A Vector3D point that will hold the pre-layout
+     *  result. If null, the parameter is ignored.
+     *  @postLayoutPosition A Vector3D point that will hold the post-layout
+     *  result. If null, the parameter is ignored.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -3555,34 +3504,11 @@
                                            position:Vector3D,
                                            postLayoutPosition:Vector3D):void
     {
-        if (_layoutFeatures != null)
-        {
-            _layoutFeatures.transformPointToParent(true, localPosition,
-                position, postLayoutPosition);
-        }
-        else
-        {
-            if (xformPt == null)
-                xformPt = new Point();
-            if (localPosition)
-            {
-                xformPt.x = localPosition.x;
-                xformPt.y = localPosition.y;
-            }
-            var tmp:Point = transform.matrix.transformPoint(xformPt);
-            if (position != null)
-            {
-                position.x = tmp.x;
-                position.y = tmp.y;
-                position.z = 0;
-            }
-            if (postLayoutPosition != null)
-            {
-                postLayoutPosition.x = tmp.x;
-                postLayoutPosition.y = tmp.y;
-                postLayoutPosition.z = 0;
-            }
-        }
+        TransformUtil.transformPointToParent(this,
+                                             localPosition,
+                                             position,
+                                             postLayoutPosition,
+                                             _layoutFeatures);
     }

     /**
@@ -3635,7 +3561,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    private function initAdvancedLayoutFeatures():void
+    private function initAdvancedLayoutFeatures():AdvancedLayoutFeatures
     {
         var features:AdvancedLayoutFeatures = new AdvancedLayoutFeatures();

@@ -3657,6 +3583,7 @@
         _layoutFeatures = features;

         invalidateTransform();
+        return features;
     }

     private function invalidateTransform():void


Transferred from the Adobe Open Source Subversion Repository

Revision: 11454
Author:   hmuller@adobe.com
Date:     2009-11-05T02:17:33.158639Z

Log Message:
-----------
ASyncList class ASDoc change: added explicit warning about the lack of support for re-inserting pending items.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/AsyncListView.as

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

--- frameworks/projects/framework/src/mx/collections/AsyncListView.as
+++ frameworks/projects/framework/src/mx/collections/AsyncListView.as
@@ -56,6 +56,12 @@
  *  like List and ComboBox, which don't provide intrinsic support for
  *  ItemPendingError handling.

  *
+ *
AsyncListView does not support re-insertion of pending items.  Once a pending
+ *  item is removed, its connection to a pending request for data is lost.  Using
+ *  drag and drop to move a pending item in an ASyncListView, or sorting an ASyncListView
+ *  that contains pending items, is not supported because these operations remove
+ *  and then re-insert list items.

+ *
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1


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

--- frameworks/projects/framework/src/mx/core/MovieClipLoaderAsset.as
+++ frameworks/projects/framework/src/mx/core/MovieClipLoaderAsset.as
@@ -0,0 +1,231 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-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.core
+{
+
+import flash.display.MovieClip;
+import flash.display.Loader;
+import flash.events.Event;
+import flash.system.ApplicationDomain;
+import flash.system.LoaderContext;
+import flash.utils.ByteArray;
+
+/**
+ *  Dispatched after the SWF asset has been fully loaded.
+ *
+ *  @eventType flash.events.Event.COMPLETE
+ */
+[Event(name="complete", type="flash.events.Event")]
+
+/**
+ *  MovieClipLoaderAsset is a subclass of the MovieClipAsset class
+ *  which represents SWF files that you embed in a Flex application.
+ */
+public class MovieClipLoaderAsset extends MovieClipAsset
+								  implements IFlexAsset, IFlexDisplayObject
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function MovieClipLoaderAsset()
+	{
+		super();
+
+ 		var loaderContext:LoaderContext = new LoaderContext();
+ 		loaderContext.applicationDomain = new
+ 			ApplicationDomain(ApplicationDomain.currentDomain);
+
+		loader = new Loader();
+		loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
+												  completeHandler);
+ 		loader.loadBytes(movieClipData, loaderContext);
+		addChild(loader);
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var loader:Loader = null;
+
+	/**
+	 *  @private
+	 */
+	private var initialized:Boolean = false;
+
+	/**
+	 *  @private
+	 */
+	private var requestedWidth:Number;
+
+	/**
+	 *  @private
+	 */
+	private var requestedHeight:Number;
+
+	/**
+	 *  Backing storage for the measuredWidth property.
+	 *  Subclasses should set this value in the constructor.
+	 */
+	protected var initialWidth:Number = 0;
+
+	/**
+	 *  Backing storage for the measuredHeight property.
+	 *  Subclasses should set this value in the constructor.
+	 */
+	protected var initialHeight:Number = 0;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  height
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function get height():Number
+	{
+		if (!initialized)
+			return initialHeight;
+
+		return super.height;
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function set height(value:Number):void
+	{
+		if (!initialized)
+			requestedHeight = value;
+		else
+			loader.height = value;
+	}
+
+	//----------------------------------
+	//  measuredHeight
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  The default height, in pixels.
+	 */
+	override public function get measuredHeight():Number
+	{
+		return initialHeight;
+	}
+
+	//----------------------------------
+	//  measuredWidth
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  The default width, in pixels.
+	 */
+	override public function get measuredWidth():Number
+	{
+		return initialWidth;
+	}
+
+	//----------------------------------
+	//  width
+	//----------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function get width():Number
+	{
+		if (!initialized)
+			return initialWidth;
+
+		return super.width;
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function set width(value:Number):void
+	{
+		if (!initialized)
+			requestedWidth = value;
+		else
+			loader.width = value;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  movieClipData
+	//----------------------------------
+
+	/**
+	 *  A ByteArray containing the inner content.
+	 *  Overridden in subclasses.
+	 */
+	public function get movieClipData():ByteArray
+	{
+		return null;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Event handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  The event handler for the complete event.
+	 */
+	private function completeHandler(event:Event):void
+	{
+		initialized = true;
+
+		initialWidth = loader.width;
+		initialHeight = loader.height;
+
+		if (!isNaN(requestedWidth))
+			loader.width = requestedWidth;
+
+		if (!isNaN(requestedHeight))
+			loader.height = requestedHeight;
+
+		// Forward the event
+		dispatchEvent(event);
+	}
+}
+
+}


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

--- frameworks/projects/rpc/src/mx/messaging/messages/ErrorMessage.as
+++ frameworks/projects/rpc/src/mx/messaging/messages/ErrorMessage.as
@@ -0,0 +1,111 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.messaging.messages
+{
+
+[RemoteClass(alias="flex.messaging.messages.ErrorMessage")]
+
+/**
+ *  The ErrorMessage class is used to report errors within the messaging system.
+ *  An error message only occurs in response to a message sent within the
+ *  system.
+ */
+public class ErrorMessage extends AcknowledgeMessage
+{
+    //--------------------------------------------------------------------------
+    //
+    // Static Constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  If a message may not have been delivered, the faultCode will
+     *  contain this constant.
+     */
+    public static const MESSAGE_DELIVERY_IN_DOUBT:String = "Client.Error.DeliveryInDoubt";
+
+    /**
+     *  Header name for the retryable hint header.
+     *  This is used to indicate that the operation that generated the error
+     *  may be retryable rather than fatal.
+     */
+    public static const RETRYABLE_HINT_HEADER:String = "DSRetryableErrorHint";
+
+    //--------------------------------------------------------------------------
+    //
+    // Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructs an ErrorMessage instance.
+     */
+    public function ErrorMessage()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The fault code for the error.
+     *  This value typically follows the convention of
+     *  "[outer_context].[inner_context].[issue]".
+     *  For example: "Channel.Connect.Failed", "Server.Call.Failed", etc.
+     */
+    public var faultCode:String;
+
+    /**
+     *  A simple description of the error.
+     */
+    public var faultString:String;
+
+    /**
+     *  Detailed description of what caused the error.
+     *  This is typically a stack trace from the remote destination.
+     */
+    public var faultDetail:String;
+
+    /**
+     *  Should a root cause exist for the error, this property contains those details.
+     *  This may be an ErrorMessage, a NetStatusEvent info Object, or an underlying
+     *  Flash error event: ErrorEvent, IOErrorEvent, or SecurityErrorEvent.
+     */
+    public var rootCause:Object;
+
+    /**
+     * Extended data that the remote destination has chosen to associate
+     * with this error to facilitate custom error processing on the client.
+     */
+    public var extendedData:Object;
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     */
+    override public function getSmallMessage():IMessage
+    {
+        return null;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20642
Author:   smgilson@adobe.com
Date:     2011-03-07T17:53:01.854031Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/TraceSelectionRanges.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -50,6 +50,11 @@
 {
     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function ButtonBarButton()
     {
@@ -195,6 +200,11 @@
      *  @inheritDoc
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get itemIndex():int
     {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/formatters/NumberFormatter.as
+++ frameworks/projects/spark/src/spark/formatters/NumberFormatter.as
@@ -629,7 +629,8 @@
     }

     /**
-     *  Lists all of the locale ID names supported by this class.
+     *  Lists all of the locale ID names supported by this class. This is a list of locales supported by
+     *  the operating system, not a list of locales that the ResourceManager has resources for.
      *
      *  @return A vector of strings containing all of the locale ID names
      *         supported by this class and operating system.


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

--- frameworks/projects/spark/src/spark/validators/NumberValidator.as
+++ frameworks/projects/spark/src/spark/validators/NumberValidator.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 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.validators
 {


Fix bug in debug compiler when creating a constant allocation summary with 4 sized allocations

--- src/aerys/minko/render/shader/compiler/DebugCompiler.as
+++ src/aerys/minko/render/shader/compiler/DebugCompiler.as
@@ -73,6 +73,10 @@
 								summary += registerId + '.';
 								for (var i : uint = allocation.offset % 4; i < allocation.offset % 4 + allocation.size && i < 4; ++i)
 									summary += offsetToLetter[i];
+							}
+							else if (allocation.size == 4)
+							{
+								summary += registerId;
 							}
 							else if (allocation.size == 16)
 							{


When multiple source nodes selected in the hieranchy window, disable the drag/drop reorder function, as ctrl-click can be used to multiselect, and user might be still holding ctrl down after that. Fix component hierarchy items created as not draggable; components would not be reorderable after being reordered once.

--- bin/Data/Scripts/Editor/EditorHierarchyWindow.as
+++ bin/Data/Scripts/Editor/EditorHierarchyWindow.as
@@ -306,8 +306,7 @@
     text.vars[COMPONENT_ID_VAR] = component.id;
     text.text = GetComponentTitle(component);
     text.color = componentTextColor;
-    // Components currently act only as drag targets
-    text.dragDropMode = DD_TARGET;
+    text.dragDropMode = DD_SOURCE_AND_TARGET;

     IconizeUIElement(text, component.typeName);
     SetIconEnabledColor(text, component.enabledEffective);
@@ -1005,26 +1004,23 @@
     if (itemType == ITEM_NODE)
     {
         Node@ targetNode = editorScene.GetNode(target.vars[NODE_ID_VAR].GetUInt());
-
-        // If target is null, parent to scene
-        if (targetNode is null)
-            targetNode = editorScene;
-
         Array<Node@> sourceNodes = GetMultipleSourceNodes(source);
+
         if (sourceNodes.length > 0)
         {
-            if (!input.qualifierDown[QUAL_CTRL])
-            {
+            if (input.qualifierDown[QUAL_CTRL] && sourceNodes.length == 1)
+                SceneReorder(sourceNodes[0], targetNode);
+            else
+            {
+                // If target is null, parent to scene
+                if (targetNode is null)
+                    targetNode = editorScene;
+
                 if (sourceNodes.length > 1)
                     SceneChangeParent(sourceNodes[0], sourceNodes, targetNode);
                 else
                     SceneChangeParent(sourceNodes[0], targetNode);
             }
-            else
-            {
-                if (sourceNodes.length == 1)
-                    SceneReorder(sourceNodes[0], targetNode);
-            }

             // Focus the node at its new position in the list which in turn should trigger a refresh in attribute inspector
             FocusNode(sourceNodes[0]);
@@ -1039,16 +1035,16 @@
         if (targetElement is null)
             return;

-        if (!input.qualifierDown[QUAL_CTRL])
+        if (input.qualifierDown[QUAL_CTRL])
+        {
+            if (!UIElementReorder(sourceElement, targetElement))
+                return;
+        }
+        else
         {
             if (!UIElementChangeParent(sourceElement, targetElement))
                 return;
         }
-        else
-        {
-            if (!UIElementReorder(sourceElement, targetElement))
-                return;
-        }

         // Focus the element at its new position in the list which in turn should trigger a refresh in attribute inspector
         FocusUIElement(sourceElement);
@@ -1056,10 +1052,16 @@
     else if (itemType == ITEM_COMPONENT)
     {
         Component@ targetComponent = editorScene.GetComponent(target.vars[COMPONENT_ID_VAR].GetUInt());
-
-        if (!input.qualifierDown[QUAL_CTRL])
-        {
-            Array<Node@> sourceNodes = GetMultipleSourceNodes(source);
+        Array<Node@> sourceNodes = GetMultipleSourceNodes(source);
+
+        if (input.qualifierDown[QUAL_CTRL] && sourceNodes.length == 1)
+        {
+            // Reorder components within node
+            Component@ sourceComponent = editorScene.GetComponent(source.vars[COMPONENT_ID_VAR].GetUInt());
+            SceneReorder(sourceComponent, targetComponent);
+        }
+        else
+        {
             if (targetComponent !is null && sourceNodes.length > 0)
             {
                 // Drag node to StaticModelGroup to make it an instance
@@ -1117,12 +1119,6 @@
                 }
             }
         }
-        else
-        {
-            // Reorder components within node
-            Component@ sourceComponent = editorScene.GetComponent(source.vars[COMPONENT_ID_VAR].GetUInt());
-            SceneReorder(sourceComponent, targetComponent);
-        }
     }
 }

@@ -1140,7 +1136,7 @@
         ListView@ listView_ = cast<ListView>(source.parent.parent.parent);
         if (listView_ is null)
             return nodeList;
-
+
         bool sourceIsSelected = false;
         for (uint i = 0; i < listView_.selectedItems.length; ++i)
         {
@@ -1187,26 +1183,27 @@
         variant = target.GetVar(NODE_ID_VAR);
         if (!variant.empty)
             targetNode = editorScene.GetNode(variant.GetUInt());
+        Array<Node@> sourceNodes = GetMultipleSourceNodes(source);

         if (sourceNode !is null && targetNode !is null)
         {
             itemType = ITEM_NODE;

+            // Ctrl pressed: reorder
+            if (input.qualifierDown[QUAL_CTRL] && sourceNodes.length == 1)
+            {
+                // Must be within the same parent
+                if (sourceNode.parent is null || sourceNode.parent !is targetNode.parent)
+                    return false;
+            }
             // No ctrl: Reparent
-            if (!input.qualifierDown[QUAL_CTRL])
+            else
             {
                 if (sourceNode.parent is targetNode)
                     return false;
                 if (targetNode.parent is sourceNode)
                     return false;
             }
-            // Ctrl pressed: reorder
-            else
-            {
-                // Must be within the same parent
-                if (sourceNode.parent is null || sourceNode.parent !is targetNode.parent)
-                    return false;
-            }
         }

         // Resource browser
@@ -1214,9 +1211,9 @@
         {
             itemType = ITEM_NODE;
             int type = source.GetVar(TEXT_VAR_RESOURCE_TYPE).GetInt();
-            return type == RESOURCE_TYPE_PREFAB ||
-                type == RESOURCE_TYPE_SCRIPTFILE ||
-                type == RESOURCE_TYPE_MODEL ||
+            return type == RESOURCE_TYPE_PREFAB ||
+                type == RESOURCE_TYPE_SCRIPTFILE ||
+                type == RESOURCE_TYPE_MODEL ||
                 type == RESOURCE_TYPE_PARTICLEEFFECT ||
                 type == RESOURCE_TYPE_2D_PARTICLE_EFFECT;
         }
@@ -1238,19 +1235,19 @@
         {
             itemType = ITEM_UI_ELEMENT;

-            // No ctrl: Reparent
-            if (!input.qualifierDown[QUAL_CTRL])
+            // Ctrl pressed: reorder
+            if (input.qualifierDown[QUAL_CTRL])
+            {
+                // Must be within the same parent
+                if (sourceElement.parent is null || sourceElement.parent !is targetElement.parent)
+                    return false;
+            }
+            // No ctrl: reparent
+            else
             {
                 if (sourceElement.parent is targetElement)
                     return false;
                 if (targetElement.parent is sourceElement)
-                    return false;
-            }
-            // Ctrl pressed: reorder
-            else
-            {
-                // Must be within the same parent
-                if (sourceElement.parent is null || sourceElement.parent !is targetElement.parent)
                     return false;
             }
         }
@@ -1271,10 +1268,17 @@
         variant = source.GetVar(COMPONENT_ID_VAR);
         if (!variant.empty)
             sourceComponent = editorScene.GetComponent(variant.GetUInt());
+        Array<Node@> sourceNodes = GetMultipleSourceNodes(source);

         itemType = ITEM_COMPONENT;

-        if (!input.qualifierDown[QUAL_CTRL])
+        if (input.qualifierDown[QUAL_CTRL] && sourceNodes.length == 1)
+        {
+            // Reorder components within node
+            if (sourceComponent !is null && targetComponent !is null && sourceComponent.node is targetComponent.node)
+                return true;
+        }
+        else
         {
             // Dragging of nodes to StaticModelGroup, SplinePath or Constraint
             if (sourceNode !is null && targetComponent !is null && (targetComponent.type == STATICMODELGROUP_TYPE ||
@@ -1285,12 +1289,6 @@
             int type = source.GetVar(TEXT_VAR_RESOURCE_TYPE).GetInt();
             if (targetComponent.type == STATICMODEL_TYPE || targetComponent.type == ANIMATEDMODEL_TYPE)
                 return type == RESOURCE_TYPE_MATERIAL || type == RESOURCE_TYPE_MODEL;
-        }
-        else
-        {
-            // Reorder components within node
-            if (sourceComponent !is null && targetComponent !is null && sourceComponent.node is targetComponent.node)
-                return true;
         }

         return false;


support resource drag to scene

support resource drag to scene

--- bin/Data/Scripts/Editor/EditorResourceBrowser.as
+++ bin/Data/Scripts/Editor/EditorResourceBrowser.as
@@ -992,6 +992,19 @@
     @browserDragFile = GetBrowserFileFromUIElement(uiElement);
 }

+Vector3 GetNodeSize(Node@ node)
+{
+    CollisionShape@ shape = node.GetComponent("CollisionShape");
+    if (shape !is null)
+        return shape.size;
+
+    Drawable@ object = node.GetComponent("Drawable");
+    if (object !is null)
+        return object.boundingBox.size;
+
+    return Vector3(0, 0, 0);
+}
+
 void HandleBrowserFileDragEnd(StringHash eventType, VariantMap& eventData)
 {
     if (@browserDragFile is null)
@@ -1001,6 +1014,7 @@
     if (element !is null)
         return;

+    Node@ createdNode = null;
     if (browserDragFile.resourceType == RESOURCE_TYPE_MATERIAL)
     {
         StaticModel@ model = cast<StaticModel>(GetDrawableAtMousePostion());
@@ -1008,6 +1022,32 @@
         {
             AssignMaterial(model, browserDragFile.resourceKey);
         }
+    }
+    else if (browserDragFile.resourceType == RESOURCE_TYPE_PREFAB)
+    {
+        createdNode = LoadNode(browserDragFile.GetFullPath());
+    }
+    else if (browserDragFile.resourceType == RESOURCE_TYPE_MODEL)
+    {
+        createdNode = CreateNode(REPLICATED);
+        Model@ model = cache.GetResource("Model", browserDragFile.resourceKey);
+        if (model.skeleton.numBones > 0)
+        {
+            AnimatedModel@ am = createdNode.CreateComponent("AnimatedModel");
+            am.model = model;
+        }
+        else
+        {
+            StaticModel@ sm = createdNode.CreateComponent("StaticModel");
+            sm.model = model;
+        }
+    }
+
+    if (createdNode !is null)
+    {
+        Vector3 pos = GetScreenCollision(ui.cursorPosition);
+        pos.y += GetNodeSize(createdNode).y/2;
+        createdNode.worldPosition = pos;
     }

     browserDragFile = null;


removed test code

removed test code

--- WeaveJS/src/WeaveJS.as
+++ WeaveJS/src/WeaveJS.as
@@ -20,8 +20,6 @@
 		{
 			// make Weave accessible from global scope
 			Weave.global.Weave = Weave;
-
-			new Weave().test();
 		}
 	}
 }


simplified code

simplified code

--- WeaveJS/src/weavejs/data/ColumnUtils.as
+++ WeaveJS/src/weavejs/data/ColumnUtils.as
@@ -485,8 +485,8 @@
 			if (format is IAttributeColumn)
 				output.push(format);
 			else if (!JS.isPrimitive(format))
-				for (var prop:String in Object(format))
-					getColumnsFromFormat(format[prop], output);
+				for each (var item:Object in format)
+					getColumnsFromFormat(item, output);
 			return output;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8131
Author:   chaase@adobe.com
Date:     2009-06-23T23:08:25.193334Z

Log Message:
-----------
Fix for 2 gumbo_priority bugs. One was a miscalculation of a Parallel effect's duration when it had zero-duration child effects, causing a problem when seeking into that parallel effect. The other was a fix to the easing model for transform effects. Now a transform effect will handle easing through its internal keyframes, preserving the behavior specified by the caller (or by the default easing behavior).

QE Notes: None. Behavior for AnimateTransform should be as before, although the way easing is applied to the subclasses has changed (and is now correct)
Doc Notes: None
Bugs: sdk-21477, sdk-21422
Reviewer: Jason
Tests: checkintests, Mustella spark/effects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.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/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.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/framework/src/mx/effects/effectClasses/ParallelInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -77,6 +77,7 @@
     {
         super(target);
         instanceClass = AnimateTransformInstance;
+        transformEffectSubclass = true;
     }

     //--------------------------------------------------------------------------


Fixed recent breakage of actionscript bureaus. Apparently tamarin does not like constant members assigned in a base class? Weird but plausible if it (buggily) sets up all members of a class and assigns defaults values before constructing bases.

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

--- src/as/com/threerings/bureau/client/BureauDirector.as
+++ src/as/com/threerings/bureau/client/BureauDirector.as
@@ -153,7 +153,7 @@
     }

     /** Create a logger for the entire package.. */
-    protected const log :Log = Log.getLog("com.threerings.bureau");
+    protected var log :Log = Log.getLog("com.threerings.bureau");

     protected var _bureauService :BureauService;
     protected var _agents :HashMap = new HashMap();


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16823
Author:   deeptika@adobe.com
Date:     2010-07-07T06:36:40.772938Z

Log Message:
-----------
Invalidating transitions only once when data is changed. If data is not changed, we need not invalidate anything.

QE notes:
Doc notes:
Bugs: FLEXDMV-2018 (Showdataeffect loops for columnchart with two vertical axis)
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/Series.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/charts/chartClasses/ChartElement.as</path>

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

--- frameworks/projects/charts/src/mx/charts/chartClasses/Series.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/Series.as
@@ -1645,7 +1645,7 @@
             _bFilterDirty = true;
             _bTransformDirty=true;

-            invalidateTransitions();
+            invalidateProperties();
             invalidateDisplayList();
         }
         else


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

--- frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core
+{
+
+/**
+ *  The IFlexModuleFactory interface represents the contract expected
+ *  for bootstrapping Flex applications and dynamically loaded
+ *  modules.
+ *
+ *
Calling the info() method is legal immediately after
+ *  the complete event is dispatched.

+ *
+ *
A well-behaved module dispatches a ready event when
+ *  it is safe to call the create() method.

+ */
+public interface IFlexModuleFactory
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  A factory method that requests
+     *  an instance of a definition known to the module.
+     *
+     *
You can provide an optional set of parameters to let
+     *  building factories change what they create based
+     *  on the input.
+     *  Passing null indicates that the default
+     *  definition is created, if possible.

+     *
+     *  @param parameters An optional list of arguments. You can pass any number
+     *  of arguments, which are then stored in an Array called parameters.
+     *
+     *  @return An instance of the module, or null.
+     */
+    function create(... parameters):Object;
+
+    /**
+     *  Returns a block of key/value pairs
+     *  that hold static data known to the module.
+     *  This method always succeeds, but can return an empty object.
+     *
+     *  @return An object containing key/value pairs. Typically, this object
+     *  contains information about the module or modules created by this
+     *  factory; for example:
+     *
+     *

+     *  return {"description": "This module returns 42."};
+     *

+     *
+     *  Other common values in the returned object include the following:
+     *

+     *
fonts: A list of embedded font faces.

+     *
rsls: A list of run-time shared libraries.

+     *
mixins: A list of classes initialized at startup.

+     *

+     */
+    function info():Object;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11015
Author:   egeorgie@adobe.com
Date:     2009-10-19T23:11:47.299750Z

Log Message:
-----------
Drag and Drop - add "dragging" state to item renderer.

QE notes: ItemRenderer "dragging" state ready for testing.
Doc notes: None
Bugs: None
Reviewer: Hans
Tests run: checkintests, mustella (ListDragDrop, List)
Is noteworthy for integration: No

Modified Paths:
--------------
<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/spark/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.as
@@ -60,7 +60,19 @@
     function get showsCaret():Boolean;
     function set showsCaret(value:Boolean):void;

-    /**
+	/**
+	 *  True if the item renderer is being dragged.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 *
+	 */
+	function get dragging():Boolean;
+	function set dragging(value:Boolean):void;
+
+	/**
      *  The String to display in the item renderer.
      *
      *  <p>The host component of the item renderer can use the