Transferred from the Adobe Open Source Subversion Repository

Revision: 17501
Author:   jasonsj@adobe.com
Date:     2010-08-27T19:44:32.469540Z

Log Message:
-----------
Added titleDisplay CSS ID selector for styling titleContent separately from other content of ActionBar. Fixes SDK-27583 where verticalAlign=JUSTIFY and fontSize style in ActionBar were sizing TextInput to be larger than normal.
Fixed ActionButtonSkin and NavigationButtonSkin measurement to use ButtonSkinBase measurements.

QE notes:
Doc notes:
Bugs:
SDK-27583 TextInput default height is too large in ActionBar
SDK-27593 ActionContent and NavigationContent buttons are getting truncated
Reviewer: jszeto
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -32,370 +32,6 @@
  *  @productversion Flex 4.5
  */
 [Style(name="backgroundAlpha", type="Number", inherit="no")]
-
-//--------------------------------------
-// TODO (jasonsj): Final styles are pending mobile styling spec
-// Copied from /spark/src/spark/styles/BasicNonInheritingTextStyles.as
-//--------------------------------------
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineBreak
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="lineBreak", type="String", enumeration="toFit,explicit", inherit="no")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingBottom
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="paddingBottom", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingLeft
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="paddingLeft", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingRight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="paddingRight", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#paddingTop
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="paddingTop", type="Number", format="Length", inherit="no", minValue="0.0", maxValue="1000.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#verticalAlign
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="verticalAlign", type="String", enumeration="top,middle,bottom,justify", inherit="no")]
-
-//--------------------------------------
-// TODO (jasonsj): Final styles are pending mobile styling spec
-// Copied from /spark/src/spark/styles/BasicInheritingTextStyles.as
-//--------------------------------------
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#alignmentBaseline
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="alignmentBaseline", type="String", enumeration="useDominantBaseline,roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#baselineShift
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="baselineShift", type="Object", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#cffHinting
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="cffHinting", type="String", enumeration="horizontalStem,none", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#color
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="color", type="uint", format="Color", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#digitCase
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="digitCase", type="String", enumeration="default,lining,oldStyle", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#digitWidth
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="digitWidth", type="String", enumeration="default,proportional,tabular", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#direction
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="direction", type="String", enumeration="ltr,rtl", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#dominantBaseline
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="dominantBaseline", type="String", enumeration="auto,roman,ascent,descent,ideographicTop,ideographicCenter,ideographicBottom", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontFamily
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fontFamily", type="String", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontLookup
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fontLookup", type="String", enumeration="auto,device,embeddedCFF", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontSize
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fontSize", type="Number", format="Length", inherit="yes", minValue="1.0", maxValue="720.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontStyle
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fontStyle", type="String", enumeration="normal,italic", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#fontWeight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="fontWeight", type="String", enumeration="normal,bold", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationRule
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="justificationRule", type="String", enumeration="auto,space,eastAsian", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#justificationStyle
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="justificationStyle", type="String", enumeration="auto,prioritizeLeastAdjustment,pushInKinsoku,pushOutOnly", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#kerning
- *
- *
Kerning is enabled by default for Spark components, but is disabled by default for MX components.
- *  Spark components interpret default as auto,
- *  while MX components interpret default as false.

- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="kerning", type="String", enumeration="auto,on,off", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#ligatureLevel
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="ligatureLevel", type="String", enumeration="common,minimum,uncommon,exotic", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineHeight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="lineHeight", type="Object", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#lineThrough
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="lineThrough", type="Boolean", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#locale
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="locale", type="String", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#renderingMode
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="renderingMode", type="String", enumeration="cff,normal", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlign
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlign", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlignLast
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlignLast", type="String", enumeration="start,end,left,right,center,justify", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textAlpha
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textAlpha", type="Number", inherit="yes", minValue="0.0", maxValue="1.0")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textDecoration
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textDecoration", type="String", enumeration="none,underline", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#textJustify
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="textJustify", type="String", enumeration="interWord,distribute", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingLeft
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="trackingLeft", type="Object", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#trackingRight
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="trackingRight", type="Object", inherit="yes")]
-
-/**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#typographicCase
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Style(name="typographicCase", type="String", enumeration="default,capsToSmallCaps,uppercase,lowercase,lowercaseToSmallCaps", inherit="yes")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 18747
Author:   rfrishbe@adobe.com
Date:     2010-11-19T21:49:23.290523Z

Log Message:
-----------
A few MobileSkin changes

1) Added new protected methods to MobileSkin (getElementPreferredWidth(), getElementPreferredHeight())
2) Renamed MobileSkin resizePart(), positionPart() to resizeElement, positionElement().  This matches MobileItemRenderer but still needs to be PARBed
3) Fixed up multi-line resize in TextAreaSkin

QE notes:
Doc notes:
Bugs: -
Reviewer: Evtim
Tests run: checkintests, mustella cyclone
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/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.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/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/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/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

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

 import flash.events.Event;

+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;

@@ -40,7 +41,7 @@
     //  Constructor
     //
     //--------------------------------------------------------------------------
-
+
     public function TextAreaSkin()
     {
         super();
@@ -73,12 +74,12 @@
             }
         }
     }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------

     public var hostComponent:TextArea;

@@ -116,10 +117,159 @@
         //
         // You can set an explicit width and the height will adjust accordingly. The opposite
         // is not true: setting an explicit height will not adjust the width accordingly.
-        textDisplay.commitStyles();
-        measuredWidth = layoutMeasuredWidth;
-        measuredHeight = Math.max(textDisplay.textHeight + paddingTop + paddingBottom + (TEXT_HEIGHT_PADDING * 2), layoutMeasuredHeight);
-    }
+
+		measuredWidth = layoutMeasuredWidth;
+
+		// now we need to measure textDisplay's height.  Unfortunately, this is tricky and
+		// is dependent on textDisplay's width
+
+		// if we have an estimated width, use it here.  Otherwise, we'll keep it
+		// the same width as it was before
+		if (!isNaN(estimatedWidth))
+			textDisplay.width = estimatedWidth - paddingTop - paddingBottom;
+
+		measuredHeight = Math.max(layoutMeasuredHeight, getElementPreferredHeight(textDisplay) + paddingTop + paddingBottom);
+    }
+
+	/**
+	 *  @private
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.0
+	 *  @productversion Flex 4.5
+	 */
+	override public function setEstimatedSize(estimatedWidth:Number = NaN,
+											  estimatedHeight:Number = NaN,
+											  invalidateSizeAllowed:Boolean = true):void
+	{
+		var oldcw:Number = this.estimatedWidth;
+		var oldch:Number = this.estimatedHeight;
+
+		super.setEstimatedSize(estimatedWidth, estimatedHeight, invalidateSizeAllowed);
+
+		var sameWidth:Boolean = isNaN(estimatedWidth) && isNaN(oldcw) || estimatedWidth == oldcw;
+		var sameHeight:Boolean = isNaN(estimatedHeight) && isNaN(oldch) || estimatedHeight == oldch;
+		if (!(sameHeight && sameWidth))
+		{
+			if (!isNaN(explicitWidth) &&
+				!isNaN(explicitHeight))
+				return;
+
+			if (invalidateSizeAllowed)
+				invalidateSize();
+		}
+	}
+
+	/**
+	 *  @private
+	 *  We override the setLayoutBoundsSize to determine whether to perform
+	 *  text reflow. This is a convenient place, as the layout passes NaN
+	 *  for a dimension not constrained to the parent.
+	 */
+	override public function setLayoutBoundsSize(width:Number,
+												 height:Number,
+												 postLayoutTransform:Boolean = true):void
+	{
+		var newEstimates:Boolean = false;
+		var cw:Number = estimatedWidth;
+		var ch:Number = estimatedHeight;
+		var oldcw:Number = cw;
+		var oldch:Number = ch;
+		// we got lied to, probably the constraints weren't accurate or
+		// couldn't be computed
+		if (!isNaN(width))
+		{
+			if (isNaN(estimatedWidth) || width != estimatedWidth)
+			{
+				cw = width;
+				newEstimates = true;
+			}
+		}
+		// we got lied to, probably the constraints weren't accurate or
+		// couldn't be computed
+		if (!isNaN(height))
+		{
+			if (isNaN(estimatedHeight) || height != estimatedHeight)
+			{
+				ch = height;
+				newEstimates = true;
+			}
+		}
+		if (newEstimates)
+		{
+			setEstimatedSize(cw, ch);
+
+			// re-measure with the new estimated size
+			UIComponentGlobals.layoutManager.validateClient(this, true);
+
+			// set estimated size back to what it was
+			setEstimatedSize(oldcw, oldch, false);
+		}
+
+		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: 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@1268928 13f79535-47bb-0310-9956-ffa450edef68

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkCheckBoxAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkCheckBoxAutomationImpl.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 spark.automation.delegates.components


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 14704
Author:   deeptika@adobe.com
Date:     2010-03-11T14:45:16.496446Z

Log Message:
-----------
Merging revision 14699 from 4.x branch

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/delegates/containers/ApplicationAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as</path>

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkApplicationAutomationImpl.as
@@ -11,235 +11,254 @@

 package spark.automation.delegates.components
 {
-	import flash.display.DisplayObject;
-	import flash.display.DisplayObjectContainer;
-
-	import mx.automation.Automation;
-	import mx.automation.IAutomationManager2;
-	import mx.automation.IAutomationObject;
-	import mx.core.mx_internal;
-
-	import spark.components.Application;
-	import spark.core.IViewport;
-
-	use namespace mx_internal;
-
-	[Mixin]
-	/**
-	 *
-	 *  Defines the methods and properties required to perform instrumentation for the
-	 *  Application class.
-	 *
-	 *  @see spark.components.Application
-	 *
-	 */
-	public class SparkApplicationAutomationImpl extends SparkSkinnableContainerAutomationImpl
-	{
-
-		include "../../../core/Version.as";
-
-		//--------------------------------------------------------------------------
-		//
-		//  Class methods
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Registers the delegate class for a component class with automation manager.
-		 *
-		 *  @param root The SystemManger of the application.
-		 */
-		public static function init(root:DisplayObject):void
-		{
-			Automation.registerDelegateClass(spark.components.Application, SparkApplicationAutomationImpl);
-		}
-
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-
-		/**
-		 *  Constructor.
-		 * @param obj Application object to be automated.
-		 */
-		public function SparkApplicationAutomationImpl(obj:spark.components.Application)
-		{
-			super(obj);
-			recordClick = true;
-			var am:IAutomationManager2 = Automation.automationManager2;
-			am.registerNewApplication(obj);
-		}
-
-		/**
-		 *  @private
-		 */
-		override public function get automationName():String
-		{
-			var am:IAutomationManager2 = Automation.automationManager2;
-			return am.getUniqueApplicationID();
-		}
-
-		/**
-		 *  @private
-		 */
-		protected function get application():spark.components.Application
-		{
-			return uiComponent as spark.components.Application;
-		}
-
-		/**
-		 *  @private
-		 */
-		override protected function componentInitialized():void
-		{
-			super.componentInitialized();
-			// Override for situations where an app is loaded into another
-			// application. Find the Flex loader that contains us.
-			var owner:IAutomationObject = application.owner as IAutomationObject;
-
-			if ((!owner)  && application.systemManager.isTopLevel() == false)
-			{
-				try
-				{
-					var findAP:DisplayObject = application.parent;
-
-					owner = findAP as IAutomationObject;
-					while (findAP && !(owner))
-					{
-						findAP = findAP.parent;
-						owner = findAP as IAutomationObject;
-					}
-
-					application.owner = owner as DisplayObjectContainer;
-				}
-				catch (e:Error)
-				{
-				}
-			}
-		}
-
-
-		override public function getAutomationChildren():Array
-		{
-			var childList:Array = new Array();
-
-			var am:IAutomationManager2 = Automation.automationManager2;
-
+    import flash.display.DisplayObject;
+    import flash.display.DisplayObjectContainer;
+
+    import mx.automation.Automation;
+    import mx.automation.IAutomationManager2;
+    import mx.automation.IAutomationObject;
+    import mx.core.mx_internal;
+
+    import spark.components.Application;
+    import spark.core.IViewport;
+
+    use namespace mx_internal;
+
+    [Mixin]
+    /**
+     *
+     *  Defines the methods and properties required to perform instrumentation for the
+     *  Application class.
+     *
+     *  @see spark.components.Application
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public class SparkApplicationAutomationImpl extends SparkSkinnableContainerAutomationImpl
+    {
+
+        include "../../../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Class methods
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Registers the delegate class for a component class with automation manager.
+         *
+         *  @param root The SystemManger of the application.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public static function init(root:DisplayObject):void
+        {
+            Automation.registerDelegateClass(spark.components.Application, SparkApplicationAutomationImpl);
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         *
+         * @param obj Application object to be automated.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4
+         */
+        public function SparkApplicationAutomationImpl(obj:spark.components.Application)
+        {
+            super(obj);
+            recordClick = true;
+            var am:IAutomationManager2 = Automation.automationManager2;
+            am.registerNewApplication(obj);
+        }
+
+        /**
+         *  @private
+         */
+        override public function get automationName():String
+        {
+            var am:IAutomationManager2 = Automation.automationManager2;
+            return am.getUniqueApplicationID();
+        }
+
+        /**
+         *  @private
+         */
+        protected function get application():spark.components.Application
+        {
+            return uiComponent as spark.components.Application;
+        }
+
+        /**
+         *  @private
+         */
+        override protected function componentInitialized():void
+        {
+            super.componentInitialized();
+            // Override for situations where an app is loaded into another
+            // application. Find the Flex loader that contains us.
+            var owner:IAutomationObject = application.owner as IAutomationObject;
+
+            if ((!owner)  && application.systemManager.isTopLevel() == false)
+            {
+                try
+                {
+                    var findAP:DisplayObject = application.parent;
+
+                    owner = findAP as IAutomationObject;
+                    while (findAP && !(owner))
+                    {
+                        findAP = findAP.parent;
+                        owner = findAP as IAutomationObject;
+                    }
+
+                    application.owner = owner as DisplayObjectContainer;
+                }
+                catch (e:Error)
+                {
+                }
+            }
+        }
+
+
+        /**
+         *  @private
+         */
+        override public function getAutomationChildren():Array
+        {
+            var childList:Array = new Array();
+
+            var am:IAutomationManager2 = Automation.automationManager2;
+
+            // Add the children in Control Bar first
+            // For Halo application, control bar used to be an object of type
+            // ApplicationControlBar which used to contain all the controls
+            // that are intended to appear in control bar. It had a property to dock.
+            // But in spark application, all the contents of control bar are added as
+            // direct children of a group which inturn is a child of Application.
+            // Group doesn't have a property to dock. So we assume we need not handle
+            // that case for spark applications. Also the controls in controlBarGroup
+            // are added as direct children of application as in the case of the controls
+            // in contentGroup
+            var tempChildren:Array  = getControlBarChildren();
+            if(tempChildren)
+            {
+                n = tempChildren.length;
+                for ( i = 0; i < n ; i++)
+                {
+                    childList.push(tempChildren[i] as IAutomationObject);
+                }
+            }
+
+            n = application.contentGroup.numChildren;
+            for (i = 0; i < n ; i++)
+            {
+                var obj:Object = application.contentGroup.getChildAt(i);
+                // here if are getting scrollers, we need to add the viewport's children as the actual children
+                // instead of the scroller
+                if(obj is spark.components.Scroller)
+                {
+                    var scroller:spark.components.Scroller = obj as spark.components.Scroller;
+                    var viewPort:IViewport =  scroller.viewport;
+                    if(viewPort is IAutomationObject)
+                        childList.push(viewPort);
+                    if(scroller.horizontalScrollBar)
+                        childList.push(scroller.horizontalScrollBar);
+                    if(scroller.verticalScrollBar)
+                        childList.push(scroller.verticalScrollBar);
+                }
+                else
+                    childList.push(obj as IAutomationObject);
+            }
+
+            tempChildren =  application.repeaters;
+            if (tempChildren)
+            {
+                n = tempChildren.length;
+                for (i = 0; i < n ; i++)
+                {
+                    childList.push(tempChildren[i] as IAutomationObject);
+                }
+            }
+
+            var scrollBars:Array = getScrollBars(application, application.contentGroup);
+            n = scrollBars ? scrollBars.length :0;
+
+            for ( i=0; i<n ; i++)
+            {
+                childList.push(scrollBars[i]);
+            }
 			// we need to add popup children

 			var tempChildren1:Array  = am.getPopUpChildren();
 			var n:int = 0;
-			var i:int = 0;
+			var i:int = 0;

 			if(tempChildren1)
 			{
 				n = tempChildren1.length;
 				for (i = 0; i < n ; i++)
 					childList.push(tempChildren1[i] as IAutomationObject);
-			}
-
-			// Add the children in Control Bar first
-			// For Halo application, control bar used to be an object of type
-			// ApplicationControlBar which used to contain all the controls
-			// that are intended to appear in control bar. It had a property to dock.
-			// But in spark application, all the contents of control bar are added as
-			// direct children of a group which inturn is a child of Application.
-			// Group doesn't have a property to dock. So we assume we need not handle
-			// that case for spark applications. Also the controls in controlBarGroup
-			// are added as direct children of application as in the case of the controls
-			// in contentGroup
-			var tempChildren:Array  = getControlBarChildren();
-			if(tempChildren)
-			{
-				n = tempChildren.length;
-				for ( i = 0; i < n ; i++)
-				{
-					childList.push(tempChildren[i] as IAutomationObject);
-				}
-			}
-
-			n = application.contentGroup.numChildren;
-			for (i = 0; i < n ; i++)
-			{
-				var obj:Object = application.contentGroup.getChildAt(i);
-				// here if are getting scrollers, we need to add the viewport's children as the actual children
-				// instead of the scroller
-				if(obj is spark.components.Scroller)
-				{
-					var scroller:spark.components.Scroller = obj as spark.components.Scroller;
-					var viewPort:IViewport =  scroller.viewport;
-					if(viewPort is IAutomationObject)
-						childList.push(viewPort);
-					if(scroller.horizontalScrollBar)
-						childList.push(scroller.horizontalScrollBar);
-					if(scroller.verticalScrollBar)
-						childList.push(scroller.verticalScrollBar);
-				}
-				else
-					childList.push(obj as IAutomationObject);
-			}
-
-			tempChildren =  application.repeaters;
-			if (tempChildren)
-			{
-				n = tempChildren.length;
-				for (i = 0; i < n ; i++)
-				{
-					childList.push(tempChildren[i] as IAutomationObject);
-				}
-			}
-
-			var scrollBars:Array = getScrollBars(application, application.contentGroup);
-			n = scrollBars ? scrollBars.length :0;
-
-			for ( i=0; i<n ; i++)
-			{
-				childList.push(scrollBars[i]);
-			}
-
-			return childList;
-		}
-
-		/**
-		 *  @private
-		 */
-		private function getControlBarChildren():Array
-		{
-			var childrenList:Array = new Array();
-			if(application.controlBarGroup != null)
-			{
-				var n:int = application.controlBarGroup.numChildren;
-				for (var i:int = 0; i < n ; i++)
-				{
-					var obj:Object = application.controlBarGroup.getChildAt(i);
-					childrenList.push(obj);
-				}
-			}
-			return childrenList;
-		}
-
-		override public function getAutomationChildAt(index:int):IAutomationObject
-		{
-			var controlBarChildren:Array = getControlBarChildren();
-			if(index < controlBarChildren.length)
-				return  controlBarChildren[index] as IAutomationObject;
-
-			var numChildren:int = application.contentGroup.numChildren;
-			numChildren += controlBarChildren;
-			if(index < numChildren )
-				return   application.contentGroup.getChildAt(index) as IAutomationObject;
-			else
-			{
-				index = index - numChildren;
-				var scrollBars:Array = getScrollBars(application,application.contentGroup);
-				if(scrollBars && index < scrollBars.length)
-					return scrollBars[index];
-			}
-			return null;
-		}
-
-	}
-
+			}
+            return childList;
+        }
+
+        /**
+         *  @private
+         */
+        private function getControlBarChildren():Array
+        {
+            var childrenList:Array = new Array();
+            if(application.controlBarGroup != null)
+            {
+                var n:int = application.controlBarGroup.numChildren;
+                for (var i:int = 0; i < n ; i++)
+                {
+                    var obj:Object = application.controlBarGroup.getChildAt(i);
+                    childrenList.push(obj);
+                }
+            }
+            return childrenList;
+        }
+
+        /**
+         *  @private
+         */
+        override public function getAutomationChildAt(index:int):IAutomationObject
+        {
+            var controlBarChildren:Array = getControlBarChildren();
+            if(index < controlBarChildren.length)
+                return  controlBarChildren[index] as IAutomationObject;
+
+            var numChildren:int = application.contentGroup.numChildren;
+            numChildren += controlBarChildren;
+            if(index < numChildren )
+                return   application.contentGroup.getChildAt(index) as IAutomationObject;
+            else
+            {
+                index = index - numChildren;
+                var scrollBars:Array = getScrollBars(application,application.contentGroup);
+                if(scrollBars && index < scrollBars.length)
+                    return scrollBars[index];
+            }
+            return null;
+        }
+
+    }
+
 }


