Bug 718519: copying over doc updates from Player code, with whitespace cleanup (r=fklockii).

--- core/JSON.as
+++ core/JSON.as
@@ -58,11 +58,57 @@
     CONFIG const NO_VMCFG_FLOAT = !CONFIG::VMCFG_FLOAT;

     /**
-    * The JSON class lets developers import and export data to and from JavaScript Object Notation (JSON) format. JSON is an industry standard data-interchange
+    * The JSON class lets applications import and export data using JavaScript Object Notation (JSON) format. JSON is an industry-standard data interchange
     * format that is described at http://www.json.org.
-    *
-    *
This class supports most ActionScript classes. ActionScript classes that do not support JSON typically return their class name as a string.

-    * @playerversion Flash 11
+    *
+    *
As a rule, the ActionScript JSON class adheres to the ECMA-262 specification. The following exceptions occur where ActionScript
+    * provides greater flexibility than ECMAScript:

+    *
+    *

+    *

Unlike ECMAScript, the ActionScript JSON class encodes the following primitives data types as well as the objects that wrap them:

+    *
+    *

+    *
Primitive type	Wrapper class

+    *
string	String

+    *
number	Number

+    *
boolean	Boolean

+    *

+    *

+    *

parse() method: When the argument passed to the reviver parameter is not a function, ActionScript
+    * throws a TypeError with error ID kJSONInvalidReviver. It also posts a localized error message.

+    *

+    *

stringify() method: When the argument passed to the replacer parameter is neither an array or a function, ActionScript
+    * throws a TypeError with error ID kJSONInvalidReplacer. It also  posts a localized error message.

+    *

+    *

stringify() method: When the argument passed to the space parameter is not a String or a Number, it is converted to a
+    * String. This string serves as the gap in the output. ECMA-262 requires the gap to be an empty string.

+    *

+    *

stringify() method: When the code encounters a cyclic structure, it throws a TypeError with error ID kJSONCyclicStructure.
+    * It also posts a localized error message.

+    *

+    *

+    *
ECMA-262 specifies that JSON stringification enumerates the "own properties" of an object, meaning the object's dynamic properties. Because ActionScript classes can also
+    * declare fixed properties, the ActionScript stringify() method enumerates both dynamic properties and public non-transient properties on ActionScript objects.
+    * These properties include properties accessed by getters as well as properties accessed directly.

+    *

+    *

+    *
+    *
For most ActionScript classes, the ActionScript JSON.stringify() method generates a default encoding. ActionScript classes can change this
+    * encoding by defining a toJSON() method in the class or its prototype. For a few ActionScript classes, the default JSON
+    * encoding is inappropriate. These classes provide a trivial, overridable implementation of toJSON() that returns the value described in the
+    * following table. You can override or redefine the toJSON() methods on these classes if you require a specific behavior.
+    * The following table describes these exceptions:

+    *

+    *
Class	Comments

+    *
ByteArray	Overridable toJSON() method returns the string "ByteArray".

+    *
Dictionary	Overridable toJSON() method returns the string "Dictionary".

+    *
Date	Overridable toJSON() method returns Date.toString(). This exception guarantees that the ActionScript Date constructor can
+    * parse the JSON string.

+    *
XML	Overridable toJSON() method returns the string "XML".

+    *

+    *
+    * @includeExample examples\JSONExample.as -noswf
+    * @playerversion Flash 11.0
     * @playerversion AIR 3.0
     * @langversion 3.0
     */
@@ -84,8 +130,8 @@
                                                      gap:String):String;

         /**
-        * Accepts a JSON-formatted String and returns an Actionscript Object that represents that value. JSON objects,
-        * arrays, strings, numbers, booleans, and null map to corresponding Actionscript values, as shown below:
+        * Accepts a JSON-formatted String and returns an ActionScript Object that represents that value. JSON objects,
+        * arrays, strings, numbers, Booleans, and null map to corresponding ActionScript values, as shown below:
         *

         *

         *
JSON type	ActionScript type

@@ -96,20 +142,23 @@
         *
null	null

         *

         *

-        *
+        *
         *
The reviver parameter is a function that takes two parameters: a key and a value. You can use this
-        * function to transform or filter each key/value pair as it is parsed. If you supply a reviver function, your transformed
+        * function to transform or filter each key/value pair as it is parsed. If you supply a reviver function, your transformed
         * or filtered value for each pair, rather than the default parsing, is returned in the parse() function output. If
         * the reviver function returns undefined for any pair, the property is deleted from the final result.
         *

         *
-        *
If the parse() function encounters duplicate name strings within the object being parsed, the value of the duplicate
-        * key encountered last becomes the value for all preceding occurrences of that key.
+        *
When the argument passed to the reviver parameter is not a function, ActionScript
+        * throws a TypeError with error ID kJSONInvalidReviver. It also posts a localized error message.

+        *
+        *
If the parse() function encounters duplicate keys within an object, the duplicate key
+        * encountered last provides the value for all preceding occurrences of that key.
         *

         *
         * @param text The JSON string to be parsed
         * @param reviver (Optional) A function that transforms each key/value pair that is parsed
-        (
+        *
         * @playerversion Flash 11
         * @playerversion AIR 3.0
         * @langversion 3.0
@@ -130,28 +179,34 @@
         }

         /**
-        * Returns a String, in JSON format, that represents an Actionscript value. The stringify method can take three parameters.
-        *
-        *
The value parameter is required. This parameter is an Actionscript value. Typically, it is an Object or Array,
+        * Returns a String, in JSON format, that represents an ActionScript value. The stringify method can take three parameters.
+        *
+        *
The value parameter is required. This parameter is an ActionScript value. Typically, it is an Object or Array,
         * but it can also be a String, Boolean, Number, or null.
         *

         *
-        *
The optional replacer parameter can be either a function or an array of strings or numbers. If it is a function,
+        *
The optional replacer parameter can be either a function or an array of strings or numbers. If it is a function,
         * the function takes two parameters: a key and a value. You can use this
-        * function to transform or filter each key/value pair as it is parsed. If you supply a replacer function, your transformed
+        * function to transform or filter each key/value pair as it is parsed. If you supply a replacer function, your transformed
         * or filtered value for each pair, rather than the default parsing, is returned in the parse() function output. If
         * the replacer function returns undefined for any pair, the property is deleted from the final result. If replacer
-        * is an array, it is used as a filter for designating which properties should be included in the output.
-        *

-        *
-        *
The optional space parameter is a String or Number that allows white space to be injected into the returned string to improve human readability.
-        * Entries in generated JSON objects and JSON arrays are separated by a gap derived from the space parameter. This gap is
-        * always between 0 and 10 characters wide. If space is a string, then the derived gap is the first ten characters of that string. If space
+        * is an array, it is used as a filter for designating which properties are included in the output.
+        *

+        *
+        *
When the argument passed to the replacer parameter is neither an array or a function, ActionScript
+        * throws a TypeError with error ID kJSONInvalidReplacer. It also posts a localized error message.

+        *
+        *
The optional space parameter is a String or Number that allows white space to be injected into the returned string to improve human readability.
+        * Entries in generated JSON objects and JSON arrays are separated by a gap derived from the space parameter. This gap is
+        * always 0 to 10 characters wide. If space is a string, then the derived gap is the first ten characters of that string. If space
         * is a non-negative number x, then the gap is x space characters, to a maximum of ten spaces.
-        *

-        *
+        * When the argument passed to the space parameter is not a String a Number, it is converted to a
+        * String for use as the gap in the output. Execution then proceeds.

+        *
+        *
When the stringify() method encounters a cyclic structure, it throws a TypeError with error ID kJSONCyclicStructure. It also posts a localized error message.

+
         * @param value The ActionScript value to be converted into a JSON string
-        * @param replacer (Optional) A function or an array that transforms or filters key/value pairs in the stringify output
+        * @param replacer (Optional) A function or an array that transforms or filters key/value pairs in the stringify output
         * @param space (Optional) A string or number that controls added white space in the returned String
         *
         * @playerversion Flash 11


Transferred from the Adobe Open Source Subversion Repository

Revision: 13763
Author:   smgilson@adobe.com
Date:     2010-01-25T20:53:28.454349Z

Log Message:
-----------
ASDoc bug fixes

QE notes:
Doc notes:
Bugs: FLEXDOCS-1207, FLEXDOCS-1199, FLEXDOCS-1215
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/olap/OLAPAttribute.as</path>

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

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPAttribute.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPAttribute.as
@@ -115,7 +115,7 @@
     //----------------------------------

     /**
-     *  Contains true becasue attributes are assumed to be aggregatable
+     *  Contains true because attributes are assumed to be aggregatable
      *  and all member is present.
      *
      *  @langversion 3.0
@@ -384,8 +384,8 @@
      */
     override mx_internal function refresh():void
     {
-    	uniqueChildrenMap = new Dictionary(true);
-    	uniqueMembers = new ArrayCollection();
+        uniqueChildrenMap = new Dictionary(true);
+        uniqueMembers = new ArrayCollection();

         if (!super.findLevel(name))
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 2796
Author:   jimurphy@adobe.com
Date:     2008-08-11T14:31:56.866734Z

Log Message:
-----------
Merged 3.0.x revisions [2767,2780,2784] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/Compc.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -1348,7 +1348,10 @@
 			if (actualType)
 			{
 				addEventListenerToSandboxes(type, sandboxMouseListener, useCapture, priority, useWeakReference);
-				super.addEventListener(type, listener, useCapture, priority, useWeakReference);
+
+				// Set useCapture to false because we will never see an event
+				// marshalled in the capture phase.
+                super.addEventListener(type, listener, false, priority, useWeakReference);
 				return;
 			}
 		}
