Transferred from the Adobe Open Source Subversion Repository

Revision: 18987
Author:   rfrishbe@adobe.com
Date:     2010-12-03T01:08:34.503999Z

Log Message:
-----------
PARB changes for sizeElement/positionElement.  MobileSkin and MobileItemRenderer's methods have been renamed: resizeElement() -> setElementSize(), positionElement() -> setElementPosition().

Also, cleaning up text reflow for TextAreaSkin

QE notes:
Doc notes:
Bugs:
Reviewer: Evtim
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/supportClasses/ButtonSkinBase.as</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/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.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/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as
@@ -209,67 +209,6 @@

 		super.setLayoutBoundsSize(width, height, postLayoutTransform);
 	}
-
-	/**
-	 *  @private
-	 */
-	override protected function layoutContents(unscaledWidth:Number,
-									  unscaledHeight:Number):void
-	{
-		// don't call super.layoutContents() since we're doing it
-		// differently in here
-
-		// position & size border
-		if (border)
-		{
-			resizeElement(border, unscaledWidth, unscaledHeight);
-			positionElement(border, 0, 0);
-		}
-
-		// position & size the text
-		var paddingLeft:Number = getStyle("paddingLeft");
-		var paddingRight:Number = getStyle("paddingRight");
-		var paddingTop:Number = getStyle("paddingTop");
-		var paddingBottom:Number = getStyle("paddingBottom");
-
-		var unscaledTextWidth:Number = unscaledWidth - paddingLeft - paddingRight;
-		var unscaledTextHeight:Number = unscaledHeight - paddingTop;
-		var textTopPosition:Number = getTextTop(unscaledHeight, paddingTop, paddingBottom);
-
-		if (textDisplay)
-		{
-			textDisplay.commitStyles();
-
-			// because the text is multi-line, measuring and layout
-			// can be somewhat tricky
-
-			// grab old textDisplay height before resizing it
-			var oldTextDisplayMeasuredHeight:Number = getElementPreferredHeight(textDisplay);
-
-			resizeElement(textDisplay, unscaledTextWidth, unscaledTextHeight);
-			positionElement(textDisplay, paddingLeft, textTopPosition);
-
-			// grab new textDisplay height after the textDisplay has taken its final size
-			var newTextDisplayMeasuredHeight:Number = getElementPreferredHeight(textDisplay);
-
-			// if the resize caused the textDisplay's height to change (because of
-			// text reflow), then we need to remeasure ourselves with our new estimatedWidth
-			if (oldTextDisplayMeasuredHeight != newTextDisplayMeasuredHeight)
-			{
-				// if unscaledWidth is 0, we're in an edge case, so let's not invalidateSize() here
-				// as we're not really visible anyways, so why do an extra invalidation
-				if (unscaledWidth > 0)
-					invalidateSize();
-			}
-		}
-
-		if (promptDisplay)
-		{
-			promptDisplay.commitStyles();
-			resizeElement(promptDisplay, unscaledTextWidth, unscaledTextHeight);
-			positionElement(promptDisplay, paddingLeft, textTopPosition);
-		}
-	}

     /**
      *  @private


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

--- frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
+++ frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
@@ -1,4 +1,25 @@
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Color of text in the component, including the component label.
+ *
+ *  The default value for the Halo theme is 0x0B333C.
+ *  The default value for the Spark theme is 0x000000.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
 [Style(name="color", type="uint", format="Color", inherit="yes")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 12468
Author:   mhorn@adobe.com
Date:     2009-12-03T21:58:39.257428Z

Log Message:
-----------
asdoc updates in prep for l10n

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -232,31 +232,28 @@
  *  By default, RichEditableText has a transparent background,
  *  and it does not support drawing a border.

  *
- *
RichEditableText, which is new with Flex 4,
- *  makes use of the new Text Layout Framework (TLF) library,
+ *
RichEditableText uses the Text Layout Framework (TLF) library,
  *  which in turn builds on the new Flash Text Engine (FTE)
- *  in Flash Player 10.
- *  In combination, these layers provide text editing with
+ *  in Flash Player 10. In combination, these layers provide text editing with
  *  high-quality international typography and layout.

  *
  *
The Spark architecture provides three text "primitives" --
- *  Label, RichText, and RichEditableText --
- *  as part of its pay-only-for-what-you-need philosophy.
+ *  Label, RichText, and RichEditableText.
  *  Label is the fastest and most lightweight
  *  because it uses only FTE, not TLF,
  *  but it is limited in its capabilities: no rich text,
  *  no scrolling, no selection, and no editing.
  *  RichText adds the ability to display rich text
  *  with complex layout, but is still completely non-interactive.
- *  RichEditableText is the slowest and heaviest,
+ *  RichEditableText is the heaviest-weight,
  *  but offers most of what TLF can do.
- *  You should use the fastest text primitive that meets your needs.

+ *  In general, use the fastest text primitive that meets your needs.

  *
  *
RichEditableText is similar to the UITextField class
  *  used in MX components. This class did not use FTE or TLF
- *  but rather extended the older TextField class in the Player.

+ *  but rather extended the older TextField class.

  *
- *
The most important differences to understand are:
+ *
The most important differences between UITextField and RichEditableText are:
  *

  *
RichEditableText offers better typography, better support
  *        for international languages, and better text layout.

@@ -275,19 +272,19 @@
  *  hyperlinks, and images are represented at runtime by ActionScript
  *  objects which can be programmatically accessed and manipulated.
  *  The central object in TLF for representing rich text is a
- *  TextFlow, so you specify rich text for RichEditableText to display
+ *  TextFlow, so you specify rich text for a RichEditableText control to display
  *  by setting its textFlow property to a TextFlow instance.
- *  Please see the description of the textFlow
+ *  See the description of the textFlow
  *  property for information about how to create one,
  *  such as by importing TLF markup.
  *  If you don't need to display text that has multiple formats,
- *  simply set the text property to a "plain text" String.
+ *  you can use the text property to set a "plain text" String.
  *  See the description of the text and textFlow
  *  properties for information about how they interact;
  *  for example, you can set one and get the other.

  *
- *
At compile time, you can simply put TLF markup tags inside
- *  the RichEditableText tag, as in
+ *
At compile time, you can put TLF markup tags inside
+ *  the RichEditableText tag, as the following example shows:
  *

  *  <s:RichEditableText>Hello <s:span fontWeight="bold">World!</s:span></s:RichEditableText>
  *

@@ -311,14 +308,14 @@
  *  paddingRight, and paddingBottom styles.

  *
  *
By default, a RichEditableText "autosizes": it starts out very
- *  small if it has no text, grows in width up to
- *  maxWidth as you type,
- *  and grows in height when you press Enter to start a new line.

+ *  small if it has no text, and grows in width up to
+ *  maxWidth as you type. It grows in height when you
+ *  press the Enter key to start a new line.

  *
  *
The widthInChars and heightInChars
  *  properties provide a convenient way to specify the width and height
  *  in a way that scales with the font size.
- *  Of course, you can also specify an explicit width or height in pixels,
+ *  You can also specify an explicit width or height in pixels,
  *  or use a percent width and height, or use constraints such as
  *  left and right
  *  or top and bottom.

@@ -328,10 +325,10 @@
  *  and right constraints -- the text wraps at the right
  *  edge of the component and the text becomes vertically scrollable
  *  when there is more text than fits.
- *  If you set the lineBreak style to "explicit",
+ *  If you set the lineBreak style to explicit,
  *  new lines will start only at explicit lines breaks, such as
- *  if you use CR ("\r"), LF ("\n"),
- *  or CR+LF ("\r\n") in text
+ *  if you use CR (\r), LF (\n),
+ *  or CR+LF (\r\n) in text
  *  or if you use <p> and <br/>
  *  in TLF markup.
  *  In that case, the text becomes horizontally scrollable
@@ -349,7 +346,7 @@
  *
  *
If you don't want the text to be editable,
  *  set the editable property to false.
- *  If you don't even want it to be selectable,
+ *  If you don't even want the text to be selectable,
  *  set the selectable property to false.

  *
  *
Because RichEditableText uses TLF,
@@ -357,15 +354,14 @@
  *  right-to-left (RTL) text such as Arabic, and bidirectional text
  *  such as a French phrase inside of an Arabic one.
  *  If the predominant text direction is right-to-left,
- *  set the direction style to "rtl".
+ *  set the direction style to rtl.
  *  The textAlign style defaults to "start",
  *  which makes the text left-aligned when direction
- *  is "ltr" and right-aligned when direction
- *  is "rtl".
- *  To get the opposite alignment,
- *  set textAlign to "end".

+ *  is ltr and right-aligned when direction
+ *  is rtl.
+ *  To get the opposite alignment, set textAlign to end.

  *
- *
Also as a result of using TLF, the RichEditableText supports
+ *
As a result of using TLF, the RichEditableText supports
  *  unlimited undo/redo within one editing session.
  *  An editing session starts when the component gets keyboard focus
  *  and ends when it loses focus.

@@ -375,6 +371,8 @@
  *
  *  @see spark.components.Label
  *  @see spark.components.RichText
+ *  @see spark.utils.TextFlowUtil
+ *  @see flashx.textLayout.container.TextContainerManager
  *
  *  @includeExample examples/RichEditableTextExample.mxml
  *  @includeExample examples/externalTextFlow.xml -noswf
@@ -1785,20 +1783,20 @@
      *  TextSelectionHighlighting.WHEN_ACTIVE,
      *  and TextSelectionHighlighting.ALWAYS.

      *
-     *
WHEN_FOCUSED means show the text selection
+     *
WHEN_FOCUSED shows the text selection
      *  only when the component has keyboard focus.

      *
-     *
WHEN_ACTIVE means show the text selection whenever
+     *
WHEN_ACTIVE shows the text selection whenever
      *  the component's window is active, even if the component
      *  doesn't have the keyboard focus.

      *
-     *
ALWAYS means show the text selection,
+     *
ALWAYS shows the text selection,
      *  even if the component doesn't have the keyboard focus
      *  or if the component's window isn't the active window.

      *
      *  @default TextSelectionHighlighting.WHEN_FOCUSED
      *
-     *  @see mx.components.TextSelectionHighlighting
+     *  @see spark.components.TextSelectionHighlighting
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2036,10 +2034,6 @@
      *  @see spark.utils.TextFlowUtil#importFromString()
      *  @see spark.utils.TextFlowUtil#importFromXML()
      *  @see spark.components.RichEditableText#text
-     *  @see spark.components.RichEditableText#horizontalScrollPosition
-     *  @see spark.components.RichEditableText#verticalScrollPosition
-     *  @see spark.components.RichEditableText#selectionAnchorPosition
-     *  @see spark.components.RichEditableText#selectionActivePosition
      */
     public function get textFlow():TextFlow
     {
@@ -2966,7 +2960,7 @@
      *
      *
If you don't specify a range, the selected range is used.

      *
-     *  @param requestedFormats A Vector of Strings specifying the the names
+     *  @param requestedFormats A Vector of Strings specifying the names
      *  of the requested formats, or null to request all formats.
      *
      *  @param anchorPosition A character position specifying
@@ -3091,15 +3085,25 @@
      *  A value of undefined does not get applied.
      *  If you don't specify a range, the selected range is used.

      *
-     *
For example, calling
+     *
The following example sets the fontSize and color of the selection:
      *

      *  var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
      *  textLayoutFormat.fontSize = 12;
      *  textLayoutFormat.color = 0xFF0000;
-     *  setFormatOfRange(textLayoutFormat);
+     *  myRET.setFormatOfRange(textLayoutFormat);
      *

-     *  will set the fontSize and color of the selection.

+     *

      *
+     *  @params format The TextLayoutFormat to apply to the selection.
+     *
+     *  @params anchorPosition A character position, relative to the beginning of the
+     *  text String, specifying the end of the selection that stays fixed when the
+     *  selection is extended with the arrow keys.
+     *
+     *  @params activePosition A character position, relative to the beginning of the
+     *  text String, specifying the end of the selection that moves when the
+     *  selection is extended with the arrow keys.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5


XIFF-32: Restored the original behaviour of IncomingDataEvent

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

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -1374,85 +1374,85 @@

 			if ( xmlData != null )
 			{
-				var rawData:ByteArray = new ByteArray();
-				rawData.writeUTFBytes( xmlData.toXMLString() );
+

 				// Add default namespace which is not usually included in XML from the server
 				xmlData.setNamespace( XMLStanza.DEFAULT_NS );
 				xmlData.normalize();

+				for each (var child:XML in xmlData.children())
+				{
+					// Read the data and send it to the appropriate parser
+					handleNodeType( child );
+				}
+			}
+		}
+
+		/**
+		 * Check if the incoming data is complete once added to any existing
+		 * incoming data.
+		 *
+		 * @param	data
+		 * @return XML that is complete, or just null in case it is not complete
+		 */
+		protected function checkIncomingData( bytedata:ByteArray ):XML
+		{
+			var data:String = bytedata.readUTFBytes( bytedata.length );
+			var rawXML:String = incompleteRawXML + data;
+
+			// Incoming event should have the real incoming string
+			var rawData:ByteArray = new ByteArray();
+			rawData.writeUTFBytes( rawXML );
+
+			// data coming in could also be parts of base64 encoded stuff.
+
+			// parseXML is more strict in AS3 so we must check for the presence of flash:stream
+			// the unterminated tag should be in the first string of xml data retured from the server
+
+			// http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/RegExp.html
+			var regExpOpen:RegExp = new RegExp( "<" + openingStreamTagSearch );
+			var regExpOpenExec:Object = regExpOpen.exec( rawXML );
+
+			var regExpClose:RegExp = new RegExp( closingStreamTag );
+			var regExpCloseExec:Object = regExpClose.exec( rawXML );
+
+			// Create qualified XML if needed.
+			// Anything that is not wrapped to stream:stream will get wrapped to it.
+			if ( regExpOpenExec == null )
+			{
+				rawXML = openingStreamTag + rawXML;
+			}
+			if ( regExpCloseExec == null )
+			{
+				// What about when the opening tag is the only, and self closing?
+				rawXML = rawXML.concat( closingStreamTag );
+			}
+
+			var isComplete:Boolean = false;
+			var xmlData:XML;
+
+			// Error handling to catch incomplete xml strings that have
+			// been truncated by the socket
+			try
+			{
+				xmlData = new XML( rawXML );
+				isComplete = true;
+				incompleteRawXML = '';
+			}
+			catch( err:Error )
+			{
+				trace(getTimer() + " - parseDataReceived. err: " + err.message);
+
+				// Concatenate the raw xml to the previous xml
+				incompleteRawXML += data;
+			}
+
+			if (isComplete)
+			{
 				var incomingEvent:IncomingDataEvent = new IncomingDataEvent();
 				incomingEvent.data = rawData;
 				dispatchEvent( incomingEvent );
-
-				var len:uint = xmlData.children().length();
-
-				for ( var i:int = 0; i < len; ++i )
-				{
-					// Read the data and send it to the appropriate parser
-					var currentNode:XML = xmlData.children()[ i ];
-					handleNodeType( currentNode );
-				}
-			}
-		}
-
-		/**
-		 * Check if the incoming data is complete once added to any existing
-		 * incoming data.
-		 *
-		 * @param	data
-		 * @return XML that is complete, or just null in case it is not complete
-		 */
-		protected function checkIncomingData( bytedata:ByteArray ):XML
-		{
-			var data:String = bytedata.readUTFBytes( bytedata.length );
-			var rawXML:String = incompleteRawXML + data;
-
-			// data coming in could also be parts of base64 encoded stuff.
-
-			// parseXML is more strict in AS3 so we must check for the presence of flash:stream
-			// the unterminated tag should be in the first string of xml data retured from the server
-
-			// http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/RegExp.html
-			var regExpOpen:RegExp = new RegExp( "<" + openingStreamTagSearch );
-			var regExpOpenExec:Object = regExpOpen.exec( rawXML );
-
-			var regExpClose:RegExp = new RegExp( closingStreamTag );
-			var regExpCloseExec:Object = regExpClose.exec( rawXML );
-
-			// Create qualified XML if needed.
-			// Anything that is not wrapped to stream:stream will get wrapped to it.
-			if ( regExpOpenExec == null )
-			{
-				rawXML = openingStreamTag + rawXML;
-			}
-			if ( regExpCloseExec == null )
-			{
-				// What about when the opening tag is the only, and self closing?
-				rawXML = rawXML.concat( closingStreamTag );
-			}
-
-			var isComplete:Boolean = false;
-			var xmlData:XML;
-
-			// Error handling to catch incomplete xml strings that have
-			// been truncated by the socket
-			try
-			{
-				xmlData = new XML( rawXML );
-				isComplete = true;
-				incompleteRawXML = '';
-			}
-			catch( err:Error )
-			{
-				trace(getTimer() + " - parseDataReceived. err: " + err.message);
-
-				// Concatenate the raw xml to the previous xml
-				incompleteRawXML += data;
-			}
-
-			if (isComplete)
-			{
+
 				return xmlData;
 			}
 			return null;


- feature: added official CSS support for rotation property

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

--- src/reprise/css/propertyparsers/DisplayPosition.as
+++ src/reprise/css/propertyparsers/DisplayPosition.as
@@ -55,6 +55,7 @@
 			blendMode : {parser : strToStringProperty},
 			opacity : {parser : strToFloatProperty},
 			frameRate : {parser : strToIntProperty},
+			rotation : {parser : strToFloatProperty},
 			transform : {parser : parseTransform},
 			transformOrigin : {parser : parseTransformOrigin},
 			transformOriginX : {parser : strToIntProperty},


Change 20080314-maxcarlson-L by maxcarlson@Roboto on 2008-03-14 12:54:25 PDT
    in /Users/maxcarlson/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Reset both horizontal and vertical scrolling after setFocus()

New Features:

Bugs Fixed: LPP-5450 - Cursor position moves when clicking on inputtext containing text longer than its width

Technical Reviewer: promanik
QA Reviewer: pkang@laszlosystems.com
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: Reset scrolling after setFocus()

Tests: See LPP-5450.

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

--- WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as
@@ -189,14 +189,15 @@
 LzInputTextSprite.prototype.select = function (  ){
     var sf = targetPath(this.__LZtextclip);

-    // calling setFocus() seems to bash the scroll value, so save it
+    // calling setFocus() bashes the scroll and hscroll values, so save them
     var myscroll = this.__LZtextclip.scroll;
+    var myhscroll = this.__LZtextclip.hscroll;
     if( Selection.getFocus() != sf ) {
         Selection.setFocus( sf );
     }
-    this.__LZtextclip.hscroll = 0;
-    // restore the scroll value
+    // restore the scroll and hscroll values
     this.__LZtextclip.scroll = myscroll;
+    this.__LZtextclip.hscroll = myhscroll;
     this.__LZtextclip.background = false;
 }


filtering out null menu items

filtering out null menu items

--- WeaveData/src/weave/primitives/WeaveTreeItem.as
+++ WeaveData/src/weave/primitives/WeaveTreeItem.as
@@ -55,7 +55,7 @@
 				return new item();

 			// If the item is a String or an Object, we can pass it to the constructor.
-			if (item is String || Object(item).constructor == Object)
+			if (item is String || (item != null && Object(item).constructor == Object))
 			{
 				var ItemClass:Class = this as Class || WeaveTreeItem;
 				return new ItemClass(item);
@@ -230,7 +230,7 @@
 			if (!items)
 				return null;

-			return items.map(_mapItems, childItemClass);
+			return items.map(_mapItems, childItemClass).filter(_filterItems);
 		}

 		/**


added checks for null

added checks for null

--- WeaveJS/src/weavejs/core/LinkablePlaceholder.as
+++ WeaveJS/src/weavejs/core/LinkablePlaceholder.as
@@ -18,6 +18,8 @@
 	{
 		public function LinkablePlaceholder(classDef:/*/new(..._:any[])=>T/*/Class)
 		{
+			if (!classDef)
+				throw new Error("classDef cannot be null");
 			this.classDef = classDef;
 			_bypassDiff = classDef === LinkableVariable || classDef.prototype is LinkableVariable;
 		}
@@ -111,7 +113,7 @@

 		public static function replaceInstanceWithPlaceholder(instance:ILinkableObject):void
 		{
-			if (instance is LinkablePlaceholder || Weave.wasDisposed(instance))
+			if (!instance || instance is LinkablePlaceholder || Weave.wasDisposed(instance))
 				return;

 			var placeholder:LinkablePlaceholder = new LinkablePlaceholder(getClass(instance));


Transferred from the Adobe Open Source Subversion Repository

Revision: 10398
Author:   smgilson@adobe.com
Date:     2009-09-18T17:55:20.625830Z

Log Message:
-----------
ASdoc fix for the data type to the function passed to the fault arg of the constructor. It was listed as ErrorMessage and it should have been FaultEvent

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as

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

--- frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as
+++ frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as
@@ -55,7 +55,7 @@
      *  @param fault Function that should be called when the request has
      *          completed with errors.
      *          Must have the following signature:
-     *
public function (error:ErrorMessage, token:Object = null):void;

+     *
public function (error:FaultEvent, token:Object = null):void;

      *  @param token Additional information to associate with
      *          this request.
      *


Incremented the number of iterations to something reasonable (r=lhansen)

--- test/acceptance/mmgc/pauseForGCIfCollectionImminent.as
+++ test/acceptance/mmgc/pauseForGCIfCollectionImminent.as
@@ -34,11 +34,9 @@
  * the terms of any one of the MPL, the GPL or the LGPL.
  *
  * ***** END LICENSE BLOCK ***** */
-try {
-    import avmplus. * ; // System class in the avmshell
-} catch (e) {
-    import flash.system. * ; // System class in the flash player
-}
+
+import avmplus.* ;      // System class in the avmshell
+import flash.system.* ; // System class in the flash player

 var SECTION = "System::pauseForGCIfCollectionImminent";
 var VERSION = "";
@@ -57,8 +55,15 @@
     }
 }

