Transferred from the Adobe Open Source Subversion Repository

Revision: 11876
Author:   dsubrama@adobe.com
Date:     2009-11-17T01:00:43.318892Z

Log Message:
-----------
My check-in over the weekend accidentally blew away Evtim's fix for SDK-24148. Re-submitting it.

QE notes: No
Doc notes: No
Bugs: SDK-24148
Reviewer: Noone
Tests run: Group, FXG static and dynamic
Is noteworthy for integration: Yes, this was an ask from the Catalyst team for this week's integration

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -1062,7 +1062,9 @@
 					lastMoveY = y;
 					prevX = x;
 					prevY = y;
-                    prevIdentifier = 0x6D;
+					// If a moveto is followed by multiple pairs of coordinates,
+					// the subsequent pairs are treated as implicit lineto commands.
+					prevIdentifier = (c == 0x6D) ? 0x6C : 0x4C; // c == 'm' ? 'l' : 'L'
 					break;

 				case 0x6C:	// l


Transferred from the Adobe Open Source Subversion Repository

Revision: 8625
Author:   jszeto@adobe.com
Date:     2009-07-16T17:59:26.132133Z

Log Message:
-----------
Updating copyright text

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -1,7 +1,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2006 Adobe Systems Incorporated
+//  Copyright 2008 Adobe Systems Incorporated
 //  All Rights Reserved.
 //
 //  NOTICE: Adobe permits you to use, modify, and distribute this file


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

--- frameworks/projects/spark/src/spark/primitives/Rect.as
+++ frameworks/projects/spark/src/spark/primitives/Rect.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 22448
Author:   build@adobe.com
Date:     2011-09-08T19:26:12.465737Z

Log Message:
-----------
Version update to 4.6.0

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airspark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_air/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/flex-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark_dmv/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/rpc/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_dmv/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/build.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/modules/compiler/src/java/flex2/tools/VersionInfo.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airframework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/advancedgrids/src/mx/core/Version.as</path>

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

--- frameworks/projects/framework/src/mx/core/Version.as
+++ frameworks/projects/framework/src/mx/core/Version.as
@@ -15,4 +15,4 @@
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.5.2.0";
+mx_internal static const VERSION:String = "4.6.0.0";


Transferred from the Adobe Open Source Subversion Repository

Revision: 6302
Author:   chaase@adobe.com
Date:     2009-04-27T22:30:05.183971Z

Log Message:
-----------
Deleted old Move/Rotate effects and renamed new AnimateTransformMove/Rotate/Scale effects to Move/Rotate/Scale. Also, renamed AnimateTransformMove3D/Scale3D to Move3D/Scale3D. AnimateTransformRotate3D stays where it is for now (that single class is still in flux).

QE Notes: Mustella will fail on the AnimateTransformMove/Rotate/Scale tests. Those tests should be ported to Move/Rotate/Scale to pass.
Doc Notes: None
Bugs:
Reviewer: Etviim
tests: checkintests

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as" copyfrom-rev="6296" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move3D.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as" copyfrom-rev="6296" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as" copyfrom-rev="6296" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as" copyfrom-rev="6296" action="R">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as" copyfrom-rev="6296" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Scale.as
+++ frameworks/projects/spark/src/spark/effects/Scale.as
@@ -16,7 +16,7 @@
 import spark.effects.supportClasses.AnimateTransformInstance;

 /**
- *  The AnimateTransformScale effect scales a target object
+ *  The Scale effect scales a target object
  *  in the x and y directions around the transform center.
  *  A scale of 2.0 means the object has been magnified by a factor of 2,
  *  and a scale of 0.5 means the object has been reduced by a factor of 2.
@@ -28,12 +28,12 @@
  *
  *  @mxml
  *
- *
The <mx:AnimateTransformScale> tag
+ *
The <mx:Scale> tag
  *  inherits all of the tag attributes of its of its superclass,
  *  and adds the following tag attributes:

  *
  *

- *  <mx:AnimateTransformScale
+ *  <mx:Scale
  *    id="ID"
  *    scaleXBy="val"
  *    scaleXFrom="val"
@@ -49,7 +49,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class AnimateTransformScale extends AnimateTransform
+public class Scale extends AnimateTransform
 {
     include "../core/Version.as";

@@ -63,7 +63,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function AnimateTransformScale(target:Object=null)
+    public function Scale(target:Object=null)
     {
         super(target);
         instanceClass = AnimateTransformInstance;


- added scrollbar support to the TextInput control.

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

--- src/reprise/controls/TextInput.as
+++ src/reprise/controls/TextInput.as
@@ -27,6 +27,9 @@
 		***************************************************************************/
 		protected var m_enabled : Boolean;
 		protected var m_labelStr : String;
+		protected var m_verticalScrollingOn : Boolean;
+		protected var m_horizontalScrollingOn : Boolean;
+
 		protected var m_hasFocus : Boolean;

 		/***************************************************************************
@@ -88,13 +91,13 @@
 		/***************************************************************************
 		*							protected methods
 		***************************************************************************/
-		protected override function initialize () : void
+		protected override function initialize() : void
 		{
 			super.initialize();
 			enabled = true;
 //			m_labelDisplay.onSetFocus = label_focusIn;
 //			m_labelDisplay.onKillFocus = label_focusOut;
-//			m_labelDisplay.onChanged = label_change;
+			m_labelDisplay.addEventListener(Event.CHANGE, label_change);
 		}

 		protected override function initDefaultStyles() : void
@@ -125,14 +128,26 @@
 			m_labelDisplay.height = calculateContentHeight();
 		}

-		protected function label_change() : void
+		protected function label_change(event : Event) : void
 		{
 			m_labelStr = m_labelDisplay.text;
 			dispatchEvent(new Event(Event.CHANGE));
 			applyOverflowProperty();
 		}