@@ -1445,7 +1448,7 @@
 			if (actualType)
 			{
 				removeEventListenerFromSandboxes(type, sandboxMouseListener, useCapture);
-				super.removeEventListener(type, listener, useCapture);
+				super.removeEventListener(type, listener, false);
 				return;
 			}
 		}
@@ -3450,27 +3453,6 @@
 	//  Sandbox Event handlers for messages from children
 	//
 	//--------------------------------------------------------------------------
-
-	/**
-	 * @private
-	 *
-	 * Sets the size of the stage on behalf of another system manager.
-	 */
-	private function setStageSizeRequestHandler(event:Event):void
-	{
-		var eObj:Object = Object(event);
-
-		try
-		{
-			stage.width = eObj.width;
-			stage.height = eObj.height;
-		}
-		catch (e:SecurityError)
-		{
-			if (sandboxBridgeGroup)
-				sandboxBridgeGroup.parentBridge.dispatchEvent(event);
-		}
-	}

 	/**
 	 * @private
@@ -4580,7 +4562,10 @@
 		{
 			try
 			{
-				if (root.loaderInfo.parentAllowsChild)
+			    // check if the loader info is valid.
+			    root.loaderInfo.parentAllowsChild;
+
+				if (canAccessParent() && accessibleFromParent())
 				{
 					try
 					{
@@ -4653,12 +4638,12 @@
 			if (sm.topLevelSystemManager)
 				sm = ISystemManager2(sm.topLevelSystemManager);
 			var parent:DisplayObject = DisplayObject(sm).parent;
-			if (parent is Stage)
-				return DisplayObject(sm);
-			// test to see if parent is a Bootstrap
-			if (parent && !parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot", false, true)))
-				return this;
-			var lastParent:DisplayObject = parent;
+            if (parent is Stage)
+                return DisplayObject(sm);
+            // test to see if parent is a Bootstrap
+            if (parent && !parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot", false, true)))
+                return this;
+  			var lastParent:DisplayObject = parent;
 			while (parent)
 			{
 				if (parent is Stage)
@@ -4666,6 +4651,18 @@
 				// test to see if parent is a Bootstrap
 				if (!parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot", false, true)))
 					return lastParent;
+
+			    // Test if the childAllowsParent so we know there is mutual trust between
+			    // the sandbox root and this sm.
+			    // The parentAllowsChild is taken care of by the player because it returns null
+			    // for the parent if we do not have access.
+				if (parent is Loader)
+				{
+				    var loader:Loader = Loader(parent);
+				    var loaderInfo:LoaderInfo = loader.contentLoaderInfo;
+				    if (!loaderInfo.childAllowsParent)
+				        return loaderInfo.content;
+				}
 				lastParent = parent;
 				parent = parent.parent;
 			}
@@ -4896,14 +4893,14 @@
 		var parentBridge:IEventDispatcher = sandboxBridgeGroup.parentBridge;
 		if (parentBridge)
 		{
-			parentBridge.addEventListener(type, listener, useCapture, priority, useWeakReference);
+			parentBridge.addEventListener(type, listener, false, priority, useWeakReference);
 		}

 		var children:Array = sandboxBridgeGroup.getChildBridges();
 		for (var i:int; i < children.length; i++)
 		{
 		 	var childBridge:IEventDispatcher = IEventDispatcher(children[i]);
-			childBridge.addEventListener(type, listener, useCapture, priority, useWeakReference);
+			childBridge.addEventListener(type, listener, false, priority, useWeakReference);
 		}

 		dispatchEventToSandboxes(request, skip);
@@ -4913,7 +4910,9 @@
 	/**
 	 * request the parent to remove an event listener.
 	 */
-	private function removeEventListenerFromSandboxes(type:String, listener:Function, useCapture:Boolean = false):void
+	private function removeEventListenerFromSandboxes(type:String, listener:Function,
+	                                                  useCapture:Boolean = false,
+	                                                  skip:IEventDispatcher = null):void
 	{
 		// trace(">>removeEventListenerToSandboxes", this, type);
 		var request:EventListenerRequest = new EventListenerRequest(EventListenerRequest.REMOVE,
@@ -4929,7 +4928,7 @@
 			IEventDispatcher(children[i]).removeEventListener(type, listener, useCapture);
 		}

-		dispatchEventToSandboxes(request);
+		dispatchEventToSandboxes(request, skip);
 		// trace("<<removeEventListenerToSandboxes", this, type);
 	}

@@ -5025,15 +5024,16 @@
 		if (event is EventListenerRequest)
 			return;

