Bits of documenting and length checking.

--- src/org/igniterealtime/xiff/core/AbstractJID.as
+++ src/org/igniterealtime/xiff/core/AbstractJID.as
@@ -4,32 +4,49 @@
 package org.igniterealtime.xiff.core
 {
   /**
-   * This is a base class for the JID (Jabber ID) classes. It provides
-   * functionality to determine if a JID is valid, as well as extract the
+   * This is a base class for the JID (Jabber ID) classes.
+   * This class should not be instantiated directly, but should be subclassed
+   * instead.
+   *
+   * It provides functionality to determine if a JID is valid, as well as extract the
    * node, domain and resource from the JID.
    *
-   * This class should not be instantiated directly, but should be subclassed
-   * instead.
+   * The structure of JID is defined in RFC3920.
+   * jid = [ node "@" ] domain [ "/" resource ]
+   * domain = fqdn / address-literal
+   * fqdn = (sub-domain 1*("." sub-domain))
+   * sub-domain = (internationalized domain label)
+   * address-literal = IPv4address / IPv6address
+   *
+   * @exampleText user@host/resource
+   * @exampleText room@service/nick
    */
   public class AbstractJID
   {
+	private const BYTE_LIMIT_ITEM:uint = 1023;
+	private const BYTE_LIMIT_TOTAL:uint = 3071;
+
     //TODO: this doesn't actually validate properly in some cases; need separate nodePrep, etc...
     protected static var jidNodeValidator:RegExp = /^([\x29\x23-\x25\x28-\x2E\x30-\x39\x3B\x3D\x3F\x41-\x7E\xA0 \u1680\u202F\u205F\u3000\u2000-\u2009\u200A-\u200B\u06DD \u070F\u180E\u200C-\u200D\u2028-\u2029\u0080-\u009F \u2060-\u2063\u206A-\u206F\uFFF9-\uFFFC\uE000-\uF8FF\uFDD0-\uFDEF \uFFFE-\uFFFF\uD800-\uDFFF\uFFF9-\uFFFD\u2FF0-\u2FFB]{1,1023})/;
     protected var _node:String = "";
     protected var _domain:String = "";
     protected var _resource:String = "";

-    /**
-     * Creates a new AbstractJID object.
-     *
-     * @param	inJID The JID as a String.
-     * @param	validate True if the JID should be validated.
-     */
-    public function AbstractJID(inJID:String, validate:Boolean=false)
+	/**
+	 * Creates a new AbstractJID object. Used via EscapedJID or UnescapedJID.
+	 *
+	 * Each allowable portion of a JID (node identifier, domain identifier, and resource identifier)
+	 * MUST NOT be more than 1023 bytes in length, resulting in a maximum total size
+	 * (including the ’@’ and ’/’ separators) of 3071 bytes.
+	 *
+	 * @param	inJID The JID as a String.
+	 * @param	validate True if the JID should be validated.
+	 */
+    public function AbstractJID(inJID:String, validate:Boolean=false)
     {
       if(validate)
       {
-        if(!jidNodeValidator.test(inJID) || inJID.indexOf(" ") > -1)
+        if(!jidNodeValidator.test(inJID) || inJID.indexOf(" ") > -1 || inJID.length > BYTE_LIMIT_TOTAL)
         {
           // TODO: Get rid of trace (use Logger) and create
           // better exception
@@ -40,7 +57,7 @@
       var separatorIndex:int = inJID.lastIndexOf("@");
       var slashIndex:int = inJID.lastIndexOf("/");

-      if(slashIndex >= 0)
+      if(slashIndex >= 0)
         _resource = inJID.substring(slashIndex + 1);

       _domain = inJID.substring(separatorIndex + 1, slashIndex >= 0 ? slashIndex : inJID.length);
@@ -128,7 +145,7 @@
      *
      * @return The JID as a String.
      */
-    public function toString():String
+    public function toString():String
     {
       var j:String = "";
       if(node)
@@ -143,7 +160,7 @@
     /**
      * The JID without the resource.
      */
-    public function get bareJID():String
+    public function get bareJID():String
     {
       var str:String = toString();
       var slashIndex:int = str.lastIndexOf("/");
@@ -155,7 +172,7 @@
     /**
      * The resource portion of the JID.
      */
-    public function get resource():String
+    public function get resource():String
     {
       if(_resource.length > 0)
         return _resource;
@@ -165,7 +182,7 @@
     /**
      * The node portion of the JID.
      */
-    public function get node():String
+    public function get node():String
     {
       if(_node.length > 0)
         return _node;
@@ -175,7 +192,7 @@
     /**
      * The domain portion of the JID.
      */
-    public function get domain():String
+    public function get domain():String
     {
       return _domain;
     }


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

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

 package mx.automation.delegates.controls
 {


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

--- frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as
+++ frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
 package spark.components.calendarClasses
 {
 import spark.collections.OnDemandDataProvider;


reset vars after drop

reset vars after drop

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/DropMouseController.as
@@ -179,6 +179,7 @@
             event.stopImmediatePropagation();
             dispatchEvent(dragEvent);

+            inside = false;
             DisplayObject(_strand).stage.removeEventListener(DragEvent.DRAG_END, dragEndHandler);
             DisplayObject(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
         }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.controls.olapDataGridClasses
 {


TriangleReference will now create an empty triangle if initialized with an index out of bounds

--- src/aerys/minko/render/geometry/stream/iterator/TriangleReference.as
+++ src/aerys/minko/render/geometry/stream/iterator/TriangleReference.as
@@ -1,245 +1,112 @@
 package aerys.minko.render.geometry.stream.iterator
 {
-	import aerys.minko.ns.minko_math;
 	import aerys.minko.ns.minko_stream;
+	import aerys.minko.render.geometry.stream.IVertexStream;
+	import aerys.minko.render.geometry.stream.IndexStream;
 	import aerys.minko.type.Factory;
 	import aerys.minko.type.math.Plane;
 	import aerys.minko.type.math.Vector4;
-	import aerys.minko.render.geometry.stream.IVertexStream;
-	import aerys.minko.render.geometry.stream.IndexStream;

 	public final class TriangleReference
 	{
 		use namespace minko_stream;
-		use namespace minko_math;

-		private static const VECTOR4				: Factory	= Factory.getFactory(Vector4);
-
+		private static const DUMMY_INDICES			: Vector.<uint>	= new <uint>[0, 1, 2];
+
 		minko_stream static const UPDATE_NONE		: uint		= 0;
 		minko_stream static const UPDATE_NORMAL		: uint		= 1;
 		minko_stream static const UPDATE_PLANE		: uint		= 2;
 		minko_stream static const UPDATE_CENTER		: uint		= 4;
 		minko_stream static const UPDATE_ALL		: uint		= 1 | 2 | 4;

-		minko_stream var _index		: int			= 0;
-		minko_stream var _update	: uint			= UPDATE_ALL;
+		minko_stream var _index		: uint				= 0;
+		minko_stream var _update	: uint				= UPDATE_ALL;

-		private var _istream	: IndexStream		= null;
+		private var _indexStream	: IndexStream		= null;

-		private var _v0			: VertexReference	= null;
-		private var _v1			: VertexReference	= null;
-		private var _v2			: VertexReference	= null;
+		private var _v0				: VertexReference	= null;
+		private var _v1				: VertexReference	= null;
+		private var _v2				: VertexReference	= null;

-		private var _i0			: int				= 0;
-		private var _i1			: int				= 0;
-		private var _i2			: int				= 0;
+		private var _i0				: uint				= 0;
+		private var _i1				: uint				= 0;
+		private var _i2				: uint				= 0;

-		private var _v0v		: uint				= 0;
-		private var _v1v		: uint				= 0;
-		private var _v2v		: uint				= 0;
-
-		private var _normal		: Vector4			= null;
-		private var _plane		: Plane				= null;
-		private var _center		: Vector4			= null;
-
-		public function get index()	: int				{ return _index; }
-
-		public function get v0()	: VertexReference	{ return _v0; }
-		public function get v1() 	: VertexReference	{ return _v1; }
-		public function get v2() 	: VertexReference	{ return _v2; }
-
-		public function get i0() 	: int				{ return _istream._data[int(_index * 3)]; }
-		public function get i1() 	: int				{ return _istream._data[int(_index * 3 + 1)]; }
-		public function get i2() 	: int				{ return _istream._data[int(_index * 3 + 2)]; }
-
-		private function get updateNormal() : Boolean	{ return (_update & UPDATE_NORMAL) || _v0.version != _v0v
-																 || _v1.version != _v1v || _v2.version != _v2v; }
-
-		private function get updatePlane() : Boolean	{ return (_update & UPDATE_PLANE) || _v0.version != _v0v
-																 || _v1.version != _v1v || _v2.version != _v2v; }
-
-		private function get updateCenter() : Boolean	{ return (_update & UPDATE_CENTER) || _v0.version != _v0v
-																 || _v1.version != _v1v || _v2.version != _v2v; }
-
-		private function get verticesHaveChanged() : Boolean { return _v0.version != _v0v || _v1.version != _v1v
-																	  || _v2.version != _v2v; }
-
-		public function get plane() : Plane
+		public function get index()	: int
 		{
-			if (updatePlane)
-				invalidatePlane();
-
-			return _plane;
+			return _index;
 		}

-		public function get normalX() : Number
+		public function get v0() : VertexReference
 		{
-			if (updateNormal)
-				invalidateNormal();
-
-			return _normal.x;
+			return _v0;
+		}
+		public function get v1() : VertexReference
+		{
+			return _v1;
+		}
+		public function get v2() : VertexReference
+		{
+			return _v2;
 		}

-		public function get normalY() : Number
+		public function get i0() : int
 		{
-			if (updateNormal)
-				invalidateNormal();
-
-			return _normal.y;
+			return _indexStream._data[int(_index * 3)];
 		}
-
-		public function get normalZ() : Number
-		{
-			if (updateNormal)
-				invalidateNormal();
-
-			return _normal.z;
-		}
-
-		public function get centerX() : Number
-		{
-			if (updateCenter)
-				invalidateCenter();
-
-			return _center.x;
-		}
-
-		public function get centerY() : Number
-		{
-			if (updateCenter)
-				invalidateCenter();
-
-			return _center.y;
-		}
-
-		public function get centerZ() : Number
-		{
-			if (updateCenter)
-				invalidateCenter();
-
-			return _center.z;
-		}
-
 		public function set i0(value : int) : void
 		{
-			_istream._data[int(_index * 3)] = value;
-			_istream.invalidate();
+			_indexStream._data[int(_index * 3)] = value;
+			_indexStream.invalidate();
 			_v0._index = value;
 			_update |= UPDATE_ALL;
 		}
-
+
+		public function get i1() : int
+		{
+			return _indexStream._data[int(_index * 3 + 1)];
+		}
 		public function set i1(value : int) : void
 		{
-			_istream._data[int(_index * 3 + 1)] = value;
-			_istream.invalidate();
+			_indexStream._data[int(_index * 3 + 1)] = value;
+			_indexStream.invalidate();
 			_v1._index = value;
 			_update |= UPDATE_ALL;
 		}
-
+
+		public function get i2() : int
+		{
+			return _indexStream._data[int(_index * 3 + 2)];
+		}
 		public function set i2(value : int) : void
 		{
-			_istream._data[int(_index * 3 + 2)] = value;
-			_istream.invalidate();
+			_indexStream._data[int(_index * 3 + 2)] = value;
+			_indexStream.invalidate();
 			_v2._index = value;
 			_update |= UPDATE_ALL;
 		}
-
+
 		public function TriangleReference(vertexStream 	: IVertexStream,
 										  indexStream	: IndexStream,
-										  index 		: int)
+										  index 		: uint)
 		{
-			_istream = indexStream;
-
+			_indexStream = indexStream;
 			_index = index;

-			_v0 = new VertexReference(vertexStream,
-									  indexStream._data[int(_index * 3)]);
-			_v1 = new VertexReference(vertexStream,
-									  indexStream._data[int(_index * 3 + 1)]);
-			_v2 = new VertexReference(vertexStream,
-									  indexStream._data[int(_index * 3 + 2)]);
+			initialize(vertexStream);
 		}
+
+		private function initialize(vertexStream : IVertexStream) : void
+		{
+			var ii : uint = _index * 3;

-		private function invalidateNormal() : void
-		{
-			if (!_normal)
-				_normal = new Vector4();
-
-			var x0 : Number = _v0.x;
-			var y0 : Number = _v0.y;
-			var z0 : Number = _v0.z;
-			var x1 : Number = _v1.x;
-			var y1 : Number = _v1.y;
-			var z1 : Number = _v1.z;
-			var x2 : Number = _v2.x;
-			var y2 : Number = _v2.y;
-			var z2 : Number = _v2.z;
-
-			_normal.x = (y0 - y2) * (z0 - z1) - (z0 - z2) * (y0 - y1);
-			_normal.y = (z0 - z2) * (x0 - x1) - (x0 - x2) * (z0 - z1);
-			_normal.z = (x0 - x2) * (y0 - y1) - (y0 - y2) * (x0 - x1);
-
-			_normal.normalize();
-
-			_update ^= UPDATE_NORMAL;
-			_v0v = _v0.version;
-			_v1v = _v1.version;
-			_v2v = _v2.version;
-		}
-
-		public function getNormal(out : Vector4) : Vector4
-		{
-			return Vector4.copy(_normal, out);
-		}
-
-		public function getCenter(out : Vector4) : Vector4
-		{
-			return Vector4.copy(_center, out);
-		}
-
-		private function invalidatePlane() : void
-		{
-			if (updateNormal)
-			{
-				invalidateNormal();
-			}
-			else
-			{
-				_v0v = _v0.version;
-				_v1v = _v1.version;
-				_v2v = _v2.version;
-			}
-
-			if (!_plane)
-				_plane = new Plane();
-
-			var nx : Number = _normal.x;
-			var ny : Number = _normal.y;
-			var nz : Number = _normal.z;
-
-			_plane._a = nx;
-			_plane._b = ny;
-			_plane._c = nz;
-			_plane._d = _v0.x * nx + _v0.y * ny + _v0.z * nz;
-
-			_plane.normalize();
-
-			_update ^= UPDATE_PLANE;
-		}
-
-		private function invalidateCenter() : void
-		{
-			if (verticesHaveChanged)
-			{
-				_update = UPDATE_ALL ^ UPDATE_CENTER;
-				_v0v = _v0.version;
-				_v1v = _v1.version;
-				_v2v = _v2.version;
-			}
-
-			_center.x = (_v0.x + _v1.x + _v2.x) * .33333333;
-			_center.y = (_v0.y + _v1.y + _v2.y) * .33333333;
-			_center.z = (_v0.z + _v1.z + _v2.z) * .33333333;
+			// create a new triangle if it does not exist
+			if (ii >= _indexStream.length)
+				_indexStream.push(DUMMY_INDICES);
+
+			_v0 = new VertexReference(vertexStream, _indexStream.get(ii));
+			_v1 = new VertexReference(vertexStream, _indexStream.get(ii + 1));
+			_v2 = new VertexReference(vertexStream, _indexStream.get(ii + 2));
 		}

 		public function invertWinding() : void


Transferred from the Adobe Open Source Subversion Repository

Revision: 3734
Author:   pfarland@adobe.com
Date:     2008-10-18T05:13:34.132420Z

Log Message:
-----------
Fixing advanced CSS descendant selectors for the alpha release.

- We now check descendant types against any superclass.

- Removed StyleProtoChain.getClassStyleDeclarations()'s recursive "Class" lookup for each superclass of an IStyleClient during the search for type selectors in the hierarchy. This was replaced with a simple describeType-based description (called once per type).

- Added a method to report whether any advanced styles had been registered with the StyleManager to optimize style declaration matching for the default case of simple style declarations.

- Removed advanced selector cache key calculation from StyleProtoChain in favor of the legacy simple type level cache. Future work may be required to cache advanced, display list sensitive style information.

- Fixed the specificity calculation for global selectors.

QE: Yes
Doc: No.
Checkintests: Pass
mxunit styles tests: Pass
select mustella styles tests: Pass
Reviewer: Glenn

Bugs:
SDK-17351 - [Advanced CSS] Descendant selectors don't work for Application
SDK-17361 - [Advanced CSS] If you use descendant and id selectors together, the id selector doesn't work correctly
SDK-17385 - [Advanced CSS] If you use descendant and class selectors together, the class selector doesn't work correctly

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as</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/utils/NameUtil.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/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.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/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</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/compiler/css/StyleDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
+++ frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
@@ -14,9 +14,7 @@

 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import flash.system.ApplicationDomain;
-import flash.utils.getQualifiedClassName;
-import flash.utils.getQualifiedSuperclassName;
+import flash.utils.describeType;

 import mx.core.ApplicationGlobals;
 import mx.core.FlexVersion;
@@ -24,7 +22,6 @@

 import mx.core.IFontContextComponent;
 import mx.core.IInvalidating;
-import mx.core.IFlexModuleFactory;
 import mx.core.IUITextField;
 import mx.core.mx_internal;
 import mx.core.UIComponent;
@@ -33,9 +30,12 @@
 import mx.modules.ModuleManager;
 import mx.styles.IStyleClient;
 import mx.styles.StyleProxy;
+import mx.utils.NameUtil;
+import mx.utils.object_proxy;
 import mx.utils.OrderedObject;

 use namespace mx_internal;
+use namespace object_proxy;

 [ExcludeClass]

@@ -80,108 +80,59 @@
      */
     public static function getClassStyleDeclarations(object:IStyleClient):Array
     {
-        var myApplicationDomain:ApplicationDomain;
-
-        var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(object);
-        if (factory != null)
-        {
-            myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
+        var className:String = object.className;
+        var advancedObject:IAdvancedStyleClient = object as IAdvancedStyleClient;
+
+        var typeHierarchy:OrderedObject = getUnqualifiedTypeHierarchy(object);
+        var types:Array = typeHierarchy.propertyList;
+        var typeCount:int = types.length;
+        var classDecls:Array = null;
+
+        if (!StyleManager.hasAdvancedSelectors())
+        {
+            classDecls = StyleManager.typeSelectorCache[className];
+            if (classDecls)
+                return classDecls;
+        }
+
+        classDecls = [];
+
+        // Loop over the type hierarhcy starting at the base type and work
+        // down the chain of subclasses.
+        for (var i:int = typeCount - 1; i >= 0; i--)
+        {
+            var type:String = types[i].toString();
+            if (StyleManager.hasAdvancedSelectors() && advancedObject != null)
+            {
+                var decls:Object = StyleManager.getStyleDeclarations(type);
+                if (decls)
+                {
+                    var matchingDecls:Array = getMatchingStyleDeclarations(decls, advancedObject);
+                    classDecls = classDecls.concat(matchingDecls);
+                }
+            }
+            else
+            {
+                var decl:CSSStyleDeclaration = StyleManager.getStyleDeclaration(type);
+                if (decl)
+                    classDecls.push(decl);
+            }
+        }
+
+        if (StyleManager.hasAdvancedSelectors() && advancedObject != null)
+        {
+            // Advanced selectors may mean more than one match per type so we
+            // sort based on specificity, but preserving the declaration
+            // order for equal selectors.
+            classDecls = sortOnSpecificity(classDecls);
         }
         else
         {
-            var myRoot:DisplayObject = SystemManager.getSWFRoot(object);
-            if (!myRoot)
-                return [];
-            myApplicationDomain = myRoot.loaderInfo.applicationDomain;
-        }
-
-        var className:String = getQualifiedClassName(object)
-        className = className.replace("::", ".");
-
-        var advancedObject:IAdvancedStyleClient = object as IAdvancedStyleClient;
-
-        var cacheKey:String = advancedObject ? getAdvancedCacheKey(className, advancedObject) : className;
-        var cache:Array = StyleManager.typeSelectorCache[cacheKey];
-        if (cache)
-           return cache;
-
-        var decls:Array = [];
-        var cacheKeys:Array = [];
-        var caches:Array = [];
-        var declcache:Array = [];
-
-        while (className != null &&
-               className != "mx.core.UIComponent" &&
-               className != "mx.core.UITextField" &&
-               className != "mx.graphics.graphicsClasses.GraphicElement")
-        {
-            cache = StyleManager.typeSelectorCache[cacheKey];
-            if (cache)
-            {
-                decls = decls.concat(cache);
-                break;
-            }
-
-            var ds:Array = null;
-            if (advancedObject)
-            {
-                var d:Object = StyleManager.getStyleDeclarations(className);
-                if (d)
-                    ds = getMatchingStyleDeclarations(d, advancedObject, true);
-            }
-            else
-            {
-                var s:CSSStyleDeclaration = StyleManager.getStyleDeclaration(className);
-                if (s)
-                    ds = [s];
-            }
-
-            if (ds && ds.length > 0)
-            {
-                decls = ds.concat(decls);
-                // We found one so the next set define the selectors
-                // for this found class and its ancestors.
-                // Save the old list and start a new list.
-                cacheKeys.push(cacheKey);
-                caches.push(cacheKeys);
-                declcache.push(decls);
-                decls = [];
-                cacheKeys = [];
-            }
-            else
-            {
-                cacheKeys.push(cacheKey);
-            }
-
-            try
-            {
-                className = getQualifiedSuperclassName(
-                    myApplicationDomain.getDefinition(className));
-                className = className.replace("::", ".");
-
-                cacheKey = advancedObject ? getAdvancedCacheKey(className, advancedObject) : className;
-            }
-            catch(e:ReferenceError)
-            {
-                className = null;
-            }
-        }
-
-        caches.push(cacheKeys);
-        declcache.push(decls);
-        decls = [];
-
-        while (caches.length)
-        {
-            cacheKeys = caches.pop();
-            decls = decls.concat(declcache.pop());
-            while (cacheKeys.length)
-            {
-                StyleManager.typeSelectorCache[cacheKeys.pop()] = decls;
-            }
-        }
-
-        return decls;
+            // Cache the simple type declarations for this class
+            StyleManager.typeSelectorCache[className] = classDecls;
+        }
+
+        return classDecls;
     }

     /**
@@ -282,7 +233,7 @@

         // If we have an advanced style client, we handle this separately
         // because of the considerably more complex selector matches...
-        if (advancedObject)
+        if (StyleManager.hasAdvancedSelectors() && advancedObject != null)
         {
             styleDeclarations = [];

@@ -787,17 +738,28 @@
     }

     /**
+     *  @private
+     */
+    public static function isAssignableToType(object:IAdvancedStyleClient, type:String):Boolean
+    {
+        return getUnqualifiedTypeHierarchy(object)[type] != null;
+    }
+
+    /**
      *  @private
-     *  Find all matching style declarations for an IStyleClient2 component.
+     *  Find all matching style declarations for an IAdvancedStyleClient
+     *  component. The result is unsorted in terms of specificity, but the
+     *  declaration order is preserved.
      *
-     *  @param declarations - an Array of declarations that is searched for
+     *  @param declarations - an Array of declarations to be searched for
      *  matches.
      *  @param object - an instance of the component to match.
      *
-     *  @return An Array of style declarations for the given subject.
+     *  @return An unsorted Array of matching style declarations for the given
+     *  subject.
      */
     private static function getMatchingStyleDeclarations(declarations:Object,
-            object:IAdvancedStyleClient, ignoreType:Boolean=false):Array // of CSSStyleDeclaration
+            object:IAdvancedStyleClient):Array // of CSSStyleDeclaration
     {
         var matchingDecls:Array = [];

@@ -805,38 +767,55 @@
         for (var selector:String in declarations)
         {
             var decl:CSSStyleDeclaration = declarations[selector];
-            if (decl.isMatch(object, ignoreType))
+            if (decl.isMatch(object))
                 matchingDecls.push(decl);
         }

-        // Then sort by specificity...
-        matchingDecls = sortOnSpecificity(matchingDecls);
-
         return matchingDecls;
     }

     /**
-     *  @private
-     *  TODO: Replace this key generation as this is reasonably expensive in
-     *  terms of string creation.
-     */
-    private static function getAdvancedCacheKey(className:String, object:IAdvancedStyleClient):String
-    {
-        var cacheKey:String = className;
-
-        if (object.id)
-            cacheKey += object.id;
-
-        if (object.styleName)
-            cacheKey += object.styleName;
-
-        if (object.currentState)
-            cacheKey += object.currentState;
-
-        if (object.styleParent)
-            cacheKey += getAdvancedCacheKey(object.styleParent.className, object.styleParent);
-
-        return cacheKey;
+     *  @private
+     *  This should only be called once per type so avoiding a dependency on
+     *  DescribeTypeCache and using describeType() directly.
+     */
+    private static function getUnqualifiedTypeHierarchy(object:IStyleClient):OrderedObject
+    {
+        var className:String = object.className;
+        var hierarchy:OrderedObject = StyleManager.typeHierarchyCache[className];
+        if (!hierarchy)
+        {
+            hierarchy = new OrderedObject();
+            hierarchy[className] = true;
+
+            var typeDescription:XML = describeType(object);
+            var superClasses:XMLList = typeDescription..extendsClass;
+            for each (var superClass:XML in superClasses)
+            {
+                var type:String = superClass.@type.toString();
+                if (isStopClass(type))
+                    break;
+
+                type = NameUtil.getUnqualifiedClassName(type);
+                hierarchy[type] = true;
+            }
+            StyleManager.typeHierarchyCache[className] = hierarchy;
+        }
+
+        return hierarchy;
+    }
+
+    /**
+     *  @private
+     *  Our style type hierarhcy stops at UIComponent, UITextField or
+     *  GraphicElement, not Object.
+     */
+    private static function isStopClass(value:String):Boolean
+    {
+        return value == null ||
+               value == "mx.core::UIComponent" ||
+               value == "mx.core::UITextField" ||
+               value == "mx.graphics.graphicsClasses::GraphicElement";
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4492
Author:   gosmith@adobe.com
Date:     2009-01-12T22:47:10.154251Z

Log Message:
-----------
Simplified how an accessibility class gets hooked into its corresponding component class.

We now do the hooking in the static method enableAccessibility(), which is called by code that is autogenerated by the compiler. Previously this method did nothing and the hooking happened at static initialization time. This allows us to remove the static var accessibilityHooked and the static method hookAccessibility() in each accessibility class.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Deepa and Alex

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>

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

--- frameworks/projects/mx/src/mx/accessibility/CheckBoxAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/CheckBoxAccImpl.as
@@ -20,43 +20,12 @@
 use namespace mx_internal;

 /**
- *  The CheckBoxAccImpl class is the accessibility class for CheckBox.
- *
- *  @helpid 3003
- *  @tiptext This is the CheckBoxAccImpl Accessibility Class.
- *  @review
+ *  CheckBoxAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the CheckBox class.
  */
 public class CheckBoxAccImpl extends ButtonAccImpl
 {
     include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class initialization
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Static variable triggering the hookAccessibility() method.
-	 *  This is used for initializing CheckBoxAccImpl class to hook its
-	 *  createAccessibilityImplementation() method to CheckBox class
-	 *  before it gets called from UIComponent.
-	 */
-	private static var accessibilityHooked:Boolean = hookAccessibility();
-
-	/**
-	 *  @private
-	 *  Static method for swapping the createAccessibilityImplementation()
-	 *  method of CheckBox with the CheckBoxAccImpl class.
-	 */
-	private static function hookAccessibility():Boolean
-	{
-		CheckBox.createAccessibilityImplementation =
-			createAccessibilityImplementation;
-
-		return true;
-	}

 	//--------------------------------------------------------------------------
 	//
@@ -76,25 +45,31 @@
 	//--------------------------------------------------------------------------

 	/**
+	 *  Enables accessibility in the CheckBox class.
+	 *
+	 *
This method is called by application startup code
+	 *  that is autogenerated by the MXML compiler.
+	 *  Afterwards, when instances of CheckBox are initialized,
+	 *  their accessibilityImplementation property
+	 *  will be set to an instance of this class.

+	 */
+	public static function enableAccessibility():void
+	{
+		CheckBox.createAccessibilityImplementation =
+			createAccessibilityImplementation;
+	}
+
+	/**
 	 *  @private
-	 *  Method for creating the Accessibility class.
-	 *  This method is called from UIComponent.
-	 *  @review
+	 *  Creates a CheckBox's AccessibilityImplementation object.
+	 *  This method is called from UIComponent's
+	 *  initializeAccessibility() method.
 	 */
 	mx_internal static function createAccessibilityImplementation(
 								component:UIComponent):void
 	{
 		component.accessibilityImplementation =
 			new CheckBoxAccImpl(component);
-	}
-
-	/**
-	 *  Method call for enabling accessibility for a component.
-	 *  This method is required for the compiler to activate
-	 *  the accessibility classes for a component.
-	 */
-	public static function enableAccessibility():void
-	{
 	}

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


Addition of new method to mock for implementation of interface

--- FlexUnit4Test/src/org/flexunit/runner/notification/mocks/RunNotifierMock.as
+++ FlexUnit4Test/src/org/flexunit/runner/notification/mocks/RunNotifierMock.as
@@ -63,6 +63,10 @@
 			mock.removeListener(listener);
 		}

+		public function removeAllListeners():void {
+			mock.removeAllListeners();
+		}
+
 		public function pleaseStop():void
 		{
 			mock.pleaseStop();


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


FLEX-31948 Same changes for AdvancedDataGridBaseEx as for DataGrid.

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -2798,7 +2798,8 @@
      */
     override public function itemToLabel(data:Object):String
     {
-        return displayableColumns[sortIndex == -1 ? 0 : sortIndex].itemToLabel(data);
+        var column:AdvancedDataGridColumn = displayableColumns[sortIndex == -1 ? 0 : sortIndex];
+        return column ? column.itemToLabel(data) : "";
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 7862
Author:   jszeto@adobe.com
Date:     2009-06-15T22:06:23.250745Z

Log Message:
-----------
GraphicElement PARB Changes

mx.core.AdvancedLayoutFeatures
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets

mx.core.IVisualElement
•	Rename layer -> depth

mx.core.UIComponent
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

mx.graphics.GradientBase
•	Remove scaleX

mx.graphics.GradientStroke
•	Add apply(g:Graphics, bounds:Rectangle)

mx.graphics.IStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.LinearGradient
•	Add scaleX

mx.graphics.LinearGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.RadialGradient
•	Add scaleX

mx.graphics.RadialGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.SolidColorStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.flash.UIMovieClip
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

spark.components.PopUpAnchor
•	Change popUp type from UIComponent -> IFlexDisplayObject
•	Rename positionPopUp -> calculatePopUpPosition
•	Rename autoSizePopUpWidth -> popUpWidthMatchesAnchorWidth
•	Rename autoSizePopUpHeight -> popUpHeightMatchesAnchorHeight

spark.core.RelativePosition
•	Rename and move spark.core.RelativePosition -> spark.components.PopUpPosition
•	Rename EXACT -> TOP_LEFT (topLeft)

spark.core.SpriteVisualElement
•	Rename layer -> depth
•	Remove computeMatrix

spark.primitives.BitmapImage
•	Change _NORMAL_UINT from protected -> private
•	Change _REPEAT_UINT from protected -> private
•	Change _SCALE_UINT from protected -> private
•	Change resizeModeToUINT from protected -> private
•	Rename drawElement -> draw

spark.primitives.Line
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw

spark.primitives.Path
•	Change graphicsPath fro protected -> mx_internal
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw
•	Rename renderGraphicsAtScale -> generateGraphicsPath
•	Change generateGraphicsPath from protected -> mx_internal
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing

spark.primitives.Rect
•	Rename drawElement -> draw

spark.primitives.supportClasses.GraphicElement
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets
•	Rename getBitmapData -> captureBitmapData
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing
•	Rename skipMeasure -> canSkipMeasurement
•	Add protected hasComplexLayoutMatrix:Boolean getter
•	Remove target
•	Remove computeMatrix
•	Change DEFAULT_MAX_WIDTH from public -> private
•	Change DEFAULT_MAX_HEIGHT from public -> private
•	Change DEFAULT_MIN_WIDTH from public -> private
•	Change DEFAULT_MIN_HEIGHT from public -> private
•	Change allocateLayoutFeatures from protected -> mx_internal
•	Change invalidateTransform from protected -> private
•	Change captureBitmapData from public -> mx_internal
•	Change applyMaskType from protected -> mx_internal
•	Change dispatchPropertyChangeEvent from protected -> private
•	Change applyComputedTransform from protected -> mx_internal
•	Change filterChangedHandler from protected -> private

spark.supportClasses.StrokedElement
•	Rename drawElement -> draw
•	Remove getStroke()
•	Add getStrokeExtents() override

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.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/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
@@ -10,27 +10,23 @@
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.supportClasses
 {
-import flash.display.Bitmap;
 import flash.display.BitmapData;
 import flash.display.Shader;
-import flash.display.ShaderJob;
-import flash.events.ShaderEvent;
 import flash.filters.ShaderFilter;
 import flash.utils.ByteArray;

-import mx.containers.Panel;
-import mx.core.Application;
 import mx.core.IUIComponent;
-import mx.core.UIComponent;
+import mx.core.mx_internal;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;

-import spark.effects.AnimateTransitionShader;
 import spark.effects.animation.Animation;
 import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;
 import spark.primitives.supportClasses.GraphicElement;
 import spark.utils.BitmapUtil;
+
+use namespace mx_internal;

 /**
  *  The AnimateTransitionShaderInstance class implements the instance class for the
@@ -268,7 +264,7 @@
     private function getSnapshot(target:Object):BitmapData
     {
         if (target is GraphicElement)
-            return GraphicElement(target).getBitmapData(true, 0, false);
+            return GraphicElement(target).captureBitmapData(true, 0, false);
         else if (!(target is IUIComponent))
             throw new Error(resourceManager.getString("sparkEffects", "cannotOperateOn"));
         return BitmapUtil.getSnapshot(IUIComponent(target));


Transferred from the Adobe Open Source Subversion Repository

Revision: 20149
Author:   klin@adobe.com
Date:     2011-02-04T21:39:31.000080Z

Log Message:
-----------
Add and update [Inspectable] metadata across spark components.

QE notes: No
Doc notes: No
Bugs: SDK-28942
Reviewer: Carol
Tests run: cyclone server, checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TileGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/modules/ModuleLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -482,13 +482,13 @@
     //----------------------------------
     //  toolTip
     //----------------------------------
-
+
+    /**
+     *  @private
+     */
+    private var _explicitToolTip:Boolean = false;
+
     [Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  @private
-     */
-    private var _explicitToolTip:Boolean = false;

     /**
      *  @private
@@ -708,6 +708,7 @@
     //----------------------------------

     [Bindable("contentChange")]
+    [Inspectable(category="General", defaultValue="")]

     /**
      *  Text to appear on the ButtonBase control.


switch to uint

switch to uint

--- src/org/mangui/HLS/utils/AES.as
+++ src/org/mangui/HLS/utils/AES.as
@@ -28,7 +28,7 @@
     /** Byte data to be decrypt **/
     private var _decrypteddata:ByteArray;
     /** read position **/
-    private var _read_position:Number;
+    private var _read_position:uint;
     /** chunk size to avoid blocking **/
     private static const CHUNK_SIZE:uint = 2048;
     /** is bytearray full ? **/


Transferred from the Adobe Open Source Subversion Repository

Revision: 19231
Author:   jszeto@adobe.com
Date:     2010-12-09T19:25:51.943016Z

Log Message:
-----------
Mobile Skin Fixes

Merging in revisions 18989-19158 from hero_skin_sandbox.

The following component skins have been updated and 320 DPI skins added:

Button
CheckBox
RadioButton
TextInput
TextArea
ActionBar
HSlider

Updating MobileSkins test project

QE notes: baseline regen
Doc notes: none
Bugs: none
Reviewer: Jason San Jose, Tom Krakit
Tests run: full cyclone
Is noteworthy for integration: yes, updated skins!

Modified Paths:
--------------
129 paths were modified

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as
@@ -15,7 +15,6 @@
 import flash.display.DisplayObject;

 import mx.core.mx_internal;
-import mx.events.PropertyChangeEvent;

 import spark.components.supportClasses.StyleableTextField;

@@ -31,18 +30,6 @@
  */
 public class TextSkinBase extends MobileSkin
 {
-    //--------------------------------------------------------------------------
-    //
-    //  Class statics
-    //
-    //--------------------------------------------------------------------------
-
-    // FIXME (jasonsj) how do PPI skins handle text gutter?
-    // StylableTextField padding
-    protected static const TEXT_WIDTH_PADDING:int = 4;
-
-    protected static const TEXT_HEIGHT_PADDING:int = 2;
-
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -173,128 +160,101 @@
      */
     override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
-		graphics.clear();
-
+        graphics.clear();
+
         super.updateDisplayList(unscaledWidth, unscaledHeight);

         drawBackground(unscaledWidth, unscaledHeight);
-
+
         layoutContents(unscaledWidth, unscaledHeight);
     }
-
-	/**
-	 *  Renders a background for the skin
-	 *
-	 *
This method, along with layoutContents(), is called
-	 *  by the updateDisplayList() method.

-	 *
-	 *  @param unscaledWidth Specifies the width of the component, in pixels,
-	 *  in the component's coordinates, regardless of the value of the
-	 *  scaleX property of the component.
-	 *
-	 *  @param unscaledHeight Specifies the height of the component, in pixels,
-	 *  in the component's coordinates, regardless of the value of the
-	 *  scaleY property of the component.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.1
-	 *  @playerversion AIR 2.5
-	 *  @productversion Flex 4.5
-	 */
-	protected function drawBackground(unscaledWidth:Number,
-									  unscaledHeight:Number):void
-	{
-		var borderSize:uint = (border) ? layoutBorderSize : 0;
-		var borderWidth:uint = borderSize * 2;
-
-		// Draw the contentBackgroundColor
-		graphics.clear();
-		graphics.beginFill(getStyle("contentBackgroundColor"), getStyle("contentBackgroundAlpha"));
-		graphics.drawRoundRect(borderSize, borderSize, unscaledWidth - borderWidth, unscaledHeight - borderWidth, layoutCornerEllipseSize, layoutCornerEllipseSize);
-		graphics.endFill();
-	}
-
-	/**
-	 *  Positions the children for this skin
-	 *
-	 *
This method, along with drawBackground(), is called
-	 *  by the updateDisplayList() method.

-	 *
-	 *
This method positions the textDisplay component.
-	 *  Subclasses should override this to position their children.

-	 *
-	 *  @param unscaledWidth Specifies the width of the component, in pixels,
-	 *  in the component's coordinates, regardless of the value of the
-	 *  scaleX property of the component.
-	 *
-	 *  @param unscaledHeight Specifies the height of the component, in pixels,
-	 *  in the component's coordinates, regardless of the value of the
-	 *  scaleY property of the component.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 10.1
-	 *  @playerversion AIR 2.5
-	 *  @productversion Flex 4.5
-	 */
-	protected function layoutContents(unscaledWidth:Number,
-									  unscaledHeight:Number):void
-	{
-		// position & size border
-		if (border)
-		{
-			setElementSize(border, unscaledWidth, unscaledHeight);
-			setElementPosition(border, 0, 0);
-		}
-
-		// position & size the text
-		var paddingLeft:Number = getStyle("paddingLeft");
-		var paddingRight:Number = getStyle("paddingRight");
-		var paddingTop:Number = getStyle("paddingTop");
-		var paddingBottom:Number = getStyle("paddingBottom");
-
-		var unscaledTextWidth:Number = unscaledWidth - paddingLeft - paddingRight;
-		var unscaledTextHeight:Number = unscaledHeight - paddingTop;
-		var textTopPosition:Number = getTextTop(unscaledHeight, paddingTop, paddingBottom);
-
-		if (textDisplay)
-		{
-			textDisplay.commitStyles();
-
-			setElementSize(textDisplay, unscaledTextWidth, unscaledTextHeight);
-			setElementPosition(textDisplay, paddingLeft, textTopPosition);
-		}
-
-		if (promptDisplay)
-		{
-			promptDisplay.commitStyles();
-			setElementSize(promptDisplay, unscaledTextWidth, unscaledTextHeight);
-			setElementPosition(promptDisplay, paddingLeft, textTopPosition);
-		}
-	}
-
-    /**
-     *  @private
-     *  Specifies the location of the textDisplay and promptDisplay skin parts.
-     *  Position is based on the following in-order: verticalAlign="middle",
-     *  paddingTop, paddingBottom.
-     */
-    mx_internal function getTextTop(unscaledHeight:Number, paddingTop:Number, paddingBottom:Number):Number
-    {
-        var textTop:Number = paddingTop;
+
+    /**
+     *  Renders a background for the skin
+     *
+     *
This method, along with layoutContents(), is called
+     *  by the updateDisplayList() method.

+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function drawBackground(unscaledWidth:Number,
+                                      unscaledHeight:Number):void
+    {
+        var borderSize:uint = (border) ? layoutBorderSize : 0;
+        var borderWidth:uint = borderSize * 2;
+
+        // Draw the contentBackgroundColor
+        graphics.clear();
+        graphics.beginFill(getStyle("contentBackgroundColor"), getStyle("contentBackgroundAlpha"));
+        graphics.drawRoundRect(borderSize, borderSize, unscaledWidth - borderWidth, unscaledHeight - borderWidth, layoutCornerEllipseSize, layoutCornerEllipseSize);
+        graphics.endFill();
+    }
+
+    /**
+     *  Positions the children for this skin
+     *
+     *
This method, along with drawBackground(), is called
+     *  by the updateDisplayList() method.

+     *
+     *
This method positions the textDisplay component.
+     *  Subclasses should override this to position their children.

+     *
+     *  @param unscaledWidth Specifies the width of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleX property of the component.
+     *
+     *  @param unscaledHeight Specifies the height of the component, in pixels,
+     *  in the component's coordinates, regardless of the value of the
+     *  scaleY property of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected function layoutContents(unscaledWidth:Number,
+                                      unscaledHeight:Number):void
+    {
+        // position & size border
+        if (border)
+        {
+            setElementSize(border, unscaledWidth, unscaledHeight);
+            setElementPosition(border, 0, 0);
+        }
+
+        // position & size the text
+        var paddingLeft:Number = getStyle("paddingLeft");
+        var paddingRight:Number = getStyle("paddingRight");
+        var paddingTop:Number = getStyle("paddingTop");
+        var paddingBottom:Number = getStyle("paddingBottom");
+
+        var unscaledTextWidth:Number = unscaledWidth - paddingLeft - paddingRight;
+        var unscaledTextHeight:Number = unscaledHeight - paddingTop - paddingBottom;

         if (textDisplay)
         {
-            // verticalAlign=middle or paddingTop
-            var textHeight:Number = textDisplay.measuredTextSize.y;
-            textTop = Math.max((unscaledHeight - textHeight) / 2, paddingTop);
-
-            // nudge up if paddingBottom is greater than the remaining space
-            var bottomSpace:Number = unscaledHeight - (textTop + textHeight);
-            bottomSpace = paddingBottom - bottomSpace;
-            textTop = (bottomSpace > 0) ? Math.max(paddingTop, textTop - bottomSpace) : textTop;
-        }
-
-        return textTop;
+            textDisplay.commitStyles();
+            setElementSize(textDisplay, unscaledTextWidth, unscaledTextHeight);
+            setElementPosition(textDisplay, paddingLeft, paddingTop);
+        }
+
+        if (promptDisplay)
+        {
+            promptDisplay.commitStyles();
+            setElementSize(promptDisplay, unscaledTextWidth, unscaledTextHeight);
+            setElementPosition(promptDisplay, paddingLeft, paddingTop);
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 20491
Author:   smgilson@adobe.com
Date:     2011-02-28T20:41:13.137049Z

Log Message:
-----------
ASDoc update for MXML syntax

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -140,7 +140,6 @@
  *  <s:IconItemRenderer
  *   Properties
  *    decorator=""
- *    decoratorDisplay="null"
  *    iconContentLoader="See property description"
  *    iconField="null"
  *    iconFillMode=""scale
@@ -152,7 +151,6 @@
  *    label=""
  *    labelField="null"
  *    labelFunction="null"
- *    messageDisplay="StyleableTextField"
  *    messageField="null"
  *    messageFunction="null"
  *


Code tidy

Code tidy

--- swc/src/com/mesmotronic/ane/googleplayservices/GooglePlayServices.as
+++ swc/src/com/mesmotronic/ane/googleplayservices/GooglePlayServices.as
@@ -5,6 +5,15 @@

 	public class GooglePlayServices
 	{
+		/* Public */
+
+		public static function get isSupported():Boolean
+		{
+			return !!context;
+		}
+
+		/* Private */
+
 		// Static initializer
 		{
 			init();
@@ -12,18 +21,17 @@

 		private static var context:ExtensionContext;

-		public static function get isSupported():Boolean
-		{
-			return !!context;
-		}
-
 		private static function init():void
 		{
 			var version:String = Capabilities.version.substr(0,3);

-			if (version == 'AND')
+			switch (version)
 			{
-				context = ExtensionContext.createExtensionContext('com.mesmotronic.ane.googleplayservices', '');
+				case 'AND':
+				{
+					context = ExtensionContext.createExtensionContext('com.mesmotronic.ane.googleplayservices', '');
+					break;
+				}
 			}
 		}
 	}


Keep live stalls from spamming continuously.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -775,7 +775,7 @@
 				else
 				{
 					trace("getFileForTime - Waiting on knowledge!");
-					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL);
+					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, 1);
 				}
 			}

@@ -832,7 +832,7 @@
 			if (!resource.manifest.streamEnds)
 			{
 				trace("getFileForTime - stalling.");
-				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL);
+				return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, 1);
 			}

 			trace("getFileForTime - end of stream.s");
@@ -868,7 +868,7 @@

 				// TODO - ensure a reload is pending?

-				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL);
+				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
 			}

 			HLSHTTPNetStream.recoveryStateNum = URLErrorRecoveryStates.NEXT_SEG_ATTEMPTED;
@@ -883,7 +883,7 @@
 			if(quality != origQuality && isBestEffortActive())
 			{
 				trace("Waiting on best effort to resolve...");
-				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL);
+				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
 			}

 			// If no old manifest, it's a new play session.
@@ -913,7 +913,8 @@
 				}
 				else
 				{
-					return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL);
+					trace("Firing live stall");
+					return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
 				}
 			}

@@ -921,7 +922,7 @@
 			if(quality != origQuality && manifest.streamEnds == false)
 			{
 				trace("Stalling for manifest -- quality[" + quality + "] lastQuality[" + lastQuality + "]");
-				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL);
+				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, 1);
 			}

 			// Advance sequence number.
@@ -965,6 +966,7 @@
 				return new HTTPStreamRequest(HTTPStreamRequestKind.LIVE_STALL, null, segments[segments.length-1].duration / 2);
 			}

+			trace("Ending stream playback");
 			return new HTTPStreamRequest(HTTPStreamRequestKind.DONE);
 		}


fix merge breakdown

fix merge breakdown

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -781,6 +781,7 @@
 			if (reloadTimer) reloadTimer.start();

 			stalled = false;
+			HLSHTTPNetStream.hasGottenManifest = true;

 			// Debug to JS.
 			manifest.postToJS();


Image, Flash: Make sure that internal image reference is JPEG, before doing JPEG operations on it.

--- src/flash/src/com/Image.as
+++ src/flash/src/com/Image.as
@@ -340,7 +340,7 @@
 			if (type == 'image/jpeg') {
 				ba = new JPGEncoder(quality).encode(bd);

-				if (_img) {
+				if (_img && _img is JPEG) {
 					// strip off any headers that might be left by encoder, etc
 					_img.stripHeaders(ba);
 					// restore the original headers if requested


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


update readme

update readme

--- src/com/kemsky/impl/curry.as
+++ src/com/kemsky/impl/curry.as
@@ -1,5 +1,11 @@
 package com.kemsky.impl
 {
+    /**
+     * Creates partially applied function
+     * @param func source
+     * @param args arguments to apply to func
+     * @return partially applied function
+     */
     public function curry(func:Function, ... args:Array):*
     {
         var arity:int = func.length;


-minor tweaks and cleanups -added limits checking

--- actionscript/src/com/freshplanet/ane/AirFacebook/appevents/FBEvent.as
+++ actionscript/src/com/freshplanet/ane/AirFacebook/appevents/FBEvent.as
@@ -18,20 +18,101 @@
     private var _paramsTypes:Array;
     private var _paramsValues:Array;

-    public function FBEvent()
-    {
-    }
-
-    public static function createEvent(eventName:String):FBEvent
-    {
-        if(eventName == null){
-            throw new ArgumentError("eventName cannot be null!");
-        }
-        var event:FBEvent = new FBEvent();
+    public function FBEvent(access:Class)
+    {
+        if(access != Private){
+            throw new Error("Private constructor call! Please use FBEvent.create(...) instead or other predefined static constructors!");
+        }
+    }
+
+    //----------------------------------
+    // Public API
+    //----------------------------------
+
+    /**
+     * Creates custom event with name eventName.
+     *
+     * @param eventName
+     * @return created event
+     */
+    public static function create(eventName:String):FBEvent
+    {
+        checkNameRules(eventName);
+
+        var event:FBEvent = new FBEvent(Private);
         event._eventName = eventName;
         return event;
     }

+    /**
+     * Sets valueToSum.
+     * @param value
+     * @return updated event
+     */
+    public function setValueToSum(value:Number):FBEvent
+    {
+        _valueToSum = value;
+        return this;
+    }
+
+    /**
+     * Adds bool parameter with name eventParam.
+     *
+     * @param eventParam
+     * @param value
+     * @return updated event
+     */
+    public function addBoolParam(eventParam:String, value:Boolean):FBEvent
+    {
+        checkAddParam(eventParam);
+
+        _paramsKeys.push(eventParam);
+        _paramsTypes.push(PARAM_TYPE_BOOL);
+        _paramsValues.push(value);
+
+        return this;
+    }
+
+    /**
+     * Adds string parameter with name eventParam.
+     *
+     * @param eventParam
+     * @param value
+     * @return updated event
+     */
+    public function addStringParam(eventParam:String, value:String):FBEvent
+    {
+        checkAddParam(eventParam, value);
+
+        _paramsKeys.push(eventParam);
+        _paramsTypes.push(PARAM_TYPE_STRING);
+        _paramsValues.push(value);
+
+        return this;
+    }
+
+    /**
+     * Adds int parameter with name eventParam.
+     *
+     * @param eventParam
+     * @param value
+     * @return updated event
+     */
+    public function addIntParam(eventParam:String, value:int):FBEvent
+    {
+        checkAddParam(eventParam);
+
+        _paramsKeys.push(eventParam);
+        _paramsTypes.push(PARAM_TYPE_INT);
+        _paramsValues.push(value);
+
+        return this;
+    }
+
+    //----------------------------------
+    // Internal getters
+    //----------------------------------
+
     public function get eventName():String
     {
         return _eventName;
@@ -57,95 +138,63 @@
         return _paramsValues;
     }

-    public function getParamValue(eventParam:String):*
-    {
-        if(_paramsKeys == null){
-            return null;
-        }
-        var index:int = _paramsKeys.indexOf(eventParam);
-        if(index != -1){
-
-            return _paramsValues[index];
-        } else {
-
-            return null;
-        }
-    }
-
-    public function setValueToSum(value:Number):FBEvent
-    {
-        _valueToSum = value;
-        return this;
-    }
-
-    public function addBoolParam(eventParam:String, value:Boolean):FBEvent
-    {
-        if(eventParam == null){
-            throw new ArgumentError("eventParam cannot be null!");
+    //----------------------------------
+    // Private - checking limits https://developers.facebook.com/docs/app-events/faq#limits
+    //----------------------------------
+
+    private static function checkNameRules(name:String):void
+    {
+        if(name == null){
+            throw new ArgumentError("Event name or parameter name cannot be null!");
+        }
+        if(name.length < 2 || name.length > 40){
+            throw new ArgumentError("Event name or parameter name is too short or too long. Length must be between 2 and 40 characters!");
+        }
+        if(!name.match(/[ a-zA-Z0-9_-]*/)){
+            throw new ArgumentError("Event name or parameter name must consist of alphanumeric characters, _, -, or spaces!");
+        }
+    }
+
+    private function checkAddParam(eventParam:String, value:String = null):void
+    {
+        checkNameRules(eventParam);
+
+        if(value != null && value.length > 100){
+            throw new ArgumentError("Value cannot exceed 100 characters!");
         }
         if(_paramsKeys == null){
             _paramsKeys = [];
             _paramsTypes = [];
             _paramsValues = [];
         }
-        _paramsKeys.push(eventParam);
-        _paramsTypes.push(PARAM_TYPE_BOOL);
-        _paramsValues.push(value);
-        return this;
-    }
-
-    public function addStringParam(eventParam:String, value:String):FBEvent
-    {
-        if(eventParam == null){
-            throw new ArgumentError("eventParam cannot be null!");
-        }
-        if(_paramsKeys == null){
-            _paramsKeys = [];
-            _paramsTypes = [];
-            _paramsValues = [];
-        }
-        _paramsKeys.push(eventParam);
-        _paramsTypes.push(PARAM_TYPE_STRING);
-        _paramsValues.push(value);
-        return this;
-    }
-
-    public function addIntParam(eventParam:String, value:int):FBEvent
-    {
-        if(eventParam == null){
-            throw new ArgumentError("eventParam cannot be null!");
-        }
-        if(_paramsKeys == null){
-            _paramsKeys = [];
-            _paramsTypes = [];
-            _paramsValues = [];
-        }
-        _paramsKeys.push(eventParam);
-        _paramsTypes.push(PARAM_TYPE_INT);
-        _paramsValues.push(value);
-        return this;
-    }
-
+        if(_paramsKeys.length == 25){
+            throw new ArgumentError("Maximum number of parameters reached!")
+        }
+    }
+
+    //----------------------------------
+    // Static constructors
+    //----------------------------------
     public static function create_ACHIEVED_LEVEL(level:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_ACHIEVED_LEVEL)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_ACHIEVED_LEVEL)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_LEVEL, level);
     }

     public static function create_ACTIVATED_APP():FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_ACTIVATED_APP);
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_ACTIVATED_APP);
     }

     public static function create_ADDED_PAYMENT_INFO(success:Boolean):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_ADDED_PAYMENT_INFO)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_ADDED_PAYMENT_INFO)
                 .addBoolParam(FBAppEventsConstants.EVENT_PARAM_SUCCESS, success);
     }

     public static function create_ADDED_TO_CART(price:Number, contentType:String, contentId:String, currency:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_ADDED_TO_CART)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_ADDED_TO_CART)
                 .setValueToSum(price)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -154,7 +203,7 @@

     public static function create_ADDED_TO_WISHLIST(price:Number, contentType:String, contentId:String, currency:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_ADDED_TO_WISHLIST)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_ADDED_TO_WISHLIST)
                 .setValueToSum(price)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -163,19 +212,19 @@

     public static function create_COMPLETED_REGISTRATION(registrationMethod:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_COMPLETED_REGISTRATION)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_COMPLETED_REGISTRATION)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_LEVEL, registrationMethod);
     }

     public static function create_COMPLETED_TUTORIAL(success:Boolean, contentId:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_COMPLETED_TUTORIAL)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_COMPLETED_TUTORIAL)
                 .addBoolParam(FBAppEventsConstants.EVENT_PARAM_SUCCESS, success)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId);
     }
     public static function create_INITIATED_CHECKOUT(totalPrice:Number, contentType:String, contentId:String, numItems:int, paymentInfoAvailable:Boolean, currency:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_INITIATED_CHECKOUT)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_INITIATED_CHECKOUT)
                 .setValueToSum(totalPrice)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -185,7 +234,7 @@
     }
     public static function create_PURCHASED(price:Number, contentType:String, contentId:String, numItems:int, currency:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_PURCHASED)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_PURCHASED)
                 .setValueToSum(price)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -194,7 +243,7 @@
     }
     public static function create_RATED(rating:Number, contentType:String, contentId:String, maxRatingValue:int):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_RATED)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_RATED)
                 .setValueToSum(rating)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -202,26 +251,26 @@
     }
     public static function create_SEARCHED(contentType:String, searchString:String, success:Boolean):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_SEARCHED)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_SEARCHED)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_SEARCH_STRING, searchString)
                 .addBoolParam(FBAppEventsConstants.EVENT_PARAM_SUCCESS, success);
     }
     public static function create_SPENT_CREDITS(creditsCount:Number, contentType:String, contentId:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_SPENT_CREDITS)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_SPENT_CREDITS)
                 .setValueToSum(creditsCount)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId);
     }
     public static function create_UNLOCKED_ACHIEVEMENT(description:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_UNLOCKED_ACHIEVEMENT)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_UNLOCKED_ACHIEVEMENT)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_DESCRIPTION, description);
     }
     public static function create_VIEWED_CONTENT(price:Number, contentType:String, contentId:String, currency:String):FBEvent
     {
-        return FBEvent.createEvent(FBAppEventsConstants.EVENT_NAME_VIEWED_CONTENT)
+        return FBEvent.create(FBAppEventsConstants.EVENT_NAME_VIEWED_CONTENT)
                 .setValueToSum(price)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_TYPE, contentType)
                 .addStringParam(FBAppEventsConstants.EVENT_PARAM_CONTENT_ID, contentId)