-		protected override function draw () : void
+		protected override function applyOverflowProperty() : void
+		{
+			if ((m_labelDisplay.maxScrollV > 1) != m_verticalScrollingOn ||
+				(m_labelDisplay.maxScrollH > 0) != m_horizontalScrollingOn)
+			{
+				m_overflowIsInvalid = true;
+				super.applyOverflowProperty();
+				m_verticalScrollingOn = m_labelDisplay.maxScrollV > 1;
+				m_horizontalScrollingOn = m_labelDisplay.maxScrollH > 0;
+			}
+		}
+
+		protected override function draw() : void
 		{
 			super.draw();
 			if (!isNaN(m_tabIndex))


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

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

 package mx.charts.chartClasses
 {


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

--- frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.as
+++ frameworks/projects/framework/src/mx/preloaders/SparkDownloadProgressBar.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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: 1098
Author:   jimurphy@adobe.com
Date:     2008-04-03T21:50:39.896200Z

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

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

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


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

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

 package spark.components.gridClasses
 {


Bug 650835 addendum: reduce inner loop so that test doesn't cause android to fail (r=cpeyer)

--- test/acceptance/mmgc/pauseForGCIfCollectionImminent.as
+++ test/acceptance/mmgc/pauseForGCIfCollectionImminent.as
@@ -64,7 +64,7 @@
     var hits = 0;
     var a = [];
     for (var i = 0; i < 1000; i++) {
-        for (var j = 0; j < 4000; j++)
+        for (var j = 0; j < 500; j++)
         a[0] = 3.14159 + i * j; // compute a Number and store it in a * location to box it
         var before = System.totalMemory - System.freeMemory;
         System.pauseForGCIfCollectionImminent(f);


Transferred from the Adobe Open Source Subversion Repository

Revision: 18614
Author:   smgilson@adobe.com
Date:     2010-11-16T15:54:53.323653Z

Log Message:
-----------
ASDoc edits

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IDataGridElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridRowBackground.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRendererOwner.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemEditor.as
@@ -10,20 +10,33 @@
 import spark.components.DataGrid;

 /**
- *  Grid item editors must implement this interface.
+ *  The IGridItemEditor interface defines the interface that item editors for
+ *  the Spark DataGrid and Spark Grid controls must implement.
+ *  The DataGrid and Grid controls are referred to as the item renderer owner,
+ *  or as the host component of the item editor.
  *
- *
All of the item editor's properties are set by the DataGrid during
- *  the start of the editor session. The data property is the
- *  last property set. When the data property is set a grid item editor should
- *  set the value of the editor's controls. Next the editor's
- *  prepare() method is called. IGridItemEditor
- *  implementations should override the preprare() method to make any final
- *  adjustments to its properties or any aspect of its visual elements.
- *  When the editor is closing the discard() method is called.

+ *
All of the item editor's properties are set by the owner during
+ *  the start of the editor session.
+ *  The data property is the last property set.
+ *  When the data property is set, an item editor should
+ *  set the value of the editor's controls.
+ *  Next, the editor's prepare() method is called.
+ *  IGridItemEditor implementations should override the prepare() method
+ *  to make any final adjustments to its properties or any aspect of its visual elements.
+ *  When the editor is closing, the discard() method is called.

  *
- *
When the editor is closed the input value can be saved or cancelled. If saving,
- * the save() function is called by the editor.
- *

+ *
When the editor is closed, the input value can be saved or canceled.
+ *  If saving, the save() function is called by the editor
+ *  to write new values to the data provider element corresponding to the
+ *  row of the edited cell.

+ *
+ *  @see spark.components.DataGrid
+ *  @see spark.components.Grid
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 public interface IGridItemEditor extends IDataRenderer, IVisualElement,
                                  IFocusManagerComponent, IIMESupport
@@ -39,11 +52,11 @@
     //----------------------------------

     /**
-     *  The data grid that owns this editor.
+     *  The control that owns this item editor.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function get dataGrid():DataGrid;
@@ -53,11 +66,11 @@
     //----------------------------------

     /**
-     *  The column that is being edited.
+     *  The column of the cell being edited.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function get column():GridColumn;
@@ -68,11 +81,13 @@
     //----------------------------------

     /**
-     *  The zero-based index of the column that is being edited.
+     *  The zero-based index of the column being edited.
+     *  That means that values are 0, 1, 2, ... , n - 1,
+     *  where n is the total number of columns.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function get columnIndex():int;
@@ -82,11 +97,13 @@
     //----------------------------------

     /**
-     *  The zero-based index of the row that is being edited.
+     *  The zero-based index of the row of the cell being edited.
+     *  That means that values are 0, 1, 2, ... , n - 1,
+     *  where n is the total number of rows.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function get rowIndex():int;
@@ -100,47 +117,60 @@

     /**
      *  Called after the editor has been created and sized but before the
-     *  editor is visible. This is an oppurtunity to adjust the look of
-     *  the editor before it becomes visible.
+     *  editor is visible.
+     *  Use this method to adjust the appearance of the editor,
+     *  add event listeners, or perform any other initializations
+     *  before it becomes visible.
      *
-     *  This function should only be called by the data grid.
+     *
Do not call this method directly.
+     *  It should only be called by the control hosting the item editor.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function prepare():void;

     /**
-     *  Called just before the editor is closed. This is a chance
-     *  of clean up anything that was set in prepare().
+     *  Called just before the editor is closed.
+     *  Use this method to perform any final cleanup,
+     *  such as cleaning up anything that was set in the
+     *  prepare() method.
      *
-     *  This function should only be called by the data grid.
-     *
+     *
Do not call this method directly.
+     *  It should only be called by the control hosting the item editor.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function discard():void;

     /**
-     *  Saves the value in the editor back into the item renderer's
-     *  data. This function calls validate() to verify
-     *  the data may be saved. If the data is not valid, then the
-     *  data is not saved and the editor is not closed.
+     *  Saves the value in the editor to the data provider of the
+     *  item renderer's owner.
+     *  This method updates the data provider element corresponding to the
+     *  row of the edited cell.
+     *  This function calls GridItemEditor.validate() to verify
+     *  the data may be saved.
+     *  If the data is not valid, then the data is not saved
+     *  and the editor is not closed.
      *
-     *  This function should only be called by the data grid. To save
-     *  and close the editor call the endItemEditorSession()
-     *  function of the data grid owner.
+     *
Do not call this method directly.
+     *  It should only be called by the control hosting the item editor.
+     *  To save and close the editor, call the endItemEditorSession()
+     *  method of the item renderer owner.

+     *
+     *  @save return true if the save operation succeeded,
+     *  and false if not.
      *
      *  @see spark.components.DataGrid
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
-     *  @playerversion AIR 2.0
+     *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
     function save():Boolean;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9106
Author:   dsubrama@adobe.com
Date:     2009-08-05T18:01:12.433812Z

Log Message:
-----------
A couple of changes to ItemRenderer and List.

-'normal' state for ItemRenderers is now optional
-List's keyDown() handler is adequately commented to aid users in figuring out what to opt in for/opt out for when writing custom keyDown functionality
-Shoving the label text into the labelDisplay's text in an ItemRenderer happens in ItemRenderer itself (vs DefaultItemRenderer)

QE notes: I ran DataGroup, SkinnableDataContainer, List and DropDownList tests and all passed - there were some Mac-specific visual differences that should not be related to my changes.
Doc notes: Yes - please make sure documentation reflect that the normal state is optional. Now, ItemRenderers have no required states.
Bugs: SDK-22268, SDK-21960
Reviewer: Corey
Tests run: DataGroup, SkinnableDataContainer, List, DDL
Is noteworthy for integration: Noe

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/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -313,6 +313,12 @@
     {
         if (value != _label)
             _label = value;
+
+        //Push the label down into the labelDisplay,
+        //if it exists
+        if (labelDisplay)
+            labelDisplay.text = _label;
+
         dispatchEvent(new FlexEvent("textChanged"));
     }

@@ -376,8 +382,14 @@

         if (hovered && hasState("hovered"))
             return "hovered";
-
-        return "normal";
+
+        if (hasState("normal"))
+            return "normal";
+
+        //If none of the above states are defined in the item renderer,
+        //we return the empty string. This means the user-defined renderer
+        //will display but essentially be non-interactive visually.
+        return null;
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 8481
Author:   smgilson@adobe.com
Date:     2009-07-09T17:28:31.741329Z

Log Message:
-----------
First of several checkins to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<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/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -36,7 +36,7 @@
  *  attributes of its superclass and adds the following tag attributes:

  *
  *

- *  <ItemRenderer
+ *  <s:ItemRenderer
  *    Properties
  *    selected="false"
  *    showsCaret="false"
@@ -362,9 +362,9 @@
      */
     protected function getCurrentRendererState():String
     {
-    	if (selected && showsCaret && hasState("selectedAndShowsCaret"))
-    	   return "selectedAndShowsCaret";
-
+        if (selected && showsCaret && hasState("selectedAndShowsCaret"))
+           return "selectedAndShowsCaret";
+
         if (hovered && showsCaret && hasState("hoveredAndShowsCaret"))
             return "hoveredAndShowsCaret";


Transferred from the Adobe Open Source Subversion Repository

Revision: 18678
Author:   rfrishbe@adobe.com
Date:     2010-11-17T21:48:43.414967Z

Log Message:
-----------
Make invalidateRendererState() on ItemRenderer protected instead of public.

invalidateSkinState() should probably follow the same pattern, but it's too late/not worth it to change it.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -549,7 +549,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function invalidateRendererState():void
+    protected function invalidateRendererState():void
     {
         playTransitionsOnNextRendererState = (playTransitionsOnNextRendererState || playTransitions);


Transferred from the Adobe Open Source Subversion Repository

Revision: 2954
Author:   chaase@adobe.com
Date:     2008-08-22T01:01:32.343242Z

Log Message:
-----------
Fixes to some ending and repeat bugs in the new Flex4 effects, plus refactoring of Sine/Power to subclass from new class, EaseInOut, which takes care of common easing in/out functionality and simplifies each subclass.

reviewed by: Jason S
tests: checkintests, mustella tests/Effects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/effectClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Animation.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/easing/EaseInOut.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/easing/Sine.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateInstance.as
@@ -28,12 +28,11 @@
  */
 public class AnimateInstance extends EffectInstance implements IAnimationTarget
 {
-    public var animation:Animation = new Animation();
+    public var animation:Animation;

     public function AnimateInstance(target:Object)
     {
         super(target);
-        animation.addAnimationTarget(this);
     }

     //--------------------------------------------------------------------------
@@ -79,70 +78,38 @@
      * on fractional pixels.
      */
     protected var roundValues:Boolean;
-
+
+    private var _easer:IEaser;
     public function set easer(value:IEaser):void
     {
-        animation.easer = value;
+        _easer = value;
     }
     public function get easer():IEaser
     {
-        return animation.easer;
-    }
-
+        return _easer;
+    }
+
+    private var _interpolator:IInterpolator;
     public function set interpolator(value:IInterpolator):void
     {
-        animation.interpolator = value;
+        _interpolator = value;
+
     }
     public function get interpolator():IInterpolator
     {
-        return animation.interpolator;
-    }
-
+        return _interpolator;
+    }
+
+    private var _repeatBehavior:String;
     public function set repeatBehavior(value:String):void
     {
-        animation.repeatBehavior = value;
+        _repeatBehavior = value;
     }
     public function get repeatBehavior():String
     {
-        return animation.repeatBehavior;
-    }
-
-    override public function set duration(value:Number):void
-    {
-        animation.duration = value;
-    }
-    override public function get duration():Number
-    {
-        return animation.duration;
-    }
-
-    override public function set startDelay(value:int):void
-    {
-        animation.startDelay = value;
-    }
-    override public function get startDelay():int
-    {
-        return animation.startDelay;
-    }
-
-    override public function set repeatDelay(value:int):void
-    {
-        animation.repeatDelay = value;
-    }
-    override public function get repeatDelay():int
-    {
-        return animation.repeatDelay;
-    }
-
-    override public function set repeatCount(value:int):void
-    {
-        animation.repeatCount = value;
-    }
-    override public function get repeatCount():int
-    {
-        return animation.repeatCount;
-    }
-
+        return _repeatBehavior;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods
@@ -340,21 +307,25 @@
             // Create the single Animation that will interpolate all properties
             // simultaneously by interpolating the elements of the
             // from/toVals arrays
-            animation.startValue = fromVals;
-            animation.endValue = toVals;
+            animation = new Animation(fromVals, toVals, duration, this);
         }
         else
         {
             // Only one property; don't bother with the arrays
-            animation.startValue = fromValue;
-            animation.endValue = toValue;
+            animation = new Animation(fromValue, toValue, duration, this);
         }

         if (_seekTime > 0)
             animation.seek(_seekTime);
         if (reverseAnimation)
             animation.reverse();
-
+        animation.interpolator = interpolator;
+        animation.repeatCount = repeatCount;
+        animation.repeatDelay = repeatDelay;
+        animation.repeatBehavior = repeatBehavior;
+        animation.easer = easer;
+        animation.startDelay = startDelay;
+
         animation.play();

         // TODO (chaase): there may be a better way to organize the


Use localeCompare.

Use localeCompare.

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

--- src/as/com/threerings/util/Name.as
+++ src/as/com/threerings/util/Name.as
@@ -58,15 +58,7 @@
     {
         var thisNormal :String = getNormal();
         var thatNormal :String = (other as Name).getNormal();
-        if (thisNormal == thatNormal) {
-            return 0;
-
-        } if (thisNormal < thatNormal) {
-            return -1;
-
-        }  else {
-            return 1;
-        }
+        return thisNormal.localeCompare(thatNormal);
     }

     // from interface Streamable


coding style fix and first (comented) draft for delta add/remove binding properties instead of add/remove the whole provider

--- src/aerys/minko/type/binding/DataBindings.as
+++ src/aerys/minko/type/binding/DataBindings.as
@@ -8,16 +8,16 @@

 	public final class DataBindings
 	{
-		private var _owner							: ISceneNode				= null;
-
-		private var _providers						: Vector.<IDataProvider> 	= new <IDataProvider>[];
-		private var _bindingNames					: Vector.<String>			= new Vector.<String>();
-
-		private var _bindingNameToValue				: Object					= {};
-		private var _bindingNameToChangedSignal		: Object					= {};
-
-		private var _bindingNameToProvider			: Object					= {};
-		private var _providerToBindingNames			: Dictionary				= new Dictionary(); // dic[Vector.<String>[]]
+		private var _owner						: ISceneNode;
+
+		private var _providers					: Vector.<IDataProvider>;
+		private var _bindingNames				: Vector.<String>;
+
+		private var _bindingNameToValue			: Object;
+		private var _bindingNameToChangedSignal	: Object;
+
+		private var _bindingNameToProvider		: Object;
+		private var _providerToBindingNames		: Dictionary;

 		public function get owner() : ISceneNode
 		{
@@ -37,6 +37,13 @@
 		public function DataBindings(owner : ISceneNode)
 		{
 			_owner = owner;
+
+			_providers = new <IDataProvider>[];
+			_bindingNames = new <String>[];
+			_bindingNameToValue = {};
+			_bindingNameToChangedSignal = {};
+			_bindingNameToProvider = {};
+			_providerToBindingNames = new Dictionary(true);
 		}

 		public function contains(dataProvider : IDataProvider) : Boolean
@@ -58,26 +65,33 @@
 			_providers.push(provider);

 			for (var attrName : String in dataDescriptor)
-			{
-				// if this provider attribute is also a dataprovider, let's also bind it
-				var bindingName	: String	= dataDescriptor[attrName];
-				var attribute	: Object	= provider[attrName];
-
-				if (_bindingNames.indexOf(bindingName) != -1)
-					throw new Error(
-						'Another data provider is already declaring the \'' + bindingName
-                        + '\' property.'
-					);
-
-				_bindingNameToProvider[bindingName] = provider;
-				_bindingNameToValue[bindingName] = attribute;
-
-				providerBindingNames.push(bindingName);
-				_bindingNames.push(bindingName);
-
-				if (_bindingNameToChangedSignal[bindingName])
-					_bindingNameToChangedSignal[bindingName].execute(this, bindingName, null, attribute);
-			}
+				addBinding(
+					dataDescriptor[attrName],
+					provider[attrName],
+					provider,
+					providerBindingNames
+				);
+		}
+
+		private function addBinding(bindingName 			: String,
+									value 					: Object,
+									provider				: IDataProvider,
+									providerBindingNames	: Vector.<String>) : void
+		{
+			if (_bindingNames.indexOf(bindingName) != -1)
+				throw new Error(
+					'Another data provider is already declaring the \'' + bindingName
+					+ '\' property.'
+				);
+
+			_bindingNameToProvider[bindingName] = provider;
+			_bindingNameToValue[bindingName] = value;
+
+			providerBindingNames.push(bindingName);
+			_bindingNames.push(bindingName);
+
+			if (_bindingNameToChangedSignal[bindingName])
+				_bindingNameToChangedSignal[bindingName].execute(this, bindingName, null, value);
 		}

 		public function removeProvider(provider : IDataProvider) : void
@@ -89,7 +103,9 @@
 				throw new ArgumentError('Unknown provider.');

 			var numBindings : uint = _bindingNames.length;
-			for (var indexRead : uint = 0, indexWrite : uint = 0; indexRead < numBindings; ++indexRead)
+			for (var indexRead : uint = 0, indexWrite : uint = 0;
+				indexRead < numBindings;
+				++indexRead)
 			{
 				var bindingName : String = _bindingNames[indexRead];

@@ -101,7 +117,7 @@
 					delete _bindingNameToProvider[bindingName];
 				}
 				else
-					_bindingNames[indexWrite++] = _bindingNames[indexRead];
+					_bindingNames[uint(indexWrite++)] = _bindingNames[indexRead];
 			}
 			_bindingNames.length = indexWrite;

@@ -116,11 +132,7 @@
 				var changedSignal : Signal = _bindingNameToChangedSignal[bindingName] as Signal;

 				if (changedSignal != null)
-				{
-					changedSignal.execute(
-						this, bindingName, tmpValues[bindingName], null
-					);
-				}
+					changedSignal.execute(this, bindingName, tmpValues[bindingName], null);
 			}
 		}

@@ -210,11 +222,12 @@
 			}
 		}