+        var actualType:String;
 		var eventObj:Object = event;
 		if (event.type == EventListenerRequest.ADD)
 		{
 			if (!eventProxy)
 				eventProxy = new EventProxy(this);

-			// trace(">>eventListenerRequestHandler", this, eventObj.userType);
-
-			var actualType:String = EventUtil.marshalMouseEventMap[eventObj.userType];
+			// trace(">>eventListenerRequestHandler ADD ", this, eventObj.userType);
+
+			actualType = EventUtil.marshalMouseEventMap[eventObj.userType];
 			if (actualType)
 			{
 				addEventListenerToSandboxes(eventObj.userType, sandboxMouseListener,
@@ -5042,8 +5042,22 @@
 					super.addEventListener(actualType, eventProxy.marshalListener,
 							eventObj.useCapture, eventObj.priority, eventObj.useWeakReference);
 			}
-			// trace("<<eventListenerRequestHandler", this, eventObj.userType);
-		}
+			// trace("<<eventListenerRequestHandler ADD ", this, eventObj.userType);
+		}
+		else if (event.type == EventListenerRequest.REMOVE)
+        {
+            // trace(">>eventListenerRequestHandler REMOVE ", this, eventObj.userType);
+            actualType = EventUtil.marshalMouseEventMap[eventObj.userType];
+            if (actualType)
+            {
+                removeEventListenerFromSandboxes(eventObj.userType, sandboxMouseListener,
+                            eventObj.useCapture, event.target as IEventDispatcher);
+                if (getSandboxRoot() == this)
+                    super.removeEventListener(actualType, eventProxy.marshalListener,
+                            eventObj.useCapture);
+            }
+            // trace("<<eventListenerRequestHandler REMOVE ", this, eventObj.userType);
+        }
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10633
Author:   dloverin@adobe.com
Date:     2009-09-28T13:24:30.559033Z

Log Message:
-----------
Use styleManager instance instead of StyleManager singleton (framework and compiler generated code)

Modified compiler generated style code for the FlexInit class. The style related changes are only available with the -keep option. AST generation is coming later.

Only the framework project is changed here. The other projects are will be changed soon.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex and Paul
Tests run: checkintests, all Mustella tests(no new failures)
Is noteworthy for integration: no.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/textClasses/TextRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>

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

--- frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as
+++ frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as
@@ -15,17 +15,22 @@
 import flash.display.Graphics;
 import flash.display.Shape;
 import flash.geom.Matrix;
+
+import mx.core.FlexShape;
+import mx.core.IFlexModule;
+import mx.core.IFlexModuleFactory;
 import mx.core.IInvalidating;
 import mx.core.IFlexDisplayObject;
+import mx.core.IProgrammaticSkin;
+import mx.core.mx_internal;
 import mx.core.UIComponentGlobals;
-import mx.core.mx_internal;
 import mx.managers.ILayoutManagerClient;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
+import mx.styles.IStyleManager2;
+import mx.styles.StyleManager;
 import mx.utils.GraphicsUtil;
 import mx.utils.NameUtil;
-import mx.core.FlexShape;
-import mx.core.IProgrammaticSkin;

 use namespace mx_internal;

@@ -627,6 +632,24 @@
         return _styleName ? _styleName.getStyle(styleProp) : null;
     }

+    /**
+     *  @private
+     *  Get the style manager for this skin. The style manager is
+     *  based on the UIComponent that owns the skin. If this skin does not
+     *  have a styleName then use the top-level style manager.
+     */
+    protected function get styleManager():IStyleManager2
+    {
+        // FIXME: (dloverin) Linking in UIComponent causes some resource bundle
+        // tests that use non-enUS locales because the SDK is only built
+        // with the enUS locale.
+        //if (styleName is UIComponent)
+        if ("styleManager" in styleName)
+            return styleName.styleManager;
+        else
+            return StyleManager.getStyleManager(null);
+    }
+
 	/**
 	 *  Utility function to create a horizontal gradient matrix.
 	 *


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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -1,4 +1,16 @@
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+// AdobePatentID="B518"
+// AdobePatentID="B519"

 package mx.controls.listClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9715
Author:   aharui@adobe.com
Date:     2009-08-27T21:20:28.280781Z

Log Message:
-----------
Introduce tabFocusEnabled to IFocusManagerComponent.  This replaces tabEnabled as the way to remove a component from the tabbing loop.  tabEnabled should be set to true for any component that can receive focus, and tabFocusEnabled determines whether the FocusManager will actually give it focus.  If tabEnabled=false on a non-TextField, the player will sometimes momentarily remove focus and dispatch a focusOut when the component has focus and is later clicked on.  This is now quite common with TLF-based text components so we are forced to make this change.

QE Notes: tests using tabEnabled must now use tabFocusEnabled
Doc Notes: needs documentation
Bugs: SDK-22731
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes
tests: checkintests cyclone

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -533,6 +533,7 @@
         super();

         tabEnabled = true;
+        tabFocusEnabled = true;

         factoryMap = new Dictionary(true);


Transferred from the Adobe Open Source Subversion Repository

Revision: 3095
Author:   matamel@adobe.com
Date:     2008-09-04T15:50:31.000858Z

Log Message:
-----------
Feature: Message throttling - message frequency limits subfeature.
QA: Yes
Doc: Not yet
Checkintests: Pass

Details: This is the BlazeDS client part of the message frequency limits sub-feature of Message throttling feature. This check-in adds the ability for the Consumer to specify a maxFrequency globally or per-subscription.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/CommandMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as
+++ frameworks/projects/rpc/src/mx/messaging/MultiTopicConsumer.as
@@ -14,15 +14,13 @@

 import flash.events.TimerEvent;
 import flash.utils.Timer;
+
+import mx.collections.ArrayCollection;
 import mx.core.mx_internal;
-import mx.collections.ArrayCollection;
+import mx.events.CollectionEvent;
 import mx.events.PropertyChangeEvent;
-import mx.events.CollectionEvent;
-import mx.logging.ILogger;
-import mx.logging.Log;
+import mx.messaging.errors.MessagingError;
 import mx.messaging.events.MessageEvent;
-import mx.messaging.errors.MessagingError;
-import mx.messaging.messages.AsyncMessage;
 import mx.messaging.messages.CommandMessage;
 import mx.messaging.messages.IMessage;

@@ -202,10 +200,14 @@
      * @param subtopic The subtopic for the new subscription.
      *
      * @param selector The selector for the new subscription.
-     */
-    public function addSubscription(subtopic:String = null, selector:String = null):void
-    {
-        subscriptions.addItem(new SubscriptionInfo(subtopic, selector));
+     *
+     * @param maxFrequency The maximum number of messages per second the Consumer wants
+     * to receive for the subscription. Note that this value overwrites the Consumer
+     * wide maxFrequency.
+     */
+    public function addSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void
+    {
+        subscriptions.addItem(new SubscriptionInfo(subtopic, selector, maxFrequency));
     }

     /**
@@ -367,9 +369,14 @@
         for (var i:int = 0; i < subscriptions.length; i++)
         {
             var si:SubscriptionInfo = SubscriptionInfo(subscriptions.getItemAt(i));
-            subs[(si.subtopic == null ? "" : si.subtopic) +
-                  CommandMessage.SUBTOPIC_SEPARATOR +
-                  (si.selector == null ? "" : si.selector)] = true;
+            var temp:String = (si.subtopic == null ? "" : si.subtopic) +
+                                CommandMessage.SUBTOPIC_SEPARATOR +
+                                (si.selector == null ? "" : si.selector);
+            // Add maxFrequency as another token.
+            if (si.maxFrequency > 0)
+                temp += CommandMessage.SUBTOPIC_SEPARATOR + si.maxFrequency;
+
+            subs[temp] = true;
         }
         return subs;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6812
Author:   clucier@adobe.com
Date:     2009-05-12T00:12:47.147255Z

Log Message:
-----------
Merging beta1 change 6811 to trunk to take care of an RTE affecting the performance suite.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/bundles/en_US/components.properties</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/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -283,7 +283,10 @@
      */
     override public function set allowMultipleSelection(value:Boolean):void
     {
-    	// Don't allow this value to be set
+        // Don't allow this value to be set. If the multiple
+        // selection related properties are set and
+        // allowMultipleSelection is false, List will
+        // select the first item passed in.
         return;
     }

@@ -371,33 +374,7 @@
     	invalidateProperties();
     }