-var i_loops = 400;
-var j_loops = 500;
+// DO NOT MESS WITH THE PARAMETER VALUES.
+//
+// If the test takes to long to run on mobile with these values then either set the values
+// differently on mobile, or disable the test on mobile.  On desktop we need a decent
+// number of iterations in order to be able to run reliably, the test is statistical and
+// sometimes getting a hit is tricky on a fast machine.
+
+var i_loops = 1000;
+var j_loops = 1000;

 var start = new Date();
 var fractions = [Number.MIN_VALUE, 0, -0,  0.25, 0.5, 0.75, 1.0];


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

--- frameworks/projects/framework/src/mx/managers/layoutClasses/LayoutDebugHelper.as
+++ frameworks/projects/framework/src/mx/managers/layoutClasses/LayoutDebugHelper.as
@@ -1,14 +1,4 @@

-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.managers.layoutClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/CallActionInstance.as
@@ -9,7 +9,7 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-package mx.effects.effectClasses
+package spark.effects.supportClasses
 {

 import mx.effects.effectClasses.ActionEffectInstance;


Transferred from the Adobe Open Source Subversion Repository

Revision: 21764
Author:   ksimm@adobe.com
Date:     2011-08-02T00:24:41.948406Z

Log Message:
-----------
Added the localization codes to DateSpinner and DateAndTimeRangeList and add three new globalization classes to the spark.globalization.supportClasses package.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Jason Szeto
Tests run: checkintests, mustella
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateAndTimeRangeList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as
+++ frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as
@@ -0,0 +1,195 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.globalization.supportClasses
+{
+import flash.errors.IllegalOperationError;
+import flash.events.EventDispatcher;
+import flash.globalization.DateTimeStyle;
+import flash.events.Event;
+
+import mx.core.mx_internal;
+
+import spark.formatters.DateTimeFormatter;
+
+use namespace mx_internal;
+
+[ResourceBundle("core")]
+
+[ExcludeClass]
+
+/**
+ *  CalendarDate class provides a set of utility functions
+ *  to deal with date manipulations about calendars.
+ *
+ *
For the Mega release, this class supports only Gregorian
+ *  calendar support and provideds the minimum functions.

+ *
+ *
For the Ultra relase, the intention is to virtualize calendars
+ *  (Greogorian, Arabic, Hebrew, Japapane etc.) and to provide the
+ *  uniformed operations for calendars, such as ways to increment/decrement
+ *  month and year and so on.

+ *
+ *  @see spark.formatters.DateTimeFormatter
+ *  @see flash.globalization.DateTimeFormatter
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 11
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class CalendarDate
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Class Constants
+    //
+    //--------------------------------------------------------------------------
+
+    private static const MILLISECONDS_PER_DAY:int = 1000 * 60 * 60 * 24;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructs a new CalendarDate object.
+     *
+     *
If the date argument is a null,
+     *  today's date will be used.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function CalendarDate(date:Date = null)
+    {
+        if (!date)
+            date = new Date();
+
+        this.date = date;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  date
+    //----------------------------------
+
+    /**
+     *  @private
+     *
+     *  The internal storage for the date property.
+     */
+    private var _date:Date;
+
+    /**
+     *  The date object that represents a date in Gregorian calendar.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function get date():Date
+    {
+        return _date;
+    }
+
+    public function set date(value:Date):void
+    {
+        _date = value;
+    }
+
+    //----------------------------------
+    //  numDaysInMonth
+    //----------------------------------
+
+    /**
+     *  Number of days in the current month.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function get numDaysInMonth():int
+    {
+        return getEndOfMonth(date).date - getBeginingOfMonth(date).date + 1;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Private Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Calculate the begining of the current month.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    private static function getBeginingOfMonth(date:Date):Date
+    {
+        const d:Date = new Date(date);
+
+        d.date = 1;
+
+        return d;
+    }
+
+    /**
+     *  Calculate the begining of the next month.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    private static function getBeginingOfNextMonth(date:Date):Date
+    {
+        const d:Date = new Date(date);
+
+        d.date = 28;
+        while (d.month == date.month)
+            d.time += MILLISECONDS_PER_DAY;
+
+        return d;
+    }
+
+    /**
+     *  Calculate the end of the current month.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 11
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    private static function getEndOfMonth(date:Date):Date
+    {
+        const d:Date = getBeginingOfNextMonth(date);
+
+        d.time -= MILLISECONDS_PER_DAY;
+
+        return d;
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19635
Author:   aharui@adobe.com
Date:     2011-01-07T00:25:18.039632Z

Log Message:
-----------
revert the layout changes from svn 18635.  Management feels that there isn't enough time to thoroughly test the changes.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.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@1285538 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as
@@ -93,9 +93,6 @@
     // What the length will be after any pending changes are flushed.
     private var pendingLength:int = -1;

-    // true if minorSize was set in cacheDimensions from the layoutBounds minor dimension
-    public var minorSizeBasedOnLayoutSize:Boolean;
-
     public function LinearLayoutVector(majorAxis:uint = VERTICAL)
     {
         super();
@@ -268,7 +265,6 @@
     public function set minorSize(value:Number):void
     {
         _minorSize = value;
-        minorSizeBasedOnLayoutSize = false;
     }

     //----------------------------------
@@ -1065,10 +1061,7 @@
         if (majorAxis == VERTICAL)
         {
             setMajorSize(index, elt.getLayoutBoundsHeight());
-            var lw:Number = elt.getLayoutBoundsWidth();
-            var w:Number = Math.min(elt.getPreferredBoundsWidth(), lw);
-            if (lw == w)
-                minorSizeBasedOnLayoutSize = true;
+            var w:Number = Math.min(elt.getPreferredBoundsWidth(), elt.getLayoutBoundsWidth());

             // Use the _minorSize instead of the getter, since the getter returns maximum
             // of _minorSize and _defaultMinorSize.
@@ -1077,12 +1070,9 @@
         }
         else
         {
-            setMajorSize(index, elt.getLayoutBoundsWidth());
-            var lh:Number = elt.getLayoutBoundsHeight();
-            var h:Number = Math.min(elt.getPreferredBoundsHeight(), lh);
-            if (lh == h)
-                minorSizeBasedOnLayoutSize = true;
-
+            setMajorSize(index, elt.getLayoutBoundsWidth());
+            var h:Number = Math.min(elt.getPreferredBoundsHeight(), elt.getLayoutBoundsHeight());
+
             // Use the _minorSize instead of the getter, since the getter returns maximum
             // of _minorSize and _defaultMinorSize.
             _minorSize = Math.max(_minorSize, h);


fixed missing </p> in the ASDoc of Geometry.applyTransform()

--- src/aerys/minko/scene/node/mesh/geometry/Geometry.as
+++ src/aerys/minko/scene/node/mesh/geometry/Geometry.as
@@ -247,7 +247,7 @@
 		 *
vertex tangents, if any (VertexComponent.TANGENT)

 		 *

 		 *
-		 *
Vertex normals and tangents will be transformed without translation
+		 *
Vertex normals and tangents will be transformed without translation

 		 */
 		public function applyTransform(transform 		: Matrix4x4,
 									   updatePositions	: Boolean	= true,


onRecentDevice() changed to onMostRecentDevice(), plus other minor formatting changes

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -22,9 +22,9 @@
 		// More info: https://github.com/zeh/key-action-binder

 		// Constants
-		public static const VERSION:String = "1.8.7";
-
-		public static const KEYBOARD_DEVICE:GameInputDevice=null; // is set to null, since gamepads are non-null (and you can't create/subclass a GameInputDevice)
+		public static const VERSION:String = "2.9.11";
+
+		public static const KEYBOARD_DEVICE:GameInputDevice = null;		// Set to null by default, since gamepads are non-null (and you can't create/subclass a GameInputDevice)

 		[Embed(source = "controllers.json", mimeType='application/octet-stream')]
 		private static const JSON_CONTROLLERS:Class;
@@ -38,7 +38,7 @@
 		private var _isRunning:Boolean;
 		private var _alwaysPreventDefault:Boolean;						// If true, prevent action by other keys all the time (e.g. menu key)
 		private var _maintainPlayerPositions:Boolean;					// Whether it tries to keep player positions or not
-		private var _recentDevice:GameInputDevice;						// the most recent device that sent an event
+		private var _recentDevice:GameInputDevice;						// The most recent device that sent an event

 		// Instances
 		private var bindings:Vector.<BindingInfo>;						// Actual existing bindings, their action, and whether they're activated or not
@@ -47,8 +47,8 @@
 		private var _onActionActivated:SimpleSignal;					// Receives: action:String
 		private var _onActionDeactivated:SimpleSignal;					// Receives: action:String
 		private var _onActionValueChanged:SimpleSignal;					// Receives: action:String, value:Number (0-1)
-		private var _onDevicesChanged:SimpleSignal;
-		private var _onRecentDevice:SimpleSignal;						//  Receives: recentDevice:GameInputDevice
+		private var _onDevicesChanged:SimpleSignal;						// Receives: (no parameters)
+		private var _onRecentDeviceChanged:SimpleSignal;				// Receives: recentDevice:GameInputDevice

 		private var gameInputDevices:Vector.<GameInputDevice>;
 		private var gameInputDeviceIds:Vector.<String>;
@@ -58,6 +58,7 @@

 		// Properties to avoid allocations
 		private var mi:Number;											// Used in map()
+

 		// ================================================================================================================
 		// STATIC CONSTRUCTOR ---------------------------------------------------------------------------------------------
@@ -218,7 +219,7 @@
 			_onActionDeactivated = new SimpleSignal();
 			_onActionValueChanged = new SimpleSignal();
 			_onDevicesChanged = new SimpleSignal();
-			_onRecentDevice = new SimpleSignal();
+			_onRecentDeviceChanged = new SimpleSignal();

 			gameInputDevices = new Vector.<GameInputDevice>();
 			gameInputDeviceIds = new Vector.<String>();
@@ -475,7 +476,7 @@

 						// Dispatches signal
 						if (activationInfo.getNumActivations() == 1) {
-							recentDevice = gameInputDevices[__gamepadIndex]
+							recentDevice = gameInputDevices[__gamepadIndex];
 							_onActionActivated.dispatch(filteredControls[i].action);
 						}
 					} else {
@@ -624,9 +625,9 @@
 		}

 		private function set recentDevice(value:GameInputDevice):void {
-			if(_recentDevice != value) {
+			if (_recentDevice != value) {
 				_recentDevice = value;
-				_onRecentDevice.dispatch(value);
+				_onRecentDeviceChanged.dispatch(value);
 			}
 		}

@@ -897,8 +898,8 @@
 			return _onDevicesChanged;
 		}

-		public function get onRecentDevice():SimpleSignal {
-			return _onRecentDevice;
+		public function get onRecentDeviceChanged():SimpleSignal {
+			return _onRecentDeviceChanged;
 		}

 		/**
@@ -1051,7 +1052,6 @@
 }
 import flash.utils.Dictionary;
 import flash.utils.getTimer;
-
 /**
  * Information listing all activated bindings of a given action
  */
@@ -1322,3 +1322,4 @@
 	public function AutoGamepadControlKeyInfo() {
 	}
 }
+


Fewer magic numbers being used as parameters: using constants instead of -1 to mean "any" in methods

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -26,9 +26,9 @@

 		public static const KEYBOARD_DEVICE:GameInputDevice = null;		// Set to null by default, since gamepads are non-null (and you can't create/subclass a GameInputDevice)

-		public static const GAMEPAD_INDEX_ANY:uint = 81653811;
-		public static const KEY_CODE_ANY:uint = 81653812;
-		public static const KEY_LOCATION_ANY:uint = 81653813;
+		public static const GAMEPAD_INDEX_ANY:int = 81653811;
+		public static const KEY_CODE_ANY:int = 81653812;
+		public static const KEY_LOCATION_ANY:int = 81653813;

 		[Embed(source = "controllers.json", mimeType='application/octet-stream')]
 		private static const JSON_CONTROLLERS:Class;
@@ -544,7 +544,7 @@
 			for (i = 0; i < gameInputDeviceDefinitions.length; i++) {
 				if (gameInputDeviceDefinitions[i] != null) {
 					for (j = 0; j < gameInputDeviceDefinitions[i].keys.length; j++) {
-						if (gameInputDeviceDefinitions[i].keys[j].keyCode == __e.keyCode && (gameInputDeviceDefinitions[i].keys[j].keyLocation == -1 || gameInputDeviceDefinitions[i].keys[j].keyLocation == __e.keyLocation)) {
+						if (gameInputDeviceDefinitions[i].keys[j].keyCode == __e.keyCode && (gameInputDeviceDefinitions[i].keys[j].keyLocation == KEY_LOCATION_ANY || gameInputDeviceDefinitions[i].keys[j].keyLocation == __e.keyLocation)) {
 							// This key's code and location matches the pressed key, inject the press event
 							interpretGameInputControlChanges(gameInputDeviceDefinitions[i].keys[j].id, gameInputDeviceDefinitions[i].keys[j].max, gameInputDeviceDefinitions[i].keys[j].min, gameInputDeviceDefinitions[i].keys[j].max, i);
 							return;
@@ -579,7 +579,7 @@
 			for (i = 0; i < gameInputDeviceDefinitions.length; i++) {
 				if (gameInputDeviceDefinitions[i] != null) {
 					for (j = 0; j < gameInputDeviceDefinitions[i].keys.length; j++) {
-						if (gameInputDeviceDefinitions[i].keys[j].keyCode == __e.keyCode && (gameInputDeviceDefinitions[i].keys[j].keyLocation == -1 || gameInputDeviceDefinitions[i].keys[j].keyLocation == __e.keyLocation)) {
+						if (gameInputDeviceDefinitions[i].keys[j].keyCode == __e.keyCode && (gameInputDeviceDefinitions[i].keys[j].keyLocation == KEY_LOCATION_ANY || gameInputDeviceDefinitions[i].keys[j].keyLocation == __e.keyLocation)) {
 							// This key's code and location matches the pressed key, inject the release event
 							interpretGameInputControlChanges(gameInputDeviceDefinitions[i].keys[j].id, gameInputDeviceDefinitions[i].keys[j].min, gameInputDeviceDefinitions[i].keys[j].min, gameInputDeviceDefinitions[i].keys[j].max, i);
 							return;
@@ -709,8 +709,8 @@
 		 * @param action		An arbitrary String id identifying the action that should be dispatched once this
 		 *						key combination is detected.
 		 * @param keyCode		The code of a key, as expressed in AS3's Keyboard constants.
-		 * @param keyLocation	The code of a key's location, as expressed in AS3's KeyLocation constants. If a
-		 *						value of -1 or NaN is passed, the key location is never taken into
+		 * @param keyLocation	The code of a key's location, as expressed in AS3's KeyLocation constants. If the
+		 *						default value is passed, the key location is never taken into
 		 *						consideration when detecting whether the passed action should be fired.
 		 *
 		 *
Examples:

@@ -730,10 +730,10 @@
 		 *

 		 *
 		 * @see flash.ui.Keyboard
+		 * @see #isActionActivated()
 		 * @see #removeKeyboardActionBinding()
 		 */
 		public function addKeyboardActionBinding(__action:String, __keyCode:int = KEY_CODE_ANY, __keyLocation:int = KEY_LOCATION_ANY):void {
-
 			// Create a binding to be verified later
 			bindings.push(new BindingInfo(__action, new KeyboardBinding(__keyCode, __keyLocation)));
 			prepareAction(__action);
@@ -745,8 +745,8 @@
 		 * @param action		An arbitrary String id identifying the action that should be dispatched once this
 		 *						key combination is detected.
 		 * @param keyCode		The code of a key, as expressed in AS3's Keyboard constants.
-		 * @param keyLocation	The code of a key's location, as expressed in AS3's KeyLocation constants. If a
-		 *						value of -1 or NaN is passed, the key location is never taken into
+		 * @param keyLocation	The code of a key's location, as expressed in AS3's KeyLocation constants. If the
+		 *						default value is passed, the key location is never taken into
 		 *						consideration when detecting whether the passed action should be fired.
 		 *
 		 * @see flash.ui.Keyboard
@@ -780,12 +780,12 @@
 		 *
 		 * @param action		An arbitrary String id identifying the action that should be dispatched once this
 		 *						input combination is detected.
-		 * @param controlId		The id code of a GameInput contol, as an String. Use one of the constants from
+		 * @param controlId		The id code of a GameInput control, as an String. Use one of the constants from
 		 *						GamepadControls.
 		 * @param gamepadIndex	The int of the gamepad that you want to restrict this action to. Use 0 for the
-		 *						first gamepad (player 1), 1 for the second one, and so on. If a value of -1 or
-		 *						NaN is passed, the gamepad index is never taken into consideration
-		 *						when detecting whether the passed action should be fired.
+		 *						first gamepad (player 1), 1 for the second one, and so on. If the default value
+		 *						is passed, the gamepad index is never taken into consideration when detecting
+		 *						whether the passed action should be fired.
 		 *
 		 *
Examples:

 		 *
@@ -827,17 +827,15 @@
 		 * Removes an action bound to a game controller button, trigger, or axis.
 		 *
 		 * @param action		An arbitrary String id identifying the action that should be no longer bound.
-		 * @param controlId		The id code of a GameInput contol, as an String. Use one of the constants from
+		 * @param controlId		The id code of a GameInput control, as an String. Use one of the constants from
 		 *						GamepadControls.
 		 * @param gamepadIndex	The int of the gamepad that you want to restrict this action to. Use 0 for the
-		 *						first gamepad (player 1), 1 for the second one, and so on. If a value of -1 or
-		 *						NaN is passed, the gamepad index is never taken into consideration
-		 *						when detecting whether the passed action should be fired.
+		 *						first gamepad (player 1), 1 for the second one, and so on. If the default value
+		 *						is passed, the gamepad index is never taken into consideration when detecting
+		 *						whether the passed action should be fired.
 		 *
 		 * @see GamepadControls
 		 * @see #addGamepadActionBinding()
-		 * @see #isActionActivated()
-		 * @see #getActionValue()
 		 */
 		public function removeGamepadActionBinding(__action:String, __controlId:String, __gamepadIndex:int = GAMEPAD_INDEX_ANY):void {
 			var bindingsToRemove:Vector.<BindingInfo> = new <BindingInfo>[];
@@ -864,12 +862,12 @@
 		 * Reads the current value of an action.
 		 *
 		 * @param action		The id of the action you want to read the value of.
-		 * @param controlId		The id code of a GameInput contol, as an String. Use one of the constants from
+		 * @param controlId		The id code of a GameInput control, as an String. Use one of the constants from
 		 *						GamepadControls.
 		 * @param gamepadIndex	The int of the gamepad that you want to restrict this action to. Use 0 for the
-		 *						first gamepad (player 1), 1 for the second one, and so on. If a value of -1 or
-		 *						NaN is passed, the gamepad index is never taken into consideration
-		 *						when detecting whether the passed action should be fired.
+		 *						first gamepad (player 1), 1 for the second one, and so on. If the default value
+		 *						is passed, the gamepad index is never taken into consideration when detecting
+		 *						whether the passed action should be fired.
 		 * @return				A numeric value based on the bindings that might have activated this action.
 		 *						The maximum and minimum values returned depend on the kind of control passed
 		 *						via addGamepadActionBinding().
@@ -888,7 +886,7 @@
 		 * @see #addGamepadActionBinding()
 		 * @see #isActionActivated()
 		 */
-		public function getActionValue(__action:String, __gamepadIndex:int = -1):Number {
+		public function getActionValue(__action:String, __gamepadIndex:int = GAMEPAD_INDEX_ANY):Number {
 			return actionsActivations.hasOwnProperty(__action) ? (actionsActivations[__action] as ActivationInfo).getValue(__gamepadIndex) : 0;
 		}

@@ -924,7 +922,7 @@
 		 * @see #getActionValue()
 		 * @see http://zehfernando.com/2013/keyactionbinder-updates-time-sensitive-activations-new-constants/
 		 */
-		public function isActionActivated(__action:String, __timeToleranceSeconds:Number = 0, __gamepadIndex:int = -1):Boolean {
+		public function isActionActivated(__action:String, __timeToleranceSeconds:Number = 0, __gamepadIndex:int = GAMEPAD_INDEX_ANY):Boolean {
 			return actionsActivations.hasOwnProperty(__action) && (actionsActivations[__action] as ActivationInfo).getNumActivations(__timeToleranceSeconds, __gamepadIndex) > 0;
 		}

@@ -1160,7 +1158,7 @@
 	// ================================================================================================================
 	// PUBLIC INTERFACE -----------------------------------------------------------------------------------------------

-	public function addActivation(__bindingInfo:BindingInfo, __gamepadIndex:int = -1):void {
+	public function addActivation(__bindingInfo:BindingInfo, __gamepadIndex:int = KeyActionBinder.GAMEPAD_INDEX_ANY):void {
 		activations.push(__bindingInfo);
 		activationGamepadIndexes.push(__gamepadIndex);
 	}
@@ -1173,7 +1171,7 @@
 		}
 	}

-	public function getNumActivations(__timeToleranceSeconds:Number = 0, __gamepadIndex:int = -1):int {
+	public function getNumActivations(__timeToleranceSeconds:Number = 0, __gamepadIndex:int = KeyActionBinder.GAMEPAD_INDEX_ANY):int {
 		// If not time-sensitive, just return it
 		if ((__timeToleranceSeconds <= 0 && __gamepadIndex < 0) || activations.length == 0) return activations.length;
 		// Otherwise, actually check for activation time and gamepad index
@@ -1190,12 +1188,12 @@
 		activationGamepadIndexes.length = 0;
 	}

-	public function addSensitiveValue(__actionId:String, __value:Number, __gamepadIndex:int = -1):void {
+	public function addSensitiveValue(__actionId:String, __value:Number, __gamepadIndex:int = KeyActionBinder.GAMEPAD_INDEX_ANY):void {
 		sensitiveValues[__actionId] = __value;
 		sensitiveValuesGamepadIndexes[__actionId] = __gamepadIndex;
 	}

-	public function getValue(__gamepadIndex:int = -1):Number {
+	public function getValue(__gamepadIndex:int = KeyActionBinder.GAMEPAD_INDEX_ANY):Number {
 		iiv = NaN;
 		for (iis in sensitiveValues) {
 			// NOTE: this may be a problem if two different axis control the same action, since -1 is not necessarily better than +0.5


Now keeping separate download counters for meta and geom tiles.

--- WeaveData/src/weave/data/AttributeColumns/StreamedGeometryColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/StreamedGeometryColumn.as
@@ -30,6 +30,7 @@
 	import weave.api.core.ICallbackInterface;
 	import weave.api.data.AttributeColumnMetadata;
 	import weave.api.data.IQualifiedKey;
+	import weave.api.getCallbackCollection;
 	import weave.api.newLinkableChild;
 	import weave.api.primitives.IBounds2D;
 	import weave.api.registerDisposableChild;
@@ -40,6 +41,7 @@
 	import weave.core.ErrorManager;
 	import weave.core.LinkableNumber;
 	import weave.core.LinkableString;
+	import weave.core.StageUtils;
 	import weave.services.beans.GeometryStreamMetadata;
 	import weave.utils.ColumnUtils;
 	import weave.utils.GeometryStreamDecoder;
@@ -124,12 +126,15 @@
 		 */
 		public function isStillDownloading():Boolean
 		{
-			return (_streamDownloadCounter > 0);
+			return _metadataStreamDownloadCounter > 0
+				|| _geometryStreamDownloadCounter > 0;
 		}

 		private var _tileService:IWeaveGeometryTileService;
 		private const _geometryStreamDecoder:GeometryStreamDecoder = newLinkableChild(this, GeometryStreamDecoder);
-		private var _streamDownloadCounter:int = 0;
+
+		private var _geometryStreamDownloadCounter:int = 0;
+		private var _metadataStreamDownloadCounter:int = 0;

 		public var metadataTilesPerQuery:int = 10; //10;
 		public var geometryTilesPerQuery:int = 10; //30;
@@ -181,24 +186,30 @@
 			while (metadataTileIDs.length > 0)
 			{
 				query = _tileService.getMetadataTiles(metadataTileIDs.splice(0, metadataTilesPerQuery));
-				query.addAsyncResponder(handleMetadataStreamDownload, handleDownloadFault, query);
-
-				_streamDownloadCounter++;
+				query.addAsyncResponder(handleMetadataStreamDownload, handleMetadataDownloadFault, query);
+
+				_metadataStreamDownloadCounter++;
 			}
 			// make requests for groups of tiles
 			while (geometryTileIDs.length > 0)
 			{
 				query = _tileService.getGeometryTiles(geometryTileIDs.splice(0, geometryTilesPerQuery));
-				query.addAsyncResponder(handleGeometryStreamDownload, handleDownloadFault, query);
-				_streamDownloadCounter++;
+				query.addAsyncResponder(handleGeometryStreamDownload, handleGeometryDownloadFault, query);
+				_geometryStreamDownloadCounter++;
 			}
 		}

-		private function handleDownloadFault(event:FaultEvent, token:Object = null):void
+		private function handleMetadataDownloadFault(event:FaultEvent, token:Object = null):void
 		{
 			reportError(event);
 			//trace("handleDownloadFault",token,ObjectUtil.toString(event));
-			_streamDownloadCounter--;
+			_metadataStreamDownloadCounter--;
+		}
+		private function handleGeometryDownloadFault(event:FaultEvent, token:Object = null):void
+		{
+			reportError(event);
+			//trace("handleDownloadFault",token,ObjectUtil.toString(event));
+			_geometryStreamDownloadCounter--;
 		}

 		private function handleGetTileDescriptorsFault(event:FaultEvent, token:Object = null):void
@@ -224,10 +235,10 @@
 				projectionSrsCode = result.projection;

 				// handle metadata tiles
-				_geometryStreamDecoder.decodeMetadataTileList(result.metadataTileDescriptors);
+				StageUtils.callLater(this, _geometryStreamDecoder.decodeMetadataTileList, [result.metadataTileDescriptors]);

 				// handle geometry tiles
-				_geometryStreamDecoder.decodeGeometryTileList(result.geometryTileDescriptors);
+				StageUtils.callLater(this, _geometryStreamDecoder.decodeGeometryTileList, [result.geometryTileDescriptors]);

 			}
 			catch (error:Error)
@@ -246,7 +257,7 @@

 		private function handleMetadataStreamDownload(event:ResultEvent, token:Object = null):void
 		{
-			_streamDownloadCounter--;
+			_metadataStreamDownloadCounter--;

 			if (event.result == null)
 			{
@@ -264,7 +275,7 @@

 		private function handleGeometryStreamDownload(event:ResultEvent, token:Object = null):void
 		{
-			_streamDownloadCounter--;
+			_geometryStreamDownloadCounter--;

 			if (event.result == null)
 			{


Fixed insuffient disposing of RTObject.

Fixed insuffient disposing of RTObject.

--- src/engine/tetragon/data/racetrack/proto/RTObject.as
+++ src/engine/tetragon/data/racetrack/proto/RTObject.as
@@ -184,10 +184,17 @@
 			if (currentSequence && currentSequence.movieClip)
 			{
 				currentSequence.movieClip.removeEventListener(Event2D.COMPLETE, onSequenceComplete);
+				currentSequence = null;
+			}
+			if (sequenceCompleteSignal)
+			{
+				sequenceCompleteSignal.removeAll();
+				sequenceCompleteSignal = null;
 			}
 			if (interval)
 			{
 				interval.dispose();
+				interval = null;
 			}
 		}


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

--- frameworks/projects/charts/src/mx/charts/skins/halo/SelectionSkin.as
+++ frameworks/projects/charts/src/mx/charts/skins/halo/SelectionSkin.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.charts.skins.halo
 {


Added getArrayType().

Added getArrayType().

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -531,6 +531,22 @@
 					return result;
 			}
 			return 0;
+		}
+
+		/**
+		 * This will return the type of item found in the Array if each item has the same type.
+		 * @param a An Array to check.
+		 * @return The type of all items in the Array, or null if the types differ.
+		 */
+		public static function getArrayType(a:Array):Class
+		{
+			if (a.length == 0 || a[0] == null)
+				return null;
+			var type:Class = Object(a[0]).constructor;
+			for each (var item:Object in a)
+				if (item == null || item.constructor != type)
+					return null;
+			return type;
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5119
Author:   smgilson@adobe.com
Date:     2009-03-01T15:19:39.936226Z

Log Message:
-----------
Clean up some ASDoc tags from the addition of the @productversion/@playerversion tags

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.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/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/HTTPRequestMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/NCManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/validators/StringValidator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaMarshaller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/videoClasses/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/Schema.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.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/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDisplayObjectContainerInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.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/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISpriteInterface.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/HaloRectBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/Operation.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12969
Author:   egeorgie@adobe.com
Date:     2009-12-15T21:56:35.581732Z

Log Message:
-----------
Cleanup FIXMEs.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as
@@ -76,9 +76,6 @@
  */
 [SkinState("disabledAndSelected")]

-// FIXME (egeorgie): figure out whether we need this?
-[DefaultBindingProperty(source="selected", destination="label")]
-
 //--------------------------------------
 //  Other metadata
 //--------------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 21064
Author:   jasonsj@adobe.com
Date:     2011-04-12T22:04:05.008582Z

Log Message:
-----------
Updated ActionBarSkin title to work with tight text height consistently. Fixes double-adjustment of titleDisplay height causing the titleDisplay to overlap on the View hit area.

QE notes: none
Doc notes: none
Bugs:
SDK-30131 The titleDisplay of the actionBar steals mouse events because its bounds extend that of the ActionBar
Reviewer: chiedozi
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/trunk/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -389,8 +389,6 @@

         var titleCompX:Number = paddingLeft;
         var titleCompWidth:Number = 0;
-        var titleHeight:Number = 0;
-        var titleCompY:Number = 0;

         var actionGroupX:Number = unscaledWidth;
         var actionGroupWidth:Number = 0;
@@ -450,9 +448,6 @@
             var layoutObject:Object = hostComponent.titleLayout;
             var titlePaddingLeft:Number = (layoutObject.paddingLeft) ? Number(layoutObject.paddingLeft) : 0;
             var titlePaddingRight:Number = (layoutObject.paddingRight) ? Number(layoutObject.paddingRight) : 0;
-
-            titleHeight = titleDisplay.getExplicitOrMeasuredHeight();
-            titleCompY = Math.round((contentGroupsHeight - titleHeight)/2) + paddingTop;

             // align titleDisplay to the absolute center
             var titleAlign:String = getStyle("titleAlign");
@@ -516,8 +511,8 @@
             // check for negative width
             titleCompWidth = (titleCompWidth < 0) ? 0 : titleCompWidth;

-            setElementSize(titleDisplay, titleCompWidth, titleDisplay.realTextHeight);
-            setElementPosition(titleDisplay, titleCompX, titleCompY);
+            setElementSize(titleDisplay, titleCompWidth, contentGroupsHeight);
+            setElementPosition(titleDisplay, titleCompX, paddingTop);

             titleDisplay.visible = true;
         }
@@ -573,7 +568,6 @@
     private var titleDisplayShadow:StyleableTextField;
     private var title:String;
     private var titleChanged:Boolean;
-    private var _realTextHeight:Number;

     public function TitleDisplayComponent()
     {
@@ -646,11 +640,6 @@

         // tightTextHeight
         measuredHeight = titleDisplay.getPreferredBoundsHeight();
-
-        // real measured height plus shadow
-        // used for sizing the UIComponent wrapper to include the descent
-        // this allows transitions to capture all visible text
-        _realTextHeight = titleDisplay.measuredTextSize.y + 1;
     }

     /**
@@ -665,15 +654,21 @@
             titleDisplay.text = title;
         titleDisplay.commitStyles();

-        titleDisplay.setLayoutBoundsPosition(0, 0);
-        titleDisplay.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+        // use preferred width/height, setLayoutBoundsSize will accommodate
+        // for tight text adjustment
+        var tightWidth:Number = titleDisplay.getPreferredBoundsWidth();
+        var tightHeight:Number = titleDisplay.getPreferredBoundsHeight();
+        var tightY:Number = (unscaledHeight - tightHeight) / 2;
+
+        titleDisplay.setLayoutBoundsSize(tightWidth, tightHeight);
+        titleDisplay.setLayoutBoundsPosition(0, (unscaledHeight - tightHeight) / 2);

         // now truncate the text
         titleDisplay.truncateToFit();

         titleDisplayShadow.commitStyles();
-        titleDisplayShadow.setLayoutBoundsPosition(0, 1);
-        titleDisplayShadow.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+        titleDisplayShadow.setLayoutBoundsSize(tightWidth, tightHeight);
+        titleDisplayShadow.setLayoutBoundsPosition(0, tightY + 1);

         titleDisplayShadow.alpha = getStyle("textShadowAlpha");

@@ -708,9 +703,4 @@
     {
         return titleDisplay.isTruncated;
     }
-
-    public function get realTextHeight():Number
-    {
-        return _realTextHeight;
-    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

-/**
- *  The vertical distance in pixels from the top edge of the content area to
- *  the control's baseline position.
- *  If this style is set, the baseline of the component is
- *  anchored to the top edge of its content area; when its container
- *  is resized, the two edges maintain their separation.
- *
- *
This style only has an effect when used on a component in a Canvas container,
- *  or when used on a component in a Panel or Application container that has the
- *  layout property set to absolute.

- *
- *
The default value is undefined, which means it is not set.

- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="baseline", type="String", inherit="no")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3522
Author:   jimurphy@adobe.com
Date:     2008-10-08T19:35:01.705756Z

Log Message:
-----------
rename of the rename:
-FxItemsComponent to FxContainer
-FxDataComponent to FxDataContainer
-FxItemsComponentSkin to FxContainerSkin
-FxDataComponentSkin to FxDataContainerSkin
-FxSelector to FxListBase

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataContainerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxSelectorSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxItemsComponentSkin.mxml" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxContainerSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSelector.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/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDataComponentSkin.mxml</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxItemsComponent.as" copyfrom-rev="3519" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -48,11 +48,11 @@
 [DefaultProperty("contentFactory")]

 /**
- * The ItemsComponent class is the base class for all skinnable components that have
+ * The ContainerSkin class is the base class for all skinnable components that have
  * visual content. This class is not typically instantiated in MXML. It is primarily
  * used as a base class, or as a SkinPart.
  */
-public class FxItemsComponent extends FxContainerBase
+public class FxContainer extends FxContainerBase
 	   implements IDeferredContentOwner
 {
     include "../core/Version.as";
@@ -66,7 +66,7 @@
     /**
      *  Constructor.
      */
-    public function FxItemsComponent()
+    public function FxContainer()
     {
         super();

@@ -363,7 +363,7 @@
                 if (sourceContent)
                     contentGroup.content = sourceContent.slice();
                 else if (_placeHolderGroup.content is IList)
-                    throw new Error("ItemsComponent can not currently handle content of type " +
+                    throw new Error("ContainerSkin can not currently handle content of type " +
                             "IList when adding children dynamically.");
                 else
                     contentGroup.content = _placeHolderGroup.content;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as
+++ frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as
@@ -0,0 +1,225 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+import flash.display.NativeMenu;
+import flash.display.NativeMenuItem;
+import flash.events.Event;
+
+/**
+ *  The FlexNativeMenuEvent class represents events that are associated with menu
+ *  activities in FlexNativeMenu.
+ *
+ *  @see mx.controls.FlexNativeMenu
+ */
+public class FlexNativeMenuEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The FlexNativeMenuEvent.ITEM_CLICK event type constant indicates that the
+     *  user selected a menu item.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

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

+     *
index
+     *         The index in the menu of the selected menu item.

+     *
item
+     *         The item in the dataProvider that was selected.

+     *
label
+     *         The label text of the selected menu item.

+     *
nativeMenu
+     *          The specific NativeMenu instance associated with this event.

+     *
nativeMenuItem
+     *          The specific NativeMenuItem instance associated with this event.

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

+     *
type	FlexNativeMenuEvent.ITEM_CLICK

+     *

+     *
+     *  @eventType itemClick
+     */
+    public static const ITEM_CLICK:String = "itemClick";
+
+    /**
+     *  The FlexNativeMenuEvent.MENU_SHOW type constant indicates that
+     *  the mouse pointer rolled a menu or submenu opened.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

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

+     *
index
+     *         The index in the menu of the selected menu item.

+     *
item
+     *         The item in the dataProvider that was selected.

+     *
label
+     *         The label text of the selected menu item.

+     *
nativeMenu
+     *          The specific NativeMenu instance associated with this event.

+     *
nativeMenuItem
+     *          The specific NativeMenuItem instance associated with this event.

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

+     *
type	FlexNativeMenuEvent.ITEM_CLICK

+     *

+     *
+     *  @eventType menuShow
+     */
+    public static const MENU_SHOW:String = "menuShow";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  Normally called by the FlexNativeMenu object.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble
+     *  up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     *
+     *  @param nativeMenu The specific NativeMenu instance associated with the event.
+     *
+     *  @param nativeMenuItem The specific NativeMenuItem instance associated with the event.
+     *
+     *  @param item The item in the dataProvider of the associated menu item.
+     *
+     *  @param label The label text of the associated menu item.
+     *
+     *  @param index The index in the menu of the associated menu item.
+     */
+    public function FlexNativeMenuEvent(type:String, bubbles:Boolean = false,
+                              cancelable:Boolean = true, nativeMenu:NativeMenu = null,
+                              nativeMenuItem:NativeMenuItem = null, item:Object = null,
+                              label:String = null, index:int = -1)
+    {
+        super(type, bubbles, cancelable);
+
+        this.nativeMenu = nativeMenu;
+        this.nativeMenuItem = nativeMenuItem;
+        this.item = item;
+        this.label = label;
+        this.index = index;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  index
+    //----------------------------------
+
+    /**
+     *  The index of the associated menu item within its parent menu or submenu.
+     *  This is -1 for events that aren't associated with an individual item.
+     */
+    public var index:int;
+
+    //----------------------------------
+    //  item
+    //----------------------------------
+
+    /**
+     *  The specific item in the dataProvider.
+     *  This is null for events that aren't associated with an individual item.
+     */
+    public var item:Object;
+
+    //----------------------------------
+    //  label
+    //----------------------------------
+
+    /**
+     *  The label text of the associated menu item.
+     *  This is null for events that aren't associated with an individual item.
+     */
+    public var label:String;
+
+    //----------------------------------
+    //  nativeMenu
+    //----------------------------------
+
+    /**
+     *  The specific NativeMenu instance associated with the event,
+     *  such as the menu displayed.
+     */
+    public var nativeMenu:NativeMenu;
+
+    //----------------------------------
+    //  nativeMenuItem
+    //----------------------------------
+
+    /**
+     *  The specific NativeMenuItem instance associated with the event,
+     *  such as the item clicked.  This is null for events that aren't
+     *  associated with an individual item.
+     */
+    public var nativeMenuItem:NativeMenuItem;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new FlexNativeMenuEvent(type, bubbles, cancelable, nativeMenu, nativeMenuItem);
+    }
+}
+
+}


FLEX-34625 FLEX-34959 Timeouts are controlled in two places, and I omitted this one in the previous commit.

--- frameworks/projects/spark/tests/spark/skins/spark/FLEX_34625_Tests.as
+++ frameworks/projects/spark/tests/spark/skins/spark/FLEX_34625_Tests.as
@@ -60,7 +60,7 @@
             _textInput = null;
         }

-        [Test(async, timeout=500)]
+        [Test(async, timeout=1100)]
         public function test_focus_skin_with_zero_focus_thickness():void
         {
             //given
@@ -76,7 +76,7 @@
             Async.handleEvent(this, _finishNotifier, Event.COMPLETE, onTestComplete, TIMEOUT_MS);
         }

-        [Test(async, timeout=500)]
+        [Test(async, timeout=1100)]
         public function test_focus_skin_with_NaN_focus_thickness():void
         {
             //given