Updated Encoder to support null fields

Updated Encoder to support null fields

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@74 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.vis/flare/vis/operator/encoder/Encoder.as
+++ flare.vis/flare/vis/operator/encoder/Encoder.as
@@ -91,7 +91,7 @@
 		public function Encoder(source:String=null, target:String=null,
 							which:int=1/*Data.NODES*/, filter:Function=null)
 		{
-			_source = new Property(source);
+			_source = source==null ? null : Property.$(source);
 			_target = target;
 			_which = which;
 			_filter = filter;


Transferred from the Adobe Open Source Subversion Repository

Revision: 13001
Author:   mhorn@adobe.com
Date:     2009-12-16T19:06:34.929096Z

Log Message:
-----------
asdoc updates to creationPolicy property

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

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -1233,13 +1233,13 @@
     private var creationPolicyNone:Boolean = false;

     /**
-     *  The child creation policy for this Container.
+     *  The child creation policy for this MX Container.
      *  ActionScript values can be ContainerCreationPolicy.AUTO,
      *  ContainerCreationPolicy.ALL,
      *  ContainerCreationPolicy.NONE,
      *  or ContainerCreationPolicy.QUEUED.
-     *  MXML values can be "auto", "all",
-     *  "none", or "queued".
+     *  MXML values can be auto, all,
+     *  none, or queued.
      *
      *
If no creationPolicy is specified for a container,
      *  that container inherits its parent's creationPolicy.
@@ -1280,6 +1280,8 @@
      *  In that case, it is the responsibility of the MXML author
      *  to create the children by calling the
      *  createComponentsFromDescriptors() method.

+     *
+     *  @default ContainerCreationPolicy.AUTO
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


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

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


report available bitrates to flowplayer commented for now, just to give some hints related to #124

--- src/org/mangui/flowplayer/HLSStreamProvider.as
+++ src/org/mangui/flowplayer/HLSStreamProvider.as
@@ -104,6 +104,23 @@
             _isManifestLoaded = true;
             _clip.duration = _duration;
             _clip.stopLiveOnPause = false;
+            /*
+            var nbLevel = event.levels.length;
+            if (nbLevel > 1) {
+            var bitrates : Array = new Array();
+            for (var i : int = 0; i < nbLevel; i++) {
+            var info : Object = new Object();
+            var level : Level = event.levels[i];
+            info.bitrate = level.bitrate;
+            info.url = level.url;
+            info.width = level.width;
+            info.height = level.height;
+            info.isDefault = (i == _hls.startlevel);
+            bitrates.push(info);
+            }
+            _clip.setCustomProperty("bitrates", bitrates);
+            }
+             */
             _clip.dispatch(ClipEventType.METADATA);
             _seekable = true;
             // if (_hls.type == HLSTypes.LIVE) {


Change:	40493

Change:	40493

User:	mcarlson

Description:
	Summary:  Fix doc bugs

	New Features:

	Bugs Fixed:

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

	Documentation:

	Release Notes:

	Details:

	Tests:

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

--- WEB-INF/lps/lfc/views/LzDrawView.as
+++ WEB-INF/lps/lfc/views/LzDrawView.as
@@ -492,52 +492,13 @@
 }