-
-    //----------------------------------
-    //  selectedIndices
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function set selectedIndices(value:Array):void
-    {
-    	throw new Error(resourceManager.getString("components", "selectedIndicesDropDownListError"));
-    }
-
-    //----------------------------------
-    //  selectedItems
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    override public function set selectedItems(value:Array):void
-    {
-    	throw new Error(resourceManager.getString("components", "selectedItemsDropDownListError"));
-    }
-
-
- 	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
     //
     //  Methods
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 12370
Author:   smgilson@adobe.com
Date:     2009-12-02T16:48:37.124467Z

Log Message:
-----------
Fix for doc bug FLEXDOCS-1150

Added a few new examples and default sizes to Spark components

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

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/VScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/BorderContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/HScrollBarExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/MyBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/SkinnableDataContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/components/examples/ApplicationContainerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -55,9 +55,9 @@
  *
The DropDownList control has the following default characteristics:

  *

  *
Characteristic	Description

- *
Default size

- *
Minimum size

- *
Maximum size	No limit

+ *
Default size	112 pixels wide and 21 pixels high

+ *
Minimum size	112 pixels wide and 21 pixels high

+ *
Maximum size	10000 pixels wide and 10000 pixels high

  *
Default skin class	spark.skins.spark.DropDownListSkin

  *

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 9275
Author:   egeorgie@adobe.com
Date:     2009-08-13T19:05:09.180847Z

Log Message:
-----------
Fix bug: GraphicElement.getStrokeExtents needs ASDoc

Fix: Add comment, while at it, updated the API to return a Rectangle instead.

QE notes: None
Doc notes: None
Bugs: FLEXDOCS-1032
Reviewer: Deepa
Tests run: checkintests, spark/primitives, gumbo/layout/graphicElements
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -3687,16 +3687,16 @@
      */
     public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
-        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
+        var strokeExtents:Rectangle = getStrokeExtents(postLayoutTransform);
         var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
-            return strokeExtents.x * -0.5 + this.measuredX + this.x;
+            return strokeExtents.left + this.measuredX + this.x;

         if (!isNaN(width))
-            width -= strokeExtents.x;
+            width -= strokeExtents.width;

         if (!isNaN(height))
-            height -= strokeExtents.y;
+            height -= strokeExtents.height;

         // Calculate the width and height pre-transform:
         var newSize:Point = MatrixUtil.fitBounds(width, height, m,
@@ -3709,7 +3709,7 @@

         var topLeft:Point = new Point(measuredX, measuredY);
         MatrixUtil.transformBounds(newSize, m, topLeft);
-        return strokeExtents.x * -0.5 + topLeft.x;
+        return strokeExtents.left + topLeft.x;
     }

     /**
@@ -3722,16 +3722,16 @@
      */
     public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
-        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
+        var strokeExtents:Rectangle = getStrokeExtents(postLayoutTransform);
         var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
-            return strokeExtents.y * -0.5 + this.measuredY + this.y;
+            return strokeExtents.top + this.measuredY + this.y;

         if (!isNaN(width))
-            width -= strokeExtents.x;
+            width -= strokeExtents.width;

         if (!isNaN(height))