-		private function providerChangedHandler(source : IDataProvider, attributeName : String) : void
+		private function providerChangedHandler(source 			: IDataProvider,
+												attributeName 	: String) : void
 		{
 			if (attributeName == null)
 			{
-				throw new Error('DataProviders must change one property at a time.');
+				throw new Error('DataProviders must change only one property at a time.');
 			}
 			else if (attributeName == 'dataDescriptor')
 			{
@@ -223,15 +236,45 @@
 			}
 			else
 			{
-				var bindingName : String		= source.dataDescriptor[attributeName];
-				var oldValue	: Object		= _bindingNameToValue[bindingName];
-				var newValue	: Object		= source[attributeName];
+				var bindingName : String	= source.dataDescriptor[attributeName];
+				var oldValue	: Object	= _bindingNameToValue[bindingName];
+				var newValue	: Object	= source[attributeName];

 				_bindingNameToValue[bindingName] = newValue;

 				if (_bindingNameToChangedSignal[bindingName])
-					_bindingNameToChangedSignal[bindingName].execute(this, bindingName, oldValue, newValue);
-			}
-		}
+					_bindingNameToChangedSignal[bindingName].execute(
+						this,
+						bindingName,
+						oldValue,
+						newValue
+					);
+			}
+		}
+
+//		FIXME: handle provider's properties removal
+//		private function updateProviderBindings(provider : IDataProvider) : void
+//		{
+//			var dataDescriptor			: Object			= provider.dataDescriptor;
+//			var providerBindingNames	: Vector.<String>	= _providerToBindingNames[provider];
+//			var numBindingNames			: uint				= providerBindingNames.length;
+//
+//			for (var bindingNameId : uint; bindingNameId < numBindingNames; ++bindingNameId)
+//			{
+//				var bindingName : String = providerBindingNames[bindingNameId];
+//
+//				if (!dataDescriptor.hasOwnProperty(bindingName))
+//
+//			}
+//
+//			for (var propertyName : String in dataDescriptor)
+//				if (providerBindingNames.indexOf(propertyName) < -1)
+//					addBinding(
+//						dataDescriptor[propertyName],
+//						provider[propertyName],
+//						provider,
+//						providerBindingNames
+//					);
+//		}
 	}
 }


