Transferred from the Adobe Open Source Subversion Repository

Revision: 14440
Author:   klin@adobe.com
Date:     2010-02-25T23:27:30.626062Z

Log Message:
-----------
Merge revision 14439 from 4.x to trunk.

Fix for http://bugs.adobe.com/jira/browse/SDK-25644. For the bug, I added some logic in the addedHandler to only call validateTransformMatrix when layoutDirection changes.

Also, I refactored validateTransformMatrix() to make use of a backing variable for scaleX. This ensures that we have the correct sign on scaleX when the icon is resized when mirroring or going from mirrored to unmirrored. The backing variable is also updated during resizing because scaleX will change when the bitmap is resized.

QE notes: None
Doc notes: None
Bugs: SDK-25644
Reviewed By: Jason, Carol, Hans
Tests run: checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/framework/src/mx/core/FlexBitmap.as
+++ frameworks/projects/framework/src/mx/core/FlexBitmap.as
@@ -139,6 +139,8 @@
 	override public function set width(value:Number):void
 	{
 		super.width = value;
+        // Set _scaleX because scaleX may change when width is set.
+        _scaleX = scaleX;
 		if (mirror)
 			validateTransformMatrix();
 	}
@@ -150,16 +152,34 @@
 	/**
 	 *  @private
 	 *  We must override height as well because setting
-	 *  height will reset scaleX in the transform
+	 *  height will force scaleX to be positive in the transform
 	 *  matrix.
-	 *
 	 */
 	override public function set height(value:Number):void
 	{
 		super.height = value;
+        // Set _scaleX because scaleX may change when height is set.
+        _scaleX = scaleX;
 		if (mirror)
 			validateTransformMatrix();
 	}
+
+    //----------------------------------
+    //  scaleX
+    //----------------------------------
+
+    private var _scaleX:Number;
+
+    /**
+     *  @private
+     */
+    override public function set scaleX(value:Number):void
+    {
+        _scaleX = value;
+        super.scaleX = value;
+        if (mirror)
+            validateTransformMatrix();
+    }

 	//--------------------------------------------------------------------------
 	//
@@ -201,19 +221,20 @@
 	 *  @private
 	 *  We check the closest parent's layoutDirection property
 	 *  whenever we change parents and set our mirror property