-            height -= strokeExtents.y;
+            height -= strokeExtents.height;

         // Calculate the width and height pre-transform:
         var newSize:Point = MatrixUtil.fitBounds(width, height, m,
@@ -3744,7 +3744,7 @@

         var topLeft:Point = new Point(measuredX, measuredY);
         MatrixUtil.transformBounds(newSize, m, topLeft);
-        return strokeExtents.y * -0.5 + topLeft.y;
+        return strokeExtents.top + topLeft.y;
     }

     /**
@@ -3758,9 +3758,7 @@
     public function getLayoutBoundsX(postLayoutTransform:Boolean = true):Number
     {
         // Take stroke into account:
-        // FIXME (egeorgie): We assume that the stroke extents are even on both sides.
-        // and that's not necessarily true.
-        var stroke:Number = -getStrokeExtents(postLayoutTransform).x * 0.5;
+        var stroke:Number = getStrokeExtents(postLayoutTransform).left;

         var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
@@ -3782,9 +3780,7 @@
     public function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
     {
         // Take stroke into account:
-        // FIXME (egeorgie): We assume that the stroke extents are even on both sides.
-        // and that's not necessarily true.
-        var stroke:Number = -getStrokeExtents(postLayoutTransform).y * 0.5;
+        var stroke:Number = getStrokeExtents(postLayoutTransform).top;

         var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
@@ -3845,8 +3841,7 @@
                                              layoutFeatures.layoutMatrix).x;

         // Take stroke into account
-        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
-        width += strokeExtents.x;
+        width += getStrokeExtents(postLayoutTransform).width;
         return width;
     }

@@ -3874,8 +3869,7 @@
                                               layoutFeatures.layoutMatrix).y;

         // Take stroke into account
-        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
-        height += strokeExtents.y;
+        height += getStrokeExtents(postLayoutTransform).height;
         return height;
     }

@@ -3949,13 +3943,15 @@
                                         height:Number,
                                         postLayoutTransform:Boolean = true):void
     {
-        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
-        if (!isNaN(width))
-           width -= strokeExtents.x;
-
-        if (!isNaN(height))
-           height -= strokeExtents.y;
-
+		if (!isNaN(width) || !isNaN(height))
+		{
+	        var strokeExtents:Rectangle = getStrokeExtents(postLayoutTransform);
+
+			if (!isNaN(width))
+	           width -= strokeExtents.width;
+	        if (!isNaN(height))
+	           height -= strokeExtents.height;
+		}

         // Calculate the width and height pre-transform:
         var m:Matrix;
@@ -4129,22 +4125,31 @@
         return performCheck && hasComplexLayoutMatrix ? layoutFeatures.layoutMatrix : null;
     }

-    static private var _strokeExtents:Point = new Point();
-
-    // FIXME (egeorgie): return rectangle instead so that the function can
-    // correctly indicate the left, right, top and bottom extents. Right
-    // now we assume they are the same on both sides.
-    /**
-     *  TODO
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    // FIXME (egeorgie) : Needs ASDoc FLEXDOCS-1032
-    protected function getStrokeExtents(postLayoutTransform:Boolean = true):Point
-    {
+    static mx_internal var _strokeExtents:Rectangle = new Rectangle();
+
+    /**
+     *  Returns the amount of pixels occupied by the stroke on each side
+	 *  of the element's bounds.
+	 *
+	 *  @param postLayoutTransform - if true, the stroke extents are calculated
+	 *  in parent coordinate space (after applying the element's transformations).
+	 *
+	 *  @return Rectangle of the stroke extents. The rectangle's left,
+	 *  right, top and bottom properties
+	 *  represent the stroke extent for the respective side of the element's
+	 *  bounding box.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    protected function getStrokeExtents(postLayoutTransform:Boolean = true):Rectangle
+    {
+        _strokeExtents.x = 0;
+        _strokeExtents.y = 0;
+        _strokeExtents.width = 0;
+        _strokeExtents.height = 0;
         return _strokeExtents;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4205
Author:   clucier@adobe.com
Date:     2008-12-01T19:48:53.571431Z

Log Message:
-----------
Initial baselinePosition support for our new skinnable components.
QE Notes: Please wait until Evtim completes his baseline support in our new layouts to test.
Doc Notes: None
Reviewer: Glenn, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.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/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.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/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -323,7 +323,25 @@
         _baseline = value;
         invalidateParentSizeAndDisplayList();
     }
-
+
+    //----------------------------------
+    //  baselinePosition
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  @private
+     *  The y-coordinate of the baseline
+     *  of the first line of text of the component.
+     */
+    public function get baselinePosition():Number
+    {
+        // Subclasses of GraphicElement should return something
+        // here as appropriate (e.g. text centric GraphicElements).
+        return 0;
+    }
+
     //----------------------------------
     //  blendMode
     //----------------------------------


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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -1,4 +1,5 @@
-package flex.graphics.graphicsClasses
+
+package mx.graphics.graphicsClasses
 {
 import flash.display.BitmapData;
 import flash.display.BlendMode;
@@ -15,12 +16,11 @@
 import flash.geom.Transform;

 import mx.geom.Transform;
-import flex.graphics.IGraphicElement;
-import flex.graphics.IGraphicElementHost;
-import flex.graphics.MaskType;
-import flex.graphics.TransformUtil;
-import flex.intf.ILayoutItem;
-
+import mx.graphics.IGraphicElement;
+import mx.graphics.IGraphicElementHost;
+import mx.graphics.MaskType;
+import mx.utils.MatrixUtil;
+import mx.layout.ILayoutItem;
 import mx.core.AdvancedLayoutFeatures;
 import mx.core.IConstraintClient;
 import mx.core.IInvalidating;
@@ -1844,7 +1844,7 @@
         {
             // Calculate the vector from pre-transform top-left to
             // post-transform top-left:
-            TransformUtil.transformBounds(new Point(_width, _height), m, topLeft);
+            MatrixUtil.transformBounds(new Point(_width, _height), m, topLeft);
         }
         else
         {
@@ -2591,7 +2591,7 @@
             return null;

         var m:Matrix = layoutFeatures.layoutMatrix;
-        return TransformUtil.isDeltaIdentity(m) ? null : m;
+        return MatrixUtil.isDeltaIdentity(m) ? null : m;
     }

     /**
@@ -2604,7 +2604,7 @@
         var size:Point = new Point(width, height);
         var m:Matrix = computeMatrix(actualMatrix);
         if (m)
-            size = TransformUtil.transformSize(size, m);
+            size = MatrixUtil.transformSize(size, m);

         // Take stroke into account
         var strokeExtents:Point = getStrokeExtents();
@@ -2650,7 +2650,7 @@
         {
             // Calculate the origin of the element after transformation before our changes are applied.
             var origin:Point = new Point(measuredX,measuredY);
-            TransformUtil.transformBounds(new Point(_width, _height), m, origin);
+            MatrixUtil.transformBounds(new Point(_width, _height), m, origin);

             // now adjust our tx/ty values based on the difference between our current transformed position and
             // where we want to end up.
@@ -2725,7 +2725,7 @@
             if (!isNaN(height))
                height -= strokeExtents.y;

-            var newSize:Point = TransformUtil.fitBounds(
+            var newSize:Point = MatrixUtil.fitBounds(
                                     width, height, m,
                                     preferredWidthPreTransform(),
                                     preferredHeightPreTransform(),


No longer allowing cache on HTTP POST requests

--- WeaveData/src/weave/services/URLRequestUtils.as
+++ WeaveData/src/weave/services/URLRequestUtils.as
@@ -26,6 +26,7 @@
 	import flash.net.URLLoader;
 	import flash.net.URLLoaderDataFormat;
 	import flash.net.URLRequest;
+	import flash.net.URLRequestMethod;
 	import flash.utils.ByteArray;

 	import mx.core.mx_internal;
@@ -189,14 +190,14 @@
 		 * @param asyncResultHandler A function with the following signature:  function(e:ResultEvent, token:Object = null):void.  This function will be called if the request succeeds.
 		 * @param asyncFaultHandler A function with the following signature:  function(e:FaultEvent, token:Object = null):void.  This function will be called if there is an error.
 		 * @param token An object that gets passed to the handler functions.
-		 * @param useCache A boolean indicating whether to use the cached images. If set to true, this function will return null if there is already a bitmap for the request.
+		 * @param useCache A boolean indicating whether to use the cached images for HTTP GET requests. If set to true, this function will return null if there is already a bitmap for the request.
 		 * @return An IURLRequestToken that can be used to cancel the request and cancel the async handlers.
 		 */
 		public function getContent(relevantContext:Object, request:URLRequest, asyncResultHandler:Function = null, asyncFaultHandler:Function = null, token:Object = null, useCache:Boolean = true):IURLRequestToken
 		{
 			addBaseURL(request);

-			if (useCache)
+			if (useCache && request.method == URLRequestMethod.GET)
 			{
 				var content:Object = _contentCache[request.url];
 				if (content)


use literal values for ShaderPart.getTexture() arguments default values to avoid compilation errors

--- src/aerys/minko/render/shader/part/ShaderPart.as
+++ src/aerys/minko/render/shader/part/ShaderPart.as
@@ -934,11 +934,11 @@
 		}

 		protected final function getTexture(textureResource : ITextureResource,
-											filter			: uint  = SamplerFiltering.LINEAR,
-											mipmap			: uint  = SamplerMipMapping.DISABLE,
-											wrapping		: uint  = SamplerWrapping.REPEAT,
-											dimension		: uint  = SamplerDimension.FLAT,
-											format          : uint  = SamplerFormat.RGBA) : SFloat
+											filter			: uint  = 1, // SamplerFiltering.LINEAR
+											mipmap			: uint  = 0, // SamplerMipMapping.DISABLE
+											wrapping		: uint  = 1, // SamplerWrapping.REPEAT
+											dimension		: uint  = 0, // SamplerDimension.FLAT
+											format          : uint  = 0) : SFloat
 		{
 			return new SFloat(new Sampler(textureResource, filter, mipmap, wrapping, dimension, format));
 		}


Back out wraparound logic to fix DVR scrubbing.

--- HLSPlugin/src/com/kaltura/hls/m2ts/PESProcessor.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/PESProcessor.as
@@ -303,11 +303,13 @@
             }

             // Handle rollover PTS/DTS values.