fix TextureLoader.ioErrorHandler() to throw the error if no callback is set for the TextureLoader.error signal

--- src/aerys/minko/type/loader/TextureLoader.as
+++ src/aerys/minko/type/loader/TextureLoader.as
@@ -88,7 +88,11 @@
 		private function loadIoErrorHandler(e : IOErrorEvent) : void
 		{
 			_textureResource = null;
-			_error.execute(this, e.errorID, e.text);
+
+			if (_error.numCallbacks == 0)
+				throw e;
+			else
+				_error.execute(this, e.errorID, e.text);
 		}

 		private function loadProgressHandler(e : ProgressEvent) : void


Account for kerning by always measuring the width of the truncated text field with the truncation string

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@559 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/TextFieldUtil.as
+++ src/as/com/threerings/flash/TextFieldUtil.as
@@ -64,26 +64,23 @@
         width /= tf.scaleX;

         var truncated :Boolean;
-        if (tf.textWidth > width && tf.text.length > 0) {
-            // subtract the width of our truncationString from our target width
-            var tmp :String = tf.text;
-            tf.text = truncationString;
-            width -= tf.textWidth;
-            tf.text = tmp;
-
+        var setText :String = tf.text;
+        while (tf.textWidth + WIDTH_PAD > width && setText.length > 0) {
             // Drop characters from our string until we hit our target width.
             // Flash doesn't appear to provide a nicer way to get text metrics than
             // sticking stuff in a TextField and calling textWidth.
-            do {
-                tf.text = tf.text.substr(0, tf.text.length - 1);
-            } while (tf.textWidth > width && tf.text.length > 0);
-
+            setText = setText.substr(0, setText.length - 1);
+            tf.text = setText + truncationString;
+
+            truncated = true;
+        }
+
+        if (truncated) {
             // strip whitespace characters from the end of the truncated string
-            tf.text = StringUtil.trimEnd(tf.text);
-
-            tf.appendText(truncationString);
-            truncated = true;
-
+            setText = StringUtil.trimEnd(setText);
+            tf.text = setText + truncationString;
+
+            // resize the TextField
             tf.width = tf.textWidth + WIDTH_PAD;
             tf.height = tf.textHeight + HEIGHT_PAD;
         }


Start sketching main queue

Start sketching main queue

--- src/it/sharpedge/navigator/core/Navigator.as
+++ src/it/sharpedge/navigator/core/Navigator.as
@@ -12,8 +12,8 @@
 	{
 		internal static var _logger:ILogger;

-		private var _enterMapping:SegmentMapper = new SegmentMapper( "" );
-		private var _exitMapping:SegmentMapper = new SegmentMapper( "" );
+		private var _enterMapper:SegmentMapper = new SegmentMapper( "" );
+		private var _exitMapper:SegmentMapper = new SegmentMapper( "" );

 		private var _requestedState:NavigationState;

@@ -35,7 +35,7 @@
 		 */
 		public function Navigator( initialState:* = "/" ) {

-			_currentState = NavigationState.make( initialState ).clone();
+			_currentState = NavigationState.make( initialState );

 		}

@@ -46,7 +46,7 @@
 		 */
 		public function onEnterTo( stateOrPath:* ):IEnterSegmentMapper {

-			return _enterMapping.getSegmentMappingFor( NavigationState.make( stateOrPath ).segments );
+			return _enterMapper.getSegmentMapperFor( NavigationState.make(stateOrPath, false).segments );
 		}

 		/**
@@ -55,7 +55,7 @@
 		 * @return the mapping object so that you can continue the mapping.
 		 */
 		public function onExitFrom( stateOrPath:* ):IExitSegmentMapper {
-			return _exitMapping.getSegmentMappingFor( NavigationState.make( stateOrPath ).segments );
+			return _exitMapper.getSegmentMapperFor( NavigationState.make(stateOrPath, false).segments );
 		}

@@ -72,7 +72,7 @@
 			//TODO: Handle nested request made from guards and hooks

 			// Store and possibly mask the requested state
-			var requested : NavigationState = NavigationState.make(stateOrPath);
+			var requested : NavigationState = NavigationState.make( stateOrPath );
 			if (requested.hasWildcard()) {
 				requested = requested.mask( _currentState );
 				if (requested.hasWildcard()){
@@ -91,26 +91,94 @@
 				return;
 			}

-			executeRequest();
+			executeRequest( requested );

 		}

-		private function executeRequest():void {
+		private function executeRequest( requested:NavigationState ):void {

+			var exitMapping : StateMapping = new StateMapping();
+			var enterMapping : StateMapping = new StateMapping();
+			var res : Boolean = true;
+
+			_exitMapper.getMatchingStateMapping( _currentState.segments, exitMapping );
+
+			res = testRedirect(exitMapping);
+			if(res) return;
+
+			_enterMapper.getMatchingStateMapping( requested.segments, enterMapping );
+
+			res = testRedirect(enterMapping);
+			if(res) return;
+
+			// Execute exit guards
+			//res = executeGuards(exitMapping);
+			//if(!res) return;
+
+			// Execute enter guards
+			//res = executeGuards(enterMapping);
+			//if(!res) return;
+
+			// Execute exit hooks
+
+			// Switch state
+
+			// Execute enter hooks

 		}

-		/*private function findMatchingStates( searchState:NavigationState, statesList:Dictionary ):Array {
-			var matches : Array = new Array;
-			var ns: NavigationState = NavigationStatePool.getNavigationState();
-			for ( var state:String in statesList ) {
-				ns.path = state;
-				if( searchState.equals( ns ){
-
+		private function testRedirect( mapping:StateMapping ):Boolean {
+			// search for redirects
+			if( mapping.redirectTo != null ){
+				redirect( mapping.redirectTo );
+				return true;
+			}
+			return false;
+		}
+
+		private function redirect( destination:NavigationState ):void {
+			var redEvent : NavigatorStateEvent = new NavigatorStateEvent( NavigatorStateEvent.STATE_REDIRECTING, _currentState, destination );
+			dispatchEvent(redEvent);
+			request( destination );
+		}
+
+		private function executeGuardsAsync( ):Boolean {
+			return false;
+		}
+
+		private function executeGuardsSync( mapping:StateMapping ):Boolean {
+
+			for( var guard:Object in mapping.guards ){
+				if (guard is Function)
+				{
+					if ((guard as Function)())
+						continue;
+					return false;
 				}
-			}
-		}*/
+				if (guard is Class)
+				{
+					guard = new (guard as Class);
+				}
+				if (guard.approve() == false)
+					return false;
+			}
+
+			return true;
+		}
+
+		private function executeHooksAsync():void{
+
+		}
+
+		private function executeHooksSync():void {
+
+		}
+
+		private function switchState():void {
+
+		}
+

 	}
 }


