now using lazy evaluation

now using lazy evaluation

--- WeaveData/src/weave/data/AttributeColumns/ReferencedColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/ReferencedColumn.as
@@ -27,6 +27,7 @@
 	import weave.api.data.IColumnReference;
 	import weave.api.data.IColumnWrapper;
 	import weave.api.data.IQualifiedKey;
+	import weave.api.detectLinkableObjectChange;
 	import weave.api.registerLinkableChild;
 	import weave.api.setSessionState;
 	import weave.core.CallbackCollection;
@@ -41,14 +42,19 @@
 	 */
 	public class ReferencedColumn extends CallbackCollection implements IColumnWrapper
 	{
-		public function ReferencedColumn()
-		{
-		}
-
 		/**
 		 * This is a reference to another column.
 		 */
-		public const dynamicColumnReference:LinkableDynamicObject = registerLinkableChild(this, new LinkableDynamicObject(IColumnReference), handleReferenceChange);
+		public const dynamicColumnReference:LinkableDynamicObject = registerLinkableChild(this, new LinkableDynamicObject(IColumnReference));
+
+		/**
+		 * The trigger counter value at the last time the internal column was retrieved.
+		 */
+		private var _dynamicRefTriggerCounter:uint = 0;
+		/**
+		 * the internal referenced column
+		 */
+		protected var _internalColumn:IAttributeColumn = null;

 		/**
 		 * This is the actual IColumnReference object inside dynamicColumnReference.
@@ -57,38 +63,31 @@
 		{
 			return dynamicColumnReference.internalObject as IColumnReference;
 		}
+
+		/**
+		 * @inheritDoc
+		 */
+		public function getInternalColumn():IAttributeColumn
+		{
+			if (_dynamicRefTriggerCounter != dynamicColumnReference.triggerCounter)
+			{
+				_dynamicRefTriggerCounter = dynamicColumnReference.triggerCounter;
+
+				var newColumn:IAttributeColumn = WeaveAPI.AttributeColumnCache.getColumn(internalColumnReference);
+				// do nothing if this is the same column
+				if (_internalColumn != newColumn)
+				{
+					if (_internalColumn)
+						_internalColumn.removeCallback(triggerCallbacks);

-		/**
-		 * This gets called when either the columnReference object changes or the referenced column changes.
-		 * This function will remove a callback from the old column and add a callback to the new one.
-		 */
-		protected function handleReferenceChange():void
-		{
-			var newColumn:IAttributeColumn = WeaveAPI.AttributeColumnCache.getColumn(internalColumnReference);
-			// do nothing if this is the same column
-			if (_internalColumn == newColumn)
-				return;
-
-			if (_internalColumn != null)
-				(WeaveAPI.SessionManager as SessionManager).unregisterLinkableChild(this, _internalColumn);
-
-			_internalColumn = newColumn;
-
-			if (_internalColumn != null)
-				registerLinkableChild(this, _internalColumn);
-		}
-
-		/**
-		 * @return The column referenced by the columnReference object.
-		 */
-		public function getInternalColumn():IAttributeColumn
-		{
+					_internalColumn = newColumn;
+
+					if (_internalColumn)
+						_internalColumn.addImmediateCallback(this, triggerCallbacks, false, true);
+				}
+			}
 			return _internalColumn;
 		}
-		/**
-		 * the internal referenced column
-		 */
-		protected var _internalColumn:IAttributeColumn = null;

@@ -104,7 +103,7 @@

 		public function getMetadata(attributeName:String):String
 		{
-			return _internalColumn ? _internalColumn.getMetadata(attributeName) : null;
+			return getInternalColumn() ? _internalColumn.getMetadata(attributeName) : null;
 		}

 		/**
@@ -112,7 +111,7 @@
 		 */
 		public function get keys():Array
 		{
-			return _internalColumn ? _internalColumn.keys : [];
+			return getInternalColumn() ? _internalColumn.keys : [];
 		}

 		/**
@@ -121,7 +120,7 @@
 		 */
 		public function containsKey(key:IQualifiedKey):Boolean
 		{
-			return _internalColumn && _internalColumn.containsKey(key);
+			return getInternalColumn() && _internalColumn.containsKey(key);
 		}

 		/**
@@ -131,7 +130,7 @@
 		 */
 		public function getValueFromKey(key:IQualifiedKey, dataType:Class = null):*
 		{
-			if (_internalColumn != null)
+			if (getInternalColumn())
 				return _internalColumn.getValueFromKey(key, dataType);
 			return undefined;
 		}


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

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


Remove update from lights out script as it's driven by trigger events.


Fix math crash in bandwidth rule on too-fast downloads.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPStreamSource.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPStreamSource.as
@@ -610,6 +610,9 @@
 						downloadDuration = HLSIndexHandler._lastBestEffortFetchDuration / 1000.0;
 					}

+					// Cap download time to 2ms to avoid singularities.
+					downloadDuration = Math.max(downloadDuration, 0.002);
+
 					var lastFragmentDetails:FragmentDetails = new FragmentDetails(_downloader.downloadBytesCount, _fragmentDuration, downloadDuration, _qualityLevel, fragmentIdentifier);
 					trace("Submitting size=" + lastFragmentDetails.size + ", downloadDuration=" + downloadDuration + ", fragmentDuration=" + _fragmentDuration);


Transferred from the Adobe Open Source Subversion Repository

Revision: 4600
Author:   jszeto@adobe.com
Date:     2009-01-20T21:11:33.133710Z

Log Message:
-----------
Flex SDK - Move style metadata from base class down to component classes

Previously, all spark and text styles were defined on FxComponent even though not every component supports all of those styles. So I have moved each style to the top-most base class where the style will apply to all descendant classes of that base class.

This is the set of styles that were added to the various classes:

baseColor
color
focusColor
symbolColor
selectionColor
contentBackgroundColor
rollOverColor
alternatingItemColors
basic text styles
advanced text styles

Here are some details about the implementation:
- baseColor was added to FxComponent because every component and container supports it
- FxContainer and GroupBase are containers, so their children can potentially support any of the styles. Thus the container classes support all of the styles indirectly.
- FxDataContainer doesn't support all of the styles because its subclasses (FxButtonBar, FxList) don't support all styles.
- FxList supports selectionColor, but not inactiveSelectionColor or unfocusedSelectionColor. All other components that support selectionColor, support the other two styles, and thus include styles/metadata/SelectionFormatTextStyles.as
- GroupBase contains the style declarations that have the full ASDoc. All other declarations use the @copy keyword to reference the asdoc from GroupBase.

QE Notes: Update tests to remove references to styles that are no longer allowed on various components/FxButton.as
Doc Notes: Write the ASDoc comments for the style declarations in GroupBase
Bugs: n/a
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButton.as
+++ frameworks/projects/spark/src/spark/components/RadioButton.as
@@ -29,6 +29,11 @@
 //  Styles
 //--------------------------------------

+/**
+ *  @copy mx.components.baseClasses.GroupBase#symbolColor
+ */
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes")]
+
 //--------------------------------------
 //  Excluded APIs
 //--------------------------------------
@@ -38,6 +43,8 @@
 //--------------------------------------

 [IconFile("FxRadioButton.png")]
+
+

 /**
  *  The FxRadioButton control lets the user make a single choice


Transferred from the Adobe Open Source Subversion Repository

Revision: 12782
Author:   smgilson@adobe.com
Date:     2009-12-10T13:53:51.776723Z

Log Message:
-----------
ASDoc updates from doc review of VideoPlayer/VideoDisplay

Update accessibility props of UIComponent.as

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.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/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -76,7 +76,7 @@
  *  @playerversion Flash 10
  *  @playerversion AIR 1.0
  *  @productversion Flex 4
- */
+ */
 [Event(name="complete", type="org.osmf.events.TimeEvent")]

 /**
@@ -1224,7 +1224,7 @@
     /**
      *  @copy spark.components.VideoDisplay#scaleMode
      *
-     *  @default letterbox
+     *  @default "letterbox"
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


* Added extracted emitter removal code into clearEmitters.

--- src/org/flintparticles/common/renderers/SpriteRendererBase.as
+++ src/org/flintparticles/common/renderers/SpriteRendererBase.as
@@ -228,16 +228,23 @@
 		{
 			if ( value != emitters )
 			{
-				while ( _emitters.length > 0 )
-				{
-					removeEmitter(_emitters[0]);
-				}
-
+				clearEmitters();
 				for each( var e:Emitter in value )
 				{
 					addEmitter( e );
 				}
 			}
 		}
+
+		/**
+		 * Removes every emitter rendered by this renderer.
+		 */
+		public function clearEmitters():void
+		{
+			while ( _emitters.length > 0 )
+			{
+				removeEmitter(_emitters[0]);
+			}
+		}
 	}
 }