-
-//=============================================================================
-// DEFINE OBJECT: LzCanvasGradient
-//
-// LzCanvasGradient is an opaque object, which is used for assigning to
-// other attributes, e.g. fillStyle.  It is also used to add color stops.
-// An LzCanvasGradient is returned by LzDrawView.createRadialGradient or
-// LzDrawView.createRadialGradient.
-//=============================================================================
-function LzCanvasGradient() {}
-
-//------------------------------------------------------------------------------
-// @keywords private
-//------------------------------------------------------------------------------
-LzCanvasGradient.prototype.__init = function(c, m) {
-    this._context = c;
-    this._m = m;
-    this._t = "linear";
-    this._c = [];
-    this._a = [];
-    this._o = [];
-}
-
-
-//------------------------------------------------------------------------------
-// Adds a new stop to a gradient. gradients are rendered such that at the starting point the colour at offset 0 is used, that at the ending point the color at offset 1 is used.  globalAlpha is stored for each gradient step added.
-// @param Number o: The offset this stop used for placement in the gradient.  Gradients are rendered such that for the starting point the colour at offset 0 is used, that at the ending point the color at offset 1 is used and all colors between those offsets are blended.  Must be less than 0 or greater than 1.
-// @param Number c: The color to be used at this color.  A hexadecimal value, e.g. 0xffffff
-//------------------------------------------------------------------------------
-LzCanvasGradient.prototype.addColorStop = function(o, c) {
-    this._o[this._o.length] = o * 255;
-    this._c[this._c.length] = LzDrawView.prototype.cssColorToLong(c);
-    this._a[this._a.length] = this._context.globalAlpha * 100;
-}
-
-//------------------------------------------------------------------------------
-// @keywords private
-//------------------------------------------------------------------------------
-LzCanvasGradient.prototype.__applyTo = function(m) {
-    //_root.Debug.write('LzCanvasGradient.__applyTo', this._t, this._c, this._a, this._o, this._m);
-    m.beginGradientFill(this._t, this._c, this._a, this._o, this._m)
-}
-
+//-----------------------------------------------------------------------------
 // Convert a css color string to an integer.  This recognizes only
 // '#rgb', '#rrggbb', and the color names that have been defined in
 // the global namespace ('red', 'green', 'blue', etc.)
+//
+// @param value: Color value to convert
+//-----------------------------------------------------------------------------
 LzDrawView.prototype.cssColorToLong = function(value) {
 	if (typeof value != 'string') return value;
     if (value.charAt(0) == '#') {
@@ -548,7 +509,7 @@
         case 6:
             return n;
         default:
-            Debug.warn('invalid color: ' + value);
+            _root.Debug.warn('invalid color: ' + value);
         }
     }
     if (typeof eval(value) == 'number')
@@ -556,3 +517,47 @@
 	_root.Debug.warn('unknown color format: ' + value);
     return 0;
 }
+
+
+
+//=============================================================================
+// DEFINE OBJECT: LzCanvasGradient
+//
+// LzCanvasGradient is an opaque object, which is used for assigning to
+// other attributes, e.g. fillStyle.  It is also used to add color stops.
+// An LzCanvasGradient is returned by LzDrawView.createRadialGradient or
+// LzDrawView.createRadialGradient.
+//=============================================================================
+function LzCanvasGradient() {}
+
+//------------------------------------------------------------------------------
+// @keywords private
+//------------------------------------------------------------------------------
+LzCanvasGradient.prototype.__init = function(c, m) {
+    this._context = c;
+    this._m = m;
+    this._t = "linear";
+    this._c = [];
+    this._a = [];
+    this._o = [];
+}
+
+
+//------------------------------------------------------------------------------
+// Adds a new stop to a gradient. gradients are rendered such that at the starting point the colour at offset 0 is used, that at the ending point the color at offset 1 is used.  globalAlpha is stored for each gradient step added.
+// @param Number o: The offset this stop used for placement in the gradient.  Gradients are rendered such that for the starting point the colour at offset 0 is used, that at the ending point the color at offset 1 is used and all colors between those offsets are blended.  Must be less than 0 or greater than 1.
+// @param Number c: The color to be used at this color.  A hexadecimal value, e.g. 0xffffff
+//------------------------------------------------------------------------------
+LzCanvasGradient.prototype.addColorStop = function(o, c) {
+    this._o[this._o.length] = o * 255;
+    this._c[this._c.length] = LzDrawView.prototype.cssColorToLong(c);
+    this._a[this._a.length] = this._context.globalAlpha * 100;
+}
+
+//------------------------------------------------------------------------------
+// @keywords private
+//------------------------------------------------------------------------------
+LzCanvasGradient.prototype.__applyTo = function(m) {
+    //_root.Debug.write('LzCanvasGradient.__applyTo', this._t, this._c, this._a, this._o, this._m);
+    m.beginGradientFill(this._t, this._c, this._a, this._o, this._m)
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/mx/src/mx/controls/Tree.as
+++ frameworks/projects/mx/src/mx/controls/Tree.as
@@ -1743,7 +1743,7 @@
                                         CollectionEvent.COLLECTION_CHANGE,
                                         false,
                                         true,
-                                        CollectionEventKind.mx_internal::EXPAND);
+                                        CollectionEventKind.EXPAND);
         event.items = [item];

         // update the list of _openItems