Add HTTP Auth support for MJPEG client

Add HTTP Auth support for MJPEG client

--- src/com/axis/mjpegclient/Handle.as
+++ src/com/axis/mjpegclient/Handle.as
@@ -12,6 +12,7 @@
   import com.axis.Logger;
   import com.axis.ErrorManager;
   import com.axis.http.request;
+  import com.axis.http.auth;

   [Event(name="image",type="flash.events.Event")]
   [Event(name="connect",type="flash.events.Event")]
@@ -29,6 +30,11 @@
     private var headers:Vector.<String> = new Vector.<String>();
     private var clen:int;
     private var parseSubheaders:Boolean = true;
+
+    private var authState:String = "none";
+    private var authOpts:Object = {};
+    private var digestNC:uint = 1;
+    private var method:String = "";

     public var image:ByteArray = null;

@@ -81,8 +87,13 @@
       headers.length = 0;
       parseHeaders = true;
       parseSubheaders = true;
+
+      var authHeader:String =
+                    auth.authorizationHeader(method, authState, authOpts, urlParsed, digestNC++);
+
       socket.writeUTFBytes("GET " + urlParsed.urlpath + " HTTP/1.0\r\n");
       socket.writeUTFBytes("Host: " + urlParsed.host + ':' + urlParsed.port + "\r\n");