Do the right thing

Do the right thing

--- MicrophoneMain.as
+++ MicrophoneMain.as
@@ -77,7 +77,7 @@
         var samples:ByteArray = new ByteArray();
         data.position = 0;
         while (data.bytesAvailable) {
-            var val:int = (1 + data.readFloat()) * 27647;
+            var val:int = (data.readFloat() * 27647) + 27647;
             if (val == 0 || val == 92 || val == 8232 || val == 8233) {
                 val += 2;
             }


Last expected mem for tut

Last expected mem for tut

--- src/Testing/Goals/WireTutorialGoal.as
+++ src/Testing/Goals/WireTutorialGoal.as
@@ -1,4 +1,5 @@
 package Testing.Goals {
+	import Values.NumericValue;
 	import Values.Value;
 	import LevelStates.LevelState;
 	/**
@@ -11,10 +12,9 @@
 			super("Set memory line 1 to 2!");
 			dynamicallyTested = true;
 			timeLimit = timeLimit = TimeLimit;
-		}
-
-		override public function stateValid(levelState:LevelState, print:Boolean=false):Boolean {
-			return levelState.memory[1].toNumber() == 2;
+
+			expectedMemory = generateBlankMemory();
+			expectedMemory[1] = new NumericValue(2);
 		}

 	}


1.7.0

--- example-desktop-as3/src/WebViewExampleAS3.as
+++ example-desktop-as3/src/WebViewExampleAS3.as
@@ -18,6 +18,7 @@

 		protected function onActivated(event:Event):void {
 			if(!hasActivated) {
+				hasActivated = true;
 				var viewport:Rectangle = new Rectangle(0, 0, 1024, 768);
 				var settings:Settings = new Settings();
 				webview.init(stage, viewport, "https://html5test.com", settings, 1, 0xFFF1F1F1, true);


fix as example

fix as example

--- examples/flexjs/DataBindingExample_as/src/DataBindingExample.as
+++ examples/flexjs/DataBindingExample_as/src/DataBindingExample.as
@@ -44,15 +44,19 @@
 import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
 import org.apache.flex.html.beads.controllers.EditableTextKeyboardController;
 import org.apache.flex.html.beads.controllers.ListSingleSelectionMouseController;
+import org.apache.flex.html.beads.layouts.BasicLayout;
 import org.apache.flex.html.beads.layouts.VerticalLayout;
 import org.apache.flex.html.beads.models.ArraySelectionModel;
 import org.apache.flex.html.beads.models.SingleLineBorderModel;
 import org.apache.flex.html.beads.models.TextModel;
 import org.apache.flex.html.beads.models.ToggleButtonModel;
 import org.apache.flex.html.beads.models.ValueToggleButtonModel;
+import org.apache.flex.html.beads.models.ViewportModel;
+import org.apache.flex.html.supportClasses.ContainerContentArea;
 import org.apache.flex.html.supportClasses.DropDownListList;
 import org.apache.flex.html.supportClasses.DataGroup;
 import org.apache.flex.html.supportClasses.ScrollingViewport;
+import org.apache.flex.html.supportClasses.Viewport;
 import org.apache.flex.html.supportClasses.StringItemRenderer;
 import org.apache.flex.net.HTTPService;
 import org.apache.flex.collections.parsers.JSONInputParser;
@@ -105,9 +109,23 @@
         o = viv[makeDefinitionName("org.apache.flex.html::Container")] =
         {

-            iBeadView: ContainerView
-        };
-
+            iBeadView: ContainerView,
+    		iBeadLayout: BasicLayout,
+    		iContentView: ContainerContentArea,
+			iViewport: Viewport,
+			iViewportModel: ViewportModel
+        };
+
+        o = viv[makeDefinitionName("org.apache.flex.core::View")] =
+        {
+
+            iBeadView: ContainerView,
+    		iBeadLayout: BasicLayout,
+    		iContentView: ContainerContentArea,
+			iViewport: Viewport,
+			iViewportModel: ViewportModel
+        };
+
         CONFIG::as_only {
             o.iBackgroundBead = SolidBackgroundBead;
             o.iBorderBead = SingleLineBorderBead;
@@ -119,9 +137,10 @@
             iBeadView:  ListView,
             iBeadController: ListSingleSelectionMouseController,
             iBeadLayout: VerticalLayout,
-            iDataGroup: DataGroup,
+            iContentView: DataGroup,
             iDataProviderItemRendererMapper: DataItemRendererFactoryForArrayData,
-			IViewport: ScrollingViewport,
+			iViewport: ScrollingViewport,
+			iViewportModel: ViewportModel,
             iItemRendererClassFactory: ItemRendererClassFactory,
             iItemRenderer: StringItemRenderer
         };
@@ -243,9 +262,10 @@
                 iBeadView:  ListView,
                 iBeadController: ListSingleSelectionMouseController,
                 iBeadLayout: VerticalLayout,
-                iDataGroup: DataGroup,
+                iContentView: DataGroup,
                 iDataProviderItemRendererMapper: TextItemRendererFactoryForArrayData,
-	    		IViewport: ScrollingViewport,
+	    		iViewport: ScrollingViewport,
+	    		iViewportModel: ViewportModel,
                 iItemRendererClassFactory: ItemRendererClassFactory,
                 iItemRenderer: StringItemRenderer
             }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPDimension.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPDimension.as
@@ -0,0 +1,179 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+import mx.collections.ICollectionView;
+import mx.collections.IList;
+
+/**
+ *  The IOLAPDimension interface represents a dimension in an IOLAPCube instance.
+ *.
+ *  @see mx.olap.OLAPDimension
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPDimension extends IOLAPElement
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  attributes
+	//----------------------------------
+
+    /**
+     *  The attributes of this dimension, as a list of OLAPAttribute instances.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get attributes():IList;
+
+    //----------------------------------
+	//  cube
+	//----------------------------------
+
+    /**
+     *  The cube to which this dimension belongs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get cube():IOLAPCube;
+
+    //----------------------------------
+	//  defaultMember
+	//----------------------------------
+
+    /**
+     *  The default member of this dimension.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get defaultMember():IOLAPMember;
+
+    //----------------------------------
+	//  hierarchies
+	//----------------------------------
+
+    /**
+     *  All the hierarchies for this dimension, as a list of IOLAPHierarchy instances.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get hierarchies():IList; // of IOLAPHierarchy
+
+    //----------------------------------
+	//  members
+	//----------------------------------
+
+    /**
+     *  Returns all the members of this dimension, as a list of IOLAPMember instances.
+     *
+     *  The returned list might represent remote data and therefore can throw
+     *  an ItemPendingError.
+     *
+     *  @param name The name of the hierarchy.
+     *
+     *  @return An IOLAPHierarchy instance representing the hierarchy,
+     *  or null if a hierarchy is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get members():IList;
+
+    //----------------------------------
+	//  isMeasure
+	//----------------------------------
+
+    /**
+     * Contains true if this is the measures dimension,
+     * which holds all the measure members.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get isMeasure():Boolean;
+
+    //--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Returns the attribute with the given name within the dimension.
+     *
+     *  @param name The name of the attribute.
+     *
+     *  @return An IOLAPAttribute instance representing the attribute,
+     *  or null if an attribute is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findAttribute(name:String):IOLAPAttribute
+
+    /**
+     *  Returns the hierarchy with the given name within the dimension.
+     *
+     *  @param name The name of the hierarchy.
+     *
+     *  @return An IOLAPHierarchy instance representing the hierarchy,
+     *  or null if a hierarchy is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findHierarchy(name:String):IOLAPHierarchy;
+
+    /**
+     *  Returns the member with the given name within the dimension.
+     *
+     *  @param name The name of the member.
+     *
+     *  @return An IOLAPMember instance representing the member,
+     *  or null if a member is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findMember(name:String):IOLAPMember;
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/binding/PropertyWatcher.as
+++ frameworks/projects/framework/src/mx/binding/PropertyWatcher.as
@@ -44,6 +44,11 @@
      *  @param event The event type that indicates the property has changed.
      *  @param listeners The binding objects that are listening to this Watcher.
      *  @param propertyGetter A helper function used to access non-public variables.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function PropertyWatcher(propertyName:String,
                                     events:Object,
@@ -66,16 +71,31 @@

 	/**
      *  The parent object of this property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private var parentObj:Object;

     /**
      *  The events that indicate the property has changed
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var events:Object;

     /**
      *  Storage for the propertyGetter property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var propertyGetter:Function;

@@ -91,11 +111,21 @@

 	/**
      *  Storage for the propertyName property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private var _propertyName:String;

     /**
      *  The name of the property this Watcher is watching.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get propertyName():String
     {
@@ -109,6 +139,11 @@
     /**
      *	If compiler can't determine bindability from static type,
 	 *  use RTTI on runtime values.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private var useRTTI:Boolean;

@@ -120,6 +155,11 @@

     /**
      *  If the parent has changed we need to update ourselves
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function updateParent(parent:Object):void
     {
@@ -273,6 +313,11 @@
     /**
      *  Gets the actual property then updates
 	 *  the Watcher's children appropriately.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     private function updateProperty():void
     {
@@ -311,6 +356,11 @@
     /**
      *  The generic event handler.
 	 *  The only event we'll hear indicates that the property has changed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function eventHandler(event:Event):void
     {


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

--- frameworks/projects/framework/src/mx/core/IFlexDisplayObject.as
+++ frameworks/projects/framework/src/mx/core/IFlexDisplayObject.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.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7889
Author:   dsubrama@adobe.com
Date:     2009-06-16T20:01:19.393557Z

Log Message:
-----------
First batch of PARB changes to List, ListBase, ItemRenderer and IItemRenderer as documented here: https://zerowing.corp.adobe.com/display/flex/PARB_RENAME_LIST

QA: Yes
Docs: Yes
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultItemRenderer.mxml</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/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/IndexChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.as
@@ -35,20 +35,7 @@
 public interface IItemRenderer extends IDataRenderer, IVisualElement
 {
     /**
-     *  Contains true if the item renderer allows user interaction
-     *  to change its selected state to
-     *  selected = false.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    function get allowDeselection():Boolean;
-    function set allowDeselection(value:Boolean):void;
-
-    /**
-     *  Contains true if the item renderer
+     *  Is true if the item renderer
      *  can show itself as selected.
      *
      *  @langversion 3.0
@@ -61,8 +48,8 @@
     function set selected(value:Boolean):void;

     /**
-     *  Contains true if the item renderer
-     *  can show itself as focused even if it doesn't have focus.
+     *  Is true if the item renderer
+     *  can show itself as focused.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -70,8 +57,8 @@
      *  @productversion Flex 4
      *
      */
-    function get caret():Boolean;
-    function set caret(value:Boolean):void;
+    function get showsCaret():Boolean;
+    function set showsCaret(value:Boolean):void;

     /**
      *  The String to display in the item renderer.
@@ -92,8 +79,8 @@
      *  @productversion Flex 4
      *
      */
-    function get labelText():String;
-    function set labelText(value:String):void;
+    function get label():String;
+    function set label(value:String):void;

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11170
Author:   rfrishbe@adobe.com
Date:     2009-10-26T23:15:30.879444Z

Log Message:
-----------
ItemRenderer changes.  Fixing some bugs with the autoDrawBackground flag.  Also making some PARB changes:

1.  IItemRenderer.index -> itemIndex (affects DefaultItemRenderer, ItemRenderer, and ButtonBarButton).
2.  GroupBase.renderBackgroundFill() (protected method) -> drawBackground() (mx_internal method)
3.  ItemRenderer.handleBackgroundFill -> autoDrawBackground
4.  Removed contentBackgroundColor from ItemRenderer

Also, DefaultItemRenderer is now no longer an MXML file, but it is an AS-only class that extends UIComponent.

QE notes: -
Doc notes: Yes - Can you please look at the ASDocs for DefaultItemRenderer.as and the autoDrawBackground flag on ItemRenderer
Bugs: -
Reviewer: Deepa
Tests run: checkintests, Mustella List, DataGroup, DropDownList
Is noteworthy for integration: Yes

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/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml" copyfrom-rev="11100" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</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/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/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/IItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/IItemRenderer.as
@@ -45,8 +45,8 @@
      *  @productversion Flex 4
      *
      */
-    function get index():int;
-    function set index(value:int):void;
+    function get itemIndex():int;
+    function set itemIndex(value:int):void;

 	/**
 	 *  True if the item renderer is being dragged.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
+++ frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
@@ -0,0 +1,372 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.display.Loader;
+import flash.events.Event;
+import flash.events.ErrorEvent;
+import flash.events.ProgressEvent;
+import flash.events.IOErrorEvent;
+import flash.events.SecurityErrorEvent;
+import flash.events.TimerEvent;
+import flash.net.URLRequest;
+import flash.net.URLLoader;
+import flash.net.URLLoaderDataFormat;
+import flash.system.LoaderContext;
+import flash.system.ApplicationDomain;
+import flash.system.LoaderContext;
+import flash.system.Security;
+import flash.system.SecurityDomain;
+import flash.utils.ByteArray;
+import flash.utils.Timer;
+
+import mx.events.RSLEvent;
+import mx.utils.SHA256;
+
+[ExcludeClass]
+
+/**
+ *	Cross-domain RSL Item Class.
+ *
+ * 	The rsls are typically located on a different host than the loader.
+ *  There are signed and unsigned Rsls, both have a digest to confirm the
+ *  correct rsl is loaded.
+ *  Signed Rsls are loaded by setting the digest of the URLRequest.
+ *  Unsigned Rsls are check using actionScript to calculate a sha-256 hash of
+ *  the loaded bytes and compare them to the expected digest.
+ *
+ */
+public class CrossDomainRSLItem extends RSLItem
+{
+    include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	private var rslUrls:Array;	// first url is the primary url in the url parameter, others are failovers
+	private var policyFileUrls:Array; // optional policy files, parallel array to rslUrls
+	private var digests:Array;		// option rsl digest, parallel array to rslUrls
+	private var isSigned:Array;		// each entry is a boolean value. "true" if the rsl in the parallel array is signed
+	private var hashTypes:Array;     //  type of hash used to create the digest
+	private var urlIndex:int = 0;	// index into url being loaded in rslsUrls and other parallel arrays
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+    * Create a cross-domain RSL item to load.
+    *
+    * @param rslUrls Array of Strings, may not be null. Each String is the url of an RSL to load.
+    * @param policyFileUrls Array of Strings, may not be null. Each String contains the url of an
+    *                       policy file which may be required to allow the RSL to be read from another
+    *                       domain. An empty string means there is no policy file specified.
+    * @param digests Array of Strings, may not be null. A String contains the value of the digest
+    *                computed by the hash in the corresponding entry in the hashTypes Array. An empty
+    *                string may be provided for unsigned RSLs to loaded them without verifying the digest.
+    *                This is provided as a development cycle convenience and should not be used in a
+    *                production application.
+    * @param hashTypes Array of Strings, may not be null. Each String identifies the type of hash
+    *                  used to compute the digest. Currently the only valid value is SHA256.TYPE_ID.
+    * @param hashTypes Array of boolean, may not be null. Each boolean value specifies if the RSL to be
+    *                  loaded is a signed or unsigned RSL. If the value is true the RSL is signed.
+    *                  If the value is false the RSL is unsigned.
+    */
+	public function CrossDomainRSLItem(rslUrls:Array,
+							 policyFileUrls:Array,
+							 digests:Array,
+							 hashTypes:Array,
+							 isSigned:Array)
+	{
+		super(rslUrls[0]);
+
+		this.rslUrls = rslUrls;
+		this.policyFileUrls = policyFileUrls;
+		this.digests = digests;
+		this.hashTypes = hashTypes;
+		this.isSigned = isSigned;
+	}
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden Methods
+	//
+	//--------------------------------------------------------------------------
+
+
+	/**
+	 *
+	 * Load an RSL.
+    *
+    * @param progressHandler       receives ProgressEvent.PROGRESS events, may be null
+    * @param completeHandler       receives Event.COMPLETE events, may be null
+    * @param ioErrorHandler	       receives IOErrorEvent.IO_ERROR events, may be null
+    * @param securityErrorHandler  receives SecurityErrorEvent.SECURITY_ERROR events, may be null
+    * @param rslErrorHandler  	   receives RSLEvent.RSL_ERROR events, may be null
+    *
+	*/
+	override public function load(progressHandler:Function,
+	                              completeHandler:Function,
+            	                  ioErrorHandler:Function,
+	                              securityErrorHandler:Function,
+	                              rslErrorHandler:Function):void
+    {
+	    chainedProgressHandler = progressHandler;
+	    chainedCompleteHandler = completeHandler;
+	    chainedIOErrorHandler = ioErrorHandler;
+	    chainedSecurityErrorHandler = securityErrorHandler;
+	    chainedRSLErrorHandler = rslErrorHandler;
+
+
+/*
+        // Debug loading of swf files
+
+        trace("begin load of " + url);
+				if (Security.sandboxType == Security.REMOTE)
+		{
+			trace(" in REMOTE sandbox");
+		}
+		else if (Security.sandboxType == Security.LOCAL_TRUSTED)
+		{
+			trace(" in LOCAL_TRUSTED sandbox");
+		}
+		else if (Security.sandboxType == Security.LOCAL_WITH_FILE)
+		{
+			trace(" in LOCAL_WITH_FILE sandbox");
+		}
+		else if (Security.sandboxType == Security.LOCAL_WITH_NETWORK)
+		{
+			trace(" in LOCAL_WITH_NETWORK sandbox");
+		}
+*/
+
+		urlRequest = new URLRequest(rslUrls[urlIndex]);
+		var loader:URLLoader = new URLLoader();
+		loader.dataFormat = URLLoaderDataFormat.BINARY;
+
+		// We needs to listen to certain events.
+
+		loader.addEventListener(
+			ProgressEvent.PROGRESS, itemProgressHandler);
+
+		loader.addEventListener(
+			Event.COMPLETE, itemCompleteHandler);
+
+		loader.addEventListener(
+			IOErrorEvent.IO_ERROR, itemErrorHandler);
+
+		loader.addEventListener(
+			SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler);
+
+		if (policyFileUrls.length > urlIndex &&
+			policyFileUrls[urlIndex] != "")
+		{
+			Security.loadPolicyFile(policyFileUrls[urlIndex]);
+		}
+
+		if (isSigned[urlIndex])
+		{
+		    if (urlRequest.hasOwnProperty("digest"))
+		    {
+    		    // load a signed rsl by specifying the digest
+	    	    urlRequest.digest = digests[urlIndex];
+		    }
+		    else if (hasFailover())
+		    {
+		        loadFailover();
+		        return;
+		    }
+    		else
+    		{
+                // B Feature: externalize error message
+                var rslError:ErrorEvent = new ErrorEvent(RSLEvent.RSL_ERROR);
+                rslError.text = "Flex Error #1002: Flash Player 9.0.60 and above is required to support signed RSLs. Problem occurred when trying to load the RSL " +
+                                urlRequest.url +
+                                ".  Upgrade your Flash Player and try again.";
+                super.itemErrorHandler(rslError);
+                return;
+    		}
+		}
+		loader.load(urlRequest);
+	}
+
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Complete the load of the cross-domain rsl by loading it into the current
+	 *  application domain. The load was started by loadCdRSL.
+	 *
+	 *  @param - urlLoader from the complete event.
+	 *
+	 *  @return - true if the load was completed successfully or unsuccessfully,
+	 *            false if the load of a failover rsl was started
+	 */
+	private function completeCdRslLoad(urlLoader:URLLoader):Boolean
+	{
+		// handle player bug #204244, complete event without data after an error
+		if (urlLoader == null || urlLoader.data == null || ByteArray(urlLoader.data).bytesAvailable == 0)
+		{
+			return true;
+		}
+
+		// load the bytes into the current application domain.
+		var loader:Loader = new Loader();
+		var context:LoaderContext = new LoaderContext();
+		context.applicationDomain = ApplicationDomain.currentDomain;
+		context.securityDomain = null;
+
+		// verify the digest, if any, is correct
+		if (digests[urlIndex] != null && String(digests[urlIndex]).length > 0)
+		{
+		    var verifiedDigest:Boolean = false;
+            if (!isSigned[urlIndex])
+            {
+                // verify an unsigned rsl
+                if (hashTypes[urlIndex] == SHA256.TYPE_ID)
+                {
+               		// get the bytes from the rsl and calculate the hash
+               		var rslDigest:String = null;
+               		if (urlLoader.data != null)
+               		{
+               			rslDigest = SHA256.computeDigest(urlLoader.data);
+               		}
+
+                    if (rslDigest == digests[urlIndex])
+                    {
+                        verifiedDigest = true;
+                    }
+                }
+            }
+            else
+			{
+                // signed rsls are verified by the player
+                verifiedDigest = true;
+            }
+
+            if (!verifiedDigest)
+            {
+                // failover to the next rsl, if one exists
+                // no failover to load, all the rsls have failed to load
+                // report an error.
+                 // B Feature: externalize error message
+                var hasFailover:Boolean = hasFailover();
+                var rslError:ErrorEvent = new ErrorEvent(RSLEvent.RSL_ERROR);
+                rslError.text = "Flex Error #1001: Digest mismatch with RSL " +
+                                urlRequest.url +
+                                ". Redeploy the matching RSL or relink your application with the matching library.";
+                itemErrorHandler(rslError);
+
+                return !hasFailover;
+            }
+		}
+
+		// load the rsl into memory
+		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBytesCompleteHandler);
+		loader.loadBytes(urlLoader.data, context);
+        return true;
+	}
+
+
+    /**
+    *  Does the current url being processed have a failover?
+    *
+    * @return true if a failover url exists, false otherwise.
+    */
+    public function hasFailover():Boolean
+    {
+        return (rslUrls.length > (urlIndex + 1));
+    }
+
+
+    /**
+    *  Load the next url from the list of failover urls.
+    */
+    public function loadFailover():void
+    {
+		// try to load the failover from the same node again
+        if (urlIndex < rslUrls.length)
+        {
+            trace("Failed to load RSL " + rslUrls[urlIndex]);
+            trace("Failing over to RSL " + rslUrls[urlIndex+1]);
+    		urlIndex++;        // move to failover url
+    		url = rslUrls[urlIndex];
+            load(chainedProgressHandler,
+                 chainedCompleteHandler,
+                 chainedIOErrorHandler,
+                 chainedSecurityErrorHandler,
+                 chainedRSLErrorHandler);
+        }
+    }
+
+
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden Event Handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function itemCompleteHandler(event:Event):void
+	{
+        // complete loading the cross-domain rsl by calling loadBytes.
+        completeCdRslLoad(event.target as URLLoader);
+	}
+
+	/**
+	 *  @private
+	 */
+	override public function itemErrorHandler(event:ErrorEvent):void
+	{
+		// if a failover exists, try to load it. Otherwise call super()
+		// for default error handling.
+		if (hasFailover())
+		{
+		    trace(decodeURI(event.text));
+		    loadFailover();
+		}
+		else
+		{
+			super.itemErrorHandler(event);
+		}
+	}
+
+
+	/**
+	 * loader.loadBytes() has a complete event.
+	 * Done loading this rsl into memory. Call the completeHandler
+	 * to start loading the next rsl.
+	 *
+	 *  @private
+	 */
+    private function loadBytesCompleteHandler(event:Event):void
+    {
+   	    super.itemCompleteHandler(event);
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18767
Author:   dloverin@adobe.com
Date:     2010-11-22T12:13:05.651102Z

Log Message:
-----------
RSL Sharing Among Modules feature check-in.

Made PARB changes.
Added Compiler API and FlexTask for 'application-domain' option.
Renamed compiler option 'application-domains' to 'application-domain'.

frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
    addPreloadedRSL() stub.

frameworks/projects/framework/src/mx/core/ApplicationDomainTarget.as
    ASDoc change.

frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
    Update due to PARB changes in RSLData.

frameworks/projects/framework/src/mx/core/FlexModuleFactory.as
    PARB changes.

frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
    Add addPreloadedRSL() to interface. Changes rsl parameter type from Array to Vector.<RSLData>.

frameworks/projects/framework/src/mx/core/RSLData.as
    PARB changes:
•        Change var to getters for read-only properties except for moduleFactory.

•        Rename url to rslURL.

•        Rename policyFileUrl to policyFileURL

frameworks/projects/framework/src/mx/managers/SystemManager.as
    PARB changes.

frameworks/projects/framework/src/mx/utils/LoaderUtil.as
    PARB changes and implement new rule where a sub-app/module loaded into the top-level appdomain has its RSLs loaded into the top-level application. The RSLs can them be shared with other sub-apps/modules of the top-level application.

modules/antTasks/src/flex/ant/MxmlcTask.java
    new ant task for “application-domain” option.

modules/compiler/src/java/flex2/compiler/common/Configuration.java
    add alias “rsl-domain” for “application-domain”.

modules/compiler/src/java/flex2/compiler/common/RuntimeSharedLibrarySettingsConfiguration.java
    Rename “application-domains” option to “application-domain”.

modules/compiler/src/java/flex2/configuration_en.properties
modules/compiler/src/java/flex2/tools/flexbuilder/BuilderConfiguration.java
modules/compiler/src/java/flex2/tools/oem/Configuration.java
modules/compiler/src/java/flex2/tools/oem/internal/ConfigurationConstants.java
modules/compiler/src/java/flex2/tools/oem/internal/OEMConfiguration.java
    Add Compiler API for setting “application-domain”.

modules/compiler/src/java/flex2/tools/PreLink.java
    Generate stub code for addPreloadedRSL().

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/oem/internal/OEMConfiguration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/common/Configuration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/common/RuntimeSharedLibrarySettingsConfiguration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/RSLData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ApplicationDomainTarget.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/flexbuilder/BuilderConfiguration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/oem/Configuration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/antTasks/src/flex/ant/MxmlcTask.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/oem/internal/ConfigurationConstants.java</path>

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

--- frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
+++ frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as
@@ -30,7 +30,10 @@
  */
 public interface IFlexModuleFactory
 {
+    import flash.display.LoaderInfo;
     import flash.utils.Dictionary;
+
+    import mx.core.RSLData;

     //--------------------------------------------------------------------------
     //
@@ -47,9 +50,9 @@
      *  by module factory owning the dictionary.
      *
      *  Information about preloadedRSLs is stored in a Dictionary. The key is
-     *  the RSL's LoaderInfo. The value is an Array of the RSL's RSLData. The
-     *  first element in the array is the primary RSL. The remaining entries
-     *  are failover RSLs.
+     *  the RSL's LoaderInfo. The value is the a Vector of RSLData where the
+     *  first element is the primaray RSL and the remaining elements are
+     *  failover RSLs.
      */
     function get preloadedRSLs():Dictionary;

@@ -58,6 +61,22 @@
     //  Methods
     //
     //--------------------------------------------------------------------------
+
+    /**
+     *  Adds an RSL to the preloadedRSLs list. This method is called by child
+     *  module factories when they add load an RSL into this module factory's
+     *  application domain.
+     *
+     *
You do not call this method directly. This method is called by child
+     *  module factories when they add load an RSL into this module factory's
+     *  application domain.

+     *
+     *  @param loaderInfo The loaderInfo of the loaded RSL.
+     *  @param rsl The RSL's configuration information. A Vector of RSLData.
+     *  The first element in the array is the primary RSL. The remaining
+     *  elements are failover RSLs.
+     */
+    function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void;

     /**
      *  Calls the Security.allowDomain() method for the SWF associated with this IFlexModuleFactory


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

--- frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as
+++ frameworks/projects/framework/src/mx/events/SWFBridgeRequest.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: 3930
Author:   egreenfi@adobe.com
Date:     2008-10-28T16:30:24.729265Z

Log Message:
-----------
Step 1 of memory improvements
GraphicElement now optimizes away its AdvancedLayoutFeatures as long is has a trivial (translation only) transform matrix.
Added a new OnDemandEventDispatcher class that only allocates memory for event dispatcher functionality when it gets its first listener.
GraphicElement, OverrideBase, and LayoutBase extend OnDemandEventDispatcher.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/OverrideBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.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/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/RadialGradient.as
+++ frameworks/projects/framework/src/mx/graphics/RadialGradient.as
@@ -125,7 +125,6 @@
     public function RadialGradient()
     {
         super();
-        matrix = new Matrix();
     }

     //--------------------------------------------------------------------------
@@ -231,6 +230,11 @@
     /**
      *  @inheritDoc
      */
+	private static var commonMatrix:Matrix = new Matrix();
+
+    /**
+     *  @inheritDoc
+     */
     public function begin(target:Graphics, rc:Rectangle):void
     {
     	var w:Number = !isNaN(scaleX) ? scaleX : rc.width;
@@ -241,14 +245,14 @@
 		tx -= w / 2;
 		ty -= h / 2;

-        matrix.createGradientBox(w, h,
+        commonMatrix.createGradientBox(w, h,
 								!isNaN(mx_internal::_angle) ?
 									mx_internal::_angle : mx_internal::rotationInRadians,
 								 tx, ty);

         target.beginGradientFill(GradientType.RADIAL, mx_internal::colors,
 								 mx_internal::alphas, mx_internal::ratios,
-								 matrix, spreadMethod, interpolationMethod, focalPointRatio);
+								 commonMatrix, spreadMethod, interpolationMethod, focalPointRatio);
     }

     /**


Update comments to keep up with latest visual changes

--- frameworks/projects/spark/src/spark/components/BusyIndicator.as
+++ frameworks/projects/spark/src/spark/components/BusyIndicator.as
@@ -68,8 +68,8 @@
 /**
  *  The BusyIndicator defines a component to display when a long-running
  *  operation is in progress.
- *  For Web, Desktop and Android, a circle is drawn that rotates.
- *  For iOS, a spinner with twelve spoke is drawn.
+ *  For Web, Desktop and iOS, a spinner with twelve spoke is drawn.
+ *  For Android, a circle is drawn that rotates.
  *  The color of the circle or spokes is controlled by the value of the symbolColor style.
  *  The transparency of this component can be modified using the alpha property,
  *  but the alpha value of each spoke cannot be modified.
@@ -88,10 +88,12 @@
  *
The BusyIndicator has the following default characteristics:

  *

  *
Characteristic	Description

- *
Default size	160 DPI: 26x26 pixels

- *                                  240 DPI: 40x40 pixels

- *                                  320 DPI: 52x52 pixels

- * 									380 DPI: 80x80 pixels

+ *
Default size	160 DPI: 36x36 pixels

+ *                                  120 DPI: 27x27 pixels

+ *                                  240 DPI: 54x54 pixels

+ *                                  320 DPI: 72x72 pixels

+ * 									480 DPI: 108x108 pixels

+ * 									640 DPI: 144x144 pixels

  *
Minimum size	20x20 pixels

  *
Maximum size	No limit

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 6215
Author:   smgilson@adobe.com
Date:     2009-04-23T17:12:57.259499Z

Log Message:
-----------
ASDoc updates for effect classes

Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Fade.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/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/WipeDirection.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.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/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/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransform.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransform.as
@@ -33,59 +33,95 @@
 [Exclude(name="repeatDelay", kind="property")]

 /**
- * This effect controls all transform-related animations on target
- * objects. Transform operations, e.g., translation, scale, and
- * rotation, must be combined into single operations that act
- * together in order to avoid clobbering overlapping values. Therefore,
- * this effect works by combining all current transform effects
- * (AnimateTransform and any subclasses) on a particular target into one
- * single global instance for that target.
+ *  The AnimateTransform effect controls all transform-related animations on target
+ *  objects. Transform operations, such s translation, scale, and
+ *  rotation, are combined into single operations that act
+ *  in parallel to avoid any conflict when modifying overlapping property values.
+ *  This effect works by combining all current transform effects
+ *  on a target into one single effect instance for that target.
  *
- *
The transform is controlled by animating the properties of
- * translation (translationX, translationY, and translationZ),
- * rotation (rotationX, rotationY,
- * and rotationZ), and scale (scaleX, scaleY, scaleZ). If any of
- * these properties are not provided in the set of MotionPath objects
- * for this effect, then it is assumed that these properties can
- * be derived from the object and are not changing during the course
- * of this effect.

+ *
The transform is controlled by animating the properties of
+ *  translation (translationX, translationY,
+ *  and translationZ),
+ *  rotation (rotationX, rotationY,
+ *  and rotationZ), and
+ *  scale (scaleX, scaleY, scaleZ).
+ *  If any of
+ *  these properties are not provided in the set of MotionPath objects
+ *  for this effect, then it is assumed that these properties can
+ *  be derived from the object and are not changing during the course
+ *  of this effect.

  *
- *
It is important to note that the translation properties
- * (translationX, translationY, and translationZ)
- * specify how much the transformCenter moves during
- * the animation, not the absolute locations of the x, y, and z
- * coordinate of the target object. Typically, these mean the same thing
- * because the transformCenter of the object is at (0, 0). But if
- * the autoCenterTransform property is set, this changes.
- * For example, an object doing a simple rotation around its center will
- * have different (x, y) coordinates at the start and end, even though
- * the center of the object has not been translated. By specifying
- * that translationX/Y/Z act on the transformCenter instead, we can
- * correctly specify an animation with rotation only and no translation
- * and get the desired result.

+ *
Note that the translation properties
+ *  (translationX, translationY,
+ *  and translationZ)
+ *  specify how much the transform center of the target moves during
+ *  the animation, not the absolute locations of the x, y, and z
+ *  coordinate of the target. Typically, these mean the same thing
+ *  because the transform center of the target is at (0, 0, 0) by default.

  *
- *
This combination of multiple transform effects happens
- * internally and the caller of the effects need not be aware of it,
- * but it does force certain constraints that should be considered:
- * (1) the transformCenter for the target object (either set on the object
- * itself or set indirectly through the autoCenterTransform
- * or transformX, transformY,
- * or transformZ properties in this effect) will be
- * globally applied to all transform effects on that target, so they
- * should all use the same values, (2) these transform effects ignore
- * repeat parameters, since the effects of any single Transform effect
- * will impact all other Transform effects running on the same target
- * (effects can still be repeated by encapsulating them in
- * CompositeEffects which repeat), (3) the subclasses of AnimateTransform provide an
- * easy way for simple manipulations of the transform effect, but for
- * full control and fine-grained manipulation of the underlying keyframe
- * times and values, use the AnimateTransform effect directly.

- *
- * An additional constraint of this effect and its subclasses is that
- * the target must be of type UIComponent or GraphicElement (or a subclass
- * of those classes), or any other object which has similarly
- * defined and implemented transformAround() and
- * transformPointToParent() functions.
+ *
But if you explicitly set the location of the transform center, or set
+ *  the autoCenterTransform property to true,
+ *  the transform center of the target is not (0, 0, 0).

+ *
+ *
While this combination of multiple transform effects happens
+ *  internally,
+ *  it does force certain constraints that should be considered:

+ *
+ *

+ *
The transformCenter for the target object is
+ *      globally applied to all transform effects on that target, so it
+ *      should be set to the same value on all targets.

+ *
Transform effects ignore repeat parameters,
+ *      since the effects of any single Transform effect
+ *      impact all other Transform effects running on the same target.
+ *      Effects can still be repeated by encapsulating them in a
+ *      CompositeEffect.

+ *
The subclasses of the AnimateTransform class provide an
+ *      easy way for simple manipulations of the transform effect, but for
+ *      full control and fine-grained manipulation of the underlying keyframe
+ *      times and values, use the AnimateTransform effect directly.

+ *

+ *
+ *
An additional constraint of this effect and its subclasses is that
+ *  the target must be of type UIComponent or GraphicElement (or a subclass
+ *  of those classes), or any other object which has similarly
+ *  defined and implements the transformAround() and
+ *  transformPointToParent() functions.

+ *
+ *  @mxml
+ *
+ *
The <mx:AnimateTransform> tag
+ *  inherits all of the tag attributes of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:AnimateTransform
+ *    Properties
+ *    id="ID"
+ *    autoCenterTransform="false"
+ *    rotationX="no default"
+ *    rotationY="no default"
+ *    rotationZ="no default"
+ *    scaleX="no default"
+ *    scaleY="no default"
+ *    scaleZ="no default"
+ *    transformX="0"
+ *    transformY="0"
+ *    transformZ="0"
+ *    translationX="no default"
+ *    translationY="no default"
+ *    translationZ="no default"
+ *  />
+ *

+ *
+ *  @see spark.effects.supportClasses.AnimateTransformInstance
+ *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class AnimateTransform extends Animate
 {
@@ -120,7 +156,14 @@
     //--------------------------------------------------------------------------

     /**
-     * Constructor.
+     *  Constructor.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function AnimateTransform(target:Object=null)
     {
@@ -157,6 +200,9 @@
      * to a target as a part of the
      */
     static protected var appliedStartValuesPerTarget:Dictionary = new Dictionary(true);
+    /**
+     * @private
+     */
     static protected var appliedEndValuesPerTarget:Dictionary = new Dictionary(true);

     /**
@@ -187,24 +233,30 @@
     [Inspectable(category="General", defaultValue="false")]

     /**
-     * This flag controls whether the transform effect will occur
-     * around the center of the target, (width/2, height/2).
-     * If the flag is not set, the transform center is determined by
-     * the transform center of the object (transformX, transformY,
-     * transformZ) and the transformX, transformY,
-     * transformZ properties in this effect. That is, the
-     * transform center is the transform center of the target object,
-     * where any of the transformX, transformY,
-     * transformZ properties are overriden by those
-     * values in the effect, if set.
-     *
-     * @default false
-     * @see mx.core.UIComponent#transformX
-     * @see mx.core.UIComponent#transformY
-     * @see mx.core.UIComponent#transformZ
-     * @see #transformX
-     * @see #transformY
-     * @see #transformZ
+     *  Specifies whether the transform effect occurs
+     *  around the center of the target, (width/2, height/2).
+     *  If the flag is not set, the transform center is determined by
+     *  the transform center of the object (transformX, transformY,
+     *  transformZ) and the transformX, transformY,
+     *  transformZ properties in this effect. That is, the
+     *  transform center is the transform center of the target object,
+     *  where any of the transformX, transformY,
+     *  transformZ properties are overriden by those
+     *  values in the effect, if set.
+     *
+     *  @default false
+     *
+     *  @see mx.core.UIComponent#transformX
+     *  @see mx.core.UIComponent#transformY
+     *  @see mx.core.UIComponent#transformZ
+     *  @see #transformX
+     *  @see #transformY
+     *  @see #transformZ
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var autoCenterTransform:Boolean = false;

@@ -215,17 +267,22 @@
     [Inspectable(category="General", defaultValue="NaN")]

     /**
-     * Sets the x coordinate for the transform center, unless overriden
-     * by the autoCenterTransform property.
-     *
-     *
If autoCenterTransform is not true, the transform
-     * center will be determined by the transformX,
-     * transformY, and transformZ properties
-     * of the target object, but each of those properties can be
-     * overriden by setting the respective properties in this effect.

-     *
-     * @see mx.core.UIComponent#transformX
-     * @see #autoCenterTransform
+     *  Sets the x coordinate for the transform center, unless overriden
+     *  by the autoCenterTransform property.
+     *
+     *
If autoCenterTransform is false, the transform
+     *  center is determined by the transformX,
+     *  transformY, and transformZ properties
+     *  of the target object, but each of those properties can be
+     *  overriden by setting the respective properties in this effect.

+     *
+     *  @see mx.core.UIComponent#transformX
+     *  @see #autoCenterTransform
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var transformX:Number;

@@ -236,17 +293,22 @@
     [Inspectable(category="General", defaultValue="NaN")]

     /**
-     * Sets the y coordinate for the transform center, unless overriden
-     * by the autoCenterTransform property.
-     *
-     *
If autoCenterTransform is not true, the transform
-     * center will be determined by the transformX,
-     * transformY, and transformZ properties
-     * of the target object, but each of those properties can be
-     * overriden by setting the respective properties in this effect.

-     *
-     * @see mx.core.UIComponent#transformY
-     * @see #autoCenterTransform
+     *  Sets the y coordinate for the transform center, unless overriden
+     *  by the autoCenterTransform property.
+     *
+     *
If autoCenterTransform is false, the transform
+     *  center is determined by the transformX,
+     *  transformY, and transformZ properties
+     *  of the target object, but each of those properties can be
+     *  overriden by setting the respective properties in this effect.

+     *
+     *  @see mx.core.UIComponent#transformY
+     *  @see #autoCenterTransform
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var transformY:Number;

@@ -257,17 +319,22 @@
     [Inspectable(category="General", defaultValue="NaN")]

     /**
-     * Sets the z coordinate for the transform center, unless overriden
-     * by the autoCenterTransform property.
-     *
-     *
If autoCenterTransform is not true, the transform
-     * center will be determined by the transformX,
-     * transformY, and transformZ properties
-     * of the target object, but each of those properties can be
-     * overriden by setting the respective properties in this effect.

-     *
-     * @see mx.core.UIComponent#transformZ
-     * @see #autoCenterTransform
+     *  Sets the z coordinate for the transform center, unless overriden
+     *  by the autoCenterTransform property.
+     *
+     *
If autoCenterTransform is false, the transform
+     *  center is determined by the transformX,
+     *  transformY, and transformZ properties
+     *  of the target object, but each of those properties can be
+     *  overriden by setting the respective properties in this effect.

+     *
+     *  @see mx.core.UIComponent#transformZ
+     *  @see #autoCenterTransform
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var transformZ:Number;

@@ -281,7 +348,12 @@
      */
     private var _translationX:MotionPath;
     /**
-     * The MotionPath describing the change in x during the effect
+     *  The MotionPath object describing the change in x during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get translationX():MotionPath
     {
@@ -307,7 +379,12 @@
      */
     private var _translationY:MotionPath;
     /**
-     * The MotionPath describing the change in y during the effect
+     *  The MotionPath object describing the change in y during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get translationY():MotionPath
     {
@@ -333,7 +410,12 @@
      */
     private var _translationZ:MotionPath;
     /**
-     * The MotionPath describing the change in z during the effect
+     *  The MotionPath object describing the change in z during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get translationZ():MotionPath
     {
@@ -359,8 +441,13 @@
      */
     private var _rotationX:MotionPath;
     /**
-     * The MotionPath describing the change in rotation around the x
-     * axis during the effect
+     *  The MotionPath object describing the change in rotation around the x
+     *  axis during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get rotationX():MotionPath
     {
@@ -386,8 +473,13 @@
      */
     private var _rotationY:MotionPath;
     /**
-     * The MotionPath describing the change in rotation around the y
-     * axis during the effect
+     *  The MotionPath object describing the change in rotation around the y
+     *  axis during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get rotationY():MotionPath
     {
@@ -413,8 +505,13 @@
      */
     private var _rotationZ:MotionPath;
     /**
-     * The MotionPath describing the change in rotation around the z
-     * axis during the effect
+     *  The MotionPath object describing the change in rotation around the z
+     *  axis during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get rotationZ():MotionPath
     {
@@ -440,8 +537,13 @@
      */
     private var _scaleX:MotionPath;
     /**
-     * The MotionPath describing the change in scale in the x direction
-     * during the effect
+     *  The MotionPath object describing the change in scale in the x direction
+     *  during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get scaleX():MotionPath
     {
@@ -467,8 +569,13 @@
      */
     private var _scaleY:MotionPath;
     /**
-     * The MotionPath describing the change in scale in the y direction
-     * during the effect
+     *  The MotionPath object describing the change in scale in the y direction
+     *  during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get scaleY():MotionPath
     {
@@ -494,8 +601,13 @@
      */
     private var _scaleZ:MotionPath;
     /**
-     * The MotionPath describing the change in scale in the z direction
-     * during the effect
+     *  The MotionPath object describing the change in scale in the z direction
+     *  during the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get scaleZ():MotionPath
     {
@@ -518,12 +630,21 @@
     //--------------------------------------------------------------------------

     /**
-     * Creates the instance for this effect. Unlike other effects which operate
-     * autonomously, this effect uses only a single effect instance per target.
-     * So all objects of type AnimateTransform or its subclasses will share this
-     * one global instance. If there is already an instance created for the effect,
-     * the values from the new effect will be inserted as animation values into
-     * the existing instance.
+     *  Creates the instance for this effect. Unlike other effects which operate
+     *  autonomously, this effect uses only a single effect instance per target.
+     *  So all objects of type AnimateTransform, or its subclasses, share this
+     *  one global instance. If there is already an instance created for the effect,
+     *  the values from the new effect will be inserted as animation values into
+     *  the existing instance.
+     *
+     *  @param target The Object to animate with this effect.
+     *
+     *  @return The effect instance object for the effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function createInstance(target:Object = null):IEffectInstance
     {
@@ -846,11 +967,21 @@
     }

     /**
-     * Adds a MotionPath object to the transform effect with the
-     * given parameters. If a MotionPath
-     * on the same property already exists, adds the keyframes from the
-     * new MotionPath object into the existing MotionPath object, sorted
-     * by the time values.
+     *  Adds a MotionPath object to the transform effect with the
+     *  given parameters.
+     *  If a MotionPath object
+     *  on the same property already exists, adds the keyframes from the
+     *  new MotionPath object into the existing MotionPath object, sorted
+     *  by the time values.
+     *
+     *  @param property The name of the property being animated.
+     *
+     *  @param valueFrom The initial value of the property.
+     *
+     *  @param valueTo The final value of the property.
+     *
+     *  @param valueBy An optional parameter that specifies the delta with
+     *  which to calculate either the from or to values, if one is omitted.
      */
     protected function addMotionPath(property:String,
         valueFrom:Number = NaN, valueTo:Number = NaN, valueBy:Number = NaN):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 11067
Author:   egeorgie@adobe.com
Date:     2009-10-21T23:32:39.672345Z

Log Message:
-----------
Drag and Drop - tweak the positioning of the drop indicator, allow 1 pixel overlap with the container border

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -1864,8 +1864,10 @@
         }

         var x:Number = emptySpaceLeft + Math.round((emptySpace - width)/2);
+		// Allow 1 pixel overlap with container border
         x = Math.max(-Math.ceil(width / 2), Math.min(target.contentWidth - Math.ceil(width/2), x));
-        var y:Number = paddingTop;
+
+		var y:Number = paddingTop;
         return new Rectangle(x, y, width, height);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

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

-package flex.effects.effectClasses
+package mx.effects.effectClasses
 {

 import mx.core.mx_internal;
@@ -23,7 +23,7 @@
  *  Flex creates an instance of this class when it plays a SetAction
  *  effect; you do not create one yourself.
  *
- *  @see flex.effects.SetAction
+ *  @see mx.effects.SetAction
  */
 public class SetActionInstance extends ActionEffectInstance
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6407
Author:   egeorgie@adobe.com
Date:     2009-04-30T03:50:59.993576Z

Log Message:
-----------
Updates to the IGraphicElement interface.
Code generation for FXG text element has been updated.

QE Notes: None
Doc Notes: None
Bugs:
Reviewer: Ely, Pete
tests: checkintests, mustella (components, group, dataGroup, layout)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexTextGraphicNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/InvalidatingSprite.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/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/ISharedGraphicsDisplayObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -54,7 +54,6 @@
 import mx.managers.LayoutManager;
 import mx.utils.MatrixUtil;
 import mx.utils.OnDemandEventDispatcher;
-import spark.primitives.supportClasses.ISharedGraphicsDisplayObject;
 use namespace mx_internal;

 /**
@@ -314,7 +313,7 @@
             layoutFeatures.updatePending = true;

         // If we are sharing a display object we need to redraw
-        if (shareIndex >= 0)
+        if (sharedIndex >= 0)
             invalidateDisplayList();
         else
             invalidateProperties(); // We apply the transform in commitProperties
@@ -862,10 +861,9 @@
         _height = value;
         dispatchPropertyChangeEvent("height", oldValue, value);

-        // Invalidate the display list, since we're changing the actual width
+        // Invalidate the display list, since we're changing the actual height
         // and we're not going to correctly detect whether the layout sets
-        // new actual width different from our previous value.
-        // TODO EGeorgie: is this worth optimizing?
+        // new actual height different from our previous value.
         invalidateDisplayList();
     }

@@ -2042,10 +2040,9 @@

         dispatchPropertyChangeEvent("width", oldValue, value);

-        // Invalidate the display list, since we're changing the actual height
+        // Invalidate the display list, since we're changing the actual width
         // and we're not going to correctly detect whether the layout sets
-        // new actual height different from our previous value.
-        // TODO EGeorgie: is this worth optimizing?
+        // new actual width different from our previous value.
         invalidateDisplayList();
     }

@@ -2271,7 +2268,7 @@
     /**
      *  @private
      */
-    public function set displayObject(value:DisplayObject):void
+    protected function setDisplayObject(value:DisplayObject):void
     {
         if (_displayObject == value)
             return;
@@ -2287,11 +2284,8 @@
         dispatchPropertyChangeEvent("displayObject", oldValue, value);

         // We need to apply the display object related properties.
-        if (shareIndex <= 0)
-        {
-            displayObjectChanged = true;
-            invalidateProperties();
-        }
+        displayObjectChanged = true;
+        invalidateProperties();
     }

     //--------------------------------------------------------------------------
@@ -2316,7 +2310,7 @@
     {
         // If we don't share the display object, we will draw at 0,0
         // since the display object will be positioned at x,y
-        if (shareIndex == -1)
+        if (sharedIndex == -1)
             return 0;

         // Otherwise we draw at x,y since the display object will be
@@ -2343,7 +2337,7 @@
     {
         // If we don't share the display object, we will draw at 0,0
         // since the display object will be positioned at x,y
-        if (shareIndex == -1)
+        if (sharedIndex == -1)
             return 0;

         // Otherwise we draw at x,y since the display object will be
@@ -2410,7 +2404,8 @@
      */
     public function createDisplayObject():DisplayObject
     {
-        return new InvalidatingSprite();
+        setDisplayObject(new InvalidatingSprite());
+        return displayObject;
     }

     private var _alwaysCreateDisplayObject:Boolean;
@@ -2470,45 +2465,63 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function canDrawToShared(sharedDisplayObject:DisplayObject):Boolean
-    {
-        return !needsDisplayObject && sharedDisplayObject is ISharedGraphicsDisplayObject;
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function closeSequence():Boolean
-    {
-        return _alwaysCreateDisplayObject;
-    }
-
-    private var _shareIndex:int;
-
-    /**
-     *  @inheritDoc
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function set shareIndex(value:int):void
-    {
-        _shareIndex = value;
-    }
-
-    /**
-     *  @private
-     */
-    public function get shareIndex():int
-    {
-        return _shareIndex;
+    public function setSharedDisplayObject(sharedDisplayObject:DisplayObject):Boolean
+    {
+        if (!(sharedDisplayObject is Sprite) || _alwaysCreateDisplayObject || needsDisplayObject)
+            return false;
+        setDisplayObject(sharedDisplayObject);
+        return true;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function canShareWithPrevious(element:IGraphicElement):Boolean
+    {
+        // No need to check _alwaysCreateDisplayObject or needsDisplayObject,
+        // as those will be checked in setSharedDisplayObject
+        return element is GraphicElement;
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function canShareWithNext(element:IGraphicElement):Boolean
+    {
+        return element is GraphicElement && !_alwaysCreateDisplayObject && !needsDisplayObject;
+    }
+
+    private var _sharedIndex:int;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function set sharedIndex(value:int):void
+    {
+        _sharedIndex = value;
+    }
+
+    /**
+     *  @private
+     */
+    public function get sharedIndex():int
+    {
+        return _sharedIndex;
     }

     protected function get drawnDisplayObject():DisplayObject
@@ -2548,11 +2561,11 @@
             var restoreDisplayObject:Boolean = false;
             var oldDisplayObject:DisplayObject;

-            if (!displayObject || shareIndex != -1)
+            if (!displayObject || sharedIndex != -1)
             {
                 restoreDisplayObject = true;
                 oldDisplayObject = displayObject;
-                displayObject = new InvalidatingSprite();
+                setDisplayObject(new InvalidatingSprite());
                 UIComponent(parent).$addChild(displayObject);
                 invalidateDisplayList();
                 validateDisplayList();
@@ -2572,7 +2585,7 @@
             if (restoreDisplayObject)
             {
                 UIComponent(parent).$removeChild(displayObject);
-                displayObject = oldDisplayObject;
+                setDisplayObject(oldDisplayObject);
             }
             return bitmapData;

@@ -2887,7 +2900,7 @@
         var updateTransform:Boolean = false;

         // If we are the first in the sequence, setup the displayObject properties
-        if (shareIndex <= 0 && displayObject)
+        if (sharedIndex <= 0 && displayObject)
         {
             if (alphaChanged || displayObjectChanged)
             {
@@ -2972,7 +2985,7 @@
             }

             // If we don't share the DisplayObject, set the property directly.
-            if (displayObjectChanged && shareIndex == -1)
+            if (displayObjectChanged && sharedIndex == -1)
                 displayObject.visible = _visible;

             updateTransform = true;
@@ -2985,7 +2998,7 @@

             // If we don't share the DisplayObject, set the property directly,
             // otherwise redraw.
-            if (shareIndex == -1)
+            if (sharedIndex == -1)
                 displayObject.visible = _visible;
             else
                 invalidateDisplayList();
@@ -3006,7 +3019,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function validateSize(recursive:Boolean = false):void
+    public function validateSize():void
     {
         if (!invalidateSizeFlag)
             return;
@@ -3166,10 +3179,10 @@

         // TODO EGeorgie: don't clear the graphics if the GraphicElement is invisible and explicitly owns the DO?
         // If we are the first in the sequence, clear the graphics:
-        if (shareIndex <= 0 && drawnDisplayObject is ISharedGraphicsDisplayObject)
-            ISharedGraphicsDisplayObject(drawnDisplayObject).graphics.clear();
-
-        if (visible || shareIndex == -1)
+        if (sharedIndex <= 0)
+            Sprite(drawnDisplayObject).graphics.clear();
+
+        if (visible || sharedIndex == -1)
             updateDisplayList(_width, _height);

         // If we aren't doing any more invalidation, send out an UpdateComplete event
@@ -3768,7 +3781,7 @@
 	        layoutFeatures.updatePending = false;

         // Only the first elment in the sequence updates the transform
-        if (shareIndex > 0 || !displayObject)
+        if (sharedIndex > 0 || !displayObject)
             return;

         if (layoutFeatures != null)
@@ -3781,7 +3794,7 @@
 	        {
 	        	var m:Matrix = layoutFeatures.computedMatrix.clone();
 	        	// If the displayObject is shared, then put it at 0,0
-	        	if (shareIndex == 0)
+	        	if (sharedIndex == 0)
 	        	{
 	        		m.tx = 0;
 	        		m.ty = 0;
@@ -3792,7 +3805,7 @@
         else
         {
         	// If the displayObject is shared, then put it at 0,0
-        	if (shareIndex == 0)
+        	if (sharedIndex == 0)
         	{
                 displayObject.x = 0;
                 displayObject.y = 0;
@@ -3940,7 +3953,7 @@
                 {
                     _colorTransform = _transform.colorTransform;

-                    if (displayObject && shareIndex == -1)
+                    if (displayObject && sharedIndex == -1)
                     {
                         displayObject.transform.colorTransform = _colorTransform;
                     }