-            if (pts > 4294967295)
+            // We handle this elsewhere in the system, so don't reinstate this wrap check without
+            // careful testing of long-lived streams.
+            /*if (pts > 4294967295)
                 pts -= 8589934592;

             if (dts > 4294967295)
-                dts -= 8589934592;
+                dts -= 8589934592; */

             packet.pts = pts;
             packet.dts = dts;


Made more compatible with the base class, use object properties to
specify the command name and arg.

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

--- src/as/com/threerings/mx/controls/CommandMenu.as
+++ src/as/com/threerings/mx/controls/CommandMenu.as
@@ -1,6 +1,9 @@
 package com.threerings.mx.controls {

+import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
+
+import flash.geom.Rectangle;

 import mx.controls.Menu;
 import mx.core.mx_internal;
@@ -8,14 +11,25 @@

 import com.threerings.mx.events.CommandEvent;

+/**
+ * A pretty standard menu that can submit CommandEvents if menu items
+ * have "command" and possibly "arg" properties.
+ *
+ * Example dataProvider array:
+ * [ { label: "Go home", icon: homeIconClass,
+ *     command: Controller.GO_HOME, arg: homeId },
+ *   { type: "separator"},
+ *   { label: "Other places", children: subMenuArray }
+ * ];
+ *
+ * See "Defining menu structure and data" in the Flex manual for the
+ * full list.
+ */
 public class CommandMenu extends Menu
 {
     public function CommandMenu ()
     {
         super();
-
-        iconFunction = getIconFor;
-        labelFunction = getLabelFor;

         addEventListener(MenuEvent.ITEM_CLICK, itemClicked);
     }
@@ -24,12 +38,10 @@
      * Factory method to create a command menu.
      *
      * @param parent The parent of this menu.
-     * @param items an array of menu items, where each item is another array
-     *  with the following format: [ text, iconClass, command, arg ]. Arg is
-     *  optional.
+     * @param items an array of menu items.
      */
     public static function createMenu (
-            parent :DisplayObjectContainer, items :Array) :CommandMenu
+        parent :DisplayObjectContainer, items :Array) :CommandMenu
     {
         var menu :CommandMenu = new CommandMenu();
         menu.tabEnabled = false;
@@ -39,29 +51,75 @@
     }

     /**
+     * Actually pop up the menu. This can be used instead of show().
+     */
+    public function popUp (
+        trigger :DisplayObject, popUpwards :Boolean = true) :void
+    {
+        var r :Rectangle = trigger.getBounds(trigger.stage);
+
+        if (popUpwards) {
+            show(r.x, 0);
+            // then, reposition the y once we know our size
+            y = r.y - getExplicitOrMeasuredHeight();
+
+        } else {
+            // simply position it below the trigger
+            show(r.x, r.y + r.height);
+        }
+    }
+
+    /**
      * Callback for MenuEvent.ITEM_CLICK.
      */
     protected function itemClicked (event :MenuEvent) :void
     {
-        event.stopImmediatePropagation();
-        var element :Array = (event.item as Array);
-
-        CommandEvent.dispatch(mx_internal::parentDisplayObject,
-            String(element[2]), element[3]);
+        var cmd :String = getItemCommand(event.item);
+        if (cmd != null) {
+            event.stopImmediatePropagation();
+            var arg :Object = getItemArgument(event.item);
+            CommandEvent.dispatch(mx_internal::parentDisplayObject, cmd, arg);
+        }
     }

-    // our function for retrieving a label for a menu entry
-    protected function getLabelFor (obj :Object) :String
+    /**
+     * Get the command for the specified item, if any.
+     * Somewhat similar to bits in the DefaultDataDescriptor.
+     */
+    protected function getItemCommand (item :Object) :String
     {
-        var element :Array = (obj as Array);
-        return String(element[0]);
+        try {
+            if (item is XML) {
+                return String(item.@command);
+
+            } else if (item is Object) {
+                return String(item.command);
+            }
+        } catch (e :Error) {
+            // fall through
+        }
+
+        return null;
     }

-    // our function for retrieving an icon for a menu entry
-    protected function getIconFor (obj :Object) :Class
+    /**
+     * Get the command for the specified item, if any.
+     * Somewhat similar to bits in the DefaultDataDescriptor.
+     */
+    protected function getItemArgument (item :Object) :Object
     {
-        var element :Array = (obj as Array);
-        return Class(element[1]);
+        try {
+            if (item is XML) {
+                return item.@arg;
+
+            } else if (item is Object) {
+                return item.arg;
+            }
+        } catch (e :Error) {
+            // fall through
+        }
+
+        return null;
     }
 }
 }


remove Protocols class

remove Protocols class

--- src/com/google/analytics/utils/Protocols.as
+++ src/com/google/analytics/utils/Protocols.as
@@ -1,89 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.utils
-{
-
-    /**
-     * Protocols Enumeration
-     */
-    public class Protocols
-    {
-        /**
-         * @private
-         */
-        private var _value:int;
-
-        /**
-         * @private
-         */
-        private var _name:String;
-
-        /**
-         * Creates a new Protocols instance.
-         * @param value The primitive value of the object.
-         * @param name The name value of the object.
-         */
-        public function Protocols( value:int = 0, name:String = "" )
-        {
-            _value = value;
-            _name  = name;
-        }
-
-        /**
-         * Returns the primitive value of the object.
-         * @return the primitive value of the object.
-         */
-        public function valueOf():int
-        {
-            return _value;
-        }
-
-        /**
-         * Returns the String representation of the object.
-         * @return the String representation of the object.
-         */
-        public function toString():String
-        {
-            return _name;
-        }
-
-        /**
-         * The "none" Protocols object.
-         */
-        public static const none:Protocols  = new Protocols( 0, "none" );
-
-        /**
-         * The "file" Protocols object.
-         */
-        public static const file:Protocols  = new Protocols( 1, "file" );
-
-        /**
-         * The "HTTP" Protocols object.
-         */
-        public static const HTTP:Protocols  = new Protocols( 2, "HTTP" );
-
-        /**
-         * The "HTTPS" Protocols object.
-         */
-        public static const HTTPS:Protocols = new Protocols( 3, "HTTPS" );
-
-    }
-}


remove the UserAgent class

remove the UserAgent class