@@ -229,3 +278,5 @@
     }
 }
 }
+
+class Private{}


Transferred from the Adobe Open Source Subversion Repository

Revision: 14571
Author:   deeptika@adobe.com
Date:     2010-03-04T07:17:40.283901Z

Log Message:
-----------
Merging revision 14570 from 4.x branch
QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/delegates/core/UIComponentAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_air/src/mx/automation/delegates/controls/FlexNativeMenuAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/delegates/controls/SWFLoaderAutomationImpl.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/tabularData/SparkListBaseTabularData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/mx/automation/delegates/core/UIFTETextFieldAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/delegates/core/UITextFieldAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkDropDownListBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkListBaseAutomationImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/tabularData/OLAPDataGridTabularData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/codec/RendererPropertyCodec.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/delegates/TextFieldAutomationHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/automation/src/mx/automation/codec/AutomationObjectPropertyCodec.as</path>

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/SWFLoaderAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/SWFLoaderAutomationImpl.as
@@ -180,7 +180,7 @@
 			catch (e:Error)
 			{
 				//most likely a security error
-				trace("get content failed: " + e.message);
+				Automation.automationDebugTracer.traceMessage("SWFLoaderAutomationImpl", "get automationChild()", "get content failed: " + e.message);
 			}
 			return null;
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package spark.skins.mobile
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20292
Author:   smgilson@adobe.com
Date:     2011-02-11T16:53:14.813687Z