+      socket.writeUTFBytes(authHeader);
       socket.writeUTFBytes("Accept: multipart/x-mixed-replace\r\n");
       socket.writeUTFBytes("User-Agent: Locomote\r\n");
       socket.writeUTFBytes("\r\n");
@@ -96,6 +107,22 @@
     private function onHttpHeaders(event:ProgressEvent):void {
       var parsed:* = request.readHeaders(socket, dataBuffer);
       if (false === parsed) {
+        return;
+      }
+
+      if (401 === parsed.code) {
+        Logger.log('Unauthorized using auth method: ' + authState);
+        /* Unauthorized, change authState and (possibly) try again */
+        authOpts = parsed.headers['www-authenticate'];
+        var newAuthState:String = auth.nextMethod(authState, authOpts);
+        if (authState === newAuthState) {
+          ErrorManager.dispatchError(parsed.code);
+          return;
+        }
+
+        Logger.log('switching http-authorization from ' + authState + ' to ' + newAuthState);
+        authState = newAuthState;
+        connect();
         return;
       }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5573
Author:   jimurphy@adobe.com
Date:     2009-03-26T15:11:59.159776Z

Log Message:
-----------
-more updated package and class names that were missed in the first pass
-remove the mx folder

qa: probably
doc: this updated more asdoc comments so you may want to make sure that this pass made the correct updates
checkintests: pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as
@@ -23,7 +23,7 @@
 import mx.events.ResizeEvent;

 /**
- *  @copy mx.components.baseClasses.GroupBase#symbolColor
+ *  @copy spark.components.supportClasses.GroupBase#symbolColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -59,7 +59,7 @@
  *    the minimum range value and the maximum range value.</li>
  *  </ul>
  *
- *  @see mx.core.IViewport
+ *  @see spark.core.IViewport
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Revert ""Low Water" system to avoid bitrate change artifacts."

--- HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/M2TSFileHandler.as
@@ -61,7 +61,7 @@
 			_timeOrigin = 0;
 			_timeOriginNeeded = true;

-			_segmentBeginSeconds = Number.MAX_VALUE;
+			_segmentBeginSeconds = -1;
 			_segmentLastSeconds = -1;

 			_firstSeekTime = 0;
@@ -163,7 +163,7 @@
 				}
 			}

-			_segmentBeginSeconds = Number.MAX_VALUE;
+			_segmentBeginSeconds = -1;
 			_segmentLastSeconds = -1;
 			_lastInjectedSubtitleTime = -1;
 			_encryptedDataBuffer.length = 0;
@@ -351,40 +351,11 @@
 		public static var flvLowWaterVideo:uint = 0;
 		public const filterThresholdMs:uint = 0;

-
-		public static var flvLowWater:uint = 0;
-
 		private function handleFLVMessage(timestamp:uint, message:ByteArray):void
 		{
-			if(isBestEffort == false)
-			{
-				// Alway pass through SPS/PPS...
-				var alwaysPass:Boolean = false
-				if(message[0] == 9)
-				{
-					if(message[11] == FLVTags.VIDEO_CODEC_AVC_KEYFRAME
-						&& message[12] == FLVTags.AVC_MODE_AVCC)
-					{
-						trace("Got AVCC, always pass");
-						alwaysPass = true;
-					}
-				}
-
-
-				if(timestamp < flvLowWater - 100 && !alwaysPass)
-				{
-					trace("SKIPPING TOO LOW FLV TS @ " + timestamp);
-					return;
-				}
-
-				// Don't update low water if it's an always pass.
-				if(!alwaysPass)
-					flvLowWater = timestamp;
-			}
-
 			var timestampSeconds:Number = timestamp / 1000.0;

-			if(_segmentBeginSeconds > timestampSeconds)
+			if(_segmentBeginSeconds < 0)
 			{
 				_segmentBeginSeconds = timestampSeconds;
 				trace("Noting segment start time for " + segmentUri + " of " + timestampSeconds);


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10594
Author:   aharui@adobe.com
Date:     2009-09-25T18:41:02.152004Z

Log Message:
-----------
Fix some ControlBar bugs

QE Notes: None
Doc Notes: None
Bugs: SDK-23384 SDK-23373 SDK-23386
Reviewer: Corey
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/gumbo/containers/Panel

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/framework/src/mx/states/AddItems.as
+++ frameworks/projects/framework/src/mx/states/AddItems.as
@@ -522,6 +522,10 @@
         {
             addItemsToContentHolder(dest as IVisualElementContainer, localItems);
         }
+        else if (propertyName == "controlBarContent" && (dest is IVisualElementContainer))
+        {
+            addItemsToControlBar(dest as IVisualElementContainer, localItems);
+        }
         else if (propertyName == null && dest is IChildList)
         {
             addItemsToContainer(dest as IChildList, localItems);
@@ -567,6 +571,11 @@
         {
             for (i = 0; i < numAdded; i++)
                 IVisualElementContainer(dest).removeElementAt(startIndex);
+        }
+        else if (propertyName == "controlBarContent" && (dest is IVisualElementContainer))
+        {
+            for (i = 0; i < numAdded; i++)
+                IVisualElementContainer(dest)["controlBarGroup"].removeElementAt(startIndex);
         }
         else if (propertyName == null && dest is IChildList)
         {
@@ -624,6 +633,9 @@
             if ((propertyName == null || propertyName == "mxmlContent") && (dest is IVisualElementContainer))
                 return IVisualElementContainer(dest).getElementIndex(object as IVisualElement);

+            if ((propertyName == null || propertyName == "controlBarContent") && (dest is IVisualElementContainer))
+                return IVisualElementContainer(dest)["controlBarGroup"].getElementIndex(object as IVisualElement);
+
             if (propertyName == null && dest is IChildList)
                 return IChildList(dest).getChildIndex(DisplayObject(object));

@@ -680,6 +692,20 @@
     /**
      *  @private
      */
+    protected function addItemsToControlBar(dest:IVisualElementContainer, items:Array):void
+    {
+        dest = dest["controlBarGroup"];
+
+        if (startIndex == -1)
+            startIndex = dest.numElements;
+
+        for (var i:int = 0; i < items.length; i++)
+            dest.addElementAt(items[i], startIndex + i);
+    }
+
+    /**
+     *  @private
+     */
     protected function addItemsToContainer(dest:IChildList, items:Array):void
     {
         if (startIndex == -1)


Transferred from the Adobe Open Source Subversion Repository

Revision: 813
Author:   genovese@adobe.com
Date:     2008-03-14T15:45:26.463914Z

Log Message:
-----------
Added docs for roomForScrollBar()

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as

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

--- frameworks/projects/mx/src/mx/core/ScrollControlBase.as
+++ frameworks/projects/mx/src/mx/core/ScrollControlBase.as
@@ -1113,6 +1113,23 @@

         return verticalScrollBar;
     }
+
+    /**
+     *  Determines if there is enough space in this component to display
+     *  a given scrollbar.
+     *
+     *  @param bar The scrollbar
+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     *
+     *  @return Returns true if there is enough space for a scrollbar.
+     */

     protected function roomForScrollBar(bar:ScrollBar,
     		unscaledWidth:Number, unscaledHeight:Number):Boolean


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

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

 package mx.rpc.xml
 {


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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaManager.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaManager.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 3047
Author:   gruehle@adobe.com
Date:     2008-08-29T22:18:20.601349Z

Log Message:
-----------
Checking in for Jason.

This is the big display object sharing optimization for Group. Adjacent graphic elements that do not require their own display object now draw into a common shared display object.

There should be no functionality changes. The only exception is masks on graphic elements are broken. If you find any other functional differences, please file a bug.

The changes have been cycloned by the SDK QE and Thermo.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IDisplayObjectElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -1,8 +1,6 @@
 package flex.core {
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import flash.display.Graphics;
-import flash.display.Shape;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.EventDispatcher;
@@ -70,8 +68,8 @@
 /**
  *  The Group class.
  */
-public class Group extends UIComponent implements IGraphicElementHost // TODO!! , IDisplayObjectElement
-{
+public class Group extends UIComponent implements IGraphicElementHost
+{
     public function Group():void
     {
     	tabChildren = true;
@@ -229,7 +227,8 @@
         // send an event for each content child. This logic will send
         // remove event for the 0th content child x times.
         for (var idx:int = numChildren; idx > 0; idx--)
-            itemRemoved(0);
+            //itemRemoved(0);
+        	super.removeChildAt(0);

         if (_content !== undefined)
         {
@@ -239,7 +238,9 @@
             }
         }

-        if (maskElements)
+        assignDisplayObjects();
+
+        /* if (maskElements)
         {
             for (var k:Object in maskElements)
             {
@@ -262,7 +263,7 @@
                     }
                 }
             }
-        }
+        } */

         dispatchEvent(new FlexEvent(FlexEvent.CONTENT_CHANGED));
     }
@@ -503,6 +504,7 @@
         // Check whether we manage the elements, or are they managed by an ItemRenderer
         if (!alwaysUseItemRenderer)
         {
+        	graphics.clear(); // Clear the group's graphic because graphic elements might be drawing to it
             // TODO EGeorgie: we need to optimize this, iterating through all the elements is slow.
             // Iterate through the graphic elements, clear their graphics and draw them
             var length:int = numItems;
@@ -833,6 +835,8 @@

         itemAdded(item, index);

+        assignDisplayObjects(index);
+
         return item;
     }

@@ -875,6 +879,8 @@
             }
         }

+        assignDisplayObjects(index);
+
         return item;
     }

@@ -977,33 +983,43 @@
     protected function itemAdded(item:*, index:int):void
     {
         var child:DisplayObject;
-
-        // TODO!! Don't add Group this way
-
-        if (item is IGraphicElement && !alwaysUseItemRenderer)
-        {
-        	// Hack for SDK-15738 to remove item if it is currently attached
-        	var host:IGraphicElementHost = IGraphicElement(item).elementHost;
-        	if (host && host is Group)
-        		Group(host).removeItem(item);
-
-            child = initElement(IGraphicElement(item), index);
+
+        if (item is GraphicElement && !alwaysUseItemRenderer)
+        {
+	        item.elementHost = this;
         }
         else
-        {
-        	// Hack for SDK-15738 to remove item if it is currently attached
-        	var dispObj:DisplayObject = item as DisplayObject;
-        	if (dispObj)
+        {
+        	var childIndex:int = -1;
+
+        	if (index == 0)
         	{
-        		var dispObjParent:DisplayObjectContainer = dispObj.parent;
-        		if (dispObjParent)
-        		{
-        			if (dispObjParent is Group)
-        				Group(dispObjParent).removeItem(item);
-        		}
+        		childIndex = 0;
         	}
+        	else if (index != numItems - 1)
+        	{
+	        	for (var i:int = index - 1; i >= 0; i--)
+	        	{
+	        		var prevItem:* = getItemAt(i);
+	        		if (prevItem is DisplayObject)
+	        			childIndex = super.getChildIndex(DisplayObject(prevItem)) ;
+	        		else if (prevItem is GraphicElement)
+	        		{
+	        			var prevElement:GraphicElement = prevItem as GraphicElement;
+	        			if (prevElement.displayObject)
+	        				childIndex = super.getChildIndex(prevElement.displayObject);
+	        		}
+
+	        		if (childIndex != -1)
+	        		{
+	        			childIndex++;
+	        			break;
+	        		}
+
+	        	}
+	        }

-            child = super.addChildAt(createVisualForItem(item), index);
+            child = addItemToDisplayList(createVisualForItem(item), item, childIndex);
         }

         dispatchEvent(new ItemExistenceChangedEvent(
@@ -1017,23 +1033,28 @@
     {
         var item:* = getItemAt(index);
         var skin:* = getItemSkin(item);
-
-        /* if (item is IGraphicElement)
-        {
-            removeElement(IGraphicElement(item));
-        } */
+        var childDO:DisplayObject = item as DisplayObject;
+
         dispatchEvent(new ItemExistenceChangedEvent(
                       ItemExistenceChangedEvent.ITEM_REMOVE, false, false, item));
-        if (item && (item is IGraphicElement))
+        if (item && (item is GraphicElement))
+        {
             item.elementHost = null;
-
+            item.sharedDisplayObject = null;
+            childDO = GraphicElement(item).displayObject;
+        }
+        else if (skin && skin is DisplayObject)
+        {
+        	childDO = skin as DisplayObject;
+        }
         // If the item and skin are different objects, set the skin data to
         // null here to clear it out. Otherwise, the skin keeps a reference to the item,
         // which can cause problems later.
         if (item && skin && item != skin)
             skin.data = null;
-
-        super.removeChildAt(index);
+
+        if (childDO)
+        	super.removeChild(childDO);

         invalidateSize();
         invalidateDisplayList();
@@ -1081,6 +1102,117 @@

     }

+    // This function assumes that the only displayObjects are either items in the content array
+    // or created directly for an item in the content array.
+    private function assignDisplayObjects(startIndex:int = 0):void
+    {
+    	var currentAssignableDO:DisplayObject = this;
+    	var lastDisplayObject:DisplayObject = this;
+
+    	if (alwaysUseItemRenderer)
+    		return;
+
+    	// Iterate through all of the items
+    	var len:int = numItems;
+    	for (var i:int = startIndex; i < len; i++)
+    	{
+    		var item:* = getItemAt(i);
+
+    		if (!(item is GraphicElement))
+    			item = getItemSkin(item);
+
+    		if (item is DisplayObject)
+    		{
+    			lastDisplayObject = item as DisplayObject;
+    			// Null this out so that we are forced to create one for the next item
+    			currentAssignableDO = null;
+    		}
+    		else if (item is GraphicElement)
+    		{
+    			var element:GraphicElement = item as GraphicElement;
+
+    			if (currentAssignableDO == null || element.needsDisplayObject)
+    			{
+    				var insertIndex:int;
+    				var newChild:DisplayObject = element.displayObject;
+
+    				if (lastDisplayObject == this)
+    					insertIndex = 0;
+    				else
+    					insertIndex = super.getChildIndex(lastDisplayObject) + 1;
+
+    				if (newChild == null)
+    				{
+	    				newChild = element.createDisplayObject();
+	    				element.displayObject = newChild; // TODO!! Handle this in createDisplayObject?
+    				}
+
+    				addItemToDisplayList(newChild, item, insertIndex);
+    				// If the element is transformed, the next item needs its own DO
+    				currentAssignableDO = element.nextSiblingNeedsDisplayObject ? null : newChild;
+    				lastDisplayObject = newChild;
+    			}
+    			else
+    			{
+    				// Item should be assigned the currentAssignableDO
+    				// If it already has a DO, we need to remove it
+    				if (element.displayObject)
+    				{
+						if (element.displayObject.parent == this)
+    						super.removeChild(element.displayObject);
+    					element.destroyDisplayObject();
+    				}
+
+    				element.sharedDisplayObject = currentAssignableDO;
+    				if (element.nextSiblingNeedsDisplayObject)
+    					currentAssignableDO = null;
+    			}
+    		}
+    	}
+    }
+
+
+    // Helper function to remove child from other Group or display list before
+    // adding to the display list.
+    protected function addItemToDisplayList(child:DisplayObject, item:*, index:int = -1):DisplayObject
+    {
+    	var host:DisplayObject;
+
+    	if (item is GraphicElement)
+    		host = DisplayObject(GraphicElement(item).elementHost);
+    	else if (item is DisplayObject)
+    		host = DisplayObject(item).parent;
+
+    	// Remove the item from the group if that group isn't this group
+    	if (host && host is Group && host != this)
+    		Group(host).removeItem(item);
+
+    	// Calling removeItem should have already removed the child. This
+    	// should handle the case when we don't call removeItem
+    	if (child.parent)
+    	{
+    		if (child.parent == this)
+    		{
+    			var insertIndex:int;
+    			if (index == -1)
+    				insertIndex = super.numChildren;
+    			else if (index == 0)
+    				insertIndex = 0;
+    			else
+    				insertIndex = index -1;
+
+    			super.setChildIndex(child, insertIndex);
+    			return child;
+    		}
+    		else
+    			child.parent.removeChild(child);
+
+    	}
+
+ 		return super.addChildAt(child, index != -1 ? index : super.numChildren);
+    }
+
+
     //--------------------------------------------------------------------------
     //
     //  Item -> Skin mapping
@@ -1130,64 +1262,8 @@

         invalidateSize();
         invalidateDisplayList();
-    }
-
-
-    //--------------------------------------------------------------------------
-    //
-    //  Graphic Elements Management
-    //
-    //--------------------------------------------------------------------------
-
-    private var elementToDisplayObjectMap:Dictionary;
-
-    protected function initElement(element:IGraphicElement, index:int):DisplayObject
-    {
-        var result:DisplayObject;
-
-        element.elementHost = this;
-
-        if (!elementToDisplayObjectMap)
-            elementToDisplayObjectMap = new Dictionary();
-
-        if (element is IDisplayObjectElement)
-        {
-            var elementDO:DisplayObject = IDisplayObjectElement(element).createDisplayObject();
-            elementToDisplayObjectMap[element] = elementDO;
-            IDisplayObjectElement(element).displayObject = elementDO;
-            result = super.addChildAt(elementDO, index);
-        }
-        else if (element is IAssignableDisplayObjectElement)
-        {
-            throw new Error("IAssignableDisplayObjectElement not allowed");
-        }
-
-        if (element is ILayoutManagerClient)
-            ILayoutManagerClient(element).nestLevel = nestLevel + 1;
-
-        return result;
-    }
-
-    protected function removeElement(element:IGraphicElement):void
-    {
-        // Find the DO associated with the element
-        var assignableElement:IAssignableDisplayObjectElement = element as IAssignableDisplayObjectElement;
-
-        if (assignableElement)
-        {
-            // CLear the DO
-            //assignableElement.displayObject = null;
-        }
-        else
-        {
-            // TODO!!! Figure out what to do here.
-            var displayElement:IDisplayObjectElement = element as IDisplayObjectElement;
-            //if (displayElement)
-
-        }
-
-    }
-
+    }
+

     //--------------------------------------------------------------------------
     //
@@ -1422,6 +1498,8 @@
         // TODO!!! Need to recalculate the elements
         invalidateSize();
         invalidateDisplayList();
+		// One of our children have told us they might need a displayObject
+        assignDisplayObjects();
     }

     /**