@@ -3562,7 +3562,7 @@
         {
             var ce:CollectionEvent = CollectionEvent(event);

-            if (ce.kind == CollectionEventKind.mx_internal::EXPAND)
+            if (ce.kind == CollectionEventKind.EXPAND)
             {
                 //we ignore expand in list/tree
                 event.stopPropagation();


Another place where we call IDataInput's readBytes. Let's just
make sure we never pass it 0 for the length.

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

--- src/as/com/threerings/io/FrameReader.as
+++ src/as/com/threerings/io/FrameReader.as
@@ -82,7 +82,11 @@
         // read bytes: either as much as possible or up to the end of the frame
         var toRead :int = Math.min(_length - _curData.length,
             _socket.bytesAvailable);
-        _socket.readBytes(_curData, _curData.length, toRead);
+        // Just in case, if the amount needed is 0, don't do anything!
+        // Passing 0 causes it to read *all available bytes*.
+        if (toRead != 0) {
+            _socket.readBytes(_curData, _curData.length, toRead);
+        }

         if (_length === _curData.length) {
             // we have now read a complete frame, let us dispatch the data


383 Renamed DisplayUtil.getDisplayObjectPoint -> DisplayUtil.getDisplayObjectLocation

--- raw/src/org/yellcorp/lib/display/DisplayUtil.as
+++ raw/src/org/yellcorp/lib/display/DisplayUtil.as
@@ -16,7 +16,7 @@
      * @param out An optional Point variable to store the result in. This can
      *            be used to avoid calling the Point constructor.
      */
-    public static function getDisplayObjectPoint(dobj:DisplayObject, out:Point = null):Point
+    public static function getDisplayObjectLocation(dobj:DisplayObject, out:Point = null):Point
     {
         if (!out)
         {


Make it explicit in the function signature that we're just doing an
"Object == null" comparison. Otherwise the user might pass in an
undefined, and expect a strict equality test.

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

--- src/as/com/threerings/util/Assert.as
+++ src/as/com/threerings/util/Assert.as
@@ -43,7 +43,7 @@
     public static var dumpStack :Boolean = true;

     /** Asserts that the value is equal to null. */
-    public static function isNull (value :*, message :String = null) :void
+    public static function isNull (value :Object, message :String = null) :void
     {
         if (_debug && ! (value == null)) {
             fail(message);
@@ -51,7 +51,7 @@
     }

     /** Asserts that the value is not equal to null. */
-    public static function isNotNull (value :*, message :String = null) :void
+    public static function isNotNull (value :Object, message :String = null) :void
     {
         if (_debug && ! (value != null)) {
             fail(message);


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11181
Author:   smgilson@adobe.com
Date:     2009-10-27T15:58:59.190040Z

Log Message:
-----------
ASDoc updates for Spark List D&D

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/DropLocation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListItemDragProxy.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListItemDragProxy.as
@@ -19,7 +19,7 @@
 use namespace mx_internal;

 /**
- *  The default drag proxy used when dragging from a list-based control
+ *  The default drag proxy used when dragging from an MX list-based control
  *  (except for the DataGrid class).
  *  A drag proxy is a component that parents the objects
  *  or copies of the objects being dragged


Transferred from the Adobe Open Source Subversion Repository

Revision: 12556
Author:   gosmith@adobe.com
Date:     2009-12-04T22:49:03.592132Z

Log Message:
-----------
Added @private to various overrides in the new spark.accessibility classes. These classes are now included in ASDoc builds and I noticed that overrides we don't want to see were showing up.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as
@@ -14,22 +14,24 @@

 import flash.accessibility.Accessibility;
 import flash.events.Event;
+import flash.events.FocusEvent;
 import flash.events.MouseEvent;
-import flash.events.FocusEvent;
+
 import org.osmf.events.TimeEvent;
-import spark.components.VideoPlayer;
-import spark.components.Button;
-import spark.events.VideoEvent;
+
+import mx.accessibility.AccConst;
+import mx.accessibility.AccImpl;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-import mx.accessibility.AccImpl;
-import mx.accessibility.AccConst;
+import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
-import mx.resources.IResourceManager;
+
+import spark.components.Button;
+import spark.components.VideoPlayer;
+import spark.events.VideoEvent;

 use namespace mx_internal;
-

 [ResourceBundle("components")]

@@ -150,12 +152,14 @@

 	    role = AccConst.ROLE_SYSTEM_PANE;

-        VideoPlayer(master).playPauseButton.addEventListener(Event.CHANGE,
-        eventHandler);
-        VideoPlayer(master).volumeBar.addEventListener(Event.CHANGE,
-        eventHandler);
-        VideoPlayer(master).volumeBar.addEventListener(FlexEvent.MUTED_CHANGE,
-        eventHandler);
+        VideoPlayer(master).playPauseButton.addEventListener(
+			Event.CHANGE, eventHandler);
+
+        VideoPlayer(master).volumeBar.addEventListener
+			(Event.CHANGE, eventHandler);
+
+        VideoPlayer(master).volumeBar.addEventListener(
+			FlexEvent.MUTED_CHANGE, eventHandler);
 	}

 	//--------------------------------------------------------------------------
@@ -178,7 +182,6 @@
         FocusEvent.FOCUS_IN, TimeEvent.CURRENT_TIME_CHANGE ])
 	}

-
 	//--------------------------------------------------------------------------
 	//
 	//  Overridden methods: AccessibilityImplementation
@@ -186,7 +189,7 @@
 	//--------------------------------------------------------------------------

 	/**
-	 *  @public
+	 *  @private
 	 *  Method to return the location of the child display object
  	 *  This function should never be called for parent (childID 0)
 	 *
@@ -225,14 +228,8 @@
         }
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  Method to return an array of childIDs.
 	 *  Currently there are six (6) child objects that render accessibility
      *
@@ -243,14 +240,8 @@
         return createChildIDArray(VIDEOPLAYER_NUM_ACCESSIBLE_COMPONENTS);
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  IAccessible method for returning the role of the VideoPlayer components.
 	 *  Roles are predefined for all the components in MSAA.
 	 *  Roles are assigned to each component.
@@ -306,14 +297,8 @@
 		return accRole;
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  IAccessible method for returning the state of the VideoPlayer.
 	 *  States are predefined for all the components in MSAA.
 	 *  Values are assigned to each state.
@@ -374,14 +359,8 @@
         return accState;
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  IAccessible method for returning the default action
 	 *  of the VideoPlayer, which is Press.
 	 *
@@ -411,14 +390,8 @@
 		return action;
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  IAccessible method for returning the childFocus of the VideoPlayer.
 	 *
 	 *  @param childID uint
@@ -436,14 +409,8 @@
 		return index;
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
+	/**
+	 *  @private
 	 *  IAccessible method for performing the default action
 	 *  associated with VideoPlayer, which is Press.
 	 *
@@ -472,9 +439,74 @@
 		}
 	}

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
+	/**
+	 *  @private
+	 *  IAccessible method for returning the value of sliders
+	 *  which is spoken out by the screen reader
+	 *  @param childID uint
+	 *
+	 *  @return Value String
+	 */
+	override public function get_accValue(childID:uint):String
+	{
+		var videoPlayer:VideoPlayer = VideoPlayer(master);
+		var accValue:String = "";
+
+		if (childID == VIDEOPLAYER_SCRUBBAR)
+  	   	    accValue = videoPlayer.currentTimeDisplay.text;
+
+        if (childID == VIDEOPLAYER_VOLUMEBAR)
+            accValue = String(Math.floor(videoPlayer.volumeBar.value*100));
+
+		return accValue;
+	}
+
+    /**
+     *  @private
+     *  IAccessible method for setting focus or selecting a child element
+     *  @param selFlag uint
+     *  @param childID uint
+	 */
+	override public function accSelect(selFlag:uint, childID:uint):void
+	{
+        var videoPlayer:VideoPlayer = VideoPlayer(master);
+
+	    if (selFlag == AccConst.SELFLAG_TAKEFOCUS)
+        {
+	       	switch (childID)
+            {
+	            case VIDEOPLAYER_PLAYPAUSEBUTTON:
+                {
+			        videoPlayer.playPauseButton.setFocus();
+			 	    break;
+			    }
+			    case VIDEOPLAYER_SCRUBBAR:
+                {
+			     	videoPlayer.scrubBar.setFocus();
+			     	break;
+			    }
+			    case VIDEOPLAYER_MUTEBUTTON:
+                {
+			     	 videoPlayer.volumeBar.setFocus();
+			     	 break;
+			    }
+			    case VIDEOPLAYER_VOLUMEBAR:
+                {
+			    	 videoPlayer.volumeBar.setFocus();
+			    	 break;
+			    }
+			    case VIDEOPLAYER_FULLSCREENBUTTON:
+                {
+			    	 videoPlayer.fullScreenButton.setFocus();
+			         break;
+			    }
+		    }
+	    }
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: AccImpl
 	//
 	//--------------------------------------------------------------------------

@@ -592,90 +624,15 @@

 	//--------------------------------------------------------------------------
 	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @public
-	 *  IAccessible method for returning the value of sliders
-	 *  which is spoken out by the screen reader
-	 *  @param childID uint
-	 *
-	 *  @return Value String
-	 *  @review
-	 */
-	override public function get_accValue(childID:uint):String
-	{
-		var videoPlayer:VideoPlayer = VideoPlayer(master);
-		var accValue:String = "";
-
-		if (childID == VIDEOPLAYER_SCRUBBAR)
-  	   	    accValue = videoPlayer.currentTimeDisplay.text;
-
-        if (childID == VIDEOPLAYER_VOLUMEBAR)
-            accValue = String(Math.floor(videoPlayer.volumeBar.value*100));
-
-		return accValue;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: AccessibilityImplementation
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  @public
-     *  IAccessible method for setting focus or selecting a child element
-     *  @param selFlag uint
-     *  @param childID uint
-     *
-     *  @review
-     */
-
-	override public function accSelect(selFlag:uint, childID:uint):void
-	{
-        var videoPlayer:VideoPlayer = VideoPlayer(master);
-
-	    if (selFlag == AccConst.SELFLAG_TAKEFOCUS)
-        {
-	       	switch (childID)
-            {
-	            case VIDEOPLAYER_PLAYPAUSEBUTTON:
-                {
-			        videoPlayer.playPauseButton.setFocus();
-			 	    break;
-			    }
-			    case VIDEOPLAYER_SCRUBBAR:
-                {
-			     	videoPlayer.scrubBar.setFocus();
-			     	break;
-			    }
-			    case VIDEOPLAYER_MUTEBUTTON:
-                {
-			     	 videoPlayer.volumeBar.setFocus();
-			     	 break;
-			    }
-			    case VIDEOPLAYER_VOLUMEBAR:
-                {
-			    	 videoPlayer.volumeBar.setFocus();
-			    	 break;
-			    }
-			    case VIDEOPLAYER_FULLSCREENBUTTON:
-                {
-			    	 videoPlayer.fullScreenButton.setFocus();
-			         break;
-			    }
-		    }
-	    }
-	}
+	//  Methods
+	//
+	//--------------------------------------------------------------------------

     /**
      *  @private
      *  Returns a child id based on a sub component that is passed in.
      */
-	protected function elementToChildID(obj: Object): Number
+	private function elementToChildID(obj:Object):Number
 	{
 		var str:String = String(obj);
 		var index:Number = 0;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7537
Author:   rfrishbe@adobe.com
Date:     2009-06-03T20:25:36.987268Z

Log Message:
-----------
VideoPlayer fixes, including focus fixes and some other fixes.

For Focus:

SkinnableComponent:
- Now check the drawFocusAnyway flag before checking for focusManager.getFocus() != this because in the case of the video player volume bar, we don’t actually have a focusManager

TrackBase:
- Override of focusIn/OutHandler wasn’t calling super.focusIn/OutHandler().

Slider:
- Now instead of overriding setFocus() and calling stage.focus = thumb, we just override drawFocus() and tell the thumb to drawFocus().  This means we keep the focus ourselves and handle the keyDown events on ourself rather than on the thumb.

FocusSkin:
- Change the exit-early logic so that we don’t exit if we have no focusManager...we only exit if we don’t have a focusObject (and we sometimes rely on the focusManager for this focusObject).  FocusObject actually gets slammed in via SkinnableComponent, so this should be fine.

VideoPlayerVolumeBar:
- On focus in, open the drop down, validate it, and draw the focus on thumb.

VideoPlayer:
- set tabChildren = true so we can tab into the components

Skins (VideoPlayerSkin.mxml only):
- Change the layer of focused components with: focusIn="event.target.layer=1" focusOut="event.target.layer=0"

Other Changes:

TrackBase:
- Add official CHANGING event.  Work still needs to be done on dispatching it in all cases correctly.
- Remove the check for (!enabled) in the thumb_mouseDownHandler...this shouldn’t be needed thanks to Jason’s change.  We do this in Scroller as well, and I’ve got a local change for that which will come later as part of the Change/Changing ARB issue fix.

PopUpAnchor:
- Needs to take into account the fullScreenRect to get the popup to display correctly in those cases.

FlexEvent:
- Adding CHANGING event.

VideoPlayerScrubBar:
- Changed bufferedValue to an Array to handle a Range.

VideoPlayerVolumeBar/VideoPlayerVolumeBarEvent:
- “rollOverOpenDelay“: Change the “behavior property” to a style per the ARB decision.  I intentionally left it as a private static const before to make this change easier.
- Advertise a new event, mutedChange to go along with a new property muted, rather than rely on mutedButtonClick.

VideoPlayer:
- Add symbolColor metadata (this was already working...just no metadata for it).  Do I add color here?
- Add fullScreenHideControlDelay as part of ARB behavioral property decision
- Changes around volume bar and muted property and muteButtonChanged event.
- Fiex the full screen case...need to make sure to use globalToLocal() and localToGlobal() when positioning the object since fulLScreenRect is in global coordinates.  Also need to call LayoutManager.getInstance().validateNow() rather than just validateNow() because I need everythignt o be validated since not including the compoennt in a layout may change the coordinates of the parent component.
- In scrubBar_changeHandler, if scrubbing to the end of a video, don’t do it when streaming and you’ve called play() because the source is a String...there’s a bug in the FLVPlayback that doesn’t look like it’ll get fixed :-)
- Fixed a few other bugs..nothing too big

Defaults.css:
Set the behavioral properties in here

Skins:
- Set the height explicitly on the ThumbSkin..this is the exact pattern we use for Hslider/Vslider now
- Fix up the baseColor so it gets cleared in the full screen case
- Fix up the text styles so we are explicitly setting them in the fullScreen case.  They can now be styled via CSS in the non-fullScreen case and the color style should work.

QE Notes: -
Doc Notes: -
Bugs: SDK-21505, SDK-21352, SDK-21504, SDK-21503, SDK-21486, SDK-21485
Reviewer: Alex, Glenn
tests: checkintests, mustella tests for Scroller, ScrollBar, Slider

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerScrubBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScrubBarSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/VideoPlayerVolumeBarEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/ScrubBar.as
@@ -95,31 +95,32 @@
     // bufferedValue
     //---------------------------------

-    private var _bufferedValue:Number;
-
-    /**
-     *  The value of the video that's been buferred in.  This property
-     *  should be greater than value and less than maximum.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get bufferedValue():Number
-    {
-        return _bufferedValue;
-    }
-
-    /**
-     *  @private
-     */
-    public function set bufferedValue(value:Number):void
-    {
-        if (value == _bufferedValue)
+    private var _bufferedRange:Array;
+
+    /**
+     *  The range of values that are currently in the buffer.  The first value
+     *  the array indicates the starting buffered value.  The second value
+     *  indicates the end of buffered in video.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get bufferedRange():Array
+    {
+        return _bufferedRange;
+    }
+
+    /**
+     *  @private
+     */
+    public function set bufferedRange(value:Array):void
+    {
+        if (value == _bufferedRange)
             return;

-        _bufferedValue = value;
+        _bufferedRange = value;
         invalidateDisplayList();
     }

@@ -162,7 +163,7 @@
     override protected function completeTrackLayout():void
     {
         super.completeTrackLayout();
-        sizeBufferedArea(valueToPosition(bufferedValue) + thumbSize);
+        sizeBufferedArea(valueToPosition(bufferedRange[1]) + thumbSize);
         sizePlayedArea(valueToPosition(value) + thumbSize);
     }


git keeps wanting to mod this file. letting it

--- node_modules/grunt-karma/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as
+++ node_modules/grunt-karma/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as
@@ -69,7 +69,7 @@

 		}
-
+
 		public static function parsePublicKey(N:String, E:String):RSAKey {
 			return new RSAKey(new BigInteger(N, 16, true), parseInt(E,16));
 		}
@@ -94,14 +94,14 @@
 			n = null;
 			Memory.gc();
 		}
-
+
 		public function encrypt(src:ByteArray, dst:ByteArray, length:uint, pad:Function=null):void {
 			_encrypt(doPublic, src, dst, length, pad, 0x02);
 		}
 		public function decrypt(src:ByteArray, dst:ByteArray, length:uint, pad:Function=null):void {
 			_decrypt(doPrivate2, src, dst, length, pad, 0x02);
 		}
-
+
 		public function sign(src:ByteArray, dst:ByteArray, length:uint, pad:Function = null):void {
 			_encrypt(doPrivate2, src, dst, length, pad, 0x01);
 		}
@@ -109,7 +109,7 @@
 			_decrypt(doPublic, src, dst, length, pad, 0x01);
 		}

-
+
 		private function _encrypt(op:Function, src:ByteArray, dst:ByteArray, length:uint, pad:Function, padType:int):void {
 			// adjust pad if needed
 			if (pad==null) pad = pkcs1pad;


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

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


Added bonus validity check in Link.place()

--- src/Components/Link.as
+++ src/Components/Link.as
@@ -85,6 +85,14 @@
 					link.deleted = true;
 					return false; //won't enter onto the action stack
 				}
+			} else {
+				//check validity here
+				//shouldn't be needful, but...
+				if ((link.source.links.length && !link.source.isSource()) ||
+					(link.destination.links.length && !link.destination.isSource())) {
+					link.deleted = true;
+					return false;
+				}
 			}

 			link.connect();


把 WritingBuffer 标记为 @private

把 WritingBuffer 标记为 @private

--- as3/com/netease/protobuf/WritingBuffer.as
+++ as3/com/netease/protobuf/WritingBuffer.as
@@ -10,6 +10,9 @@
 package com.netease.protobuf {
 	import flash.errors.*;
 	import flash.utils.*;
+	/**
+	 * @private
+	 */
 	public final class WritingBuffer extends ByteArray {
 		private const _slices:ByteArray = new ByteArray
 		public function beginBlock():uint {


reverting to ARC4 but discarding some data first

--- KeyGenerator.as
+++ KeyGenerator.as
@@ -2,7 +2,6 @@
 	import com.hurlant.crypto.prng.Random;
 	import com.hurlant.crypto.rsa.RSAKey;
 	import com.hurlant.util.Hex;
-	import com.hurlant.crypto.prng.TLSPRF;

 	import flash.external.ExternalInterface;
 	import flash.utils.ByteArray;
@@ -18,10 +17,10 @@
 			ExternalInterface.call("setvalue", "dmp", rsa.dmp1.toString());
 			ExternalInterface.call("setvalue", "dmq", rsa.dmq1.toString());
 			ExternalInterface.call("setvalue", "qinv", rsa.coeff.toString());
-			var data:ByteArray, prehashedkey:ByteArray, hashedkey:ByteArray;

-			var r:Random = new Random(TLSPRF);
-			var rankey:ByteArray = new ByteArray;
+			var r:Random = new Random;
+			var rankey:ByteArray = new ByteArray; var discard:ByteArray = new ByteArray;
+			r.nextBytes(discard, 32);
 			r.nextBytes(rankey, 32);
 			ExternalInterface.call("setvalue", "rk", Hex.fromArray(rankey));
 		}


Reset text test changes

Reset text test changes

--- tests/visual/text/src/text/TextState.as
+++ tests/visual/text/src/text/TextState.as
@@ -1,23 +1,12 @@
 package text
 {
-	import flash.system.Capabilities;
 	import org.flixel.*;

 	public class TextState extends FlxState
 	{
 		override public function create():void
 		{
-			var os:String = Capabilities.version.substr(0, 3);
-			var isMobile:Boolean = false;
-
-			if (os == "AND") {
-				isMobile = true;
-			} else {
-				var mobileSystems:Array = new Array("Windows SmartPhone", "Windows PocketPC", "Windows Mobile");
-				isMobile = (mobileSystems.indexOf(Capabilities.os) != -1)
-			}
-
-			var helloWorld:FlxText = new FlxText(10, 10, 620, String(isMobile))
+			var helloWorld:FlxText = new FlxText(10, 10, 620, "Hello World!")
 			helloWorld.setFormat("system", 16, FlxG.WHITE, "center", FlxG.PINK)
 			add(helloWorld)


Increase size of movie to 640×480 from 400×300.

--- swfcat.as
+++ swfcat.as
@@ -10,7 +10,7 @@
     import flash.utils.ByteArray;
     import flash.utils.setTimeout;

-    [SWF(width="400", height="300")]
+    [SWF(width="640", height="480")]
     public class swfcat extends Sprite
     {
         /* David's bridge (nickname eRYaZuvY02FpExln) that also serves a
@@ -40,8 +40,8 @@
         public function swfcat()
         {
             output_text = new TextField();
-            output_text.width = 400;
-            output_text.height = 300;
+            output_text.width = 640;
+            output_text.height = 480;
             output_text.background = true;
             output_text.backgroundColor = 0x001f0f;
             output_text.textColor = 0x44CC44;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/TextInput.as
+++ frameworks/projects/mx/src/mx/controls/TextInput.as
@@ -66,6 +66,11 @@
  *  the Event.bubbles property set to false.

  *
  *  @eventType flash.events.Event.CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="change", type="flash.events.Event")]

@@ -78,6 +83,11 @@
  *  when the data property changes.

  *
  *  @eventType mx.events.FlexEvent.DATA_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="dataChange", type="mx.events.FlexEvent")]

@@ -85,6 +95,11 @@
  *  Dispatched when the user presses the Enter key.
  *
  *  @eventType mx.events.FlexEvent.ENTER
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="enter", type="mx.events.FlexEvent")]

@@ -96,6 +111,11 @@
  *  the TextEvent.bubbles property set to false.

  *
  *  @eventType flash.events.TextEvent.TEXT_INPUT
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="textInput", type="flash.events.TextEvent")]

@@ -113,6 +133,11 @@
  *  and the bottom edge of its content area.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="paddingBottom", type="Number", format="Length", inherit="no")]

@@ -121,6 +146,11 @@
  *  and the top edge of its content area.
  *
  *  @default 0
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="paddingTop", type="Number", format="Length", inherit="no")]

@@ -267,6 +297,11 @@
  *
  *  @helpid 3188
  *  @tiptext TextInput is a single-line, editable text field.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class TextInput extends UIComponent
                        implements IDataRenderer, IDropInListItemRenderer,
@@ -284,6 +319,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function TextInput()
     {
@@ -301,6 +341,11 @@

     /**
      *  The internal subcontrol that draws the border and background.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     mx_internal var border:IFlexDisplayObject;

@@ -446,6 +491,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get fontContext():IFlexModuleFactory
     {
@@ -540,6 +590,11 @@
      *  and <p>, to place line breaks in the text field.

      *
      *  @default false;
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get condenseWhite():Boolean
     {
@@ -597,6 +652,11 @@
      *
      *  @default null
      *  @see mx.core.IDataRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get data():Object
     {
@@ -661,6 +721,11 @@
      *  @tiptext Specifies whether to display '*'
      *  instead of the actual characters
      *  @helpid 3197
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get displayAsPassword():Boolean
     {
@@ -711,6 +776,11 @@
      *
      *  @tiptext Specifies whether the component is editable or not
      *  @helpid 3196
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get editable():Boolean
     {
@@ -764,6 +834,11 @@
      *  @tiptext The pixel position of the left-most character
      *  that is currently displayed
      *  @helpid 3194
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get horizontalScrollPosition():Number
     {
@@ -988,6 +1063,11 @@
      *  @default ""
      *
      *  @see flash.text.TextField#htmlText
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get htmlText():String
     {
@@ -1056,6 +1136,11 @@
      *  @default null
      *
      *  @see flash.system.IMEConversionMode
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get imeMode():String
     {
@@ -1100,6 +1185,11 @@
      *  @default 0
      *  @tiptext The number of characters in the TextInput.
      *  @helpid 3192
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get length():int
     {
@@ -1129,6 +1219,11 @@
      *
      *  @default null
      *  @see mx.controls.listClasses.IDropInListItemRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get listData():BaseListData
     {
@@ -1172,6 +1267,11 @@
      *  @tiptext The maximum number of characters
      *  that the TextInput can contain
      *  @helpid 3191
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get maxChars():int
     {
@@ -1265,6 +1365,11 @@
      *  @tiptext The set of characters that may be entered
      *  into the TextInput.
      *  @helpid 3193
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get restrict():String
     {
@@ -1347,6 +1452,11 @@
      *
      *  @tiptext The zero-based index value of the first character
      *  in the selection.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get selectionBeginIndex():int
     {
@@ -1392,6 +1502,11 @@
      *
      *  @tiptext The zero-based index value of the last character
      *  in the selection.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get selectionEndIndex():int
     {
@@ -1468,6 +1583,11 @@
      *  @default ""
      *  @tiptext Gets or sets the TextInput content
      *  @helpid 3190
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get text():String
     {
@@ -1523,6 +1643,11 @@

     /**
      *  The internal UITextField that renders the text of this TextInput.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var textField:IUITextField;

@@ -1548,6 +1673,11 @@
      *  which updates the value immediately.

      *
      *  @see flash.text.TextField
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get textHeight():Number
     {
@@ -1576,6 +1706,11 @@
      *  which updates the value immediately.

      *
      *  @see flash.text.TextField
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get textWidth():Number
     {
@@ -1956,6 +2091,11 @@
      *  borderStyle and borderSkin styles.
      *  It must set the border property to the instance
      *  of the border.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function createBorder():void
     {
@@ -1997,6 +2137,11 @@
      *
      *  @see flash.text.TextField
      *  @see flash.text.TextLineMetrics
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getLineMetrics(lineIndex:int):TextLineMetrics
     {
@@ -2025,6 +2170,11 @@
      *  properties are both set.
      *
      *  @tiptext Sets a new text selection.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function setSelection(beginIndex:int, endIndex:int):void
     {


- bugfix: Elements didn't validate under certain circumstances:
	- An element has more than 10 children
	- more than one of these children was invalidated, without the parent being invalid itself
	- one of the children's names was a complete starting substring of the name of another child
	- example: UIComponent_1 and UIComponent_11

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

--- src/reprise/ui/DocumentView.as
+++ src/reprise/ui/DocumentView.as
@@ -358,7 +358,7 @@
 					continue;
 				}
 				log("d validate " + path);
-				lastValidatedPath = path;
+				lastValidatedPath = path + '.';
 				var element : UIObject = UIObject(sortedElements[i].element);
 				element.validation_execute();
 			}