Log Message:
-----------
Minor ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/components/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
@@ -10,9 +10,14 @@
 ////////////////////////////////////////////////////////////////////////////////

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#columnCount
- *
- *
TLF styles are not supported in the mobile theme.

+ *  Number of text columns (adopts default value if undefined during cascade).
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.columnCount.

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#columnCount
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -22,9 +27,15 @@
 [Style(name="columnCount", type="Object", inherit="no")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#columnGap
- *
- *
TLF styles are not supported in the mobile theme.

+ *  Amount of gutter space, in pixels, to leave between the columns
+ *  (adopts default value if undefined during cascade).
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.columnGap.

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#columnGap
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -34,9 +45,14 @@
 [Style(name="columnGap", type="Number", format="Length", inherit="no")]

 /**
- *  @copy flashx.textLayout.formats.ITextLayoutFormat#columnWidth
- *
- *
TLF styles are not supported in the mobile theme.

+ *  Column width in pixels (adopts default value if undefined during cascade).
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.columnWidth.

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#columnWidth
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


[AssemblyTablePlayground] improved view of dragging column header. Now header is transparent so it's easier to see what column is below

git-svn-id: adbdea8fc1759bd16b0eaf24a244a7e5f870a654@181 fe3f0490-d73e-11de-a956-c71e7d3a9d2f

--- AssemblyTablePlayground/src/org/jbei/registry/components/assemblyTableClasses/ColumnHeader.as
+++ AssemblyTablePlayground/src/org/jbei/registry/components/assemblyTableClasses/ColumnHeader.as
@@ -76,9 +76,9 @@
         {
             var bitmapData:BitmapData = new BitmapData(actualWidth, actualHeight);

-            bitmapData.draw(this, new Matrix(), null, null, new Rectangle(0, 0, actualWidth - 19, actualHeight));
-
-            return bitmapData;
+            bitmapData.draw(this, new Matrix(), null, null, new Rectangle(0, 0, actualWidth, actualHeight));
+
+            return makeBitmapTrasparent(bitmapData, actualWidth, actualHeight, 0.7)
         }

         /*
@@ -452,5 +452,24 @@
                 dropDownList.close();
             }
         }
+
+        // TODO: Use Method from VectorCommon.GraphicUtils. Remove this method
+        private function makeBitmapTrasparent(bitmapData:BitmapData, bitmapWidth:int, bitmapHeight:int, transparencyFactor:Number):BitmapData
+        {
+            var resultBitmapData:BitmapData = new BitmapData(bitmapWidth, bitmapHeight, true, 0xFFFFFFFF);
+
+            for(var i:int = 0; i < bitmapWidth; i++) {
+                for(var j:int = 0; j < bitmapHeight; j++) {
+                    var pixelValue:uint = bitmapData.getPixel32(i, j);
+                    var alphaValue:uint = pixelValue >> 24 & 0xFF;
+                    var rgbValue:uint = pixelValue & 0xffffff;
+                    var resultAlpha:uint = alphaValue * (transparencyFactor);
+
+                    resultBitmapData.setPixel32(i, j, resultAlpha << 24 | rgbValue);
+                }
+            }
+
+            return resultBitmapData;
+        }
     }
 }


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

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

 package mx.charts.series.renderData
 {


UIComponent:
	- bugfix: removing an element during its validation cycle caused exceptions. Changed UIComponent to end he cycle gracefully in these cases

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

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -1703,6 +1703,12 @@

 			m_specifiedStyles = styles;
 			styles = m_transitionsManager.processTransitions(oldStyles, styles);
+			//this element might have been removed in a transitions event handler. Return if so.
+			if (!m_rootElement)
+			{
+				m_isRendered = false;
+				return;
+			}
 			m_complexStyles = styles;
 			m_currentStyles = styles.toComputedStyles();


- change: removed debugging trace

- change: removed debugging trace

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

--- src/reprise/css/CSSProperty.as
+++ src/reprise/css/CSSProperty.as
@@ -308,7 +308,6 @@
 		protected function resolveCalculation(
 			reference : Number, context : ICSSCalculationContext = null) : Number
 		{
-			log(m_specifiedValue, reference);
 			return m_calculation.resolve(reference, context);
 		}
 	}


asdocs added to Signal

asdocs added to Signal

--- src/ru/whitered/kote/Signal.as
+++ src/ru/whitered/kote/Signal.as
@@ -2,7 +2,7 @@
 {

 	/**
-	 * @author whitered
+	 * Signal presents a single event type
 	 */
 	public class Signal
 	{
@@ -10,6 +10,9 @@

+		/**
+		 * Calls all registered listeners with given arguments
+		 */
 		public function dispatch(... args):void
 		{
 			if(!listeners) return;
@@ -35,6 +38,11 @@

+		/**
+		 * Registers listener
+		 *
+		 * @param listener
+		 */
 		public function addListener(listener:Function):void
 		{
 			if(listeners)
@@ -50,6 +58,11 @@

+		/**
+		 * Unregisters specified listener
+		 *
+		 * @param listener
+		 */
 		public function removeListener(listener:Function):Boolean
 		{
 			if(!listeners) return false;
@@ -61,6 +74,9 @@

+		/**
+		 * Removes all the listeners
+		 */
 		public function removeAllListeners():void
 		{
 			listeners = null;