-	 *  and transform matrix accordingly.
+	 *  and update our transform matrix accordingly.
 	 */
 	private function addedHandler(event:Event):void
 	{
-		// FIXME (klin): Is this necessary? Will it have a big impact on performance?
 		var p:DisplayObjectContainer = this.parent;

 		while (p)
 		{
 			if (p is IVisualElement)
 			{
-				mirror = IVisualElement(p).layoutDirection == "rtl";
-				validateTransformMatrix();
+                const oldMirror:Boolean = mirror;
+                mirror = IVisualElement(p).layoutDirection == "rtl";
+                if (mirror != oldMirror)
+                    validateTransformMatrix();
 				break;
 			}

@@ -224,26 +245,19 @@
 	/**
 	 *  @private
 	 *  Modifies the transform matrix so that this bitmap
-	 *  will not be mirrored regardless of whether the closest
-	 *  parent is mirrored.
+	 *  will not be mirrored if a parent is mirrored. Also,
+     *  reverts the transform matrix when its parent is not
+     *  mirrored anymore.
 	 */
 	private function validateTransformMatrix():void
 	{
-		if (mirror)
-		{
-			const mirrorMatrix:Matrix = transform.matrix;
-			if (mirrorMatrix.a > 0)
-				mirrorMatrix.a *= -1;
-			mirrorMatrix.tx = _x + width;
-			transform.matrix = mirrorMatrix;
-		}
-		else // layoutDirection changed, mirror=false, reset transform.matrix to its default
-		{
-			const defaultMatrix:Matrix = new Matrix();
-			defaultMatrix.tx = _x;
-			defaultMatrix.ty = y;
-			transform.matrix = defaultMatrix;
-		}
+        const mirrorMatrix:Matrix = transform.matrix;
+
+        if (isNaN(_scaleX))
+            _scaleX = mirrorMatrix.a;
+        mirrorMatrix.a = _scaleX * -1;
+        mirrorMatrix.tx = (mirror) ? _x + width : _x;
+        transform.matrix = mirrorMatrix;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/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/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</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/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.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" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/framework/src/mx/events/RSLEvent.as
+++ frameworks/projects/framework/src/mx/events/RSLEvent.as
@@ -55,6 +55,8 @@
      *       myButton.addEventListener() to register an event listener,
      *       myButton is the value of the currentTarget.

      *
errorText	Empty

+     *
isResourceModule	True if we loaded a resourceModule
+	 *        instead of an RSL

      *
rslIndex	The index number of the RSL
      *       currently being downloaded.

      *
rslTotal	The total number of RSLs
@@ -93,6 +95,8 @@
      *       myButton.addEventListener() to register an event listener,
      *       myButton is the value of the currentTarget.

      *
errorText	An error message.

+     *
isResourceModule	True if we loaded a resourceModule
+	 *        instead of an RSL

      *
rslIndex	The index number of the RSL
      *       currently being downloaded.

      *
rslTotal	The total number of RSLs
@@ -131,6 +135,8 @@
      *       myButton.addEventListener() to register an event listener,
      *       myButton is the value of the currentTarget.

      *
errorText	Empty

+     *
isResourceModule	True if we loaded a resourceModule
+	 *        instead of an RSL

      *
rslIndex	The index number of the RSL
      *       currently being downloaded.

      *
rslTotal	The total number of RSLs
@@ -184,6 +190,8 @@
 	 *
 	 *  @param errorText The error message of the error when type is RSLEvent.RSL_ERROR.
 	 *
+	 *  @param isResourceModule True if the event occurred when loading a ResourceModule.
+	 *
 	 *  @tiptext Constructor for RSLEvent objects.
 	 *
 	 *  @langversion 3.0
@@ -195,7 +203,8 @@
 							 cancelable:Boolean = false,
 							 bytesLoaded:int = -1, bytesTotal:int = -1,
 							 rslIndex:int = -1, rslTotal:int = -1,
-							 url:URLRequest = null, errorText:String = null)
+							 url:URLRequest = null, errorText:String = null,
+							 isResourceModule:Boolean = false)
 	{
 		super(type, bubbles, cancelable, bytesLoaded, bytesTotal);

@@ -203,6 +212,7 @@
 		this.rslTotal = rslTotal;
 		this.url = url;
 		this.errorText = errorText;
+		this.isResourceModule = isResourceModule;
 	}

 	//--------------------------------------------------------------------------
@@ -224,6 +234,15 @@
 	 *  @productversion Flex 3
 	 */
 	public var errorText:String;
+
+	//----------------------------------
+	//  isResourceModule
+	//----------------------------------
+
+	/**
+	 *  True if the event is for loading a resourceModule instead of an RSL
+	 */
+	public var isResourceModule:Boolean;

 	//----------------------------------
 	//  rslIndex
@@ -239,7 +258,7 @@
 	 *  @productversion Flex 3
 	 */
 	public var rslIndex:int;
-
+
 	//----------------------------------
 	//  rslTotal
 	//----------------------------------
@@ -282,7 +301,7 @@
 	{
 		return new RSLEvent(type, bubbles, cancelable,
 							bytesLoaded, bytesTotal, rslIndex,
-							rslTotal, url, errorText);
+							rslTotal, url, errorText, isResourceModule);
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/states/AddChild.as
+++ frameworks/projects/framework/src/mx/states/AddChild.as
@@ -79,6 +79,11 @@
  *  @see mx.effects.AddChildAction
  *
  *  @includeExample examples/StatesExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
  public class AddChild extends OverrideBase implements IOverride
 {
@@ -101,6 +106,11 @@
      *  @param position the location in the display list of the target
      *  relative to the relativeTo component. Must be one of the following:
      *  "firstChild", "lastChild", "before" or "after".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function AddChild(relativeTo:UIComponent = null,
                              target:DisplayObject = null,
@@ -174,6 +184,11 @@
      *

      *
      *  @default "auto"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get creationPolicy():String
     {
@@ -204,6 +219,11 @@
      *  "firstChild", and "lastChild".
      *
      *  @default "lastChild"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var position:String;

@@ -221,6 +241,11 @@
      *  object, that is, the component that has the states
      *  property, or <mx:states>tag that specifies the State
      *  object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var relativeTo:Object;

@@ -245,6 +270,11 @@
      *
      *
Do not set this property if you set the targetFactory
      *  property.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get target():DisplayObject
     {
@@ -296,6 +326,11 @@
      *  This propety is the AddChild class default property.
      *  Setting this property with a creationPolicy of "all"
      *  is equivalent to setting a target property.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get targetFactory():IDeferredInstance
     {
@@ -327,6 +362,11 @@
      *  property value is "auto" or "all".
      *  If you call this method multiple times, the child instance is
      *  created only on the first call.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createInstance():void
     {
@@ -341,6 +381,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initialize():void
     {
@@ -350,6 +395,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function apply(parent:UIComponent):void
     {
@@ -421,6 +471,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function remove(parent:UIComponent):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

--- frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as
+++ frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.mxml
 {


Change 20081030-bargull-zr6 by bargull@dell--p4--2-53 on 2008-10-30 17:35:53
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: define "remoteDebug"

New Features:

Bugs Fixed: LPP-7145

Technical Reviewer: ptw
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Define "remoteDebug" to avoid runtime warning

Tests:

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@11660 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/debugger/platform/swf/LzRemote.as
+++ WEB-INF/lps/lfc/debugger/platform/swf/LzRemote.as
@@ -14,6 +14,7 @@

 Debug.seqnum = 0;
 Debug.inEvalRequest = false;
+Debug.remoteDebug = false;

 /**
   * @access private


Allows action bindings and sensitive action bindings to work the same

--- com/zehfernando/input/binding/KeyActionBinder.as
+++ com/zehfernando/input/binding/KeyActionBinder.as
@@ -537,6 +537,7 @@
 				var filteredControls:Vector.<BindingInfo> = filterGamepadControls(deviceControlInfo.id, deviceIndex);
 				var idx:int;
 				var activations:Vector.<BindingInfo>;
+				// Considers activated if past the middle threshold between min/max values (allows analog controls to be treated as digital)
 				var isActivated:Boolean = control.value > control.minValue + (control.maxValue - control.minValue) / 2;

 				for (var i:int = 0; i < filteredControls.length; i++) {
@@ -546,7 +547,7 @@

 						// Dispatches signal
 						(actionsActivations[filteredControls[i].action] as ActivationInfo).sensitiveValues[filteredControls[i].action] = map(control.value, control.minValue, control.maxValue, deviceControlInfo.min, deviceControlInfo.max, true);
-						_onSensitiveActionChanged.dispatch(filteredControls[i].action, (actionsActivations[filteredControls[i].action] as ActivationInfo).value);
+						_onSensitiveActionChanged.dispatch(filteredControls[i].action, (actionsActivations[filteredControls[i].action] as ActivationInfo).getValue());
 					} else {
 						// A standard action binding, send activated/deactivated signals

@@ -729,7 +730,7 @@
 		}

 		public function getActionValue(__action:String):Number {
-			return actionsActivations.hasOwnProperty(__action) ? (actionsActivations[__action] as ActivationInfo).value : 0;
+			return actionsActivations.hasOwnProperty(__action) ? (actionsActivations[__action] as ActivationInfo).getValue() : 0;
 		}

 		/**
@@ -825,12 +826,13 @@
 	// ================================================================================================================
 	// PUBLIC INTERFACE -----------------------------------------------------------------------------------------------

-	public function get value():Number {
+	public function getValue():Number {
 		val = NaN;
 		for (iis in sensitiveValues) {
 			// NOTE: this will be a problem if two axis control the same action, since +1 is not necessarily better than -1
 			if (isNaN(val) || sensitiveValues[iis] > val) val = sensitiveValues[iis];
 		}
+		if (isNaN(val)) return activations.length == 0 ? 0 : 1;
 		return val;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/mx/src/mx/effects/AddChildAction.as
+++ frameworks/projects/mx/src/mx/effects/AddChildAction.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.effects
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as
+++ frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4922
Author:   gosmith@adobe.com
Date:     2009-02-10T22:19:49.510252Z

Log Message:
-----------
Renamed mx.graphics.graphicsClasses to mx.graphics.baseClasses, based on PARB review.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Jason

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextFlowComposer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as" copyfrom-rev="4920" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as" copyfrom-rev="4920" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses" copyfrom-rev="4916" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextBlockComposer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -25,7 +25,8 @@
 import mx.core.mx_internal;
 import mx.events.ItemExistenceChangedEvent;
 import mx.graphics.IGraphicElement;
-import mx.graphics.graphicsClasses.TextGraphicElement;
+import mx.graphics.baseClasses
+.TextGraphicElement;
 import mx.layout.LayoutElementFactory;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11289
Author:   egeorgie@adobe.com
Date:     2009-10-30T01:38:52.015427Z

Log Message:
-----------
GroupBase overlay - rename DisplayPlane to DisplayLayer, add a new method DisplayLayer:getDisplayObjectDepth()

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Glenn
Tests run: checkintests, mustella (ListDragDrop)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayPlane.as" copyfrom-rev="11280" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayPlane.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/OverlayDepth.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/DisplayPlaneObjectExistenceEvent.as" copyfrom-rev="11280" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/DisplayLayerObjectExistenceEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/events/DisplayPlaneObjectExistenceEvent.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -29,12 +29,10 @@
 import mx.styles.IStyleClient;
 import mx.styles.StyleProtoChain;

-import spark.components.supportClasses.DisplayPlane;
 import spark.components.supportClasses.GroupBase;
 import spark.core.DisplayObjectSharingMode;
 import spark.core.IGraphicElement;
 import spark.core.ISharedDisplayObject;
-import spark.events.DisplayPlaneObjectExistenceEvent;
 import spark.events.ElementExistenceEvent;
 import spark.primitives.shaders.ColorBurnShader;
 import spark.primitives.shaders.ColorDodgeShader;


Transferred from the Adobe Open Source Subversion Repository

Revision: 2711
Author:   jszeto@adobe.com
Date:     2008-08-01T21:28:09.563575Z

Log Message:
-----------
MXMLG-111 - Several shapes dont dispatch updateComplete event

All graphic elements now dispatch an updateComplete event after they have validated.

Bug: MXMLG-111
QA: Yes
Doc: Yes
Review: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -85,8 +85,6 @@
         super.updateDisplayList(unscaledWidth, unscaledHeight);

 		compose(unscaledWidth, unscaledHeight);
-
-		applyDisplayObjectProperties();
 	}

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 10766
Author:   gruehle@adobe.com
Date:     2009-09-30T22:55:55.205927Z

Log Message:
-----------
Re-commit compiler errors for other theme's styles feature. If Style metadata has a "themes" attribute, the style is only valid if that theme is applied.

The Spark theme is applied by default. The halo theme can be specified as a compiler argument or by selecting the "MX Only" component set in Builder.

All other themes need to be applied using theme+= instead of theme=. If you use theme= you will get warnings about styles used in CSS selectors, and errors if you use any theme-specific style as an attribute on an MXML tag.

By default, styles that aren't valid for the current theme are errors. These can be changed to warnings with the report-invalid-styles-as-warnings compiler option.

QE notes: Expect test breakage
Doc notes: The new policy for themes needs to be documented.
Bugs: none yet, but I'm sure there will be some...
Reviewer: Ryan
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/DefaultsConfigurator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ApplicationBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/themes/Spark/spark.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/DeclarationHandler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ToolTipBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/reflect/Type.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/reflect/TypeTable.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/SparkSkinsClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/AttributeHandler.java</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/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FXGCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SkinnableDataContainerSkin.mxml</path>

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

--- frameworks/projects/sparkskins/src/SparkSkinsClasses.as
+++ frameworks/projects/sparkskins/src/SparkSkinsClasses.as
@@ -23,7 +23,6 @@
 internal class SparkSkinsClasses
 {
     import mx.skins.spark.AccordionHeaderSkin; AccordionHeaderSkin;
-    import mx.skins.spark.ApplicationBackground; ApplicationBackground;
 	import mx.skins.spark.BorderSkin; BorderSkin;
 	import mx.skins.spark.ButtonSkin; ButtonSkin;
 	import mx.skins.spark.DefaultButtonSkin; DefaultButtonSkin;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.automation.delegates.controls
 {


[SequenceAssembler] fixed cell right click issue

git-svn-id: adbdea8fc1759bd16b0eaf24a244a7e5f870a654@214 fe3f0490-d73e-11de-a956-c71e7d3a9d2f

--- SequenceAssemblerStandalone/src/org/jbei/components/assemblyTableClasses/DataCellRenderer.as
+++ SequenceAssemblerStandalone/src/org/jbei/components/assemblyTableClasses/DataCellRenderer.as
@@ -1,6 +1,9 @@
 package org.jbei.components.assemblyTableClasses
 {
+    import flash.display.BitmapData;
     import flash.display.Graphics;
+    import flash.geom.Matrix;
+    import flash.geom.Rectangle;

     import mx.controls.Label;
     import mx.core.UIComponent;
@@ -44,6 +47,13 @@
             return CELL_BACKGROUND;
         }

+        protected override function render():void
+        {
+            super.render();
+
+            drawLabel();
+        }
+
         // Private Methods
         private function createLabel():void
         {
@@ -55,9 +65,30 @@
                 label.y = 3;
                 label.height = 30;
                 label.truncateToFit = true;
+                label.visible = false;
+                label.includeInLayout = false;

                 addChild(label);
             }
         }
+
+        private function drawLabel():void
+        {
+            label.validateNow();
+
+            var bitmapData:BitmapData = new BitmapData(label.width, label.height, true, 0x00FFFFFF);
+
+            var matrix:Matrix = new Matrix();
+            matrix.tx = 3;
+            matrix.ty = 3;
+
+            bitmapData.draw(label, matrix, null, null, new Rectangle(0, 0, label.width, label.height));
+
+            var g:Graphics = graphics;
+            g.lineStyle(0, 0xffffff, 0);
+            g.beginBitmapFill(bitmapData);
+            g.drawRect(0, 0, label.width, label.height);
+            g.endFill();
+        }
     }
 }


AxisTransmit: wait with requiring microphone

Do not require a microphone when the class is instansiated.
This will trigger a prompt, which might not be what we want
if there's no intention of transmitting audio.

--- src/com/axis/audioclient/AxisTransmit.as
+++ src/com/axis/audioclient/AxisTransmit.as
@@ -25,15 +25,22 @@
     private var authOpts:Object = {};

     public function AxisTransmit() {
-      var mic:Microphone = Microphone.getMicrophone();
-      mic.rate = 8;
-      mic.setSilenceLevel(0, -1);
-      mic.addEventListener(StatusEvent.STATUS, this.onMicStatus);
-      mic.addEventListener(SampleDataEvent.SAMPLE_DATA, onMicSampleData);
     }

     private function onMicStatus(event:StatusEvent):void {
-      trace('mic status changed: ', event);
+      if (conn.connected) {
+        authState = 'none';
+        conn.close();
+      }
+
+      if ('Microphone.Muted' === event.code) {
+        trace('AxisTransmit: Denied access to microphone');
+        return;
+      }
+
+      if (urlParsed.host && urlParsed.port) {
+        conn.connect(urlParsed.host, urlParsed.port);
+      }
     }

     public function start(iurl:String):void {
@@ -41,6 +48,12 @@
         trace('already connected');
         return;
       }
+
+      var mic:Microphone = Microphone.getMicrophone();
+      mic.rate = 8;
+      mic.setSilenceLevel(0, -1);
+      mic.addEventListener(StatusEvent.STATUS, onMicStatus);
+      mic.addEventListener(SampleDataEvent.SAMPLE_DATA, onMicSampleData);

       this.urlParsed = url.parse(iurl);

@@ -51,6 +64,11 @@
       conn.addEventListener(IOErrorEvent.IO_ERROR, onError);
       conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);

+      if (true === mic.muted) {
+        trace('Not allowed access to microphone, delay connect');
+        return;
+      }
+
       conn.connect(urlParsed.host, urlParsed.port);
     }

@@ -60,6 +78,9 @@
         return;
       }

+      var mic:Microphone = Microphone.getMicrophone();
+      mic.removeEventListener(StatusEvent.STATUS, onMicStatus);
+      mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, onMicSampleData);
       conn.close();
     }

@@ -78,7 +99,7 @@
             "POST",
             authOpts.digestRealm,
             urlParsed.urlpath,
-            authOpts.qop.split(','),
+            authOpts.qop,
             authOpts.nonce
           );
           break;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18357
Author:   jasonsj@adobe.com
Date:     2010-10-28T22:43:40.124825Z

Log Message:
-----------
Mobile Theme feature work:
Implemented borderVisible and prompt for mobile TextInputSkin
Fixed focus exclusions for CheckBox and RadioButton
Fixed promptDisplay bug in TextInput
Moved textShadowAlpha and textShadowColor to BasicInheritingTextStyles from ActionBar and Button
Added leading and letterSpacing to BasicInheritingTextStyles

QE notes: Update mustella bitmaps for Button and RadioButton
Doc notes:
Bugs:
SDK-28239 Fixed visuals for Button and RadioButton skin
Reviewer: gruehle, aharui
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
@@ -142,6 +142,29 @@
      */
     protected function commitCurrentState():void
     {
+    }
+
+    /**
+     *  MobileSkin does not use states. Skins should override this function
+     *  to return false for states that are not implemented.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    override public function hasState(stateName:String):Boolean
+    {
+        return true;
+    }
+
+    /**
+     *  @private
+     */
+    override public function setCurrentState(stateName:String,
+                                    playTransition:Boolean = true):void
+    {
+        currentState = stateName;
     }

     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="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/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
@@ -185,7 +185,7 @@
      */
     override public function play():void
     {
-        // TODO (chaase): Should take the 'from' snapshot on the
+        // FIXME (chaase): Should take the 'from' snapshot on the
         // fly, in case the object has changed since the overall
         // effect (composite, etc) started much earlier and the
         // object has changed since propertyChanges was initialized


Transferred from the Adobe Open Source Subversion Repository

Revision: 19753
Author:   gruehle@adobe.com
Date:     2011-01-13T23:48:21.776944Z

Log Message:
-----------
Add text selection auto scrolling. When editable text is in selection mode - entered by long-tapping on the text and choosing "Select Text" - the scroll behavior is changed. Touch+drag events change the selection. If you drag to the edge of the view and there is still more text available, the text will auto-scroll into view. This works in both horizontal and vertical directions.

This behavior is only available on device. Text in adl does not distinguish between selection mode and non-selection mode, so it is always selectable and scrollable.

QE notes: Ready for testing.
Doc notes:
Bugs:
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as
@@ -11,9 +11,11 @@

 package spark.components.supportClasses
 {
+import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.events.KeyboardEvent;
+import flash.events.SoftKeyboardEvent;
 import flash.events.TextEvent;
 import flash.geom.Matrix;
 import flash.geom.Matrix3D;
@@ -24,6 +26,7 @@
 import flash.text.TextFieldType;
 import flash.text.TextFormat;
 import flash.text.TextFormatAlign;
+import flash.text.TextInteractionMode;
 import flash.text.TextLineMetrics;
 import flash.ui.Keyboard;

@@ -32,12 +35,15 @@
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.events.TouchInteractionEvent;
+import mx.events.TouchInteractionReason;
 import mx.geom.TransformOffsets;
 import mx.resources.ResourceManager;
 import mx.styles.CSSStyleDeclaration;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;

+import spark.components.Scroller;
 import spark.core.IEditableText;
 import spark.events.TextOperationEvent;

@@ -149,7 +155,14 @@

         // Add a key down listener to listen for enter key
         addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
-
+
+		addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_STARTING,
+			touchInteractionStartingHandler);
+		addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_START,
+			touchInteractionStartHandler);
+		addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_END,
+			touchInteractionEndHandler);
+
         if (!truncationIndicatorResource)
         {
             truncationIndicatorResource = ResourceManager.getInstance().
@@ -1095,6 +1108,105 @@
         if (!dispatchEvent(e))
             event.preventDefault();
     }
+
+	/**
+	 *  @private
+	 */
+	private function touchInteractionStartingHandler(event:TouchInteractionEvent):void
+	{
+		// When in text selection mode, tell the Scroller to use the special text
+		// selection auto-scroll mode, and pass the top/bottom of this component as
+		// the scroll range.
+		if (textInteractionMode == TextInteractionMode.SELECTION)
+		{
+			var focusThickness:Number = getStyle("focusThickness");
+			var scroller:Scroller = event.relatedObject as Scroller;
+
+			// Early exit if the event isn't a SCROLL event or doesn't have a Scroller
+			if (event.reason != TouchInteractionReason.SCROLL || !scroller)
+				return;
+
+			var minVScrollPos:Number;
+			var maxVScrollPos:Number;
+			var minHScrollPos:Number;
+			var maxHScrollPos:Number;
+
+			var pt:Point = new Point(0, 0);
+
+			// Offset by our position within the skin/component. The scrolling is
+			// constrained by the component boundaries, not by the boundaries of
+			// this text field. We don't have a reliable way to determine the
+			// component boundaries, so we use our x,y position as an estimate.
+			pt.offset(-x, -y);
+
+			// Include the focus thickness in the min/max scroll positions
+			pt.offset(-focusThickness, -focusThickness);
+
+			pt = localToGlobal(pt);
+			pt = DisplayObject(scroller.viewport).globalToLocal(pt);
+			minHScrollPos = Math.max(0, pt.x);
+			minVScrollPos = Math.max(0, pt.y);
+
+			pt.x = width;
+			pt.y = height;
+
+			// We can't reliably find our position relative to the bottom of the skin/
+			// component, so use our top position as an estimate
+			pt.offset(x, y);
+
+			// Include focus thickness
+			pt.offset(focusThickness, focusThickness);
+
+			pt = parent.localToGlobal(pt);
+			pt = DisplayObject(scroller.viewport).globalToLocal(pt);
+			maxHScrollPos = pt.x - scroller.width;
+			maxVScrollPos = pt.y - scroller.height;
+
+			scroller.enableTextSelectionAutoScroll(true, minHScrollPos, maxHScrollPos,
+				minVScrollPos, maxVScrollPos);
+		}
+	}
+
+	/**
+	 *  @private
+	 */
+	private function touchInteractionStartHandler(event:TouchInteractionEvent):void
+	{
+		// During a touch scroll we don't want the keyboard to activate. Add a
+		// "softKeyboardActivating" handler to cancel the event.
+		addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING,
+			softKeyboardActivatingHandler);
+	}
+
+	/**
+	 *  @private
+	 */
+	private function touchInteractionEndHandler(event:TouchInteractionEvent):void
+	{
+		// Remove the soft keyboard activate cancelling handler.
+		removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING,
+			softKeyboardActivatingHandler);
+
+		if (textInteractionMode == TextInteractionMode.SELECTION)
+		{
+			var scroller:Scroller = event.relatedObject as Scroller;
+
+			// Turn off text selection auto-scroll.
+			if (scroller)
+				scroller.enableTextSelectionAutoScroll(false);
+		}
+	}
+
+	/**
+	 *  @private
+	 *
+	 *  This handler is only added during touch scroll events. It prevents
+	 *  the onscreen keyboard from activating if a scroll occurred.
+	 */
+	private function softKeyboardActivatingHandler(event:SoftKeyboardEvent):void
+	{
+		event.preventDefault();
+	}

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


CHANGED:applied the camera follow function support for tool_ball;


Removed RTMP totalbytes option.

Removed RTMP totalbytes option.

--- src/SoundManager2_AS3.as
+++ src/SoundManager2_AS3.as
@@ -299,7 +299,7 @@
       try {
         var oSound:Object = e.target;
         var bL: int = oSound.bytesLoaded;
-        var bT: int = oSound.bytesTotal || oSound.totalBytes;
+        var bT: int = oSound.bytesTotal;
         var nD: int = oSound.length || oSound.duration || 0;
         var sMethod:String = baseJSObject + "['" + oSound.sID + "']._whileloading";
         ExternalInterface.call(sMethod, bL, bT, nD);
@@ -351,7 +351,7 @@
           // video stream
           bufferLength = oSound.ns.bufferLength;
           bL = oSound.ns.bytesLoaded;
-          bT = oSound.ns.bytesTotal || oSound.totalBytes;
+          bT = oSound.ns.bytesTotal;
           nD = int(oSound.duration || 0); // can sometimes be null with short MP3s? Wack.
           nP = oSound.ns.time * 1000;
           if (nP != oSound.lastValues.position) {
@@ -708,11 +708,10 @@
         ns.bufferTimes = s.bufferTimes;
         ns.serverUrl = s.serverUrl;
         ns.duration = s.duration;
-        ns.totalBytes = s.totalBytes;
         ns.recordStats = s.recordStats;
         ns.useEvents = true;
         _destroySound(s.sID);
-        _createSound(ns.sID, sURL, ns.justBeforeFinishOffset, ns.usePeakData, ns.useWaveformData, ns.useEQData, ns.useNetstream, ns.useVideo, ns.bufferTime, ns.loops, ns.serverUrl, ns.duration, ns.totalBytes, bAutoPlay, ns.useEvents, ns.bufferTimes, ns.recordStats, bAutoLoad);
+        _createSound(ns.sID, sURL, ns.justBeforeFinishOffset, ns.usePeakData, ns.useWaveformData, ns.useEQData, ns.useNetstream, ns.useVideo, ns.bufferTime, ns.loops, ns.serverUrl, ns.duration, bAutoPlay, ns.useEvents, ns.bufferTimes, ns.recordStats, bAutoLoad);
         s = soundObjects[sID];
         // writeDebug('Sound object replaced');
       }
@@ -740,7 +739,7 @@
           s.useEvents = true;
           // if (s.ns) {
             // s.addNetstreamEvents(s);
-            // ExternalInterface.call(baseJSObject + "['" + s.sID + "']._whileloading", s.ns.bytesLoaded, s.ns.bytesTotal || s.totalBytes, int(s.duration || 0));
+            // ExternalInterface.call(baseJSObject + "['" + s.sID + "']._whileloading", s.ns.bytesLoaded, s.ns.bytesTotal, int(s.duration || 0));
             s.ns.play(sURL);
 /*
             if (!bAutoPlay) {
@@ -824,18 +823,17 @@
       ns.bufferTimes = s.bufferTimes;
       ns.serverUrl = s.serverUrl;
       ns.duration = s.duration;
-      ns.totalBytes = s.totalBytes;
       ns.autoPlay = s.autoPlay;
       ns.recordStats = s.recordStats;
       ns.autoLoad = s.autoLoad;
       _destroySound(s.sID);
-      _createSound(ns.sID, sURL, ns.justBeforeFinishOffset, ns.usePeakData, ns.useWaveformData, ns.useEQData, ns.useNetstream, ns.useVideo, ns.bufferTime, ns.loops, ns.serverUrl, ns.duration, ns.totalBytes, ns.autoPlay, false, ns.bufferTimes, ns.recordStats, ns.autoLoad); // false: don't allow events just yet
+      _createSound(ns.sID, sURL, ns.justBeforeFinishOffset, ns.usePeakData, ns.useWaveformData, ns.useEQData, ns.useNetstream, ns.useVideo, ns.bufferTime, ns.loops, ns.serverUrl, ns.duration, ns.autoPlay, false, ns.bufferTimes, ns.recordStats, ns.autoLoad); // false: don't allow events just yet
       soundObjects[sID].connected = true; // fake it?
       writeDebug(s.sID + '.unload(): ok');
     }

-    public function _createSound(sID:String, sURL:String, justBeforeFinishOffset: int, usePeakData: Boolean, useWaveformData: Boolean, useEQData: Boolean, useNetstream: Boolean, useVideo: Boolean, bufferTime:Number, loops:Number, serverUrl:String, duration:Number, totalBytes:Number, autoPlay:Boolean, useEvents:Boolean, bufferTimes:Array, recordStats:Boolean, autoLoad:Boolean) : void {
-      var s: SoundManager2_SMSound_AS3 = new SoundManager2_SMSound_AS3(this, sID, sURL, usePeakData, useWaveformData, useEQData, useNetstream, useVideo, bufferTime, serverUrl, duration, totalBytes, autoPlay, useEvents, bufferTimes, recordStats, autoLoad);
+    public function _createSound(sID:String, sURL:String, justBeforeFinishOffset: int, usePeakData: Boolean, useWaveformData: Boolean, useEQData: Boolean, useNetstream: Boolean, useVideo: Boolean, bufferTime:Number, loops:Number, serverUrl:String, duration:Number, autoPlay:Boolean, useEvents:Boolean, bufferTimes:Array, recordStats:Boolean, autoLoad:Boolean) : void {
+      var s: SoundManager2_SMSound_AS3 = new SoundManager2_SMSound_AS3(this, sID, sURL, usePeakData, useWaveformData, useEQData, useNetstream, useVideo, bufferTime, serverUrl, duration, autoPlay, useEvents, bufferTimes, recordStats, autoLoad);
       if (!soundObjects[sID]) {
         sounds.push(sID);
       }


fix incorrect seek for dvr

fix incorrect seek for dvr

correct duration value in notifyTotalDuration() func for DVR stream

--- HLSPlugin/src/org/denivip/osmf/net/httpstreaming/hls/HTTPStreamingHLSIndexHandler.as
+++ HLSPlugin/src/org/denivip/osmf/net/httpstreaming/hls/HTTPStreamingHLSIndexHandler.as
@@ -24,6 +24,7 @@

  package org.denivip.osmf.net.httpstreaming.hls
 {
+	import flash.external.ExternalInterface;
 	import flash.net.URLRequest;
 	import flash.utils.ByteArray;

@@ -222,9 +223,9 @@
 				}
 			}

-			if(_segment >= manifest.length) // if playlist ended, then end =)
+			if(_segment >= manifest.length){ // if playlist ended, then end =)
 				return new HTTPStreamRequest(HTTPStreamRequestKind.DONE);
-			else{ // load new chunk
+			}else{ // load new chunk
 				request = new HTTPStreamRequest(HTTPStreamRequestKind.DOWNLOAD, manifest[_segment].url);

 				dispatchEvent(new HTTPStreamingEvent(HTTPStreamingEvent.FRAGMENT_DURATION, false, false, manifest[_segment].duration));
@@ -279,7 +280,7 @@
 		private function notifyTotalDuration(duration:Number, quality:int, live:Boolean):void{
 			var sdo:FLVTagScriptDataObject = new FLVTagScriptDataObject();
 			var metaInfo:Object = new Object();
-			if(!live)
+			if(!live || (live && _indexInfo.dvrInfo))
 				metaInfo.duration = duration;
 			else
 				metaInfo.duration = 0;


Update JplayerRtmp.as

Update JplayerRtmp.as

Fix problem with connection Amazon cloudfront signeture url

--- actionscript/happyworm/jPlayer/JplayerRtmp.as
+++ actionscript/happyworm/jPlayer/JplayerRtmp.as
@@ -513,7 +513,13 @@
 			{
 				appName = rtmpSrc.substring(endHost,rtmpSrc.indexOf("mp3:"));
 				streamFileName = rtmpSrc.substr(rtmpSrc.indexOf("mp3:"));
-				streamFileName = streamFileName.substr(0,streamFileName.length - 4);
+				if ( streamFileName.indexOf("?") )
+                		{
+                    			var tmp:String = streamFileName.substring(streamFileName.indexOf("?")) ;
+                    			streamFileName = streamFileName.substr(0,streamFileName.indexOf("?")) + encodeURI(tmp) ;
+                		}
+                		else
+                    			streamFileName = streamFileName.substr(0,streamFileName.length - 4);
 			}
 			// rtmp://cp83813.edgefcs.net/ondemand/rob_hall/bruce_campbell_oldspice.flv

@@ -522,7 +528,13 @@
 			{
 				appName = rtmpSrc.substring(endHost,rtmpSrc.indexOf("mp4:"));
 				streamFileName = rtmpSrc.substr(rtmpSrc.indexOf("mp4:"));
-				streamFileName = streamFileName.substr(0,streamFileName.length - 4);
+				if ( streamFileName.indexOf("?") )
+                		{
+                    			var tmpV:String = streamFileName.substring(streamFileName.indexOf("?")) ;
+                    			streamFileName = streamFileName.substr(0,streamFileName.indexOf("?")) + encodeURI(tmpV) ;
+                		}
+                		else
+                    			streamFileName = streamFileName.substr(0,streamFileName.length - 4);
 			}

 			// .f4v streams with standard appname/no instance name, .flv extension
@@ -981,4 +993,4 @@
 		}
 	}
 }
-}+}


Documented the events currently being dispatched.

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

--- src/as/com/threerings/ezgame/EZGameControl.as
+++ src/as/com/threerings/ezgame/EZGameControl.as
@@ -8,6 +8,57 @@
 import flash.events.MouseEvent;

 import flash.display.DisplayObject;
+
+/**
+ * Dispatched when a key is pressed when the game has focus.
+ *
+ * @eventType flash.events.KeyboardEvent.KEY_DOWN
+ */
+[Event(name="keyDown", type="flash.events.KeyboardEvent")]
+
+/**
+ * Dispatched when a key is released when the game has focus.
+ *
+ * @eventType flash.events.KeyboardEvent.KEY_UP
+ */
+[Event(name="keyUp", type="flash.events.KeyboardEvent")]
+
+/**
+ * Dispatched when the game starts, usually after all players are present.
+ *
+ * @eventType com.threerings.ezgame.StateChangedEvent.GAME_STARTED
+ */
+[Event(name="GameStarted", type="com.threerings.ezgame.StateChangedEvent")]
+
+/**
+ * Dispatched when the turn changes in a turn-based game.
+ *
+ * @eventType com.threerings.ezgame.StateChangedEvent.TURN_CHANGED
+ */
+[Event(name="GameStarted", type="com.threerings.ezgame.StateChangedEvent")]
+
+/**
+ * Dispatched when the game ends.
+ *
+ * @eventType com.threerings.ezgame.StateChangedEvent.GAME_ENDED
+ */
+[Event(name="GameStarted", type="com.threerings.ezgame.StateChangedEvent")]
+
+/**
+ * Dispatched when a property has changed in the shared game state.
+ *
+ * @eventType com.threerings.ezgame.PropertyChangedEvent.TYPE
+ */
+[Event(name="PropChanged", type="com.threerings.ezgame.PropertyChangedEvent")]
+
+/**
+ * Dispatched when a message arrives with information that is not part
+ * of the shared game state.
+ *
+ * @eventType com.threerings.ezgame.MessageReceivedEvent.TYPE
+ */
+[Event(name="msgReceived", type="com.threerings.ezgame.MessageReceivedEvent")]
+

 /**
  * The single point of control for each client in your multiplayer EZGame.


added watchState()

added watchState()

--- WeaveCore/src/weave/utils/DebugUtils.as
+++ WeaveCore/src/weave/utils/DebugUtils.as
@@ -30,6 +30,7 @@
 	import weave.api.core.DynamicState;
 	import weave.api.core.ILinkableObject;
 	import weave.api.getCallbackCollection;
+	import weave.api.getSessionState;
 	import weave.compiler.Compiler;
 	import weave.compiler.StandardLib;

@@ -224,6 +225,16 @@
 			};
 			watchLookup[linkableTarget] = callback;
 			getCallbackCollection(linkableTarget).addImmediateCallback(null, callback);
+		}
+
+		public static function watchState(target:Object = null, indent:* = null):void
+		{
+			if (!target)
+			{
+				weaveTrace('Usage: watchState(target, optional_indent)');
+				return;
+			}
+			watch(target, function(object:ILinkableObject):String { return Compiler.stringify(getSessionState(object), null, indent); });
 		}

 		public static function unwatch(target:Object):void
@@ -412,12 +423,14 @@
 		{
 			try
 			{
-				for each (var property:* in path)
+				outerLoop: for each (var property:* in path)
 				{
 					if (DynamicState.isDynamicStateArray(state))
 					{
 						if (property is Number)
+						{
 							state = state[property][DynamicState.SESSION_STATE];
+						}
 						else
 						{
 							for each (var obj:Object in state)
@@ -425,9 +438,10 @@
 								if (obj[DynamicState.OBJECT_NAME] == property)
 								{
 									state = obj[DynamicState.SESSION_STATE];
-									break;
+									continue outerLoop;
 								}
 							}
+							return undefined;
 						}
 					}
 					else


Stream.of and from

Stream.of and from

--- src/com/kemsky/Stream.as
+++ src/com/kemsky/Stream.as
@@ -1888,7 +1888,8 @@

         /**
          * Creates Stream object from iterable object
-         * @param object object used as source for a Stream
+         * @param object object used as source for a stream
+         * @param callback callback used to map result Stream
          * @return created Stream object
          * @example
          * <pre>
@@ -1906,7 +1907,7 @@
          *     //prints ["name1", "name2"]
          * </pre>
          */
-        public static function from(object:*, map:Function = null):Stream
+        public static function from(object:*, callback:Function = null):Stream
         {
             var result:Stream;
             if (object == null || object === undefined)
@@ -1951,7 +1952,7 @@
                 result = result.sortOn("first");
             }

-            return map == null ? result : result.map(map);
+            return callback == null ? result : result.map(callback);
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/charts/src/mx/charts/effects/effectClasses/SeriesSlideInstance.as
+++ frameworks/projects/charts/src/mx/charts/effects/effectClasses/SeriesSlideInstance.as
@@ -0,0 +1,331 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.charts.effects.effectClasses
+{
+
+import flash.geom.Rectangle;
+
+/**
+ *  The SeriesSlideInstance class implements the instance class
+ *  for the SeriesSlide effect.
+ *  Flex creates an instance of this class when it plays a SeriesSlide effect;
+ *  you do not create one yourself.
+ *
+ *  @see mx.charts.effects.SeriesSlide
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class SeriesSlideInstance extends SeriesEffectInstance
+{
+    include "../../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param target The target of the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function SeriesSlideInstance(target:Object)
+    {
+        super(target);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var _startingBounds:Array /* of Rectangle */;
+
+    /**
+     *  @private
+     */
+    private var _slideDistance:Number;
+
+    /**
+     *  @private
+     */
+    private var _horizontal:Boolean;
+
+    /**
+     *  @private
+     */
+    private var seriesRenderData:Object;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    [Inspectable(category="General", enumeration="left,right,up,down", defaultValue="left")]
+
+    /**
+     *  Defines the location from which the series slides.
+     *  Valid values are "left", "right",
+     *  "up", and "down".
+     *  The default value is "left".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public var direction:String = "left";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+    *   @private
+    */
+    override public function play():void
+    {
+        seriesRenderData = targetSeries.getRenderDataForTransition(type);
+
+        targetSeries.getElementBounds(seriesRenderData);
+
+        var startingBounds:Array /* of Rectangle */ = seriesRenderData.elementBounds;
+        var visibleRegion:Rectangle = seriesRenderData.visibleRegion;
+        if (!visibleRegion)
+        {
+            visibleRegion = new Rectangle(0, 0,
+                                          targetSeries.width / Math.abs(targetSeries.scaleX),
+                                          targetSeries.height / Math.abs(targetSeries.scaleY));
+        }
+        if (seriesRenderData.bounds)
+        {
+            if (type == "show")
+            {
+                switch (direction)
+                {
+                    case "right":
+                    {
+                        _slideDistance = seriesRenderData.bounds.right;
+                        _horizontal = true;
+                        break;
+                    }
+
+                    case "left":
+                    {
+                        _slideDistance = -(visibleRegion.right -
+                                           seriesRenderData.bounds.left);
+                        _horizontal = true;
+                        break;
+                    }
+
+                    case "down":
+                    {
+                        _slideDistance = seriesRenderData.bounds.bottom;
+                        _horizontal = false;
+                        break;
+                    }
+
+                    case "up":
+                    {
+                        _slideDistance = -(visibleRegion.bottom -
+                                           seriesRenderData.bounds.top);
+                        _horizontal = false;
+                        break;
+                    }
+                }
+            }
+            else
+            {
+                switch (direction)
+                {
+                    case "left":
+                    {
+                        _slideDistance = -seriesRenderData.bounds.right;
+                        _horizontal = true;
+                        break;
+                    }
+
+                    case "right":
+                    {
+                        _slideDistance = visibleRegion.right -
+                                         seriesRenderData.bounds.left;
+                        _horizontal = true;
+                        break;
+                    }
+
+                    case "up":
+                    {
+                        _slideDistance = -seriesRenderData.bounds.bottom;
+                        _horizontal = false;
+                        break;
+                    }
+
+                    case "down":
+                    {
+                        _slideDistance = visibleRegion.bottom -
+                                         seriesRenderData.bounds.top;
+                        _horizontal = false;
+                        break;
+                    }
+                }
+            }
+        }
+        var activeBounds:Array /* of Rectangle */ = [];
+        startingBounds = seriesRenderData.elementBounds;
+        var n:int = startingBounds.length;
+        var i:int;
+        var v:Rectangle;
+
+        if (type == "show")
+        {
+            if (_horizontal)
+            {
+                for (i = 0; i < n; i++)
+                {
+                    v = startingBounds[i];
+                    activeBounds[i] = new Rectangle(v.left - _slideDistance,
+                                                    v.top,
+                                                    v.width, v.height);
+
+                }
+            }
+            else
+            {
+                for (i = 0; i < n; i++)
+                {
+                    v = startingBounds[i];
+                    activeBounds[i] = new Rectangle(v.left,
+                                                    v.top - _slideDistance,
+                                                    v.width, v.height);
+                }
+            }
+
+        }
+        else
+        {
+            for (i = 0; i < n; i++)
+            {
+                activeBounds[i] = startingBounds[i].clone();
+            }
+        }
+
+        seriesRenderData.elementBounds = activeBounds;
+        targetSeries.transitionRenderData = seriesRenderData;
+        _startingBounds = startingBounds;
+
+        beginTween(n);
+    }
+
+    /**
+     *  @private
+     */
+    override public function onTweenUpdate(value:Object):void
+    {
+        super.onTweenUpdate(value);
+
+        var startingBounds:Array /* of Rectangle */ = _startingBounds;
+        var activeBounds:Array /* of Rectangle */ = seriesRenderData.elementBounds;
+        var n:int = startingBounds.length;
+        var i:int;
+        var interpolation:Number;
+        var v:Rectangle;
+        var a:Rectangle;
+
+        if (type == "show")
+        {
+            if (_horizontal)
+            {
+                for (i = 0; i < n; i++)
+                {
+                    interpolation = 1 - interpolationValues[i];
+                    v= startingBounds[i];
+                    a = activeBounds[i];
+                    a.left = v.left - interpolation * _slideDistance;
+                    a.right = v.right - interpolation * _slideDistance;
+                    a.top = v.top;
+                    a.bottom = v.bottom;
+                }
+            }
+            else
+            {
+                for (i = 0; i < n; i++)
+                {
+                    interpolation = 1 - interpolationValues[i];
+                    v= startingBounds[i];
+                    a = activeBounds[i];
+                    a.top = v.top - interpolation * _slideDistance;
+                    a.bottom = v.bottom - interpolation * _slideDistance;
+                    a.left = v.left;
+                    a.right = v.right;
+                }
+            }
+        }
+        else
+        {
+            if (_horizontal)
+            {
+                for (i = 0; i < n; i++)
+                {
+                    interpolation = interpolationValues[i];
+                    v= startingBounds[i];
+                    a = activeBounds[i];
+                    a.left = v.left + interpolation * _slideDistance;
+                    a.right = v.right + interpolation * _slideDistance;
+                    a.top = v.top;
+                    a.bottom = v.bottom;
+                }
+            }
+            else
+            {
+                for (i = 0; i < n; i++)
+                {
+                    interpolation = interpolationValues[i];
+                    v= startingBounds[i];
+                    a = activeBounds[i];
+                    a.top = v.top + interpolation * _slideDistance;
+                    a.bottom = v.bottom + interpolation * _slideDistance;
+                    a.left = v.left;
+                    a.right = v.right;
+                }
+            }
+        }
+        targetSeries.invalidateDisplayList();
+    }
+
+    /**
+     *  @private
+     */
+    override public function onTweenEnd(value:Object):void
+    {
+        super.onTweenEnd(value);
+
+        targetSeries.transitionRenderData = null;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18161
Author:   chiedozi@adobe.com
Date:     2010-10-14T23:15:44.404213Z

Log Message:
-----------
The ViewNavigator components now manage their orientation internally based on the stage width and height.  The landscapeOrientation property has been removed from all the components.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
@@ -558,17 +558,6 @@
     /**
      *  @private
      */
-    override protected function orientationChangeHandler(event:StageOrientationEvent):void
-    {
-        super.orientationChangeHandler(event);
-
-        if (navigator)
-            navigator.landscapeOrientation = landscapeOrientation;
-    }
-
-    /**
-     *  @private
-     */
     override protected function persistApplicationState():void
     {
         super.persistApplicationState();
@@ -675,7 +664,6 @@
             navigator.firstView = firstView;
             navigator.firstViewData = firstViewData;
             navigator.navigationStack = navigationStack;
-            navigator.landscapeOrientation = landscapeOrientation;

             // Set the stage focus to the navigator
             systemManager.stage.focus = navigator;


fixed a bug in composite command where a null pointer exception was raised after command.cancel()

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

--- src/reprise/commands/CompositeCommand.as
+++ src/reprise/commands/CompositeCommand.as
@@ -400,7 +400,7 @@
 		{
 			// cancel makes no difference to us to a unsuccessful command
 			var completeEvent : CommandEvent = new CommandEvent(Event.COMPLETE, true);
-			command_complete(completeEvent);
+			IAsynchronousCommand(event.target).dispatchEvent(completeEvent);
 			// since execution is counted after a command completed its execution, cancelled
 			// commands don't fall into this category
 			m_numCommandsExecuted--;


Fix vertex component existence for sprites

--- src/aerys/minko/render/shader/part/DiffuseShaderPart.as
+++ src/aerys/minko/render/shader/part/DiffuseShaderPart.as
@@ -38,7 +38,8 @@
 			if (useVertexUv)
 				uv = interpolate(uv);

-			if (meshBindings.propertyExists(BasicProperties.DIFFUSE_MAP) && meshBindings.propertyExists(VertexComponent.UV.toString()))
+			if (meshBindings.propertyExists(BasicProperties.DIFFUSE_MAP) &&
+				(meshBindings.propertyExists(VertexComponent.UV.toString()) || meshBindings.propertyExists(VertexComponent.XY.toString()))) // uv or sprite
 			{
 				var diffuseMap	: SFloat	= meshBindings.getTextureParameter(
 					BasicProperties.DIFFUSE_MAP,


commands_executed_before_mediators test added

--- test/integration/tests/CommandPriorityTest.as
+++ test/integration/tests/CommandPriorityTest.as
@@ -1,5 +1,6 @@
 package integration.tests
 {
+	import ru.whitered.kote.Mediator;
 	import ru.whitered.kote.Command;
 	import ru.whitered.kote.Facade;
 	import ru.whitered.kote.Notification;
@@ -36,9 +37,9 @@
 		[Test]
 		public function commands_with_same_priority_are_executed_consecutively():void
 		{
-			const cmd1:Command = new CustomCommand("cmd 1");
-			const cmd2:Command = new CustomCommand("cmd 2");
-			const cmd3:Command = new CustomCommand("cmd 3");
+			const cmd1:Command = new RegistryCommand("cmd 1");
+			const cmd2:Command = new RegistryCommand("cmd 2");
+			const cmd3:Command = new RegistryCommand("cmd 3");

 			facade.addCommand(notification, cmd1);
 			facade.addCommand(notification, cmd2);
@@ -56,9 +57,9 @@
 		[Test]
 		public function commands_are_executed_in_reverse_priority_order():void
 		{
-			const cmd1:Command = new CustomCommand("cmd 1");
-			const cmd2:Command = new CustomCommand("cmd 2");
-			const cmd3:Command = new CustomCommand("cmd 3");
+			const cmd1:Command = new RegistryCommand("cmd 1");
+			const cmd2:Command = new RegistryCommand("cmd 2");
+			const cmd3:Command = new RegistryCommand("cmd 3");

 			facade.addCommand(notification, cmd1, 1);
 			facade.addCommand(notification, cmd2, -1);
@@ -70,21 +71,41 @@

 			assertThat(registry, array(cmd1, cmd3, cmd2));
 		}
+
+
+		[Test]
+		public function commands_executed_before_mediator_get_notificaion():void
+		{
+			const registry:Array = [];
+
+			const command:Command = new RegistryCommand("cmd");
+			const mediator:Mediator = new RegistryMediator(registry);
+			mediator.subscribe(notification);
+
+			facade.addMediator(mediator);
+			facade.addCommand(notification, command);
+
+			facade.sendNotification(notification, registry);
+
+			assertThat(registry, array(command, mediator));
+		}
 	}
 }

+import ru.whitered.kote.NotificationObject;
+import ru.whitered.kote.Mediator;
 import ru.whitered.kote.Command;

-class CustomCommand extends Command
+class RegistryCommand extends Command
 {
 	private var name:String;

-	public function CustomCommand(name:String)
+	public function RegistryCommand(name:String)
 	{
 		this.name = name;
 	}
@@ -103,3 +124,25 @@
 		return name;
 	}
 }
+
+
+
+class RegistryMediator extends Mediator
+{
+	private var registry:Array;
+
+
+
+	public function RegistryMediator(registry:Array)
+	{
+		this.registry = registry;
+	}
+
+
+
+	override public function handleNotification(notificationObject:NotificationObject):void
+	{
+		super.handleNotification(notificationObject);
+		registry.push(this);
+	}
+}


clean up

clean up

--- source/com/kemsky/support/Compare.as
+++ source/com/kemsky/support/Compare.as
@@ -88,7 +88,7 @@
                             }
                             else
                             {
-                                throw new StreamError("Sort is not supported: " + typeOfA);
+                                throw new StreamError("Compare is not supported: " + typeOfA);
                             }
                     }
                 }


てすーと

てすーと

test commit from GitHub for Mac