--- src/com/google/analytics/utils/UserAgent.as
+++ src/com/google/analytics/utils/UserAgent.as
@@ -1,232 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.utils
-{
-    import com.google.analytics.core.Utils;
-    import flash.system.Capabilities;
-    import flash.system.System;
-
-    /**
-     * This class constructs an user agent string for Flash.
-     *
Information :

-     *
Here we mimic a user-agent string for Flash based on :

-     *
http://www.mozilla.org/build/user-agent-strings.html

-     *
http://www.mozilla.org/build/revised-user-agent-strings.html

-     *
RFC 1945 - http://www.ietf.org/rfc/rfc1945.txt

-     *
RFC 2068 - http://www.ietf.org/rfc/rfc2068.txt

-     *

-     * User-Agent        = "User-Agent" ":" 1*( product | comment )
-     * product           = token ["/" product-version ]
-     * product-version   = token
-     * comment           = "(" *( ctext | comment ) ")"
-     * ctext             = <any TEXT excluding "(" and ")">
-     * token             = 1*<any CHAR except CTLs or tspecials>
-     * tspecials         = "(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\" | <"> | "/" | "[" | "]" | "?" | "=" | "{" | "}" | SP | HT
-     *

-     */
-    public class UserAgent
-    {
-
-        /**
-         * @private
-         */
-        private var _applicationProduct:String;
-
-        /**
-         * @private
-         */
-        private var _localInfo:Environment;
-
-        /**
-         * @private
-         */
-        private var _version:Version;
-
-        /**
-         * For privacy concern.
-         */
-        public static var minimal:Boolean = false;
-
-        /**
-         * Creates a new UserAgent instance.
-         * @param product The product String representation.
-         * @param version The version String representation.
-         */
-        public function UserAgent( localInfo:Environment, product:String = "", version:String = "" )
-        {
-            _localInfo = localInfo;
-            applicationProduct = product;
-
-            _version = Version.fromString(version);
-        }
-
-        /**
-         * Indicates the application comment String value. ( Platform ;  PlayerType ;  OS ;  Localization information  ?[; DebugVersion ; PrereleaseVersion] )
-         */
-        public function get applicationComment():String
-        {
-            var comment:Array = [];
-                comment.push( _localInfo.platform );
-                comment.push( _localInfo.playerType );
-
-                if( !UserAgent.minimal )
-                {
-                    comment.push( _localInfo.operatingSystem );
-                    comment.push( _localInfo.language );
-                }
-
-                if( Capabilities.isDebugger )
-                {
-                    comment.push( "DEBUG" );
-                }
-
-                /* TODO:
-                   detect alpha/pre-release version ?
-                */
-
-            if( comment.length > 0 )
-            {
-                return "(" + comment.join( "; " ) + ")" ;
-            }
-
-            return "";
-        }
-
-        /**
-         * Indicates the application product String representation.
-         */
-        public function get applicationProduct():String
-        {
-            return _applicationProduct;
-        }
-
-        /**
-         * @private
-         */
-        public function set applicationProduct( value:String ):void
-        {
-            _applicationProduct = value;
-        }
-
-        /**
-         * Indicates the application product token String representation.
-         */
-        public function get applicationProductToken():String
-        {
-            var token:String = applicationProduct;
-
-            if( applicationVersion != "" )
-            {
-                token += "/" + applicationVersion;
-            }
-
-            return token;
-        }
-
-        /**
-         * Indicates the application version String representation.
-         */
-        public function get applicationVersion():String
-        {
-            return _version.toString(2);
-        }
-
-        /**
-         * @private
-         */
-        public function set applicationVersion( value:String ):void
-        {
-            _version = Version.fromString( value );
-        }
-
-        /**
-         * Indicates the Tamarin engine token or an empty string if vmVersion can not be found.
-         *
Example : Tamarin/1.0d684

-         */
-        public function get tamarinProductToken():String
-        {
-            if( UserAgent.minimal )
-            {
-                return "";
-            }
-
-            if( System.vmVersion )
-            {
-                return "Tamarin/" + Utils.trim( System.vmVersion, true ) ;
-            }
-            else
-            {
-                return "" ;
-            }
-        }
-
-        /**
-         * Indicates the vendor production token String representation.
-         */
-        public function get vendorProductToken():String
-        {
-            var vp:String = "";
-
-            if( _localInfo.isAIR() )
-            {
-                vp += "AIR";
-            }
-            else
-            {
-                vp += "FlashPlayer";
-            }
-
-                vp += "/";
-                vp += _version.toString(3);
-
-            return vp;
-        }
-
-        /**
-         * Returns the String representation of the object.
-         * @return the String representation of the object.
-         */
-        public function toString():String
-        {
-            var UA:String = "";
-
-                UA += applicationProductToken;
-
-            if( applicationComment != "" )
-            {
-                UA += " " + applicationComment;
-            }
-
-            if( tamarinProductToken != "" )
-            {
-                UA += " " + tamarinProductToken;
-            }
-
-            if( vendorProductToken != "" )
-            {
-                UA += " " + vendorProductToken;
-            }
-
-            return UA;
-        }
-
-    }
-}


def: 7758 stop netstream on change media

--- plugins/wvPlugin/src/WvMediator.as
+++ plugins/wvPlugin/src/WvMediator.as
@@ -200,6 +200,14 @@

 				case NotificationType.CHANGE_MEDIA:
 					_isReplay = false;
+					if (_endOfStreamTimer && _endOfStreamTimer.running)
+					{
+						_ignoreSeek = false;
+						_endOfStreamTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, endOfClip);
+						_endOfStreamTimer.stop();
+						_endOfStreamTimer = null;
+						_wvPluginInfo.wvMediaElement.netStream.pause();
+					}
 					var kmediaMediator:KMediaPlayerMediator = facade.retrieveMediator(KMediaPlayerMediator.NAME) as KMediaPlayerMediator;
 					if (_mediaProxy.vo.isFlavorSwitching)
 						_pendingSeekTo = _lastPlayhead;


Change:	41446

Change:	41446

User:	jgrandy

Description:
	Summary:Fix problem where LzReplicationManager would resize items to
	incorrect height

	Bugs Fixed:LPP-1653

	Technical Reviewer: max (pending)
	QA Reviewer: frisco (pending)
	Doc Reviewer: n/a

	Release Notes:Fixed a problem (LPP-1653) where LzReplicationManager
	would resize items to an incorrect height.

	Details:

	Tests:

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

--- WEB-INF/lps/lfc/data/LzResizeReplicationManager.as
+++ WEB-INF/lps/lfc/data/LzResizeReplicationManager.as
@@ -3,7 +3,7 @@
  *****************************************************************************/

 //* A_LZ_COPYRIGHT_BEGIN ******************************************************
-//* Copyright 2001-2004 Laszlo Systems, Inc.  All Rights Reserved.            *
+//* Copyright 2001-2006 Laszlo Systems, Inc.  All Rights Reserved.            *
 //* Use is subject to license terms.                                          *
 //* A_LZ_COPYRIGHT_END ********************************************************

@@ -172,8 +172,6 @@
     if ( notfirst ) clpos += this.spacing;
     for( var i = 0; i < this.clones.length; i++ ){
         var cnode = this.nodes[ i + newoffset ];
-        var ds = cnode[ this.datasizevar ];
-        var csiz = ( ds == null ) ? this.viewsize : ds;

         var cl = this.clones[ i ];
         if ( !cl ){
@@ -187,6 +185,8 @@

         this.clones[ i ] = cl;
         cl.setAttribute( this.axis , clpos );
+        var ds = cnode[ this.datasizevar ];
+        var csiz = ( ds == null ) ? this.viewsize : ds;
         if ( cl[ this.sizeAxis ] != csiz ){
             cl.setAttribute( this.sizeAxis, csiz, true );
         }


JIDUtil createJID added

JIDUtil createJID added

--- src/org/igniterealtime/xiff/util/JIDUtil.as
+++ src/org/igniterealtime/xiff/util/JIDUtil.as
@@ -7,6 +7,13 @@
 	import org.igniterealtime.xiff.core.UnescapedJID;

 	public class JIDUtil {
+
+		public static function createJID(name:String, domain:String = null):UnescapedJID {
+			var needToAddDomain:Boolean = name.indexOf("@") == -1 && domain != null;
+			name += needToAddDomain ? "@" + domain : "";
+			return new UnescapedJID(name);
+		}
+
 		public static function unescape(jid:AbstractJID):UnescapedJID {
 			var unescapedJID:UnescapedJID;
 			if(jid is UnescapedJID){


Fixed a CP typo.

Fixed a CP typo.

--- as3/Apparat.Library.AS3/src/apparat/math/FastMath.as
+++ as3/Apparat.Library.AS3/src/apparat/math/FastMath.as
@@ -215,7 +215,7 @@
 		 * @see initMemory
 		 * @throws TypeError If no ApplicationDomain.domainMemory has been set.
 		 */
-		public static function rsqrt(value: Number, address: int): Number {
+		public static function rsqrt2(value: Number, address: int): Number {
 			if(value == 0.0) {
 				return 0.0
 			} else if(value < 0.0) {


Change this instance back. Varargs are still a nightmare and should
generally be avoided, but nobody's going to override this method and
we're always calling a regular method on the server, not a varargs method.

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

--- src/as/com/threerings/crowd/data/ManagerCaller.as
+++ src/as/com/threerings/crowd/data/ManagerCaller.as
@@ -31,7 +31,7 @@
     /**
      * Called to call a method on the manager.
      */
-    public function invoke (method :String, args :Array = null) :void
+    public function invoke (method :String, ... args) :void
     {
         _plobj.postMessage(method, args);
     }


Change 20071031-Philip-8 by Philip@Philip-DC on 2007-10-31 16:26:16 EDT
    in /cygdrive/f/laszlo/svn/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Remove unnecessary references from LzInputTextSprite.as

New Features:

Bugs Fixed: LPP-4951

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

Documentation:

Release Notes:

Details:
LzInputTextSprite.as contains some copied code that references a hash from LzNode (defaultattrs). I removed it.

Tests:
/test/smoke/smokecheck.lzx

Files:
M      WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20071031-Philip-8.tar

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

--- WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as
@@ -56,9 +56,6 @@

 LzInputTextSprite.prototype = new LzTextSprite(null);
-
-LzInputTextSprite.prototype.defaultattrs.selectable = true;
-LzInputTextSprite.prototype.defaultattrs.enabled = true;

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 654
Author:   svetlink@adobe.com
Date:     2008-02-26T15:29:51.450580Z

Log Message:
-----------
exposing strictNillability flag in IXMLEncoder to allow finer control over xsi:nil encoding

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLEncoder.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/XMLEncoder.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/XMLEncoder.as
@@ -1462,8 +1462,6 @@
      */
     public function encodeXSINil(definition:XML, name:QName, value:*, isRequired:Boolean = true):XML
     {
-        var strictNillability:Boolean = false;
-
         // Check for nillable in the definition only if strictNillability is true.
         // Otherwise assume nillable=true.
         var nillable:Boolean = true;
@@ -1864,6 +1862,23 @@
     //--------------------------------------------------------------------------

     /**
+     *
+     */
+    public function get strictNillability():Boolean
+    {
+        return _strictNillability;
+    }
+
+    /**
+     *
+     */
+    public function set strictNillability(strict:Boolean):void
+    {
+        _strictNillability = strict;
+    }
+
+
+    /**
      * Function to be used for escaping XML special characters in simple content.
      * Returns default implementation in this class.
      */
@@ -1890,6 +1905,7 @@
     //
     //--------------------------------------------------------------------------

+    private var _strictNillability:Boolean = false;
     private var _xmlSpecialCharsFilter:Function = escapeXML;

 }


Ensure that theories runner stays linked into the project

git-svn-id: 9278a788294a4258aac04586390fc35fb4a5f335@6607 a9308255-753e-0410-a2e9-80b3fbc4fff6

--- FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
+++ FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
@@ -36,6 +36,7 @@
 	import mx.logging.LogEventLevel;
 	import mx.logging.targets.TraceTarget;

+	import org.flexunit.experimental.theories.Theories;
 	import org.flexunit.internals.TextListener;
 	import org.flexunit.runner.notification.Failure;
 	import org.flexunit.runner.notification.IAsyncStartupRunListener;
@@ -69,6 +70,9 @@
 		private var asyncListenerWatcher:AsyncListenerWatcher;

 		private static const RUN_LISTENER:String = "runListener";
+
+		//Just keep theories linked in until we decide how to deal with it
+		private var theory:Theories;

 		public function get version():String {
 			return "4.0.0a";


Transferred from the Adobe Open Source Subversion Repository

Revision: 10633
Author:   dloverin@adobe.com
Date:     2009-09-28T13:24:30.559033Z

Log Message:
-----------
Use styleManager instance instead of StyleManager singleton (framework and compiler generated code)

Modified compiler generated style code for the FlexInit class. The style related changes are only available with the -keep option. AST generation is coming later.

Only the framework project is changed here. The other projects are will be changed soon.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex and Paul
Tests run: checkintests, all Mustella tests(no new failures)
Is noteworthy for integration: no.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonBarButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressIndeterminateSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserMonthArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollThumbSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleModule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Form.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TitleBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperDownSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PopUpButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/ProgrammaticSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/TabSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/textClasses/TextRange.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/CheckBoxIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/NumericStepperUpSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/RadioButtonIcon.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ComboBoxArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/FormItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/MenuBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ProgressBarSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/BusyCursor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/SliderTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DataGridHeaderBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SetStyleActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>

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

--- frameworks/projects/mx/src/mx/containers/Form.as
+++ frameworks/projects/mx/src/mx/containers/Form.as
@@ -20,6 +20,7 @@
 import mx.core.IInvalidating;
 import mx.core.IUIComponent;
 import mx.core.mx_internal;
+import mx.styles.IStyleManager2;
 import mx.styles.StyleManager;

 use namespace mx_internal;
@@ -166,40 +167,6 @@
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Class properties
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static var classInitialized:Boolean = false;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  This method gets called once at first instance construction
-	 *  rather than during class initialization.
-	 *  In order for calls to StyleManager methods to work,
-	 *  the factory class for the application or module
-	 *  must have already registered StyleManagerImpl with Singleton.
-	 *  This may not be the case at class initialization time.
-	 */
-	private static function initializeClass():void
-	{
-		StyleManager.registerInheritingStyle("labelWidth");
-		StyleManager.registerSizeInvalidatingStyle("labelWidth");
-		StyleManager.registerInheritingStyle("indicatorGap");
-		StyleManager.registerSizeInvalidatingStyle("indicatorGap");
-	}
-
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -218,12 +185,11 @@
     {
         super();

-		if (!classInitialized)
-		{
-			initializeClass();
-			classInitialized = true;
-		}
-
+        styleManager.registerInheritingStyle("labelWidth");
+        styleManager.registerSizeInvalidatingStyle("labelWidth");
+        styleManager.registerInheritingStyle("indicatorGap");
+        styleManager.registerSizeInvalidatingStyle("indicatorGap");
+
         showInAutomationHierarchy = true;

         layoutObject.target = this;
@@ -432,7 +398,7 @@
         // that is known to affect layout.
         if (!styleProp ||
             styleProp == "styleName" ||
-            StyleManager.isSizeInvalidatingStyle(styleProp))
+            styleManager.isSizeInvalidatingStyle(styleProp))
         {
             invalidateLabelWidth();
         }