Transferred from the Adobe Open Source Subversion Repository

Revision: 3826
Author:   shodgson@adobe.com
Date:     2008-10-22T20:56:29.266207Z

Log Message:
-----------
Bug: BLZ-264 - Calling logout on a ChanelSet that is using a streaming amf channel is returning a channel fault.
QA: Yes
Doc: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as

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

--- frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
+++ frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
@@ -1498,10 +1498,11 @@
 //------------------------------------------------------------------------------

 import mx.core.mx_internal;
+import mx.logging.Log;
 import mx.messaging.ChannelSet;
 import mx.messaging.MessageAgent;
 import mx.messaging.MessageResponder;
-import mx.logging.Log;
+import mx.messaging.events.ChannelEvent;
 import mx.messaging.messages.IMessage;
 import mx.messaging.messages.AcknowledgeMessage;
 import mx.messaging.messages.CommandMessage;
@@ -1748,6 +1749,19 @@
         if (state == SHUTDOWN_STATE)
             return;

+        // For some channel impls, when a logout request is processed the session at the remote host host
+        // is invalidated which may trigger a disconnection/drop of the channel connection.
+        // This channel disconnect may mask the logout ack. If the root cause for this error is a channel disconnect,
+        // assume logout succeeded and locally acknowledge it.
+        if (errMsg.rootCause is ChannelEvent && (errMsg.rootCause as ChannelEvent).type == ChannelEvent.DISCONNECT)
+        {
+            var ackMsg:AcknowledgeMessage = new AcknowledgeMessage();
+            ackMsg.clientId = clientId;
+            ackMsg.correlationId = msg.messageId;
+            acknowledge(ackMsg, msg);
+            return;
+        }
+
         super.fault(errMsg, msg);

         var token:AsyncToken = tokens[msg.messageId];


Transferred from the Adobe Open Source Subversion Repository

Revision: 20280
Author:   smgilson@adobe.com
Date:     2011-02-10T20:28:46.240304Z

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

FLEXDOCS-920 - There are references to Apollo M2 in the FlexSystemDataGrid documentation
FLEXDOCS-1294 - UIComponent document issue
FLEXDOCS-1296 - Alert.buttonWidth actual default doesn't match the docs.
FLEXDOCS-1341 - Document that horizontal lists will need to have vertical/horizontalScrollPolicy set to get the right bounce/pull effects

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/controls/FileSystemList.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/mx/src/mx/controls/Alert.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -198,11 +198,15 @@
  *

  *

  *
- *

- *  The scroll policy affects the measured size of the scroller skin part.  This style
+ *
The scroll policy affects the measured size of the scroller skin part.  This style
  *  is simply a cover for the scroller skin part's horizontalScrollPolicy.  It is not an
- *  inheriting style so, for example, it will not affect item renderers.
- *

+ *  inheriting style so, for example, it will not affect item renderers.

+ *
+ *
When using a horizontal List control in a mobile application,
+ *  set horizontalScrollPolicy to on
+ *  and verticalScrollPolicy to auto
+ *  to enable the horizontal bounce and pull effects.
+ *  Otherwise, the control uses the vertical bounce and pull effects.

  *
  *  @default ScrollPolicy.AUTO
  *
@@ -284,6 +288,12 @@
  *  is simply a cover for the scroller skin part's verticalScrollPolicy.  It is not an
  *  inheriting style so, for example, it will not affect item renderers.
  *

+ *
+ *
When using a horizontal List control in a mobile application,
+ *  set horizontalScrollPolicy to on
+ *  and verticalScrollPolicy to auto
+ *  to enable the horizontal bounce and pull effects.
+ *  Otherwise, the control uses the vertical bounce and pull effects.

  *
  *  @default ScrollPolicy.AUTO
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 16990
Author:   clucier@adobe.com
Date:     2010-07-21T13:07:35.480726Z

Log Message:
-----------
Mirroring related bug fixes.

QE notes: None
Doc notes: None
Bugs: SDK-26906, SDK-26710
Reviewer: Kevin
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
+++ frameworks/projects/spark/src/spark/core/SpriteVisualElement.as
@@ -2042,7 +2042,8 @@
         // set the _layoutFeatures.mirror flag.  Similarly, if mirroring isn't
         // required, then clear the _layoutFeatures.mirror flag.

-        const mirror:Boolean = (_layoutDirection != null) && (_layoutDirection != parentElt.layoutDirection);
+        const mirror:Boolean = (parentElt.layoutDirection != null && _layoutDirection != null)
+            && (_layoutDirection != parentElt.layoutDirection);

         if ((_layoutFeatures) ? (mirror != _layoutFeatures.mirror) : mirror)
         {


Changed errors to only be triggered by the presence of the word "errors", not the word "error", which occurs in all returned pages.

Signed-off-by: Zachary Dremann <ce3b90fc162d64a833b972a1c0b301d6c2b46ee2@gmail.com>

--- src/net/zdremann/esuds/CardMachineItemRenderer.as
+++ src/net/zdremann/esuds/CardMachineItemRenderer.as
@@ -336,7 +336,7 @@
 			var data:String = event.target.data;
 			var errorPopup:ErrorPopup = new ErrorPopup();
 			errorPopup.errorMessage = "";
-			if ( data.indexOf("error") != -1)
+			if ( data.indexOf("errors") != -1)
 			{
 				var knownError:Boolean = false;
 				if (data.indexOf("The email address is not valid.") != -1)


FragmentLoader.as: remove now useless condition check (this is later checked in TagBuffer.as)

--- src/org/mangui/hls/loader/FragmentLoader.as
+++ src/org/mangui/hls/loader/FragmentLoader.as
@@ -833,17 +833,6 @@
                 }

                 if (fragData.tag_pts_min != Number.POSITIVE_INFINITY && fragData.tag_pts_max != Number.NEGATIVE_INFINITY) {
-                    var max_offset : Number = _frag_current.start_time + fragData.tag_pts_end_offset / 1000;
-                    // in case of cold start/seek use case,
-                    if (!_fragment_first_loaded ) {
-                        /* ensure buffer max offset is greater than requested seek position.
-                         * this will avoid issues with accurate seeking feature */
-                        if (_seek_pos > max_offset) {
-                            // cannot do progressive buffering until we have enough data to reach requested seek offset
-                            return;
-                        }
-                    }
-
                     if (_pts_analyzing == true) {
                         _pts_analyzing = false;
                         _levels[_level].updateFragment(_frag_current.seqnum, true, fragData.pts_min, fragData.pts_min + _frag_current.duration * 1000);


added GeometryType.fromGeoJsonType()

added GeometryType.fromGeoJsonType()

--- WeaveASJS/src/weavejs/geom/GeometryType.as
+++ WeaveASJS/src/weavejs/geom/GeometryType.as
@@ -20,6 +20,27 @@
 		public static const POINT:String = "Point";
 		public static const LINE:String = "Arc";
 		public static const POLYGON:String = "Polygon";
+
+		public static function fromGeoJsonType(type:String):String
+		{
+			switch (type)
+			{
+				case GeoJSON.T_MULTI_POINT:
+				case GeoJSON.T_POINT:
+					return POINT;
+
+				case GeoJSON.T_MULTI_LINE_STRING:
+				case GeoJSON.T_LINE_STRING:
+					return LINE;
+
+				case GeoJSON.T_MULTI_POLYGON:
+				case GeoJSON.T_POLYGON:
+					return POLYGON;
+
+				default:
+					return null;
+			}
+		}

 		public static function toGeoJsonType(type:String, multi:Boolean):String
 		{


objectWasDisposed() now handles async class instances that have not been registered yet

--- WeaveJS/src/weavejs/core/SessionManager.as
+++ WeaveJS/src/weavejs/core/SessionManager.as
@@ -120,14 +120,9 @@

 			var handler:Function;

-			// if the parent has not been registered yet
-			if (!d2d_owner_child.map.has(disposableParent))
-			{
-				// if this is an instance of an async class, call the async instance handler
-				handler = Weave.getAsyncInstanceHandler(disposableParent.constructor);
-				if (handler != null)
-					handler(disposableParent);
-			}
+			// objectWasDisposed() will call async instance handler if the object hasn't been seen before
+			if (objectWasDisposed(disposableParent))
+				throw new Error("registerDisposableChild(): Parent was previously disposed");

 			// if this child has no owner yet...
 			if (!map_child_owner.has(disposableChild))
@@ -135,6 +130,10 @@
 				// make this first parent the owner
 				map_child_owner.set(disposableChild, disposableParent);
 				d2d_owner_child.set(disposableParent, disposableChild, true);
+
+				// objectWasDisposed() will call async instance handler if the object hasn't been seen before
+				if (objectWasDisposed(disposableChild))
+					throw new Error("registerDisposableChild(): Child was previously disposed");

 				// if this is an instance of an async class, call the async instance handler
 				handler = Weave.getAsyncInstanceHandler(disposableChild.constructor);
@@ -890,11 +889,13 @@
 			var objectCC:ICallbackCollection = map_ILinkableObject_ICallbackCollection.get(linkableObject);
 			if (objectCC == null)
 			{
-				objectCC = registerDisposableChild(linkableObject, new CallbackCollection());
+				objectCC = new CallbackCollection();
 				if (WeaveAPI.debugAsyncStack)
 					(objectCC as CallbackCollection)._linkableObject = linkableObject;
 				map_ILinkableObject_ICallbackCollection.set(linkableObject, objectCC);
 				map_ICallbackCollection_ILinkableObject.set(objectCC, linkableObject);
+
+				registerDisposableChild(linkableObject, objectCC);
 			}
 			return objectCC;
 		}
@@ -908,12 +909,26 @@
 		{
 			if (object == null)
 				return false;
+
+			// if the object has not been registered yet
+			if (!d2d_owner_child.map.has(object))
+			{
+				// create a placeholder to prevent this code from running again
+				d2d_owner_child.map.set(object, new JS.Map());
+
+				// if this is an instance of an async class, call the async instance handler
+				var handler:Function = Weave.getAsyncInstanceHandler(object.constructor);
+				if (handler != null)
+					handler(object);
+			}
+
 			if (object is ILinkableObject)
 			{
 				var cc:CallbackCollection = getCallbackCollection(object as ILinkableObject) as CallbackCollection;
 				if (cc)
 					return cc.wasDisposed;
 			}
+
 			return map_disposed.has(object);
 		}


added setBounds()

added setBounds()

Change-Id: I3e7671e741c9573c54af97cc8ff5dd3de486bb5c

--- WeaveUISpark/src/weave/utils/BitmapText.as
+++ WeaveUISpark/src/weave/utils/BitmapText.as
@@ -391,6 +391,25 @@

 			destination.draw(_textField, _matrix, colorTransform, blendMode, clipRect, smoothing);
 		}
+
+		/**
+		 * This sets x, y, width and height.
+		 * @param bounds The bounds with values for x, y, width, and height.
+		 * @param centered Set to true to use the bounds center x,y coordinates.
+		 */
+		public function setBounds(bounds:IBounds2D, centered:Boolean):void
+		{
+			if (centered)
+			{
+				textFormat.align = HORIZONTAL_ALIGN_CENTER;
+				horizontalAlign = HORIZONTAL_ALIGN_CENTER;
+				verticalAlign = VERTICAL_ALIGN_MIDDLE;
+			}
+			x = centered ? bounds.getXCenter() : bounds.getXNumericMin();
+			y = centered ? bounds.getYCenter() : bounds.getYNumericMin();
+			width = bounds.getXCoverage();
+			height = bounds.getYCoverage();
+		}

 		/**
 		 * This function retrieves unrotated min,max coordinates corresponding to the text that is currently saved in the BitmapText object.


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

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

 package mx.core
 {


No point of having get and post headers predefined, while XEP defines only using post and it has no extra headers. Other than that just added documentation.

--- src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPBOSHConnection.as
@@ -50,12 +50,12 @@
 	 * using the secure property of the allow-access-from node in the
 	 * crossdomain.xml file. But this is not recommended by Adobe.

 	 *
-	 *
For eJabberd users : if your crossdomain policy file cannot
-	 * be served by your server, this issue can be solved with an
+	 *
If your crossdomain policy file cannot
+	 * be served by your server, this issue could be solved with an
 	 * Apache proxy redirect so that any automatic Flash/Flex calls
-	 * to an URL like http://xmppserver:5280/crossdomain.xml will be
+	 * to an URL like http://xmppserver:5280/crossdomain.xml will be
 	 * redirected as an URL of your choice such as
-	 * http://webserver/crossdomain.xml

+	 * http://webserver/crossdomain.xml.

 	 *
 	 * @see http://xmpp.org/extensions/xep-0124.html
 	 * @see http://xmpp.org/extensions/xep-0206.html
@@ -63,12 +63,14 @@
 	public class XMPPBOSHConnection extends XMPPConnection implements IXMPPConnection
 	{
 		/**
+		 * Current version of the BOSH defined in the XEP and the
+		 * version which this class implements.
 		 * @default 1.6
 		 */
 		public static const BOSH_VERSION:String = "1.6";

 		/**
-		 *
+		 * Namespace used by BOSH body wrapper
 		 */
 		public static const BOSH_NS:String = "http://jabber.org/protocol/httpbind";

@@ -85,24 +87,10 @@
 		public static const HTTPS_PORT:uint = 7443;

 		/**
-		 * BOSH body element name
+		 * BOSH body wrapper element name
 		 */
 		public static const ELEMENT_NAME:String = "body";

-		/**
-		 * Keys should match URLRequestMethod constants.
-		 * @see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestMethod.html
-		 */
-		private static const HEADERS:Object = {
-			"POST": [],
-			"GET": [ 'Cache-Control',
-					 'no-store',
-					 'Cache-Control',
-					 'no-cache',
-					 'Pragma', 'no-cache'
-			]
-		};
-
 		private var _boshPath:String = "http-bind/";

 		private var _hold:uint = 1;
@@ -140,7 +128,7 @@

 		private var _requestQueue:Array = []; // XML

-		private var _responseQueue:Array = [];
+		private var _responseQueue:Array = []; // XML

 		private var _responseTimer:Timer;

@@ -149,6 +137,9 @@
 		 */
 		private var _rid:uint;

+		/**
+		 * Session ID, as defined by the server
+		 */
 		private var _sid:String;

 		private var _streamRestarted:Boolean;
@@ -170,7 +161,7 @@
 			this.secure = secure;
 			_responseTimer = new Timer( 0.0, 1 );
 			_responseTimer.addEventListener( TimerEvent.TIMER_COMPLETE, processResponse );
-
+
 			// Default values for super class
 			port = XMPPBOSHConnection.HTTP_PORT;
 		}
@@ -512,9 +503,20 @@
 				bindConnection();
 			}

-			if ( xmlData.@type == "terminate" )
-			{
-				dispatchError( "BOSH Error", xmlData.@condition, "", -1 );
+			// TODO: Error handling... http://xmpp.org/extensions/xep-0124.html#errorstatus
+			if ( xmlData.@type == "terminate" && xmlData.hasOwnProperty("@condition") )
+			{
+				/*
+				@condition can be:
+				 bad-request
+				 policy-violation
+				 item-not-found
+
+				 see-other-uri --> uri element
+
+				In case there is no condition, the "terminate" was not due to an error.
+				*/
+				dispatchError( xmlData.@condition, "BOSH Error", "" );
 				active = false;
 			}

@@ -596,7 +598,7 @@
 		}

 		/**
-		 *
+		 * Reset the response time if there are items in the queue
 		 */
 		private function resetResponseProcessor():void
 		{
@@ -690,20 +692,25 @@
 		/**
 		 * Connection to the server in BOSH is a simple URLRequest.
 		 *
+		 *
All information is encoded in the body of standard HTTP POST
+		 * requests and responses. Each HTTP body contains a single
+		 * body wrapper which encapsulates the XML elements
+		 * being transferred.

+		 *
 		 *
BOSH requires all incoming and outgoing data to be wrapped in
 		 * body element. That should be taken care of before possible
 		 * Stream Compression.

 		 *
 		 * @param	data ByteArray that might be compressed if enabled
+		 * @see http://xmpp.org/extensions/xep-0124.html#overview
 		 */
 		override protected function sendDataToServer( data:ByteArray ):void
 		{
 			trace("XMPPBOSHConnection::sendDataToServer. httpServer: " + httpServer);
-
+
 			var req:URLRequest = new URLRequest( httpServer );
 			req.method = URLRequestMethod.POST;
-			req.contentType = "text/xml"; // How about while compressed data?
-			req.requestHeaders = HEADERS[ req.method ];
+			req.contentType = "text/xml";
 			req.data = data;

 			var loader:URLLoader = new URLLoader();


Transferred from the Adobe Open Source Subversion Repository

Revision: 22175
Author:   deeptika@adobe.com
Date:     2011-08-24T02:42:25.244265Z

Log Message:
-----------
Reverting change 22162

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

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/charts/Legend.as

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

--- frameworks/projects/charts/src/mx/charts/Legend.as
+++ frameworks/projects/charts/src/mx/charts/Legend.as
@@ -6083,6 +6083,8 @@
             var c:Class = legendItemClass;
             var newItem:LegendItem = new c();

+            newItem.marker = legendData.marker;
+
             if (legendData.label != "")
                 newItem.label = legendData.label;

@@ -6099,9 +6101,7 @@

             addChild(newItem);

-			newItem.marker = legendData.marker;
-
-			newItem.setStyle("backgroundColor", 0xEEEEFF);
+            newItem.setStyle("backgroundColor", 0xEEEEFF);
         }

         /**


Fix a global search-and-replace error.

Fix a global search-and-replace error.

RATE_LIMIT_HISrelayY -> RATE_LIMIT_HISTORY

--- ProxyPair.as
+++ ProxyPair.as
@@ -32,7 +32,7 @@
         // Bytes per second. Set to undefined to disable limit.
         private const RATE_LIMIT:Number = undefined; //10000;
         // Seconds.
-        private const RATE_LIMIT_HISrelayY:Number = 5.0;
+        private const RATE_LIMIT_HISTORY:Number = 5.0;

         private var rate_limit:RateLimit;

@@ -51,7 +51,7 @@
             this.r2c_schedule = new Array();

             if (RATE_LIMIT)
-                rate_limit = new BucketRateLimit(RATE_LIMIT * RATE_LIMIT_HISrelayY, RATE_LIMIT_HISrelayY);
+                rate_limit = new BucketRateLimit(RATE_LIMIT * RATE_LIMIT_HISTORY, RATE_LIMIT_HISTORY);
             else
                 rate_limit = new RateUnlimit();

@@ -270,4 +270,4 @@
         age();
         return amount > capacity;
     }
-}+}


Changes to Padding constructor to allow for propogation of passed values in the same manner as CSS padding (pass just one number and it is for TRBL, pass two numbers and 1st is TB, second is RL etc etc)

--- src/org/openPyro/core/Padding.as
+++ src/org/openPyro/core/Padding.as
@@ -13,12 +13,12 @@
 		private var _bottom:Number;
 		private var _left:Number;

-		public function Padding(top:Number=0, right:Number=0, bottom:Number=0, left:Number=0)
+		public function Padding(top:Number=0, right:Number=-1, bottom:Number=-1, left:Number=-1)
 		{
 			_top = top;
-			_right = right;
-			_bottom = bottom;
-			_left = left;
+			_right = right > -1 ? right : top;
+			_bottom = bottom > -1 ? bottom : top;
+			_left = left > -1 ? left : right;
 		}

 		public function get top():Number


Transferred from the Adobe Open Source Subversion Repository

Revision: 5330
Author:   clucier@adobe.com
Date:     2009-03-16T19:24:32.723438Z

Log Message:
-----------
Tweaks to default button support. CheckBox, RadioButton, and ComboBox now all fire default button on ENTER when appropriate. Also addressed an initial focus bug.
Bugs: SDK-19039, SDK-19853.
QE Notes: None
Doc Notes: None
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>

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

--- frameworks/projects/mx/src/mx/controls/CheckBox.as
+++ frameworks/projects/mx/src/mx/controls/CheckBox.as
@@ -13,6 +13,7 @@
 {

 import mx.core.FlexVersion;
+import mx.core.IToggleButton;
 import mx.core.mx_internal;

 use namespace mx_internal;
@@ -106,7 +107,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class CheckBox extends Button
+public class CheckBox extends Button implements IToggleButton
 {
     include "../core/Version.as";


Transferred from the Adobe Open Source Subversion Repository

Revision: 7377
Author:   jimurphy@adobe.com
Date:     2009-05-28T18:43:12.971970Z

Log Message:
-----------
Merged beta1 revisions 7173,7179,7183,7214,7216,7219,7282 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Wooden/Wooden.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/AeonGraphical/AeonGraphical.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Smoke/Smoke.css</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/modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Ice/Ice.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</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/controls/ComboBox.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Institutional/Institutional.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -459,8 +459,6 @@
 [DefaultTriggerEvent("change")]

 [IconFile("ComboBox.png")]
-
-[Alternative(replacement="spark.components.DropDownList", since="4.0")]

 /**
  *  The ComboBox control contains a drop-down list


Transferred from the Adobe Open Source Subversion Repository

Revision: 12290
Author:   dsubrama@adobe.com
Date:     2009-11-30T20:02:59.768323Z

Log Message:
-----------
Add [Alternative] metadata to MX ComboBox now that we have Spark ComboBox and Spark DropDownList. This metadata is utilized by Builder and ASDoc.

QE notes: No
Doc notes: No
Bugs: SDK-24327
Reviewer: Glenn
Tests run: Checkintests
Is noteworthy for integration: Yes, an ask by Builder

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -471,6 +471,9 @@
 [DefaultTriggerEvent("change")]

 [IconFile("ComboBox.png")]
+
+[Alternative(replacement="spark.components.DropDownList", since="4.0")]
+[Alternative(replacement="spark.components.ComboBox", since="4.0")]

 /**
  *  The ComboBox control contains a drop-down list


FLEX-22758.  Fix the target check in the mx:DataGrid keyDownHandler so key navigation works in all cases.

git-svn-id: 7d913817b0a978d84de757191e4bce372605a781@1409019 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -5057,11 +5057,15 @@
      */
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
-        if (itemEditorInstance || event.target != event.currentTarget)
+		if (itemEditorInstance || !owns(DisplayObject(event.target)))
+		{
             return;
-
+		}
+
         if (event.keyCode != Keyboard.SPACE)
+        {
             super.keyDownHandler(event);
+        }
         else if (caretIndex != -1)
         {
             moveSelectionVertically(event.keyCode, event.shiftKey, event.ctrlKey);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12279
Author:   jimurphy@adobe.com
Date:     2009-11-30T17:39:03.660875Z

Log Message:
-----------
Merged 3.x revisions 12013,12019,12119,12195,12271,12273 -> trunk

........
  r12013 | aharui@adobe.com | 2009-11-19 17:12:58 -0500 (Thu, 19 Nov 2009) | 11 lines

  Fix clipping in Tree.

  Bugs: SDK-15055

........
  r12019 | pfarland@adobe.com | 2009-11-19 18:17:00 -0500 (Thu, 19 Nov 2009) | 10 lines

  Further fixes for SDK-23140. Filtering out internal namespace prefixed attributes from generic deserialization. We exclude the SOAP encoding namespace, SOAP envelope namespace, XML Schema namespace and the XML Schema Instance namespace.

  Bugs: SDK-23140
........
  r12119 | aharui@adobe.com | 2009-11-23 16:08:32 -0500 (Mon, 23 Nov 2009) | 10 lines

  Fix edit sessions in TextInputs yet again.

  Bugs: SDK-23397

........
  r12195 | pfarland@adobe.com | 2009-11-24 22:33:48 -0500 (Tue, 24 Nov 2009) | 11 lines

  Submitting Anshul's fix for SDK-24123 that resolves relative URLs to full URLs before calling a serialization filter (which may need the full context to decide if it needs to make any changes before allowing the request to proceed).

  Bugs:
  SDK-24123
........
  r12271 | preilly@adobe.com | 2009-11-30 10:53:27 -0500 (Mon, 30 Nov 2009) | 5 lines

  * Back ported revision 6756 to 3.x branch.

........
  r12273 | jimurphy@adobe.com | 2009-11-30 11:09:16 -0500 (Mon, 30 Nov 2009) | 6 lines

  merge 3.5.0 revs 12160,12161 -> 3.x

  Closing version.properties input stream.
  bug: SDK-23801

........

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/SOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/VersionInfo.java</path>

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

--- frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -4802,6 +4802,12 @@
         if (r && r != itemEditorInstance &&
                     (lastItemDown == r || itemRendererContains(lastItemDown, lastItemFocused)))
         {
+            // if lastItemDown != r, we clicked in one cell and dragged to another.
+            // if lastItemFocused is in that cell, then we give lastItemDown the
+            // edit session
+            if (lastItemDown != r)
+                r = lastItemDown;
+
             lastItemFocused = null;
             pos = itemRendererToIndices(r);


detectLinkableObjectChange() now supports Function as observer parameter

Change-Id: If0adaf677699adb4d93ef6578c669c0b57183438

--- WeaveCore/src/weave/core/SessionManager.as
+++ WeaveCore/src/weave/core/SessionManager.as
@@ -637,22 +637,22 @@
 		 */
 		public function detectLinkableObjectChange(observer:Object, linkableObject:ILinkableObject, clearChangedNow:Boolean = true):Boolean
 		{
-			if (!_triggerCounterMap[observer])
-				_triggerCounterMap[observer] = new Dictionary(true);
+			if (!_triggerCounterMap[linkableObject])
+				_triggerCounterMap[linkableObject] = new Dictionary(false); // weakKeys=false to allow observers to be Functions

-			var previousCount:uint = uint(_triggerCounterMap[observer][linkableObject]); // will be zero if undefined
+			var previousCount:* = _triggerCounterMap[linkableObject][observer]; // untyped to handle undefined value
 			var newCount:uint = getCallbackCollection(linkableObject).triggerCounter;
-			if (previousCount != newCount)
+			if (previousCount !== newCount) // no casting to handle 0 !== undefined
 			{
 				if (clearChangedNow)
-					_triggerCounterMap[observer][linkableObject] = newCount;
+					_triggerCounterMap[linkableObject][observer] = newCount;
 				return true;
 			}
 			return false;
 		}

 		/**
-		 * This is a two-dimensional dictionary, where _triggerCounterMap[observer][linkableObject]
+		 * This is a two-dimensional dictionary, where _triggerCounterMap[linkableObject][observer]
 		 * equals the previous triggerCounter value from linkableObject observed by the observer.
 		 */
 		private const _triggerCounterMap:Dictionary = new Dictionary(true);


Remove unused variable.

Remove unused variable.


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

--- frameworks/projects/advancedgrids/src/mx/collections/Grouping.as
+++ frameworks/projects/advancedgrids/src/mx/collections/Grouping.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.collections
 {


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.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.charts.chartClasses
 {


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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 13378
Author:   jimurphy@adobe.com
Date:     2010-01-08T17:35:29.541557Z

Log Message:
-----------
merge 3.x revs 13285,13345,13349,13374

QE notes:
Doc notes:
Bugs: SDK-24847,sdk-24796,SDK-24775
Reviewer:
Tests run: checkintests - (although it failed while looking at Ryans mug (I can't say that I blame Mustella) but the next time around was fine)
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as
+++ frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as
@@ -53,7 +53,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class HTTPMultiService extends mx.rpc.http.HTTPMultiService implements IMXMLSupport, IMXMLObject
+public dynamic class HTTPMultiService extends mx.rpc.http.HTTPMultiService implements IMXMLSupport, IMXMLObject
 {
     //--------------------------------------------------------------------------
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 12822
Author:   hhillen@paciellogroup.com
Date:     2009-12-11T01:59:23.162545Z

Log Message:
-----------
Changes to improve screen reader compatibility with ComboBoxAccImpl. Created ListAccImpl.
QE notes: none
Doc notes: none
Bugs: n/a
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ListAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ListAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ListAccImpl.as
@@ -0,0 +1,96 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.accessibility
+{
+
+import spark.components.List;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  ListAccImpl is a subclass of AccessibilityImplementation
+ *  which implements accessibility for the List class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+public class ListAccImpl extends ListBaseAccImpl
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Enables accessibility in the List class.
+     *
+     *
This method is called by application startup code
+     *  that is autogenerated by the MXML compiler.
+     *  Afterwards, when instances of List are initialized,
+     *  their accessibilityImplementation property
+     *  will be set to an instance of this class.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public static function enableAccessibility():void
+    {
+        List.createAccessibilityImplementation =
+            createAccessibilityImplementation;
+    }
+
+    /**
+     *  @private
+     *  Creates a List's AccessibilityImplementation object.
+     *  This method is called from UIComponent's
+     *  initializeAccessibility() method.
+     */
+    mx_internal static function createAccessibilityImplementation(
+        component:UIComponent):void
+    {
+        component.accessibilityImplementation =
+            new ListAccImpl(component);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param master The UIComponent instance that this AccImpl instance
+     *  is making accessible.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function ListAccImpl(master:UIComponent)
+    {
+        super(master);
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17305
Author:   gruehle@adobe.com
Date:     2010-08-12T21:18:50.910120Z

Log Message:
-----------
This revision includes the following changes:
* Text skin parts for Spark components changed from TextBase and RichEditableText to IDisplayText and IEditableText
* TextBase implements IDisplayText
* RichEditableText implements IEditableText
* New mobile skins for TextInput and TextArea (TextArea appearance is placeholder for now)
* Add a TOUCH_SCROLL_STARTING handler to SkinnableTextBase. This handler prevents the touch scroll from happening if the text is selectable or editable.
* Change global contentBackgroundColor to #3F3F3F and mobile application backgroundColor to #484848

Now that text skin parts are interfaces they need to be cast to concrete types in a bunch of places. There are two general approaches taken here:
* For required functionality, cast to a known type like InteractiveObject
* For optional functionality, cast to the desired type using “as” and wrap the code with a null check.

QE notes: Mobile TextInput is ready for testing. TextArea has some issues with resizing, so testing should wait for now.
Doc notes: -
Bugs: -
Reviewer: Jason Szeto, Corey L.
Tests run: full mustella pass (thank you cyclone server!), checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInput_border.fxg</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/mobilecomponents/src/spark/components/supportClasses/MobileTextField.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/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DefaultColumnHeaderRenderer.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/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableTextBaseAutomationImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -13,6 +13,7 @@
 {

 import flash.display.DisplayObject;
+import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
@@ -695,7 +696,7 @@
     {
         if (stage)
         {
-            stage.focus = textDisplay.textDisplay;
+            stage.focus = textDisplay.textDisplay as InteractiveObject;

             // Since the API ignores the visual editable and selectable
             // properties make sure the selection should be set first.


text render update

text render update

--- src/flash/__native/GLCanvasRenderingContext2D.as
+++ src/flash/__native/GLCanvasRenderingContext2D.as
@@ -116,7 +116,7 @@
 				"uniform sampler2D fs0;"+
 			   "void main(void) {" +
 					"vec4 c=texture2D(fs0,vUV);" +
-					"c.xyz*=vColor.a;" +
+					//"c.xyz*=vColor.a;" +
 					"gl_FragColor = c*vColor;"+
 				"}";
 			bitmapProg = ctx.createProgram();


qnd: remove redundant code

qnd: remove redundant code

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@92860 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
+++ kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
@@ -74,7 +74,6 @@
 		private var _seekUrl:String;
 		private var _autoMute:Boolean=false;
 		private var _isIntelliSeeking :Boolean=false;
-		private var _currentTime:Number;
 		private var _lastCurrentTime:Number = 0;
 		private var _newdDuration:Number;
 		private var _kdp3Preloader : BufferAnimation;
@@ -1178,10 +1177,6 @@
 					var duration : Number = (player.media.getTrait(MediaTraitType.TIME) as TimeTrait).duration;
 					_sequenceProxy.vo.timeRemaining = (!isNaN(event.time) && Math.round(duration - event.time) > 0) ? Math.round(duration - event.time) : 0;
 				}
-				if( !isNaN(event.time) )
-				{
-					_currentTime=event.time;
-				}

 				if (_mediaProxy.vo.mediaPlayTo != -1)
 				{


def: 6299 hide postroll thumb when skipping postroll

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@92288 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
+++ kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
@@ -603,8 +603,16 @@
 					break;

 				case NotificationType.PLAYER_PLAY_END:
+					//if we had postroll - remove it from background
+					if (player.media!=_mediaProxy.vo.media)
+					{
+						if(player.displayObject)
+						{
+							player.displayObject.height=0;////this is for clear the former clip...
+							player.displayObject.width=0;///this is for clear the former clip...
+						}
+					}
 					if (!player.loop) {
-						//cleanMedia();
 						kMediaPlayer.showThumbnail();
 					}
 					_offsetAddition = 0;


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

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

 package mx.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@1258532 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/binding/IWatcherSetupUtil2.as
+++ frameworks/projects/framework/src/mx/binding/IWatcherSetupUtil2.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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.binding
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3594
Author:   pfarland@adobe.com
Date:     2008-10-13T18:00:52.025975Z

Log Message:
-----------
Initial check-in for Advanced CSS selector support. Note that since direct AST generation for advanced styles (i.e. equivalent code of StyleModule.vm, StyleDef.vm, ClassDefLib.vm) is not yet implemented and as such advanced selector support is only enabled when the compiler -keep=true is enabled at this time. Direct AST generation to follow.

This change adds support for descendant type selectors (e.g. Panel VBox Button), non-global class selectors (e.g. Button.special), id selectors (e.g. Button#button14), and combinations of these types of selectors (e.e. Panel.special VBox.box12 Button.cancel). Pseudo selector awareness is included but it is not yet wired up to the runtime states mechanism as an efficient method of reacting to state changes is still being developed. Combinator conditional global selectors will be supported soon (i.e. the scenario of combining both an id and class selector at the top level, e.g. .foo#foo12, this requires a more expensive search of global class selectors).

This change juggles both the introduction of advanced selector support while retaining legacy styles APIs. The major difference with advanced styles is that multiple styles need to be considered for a type. This requires new data structures to keep track of selectors by subject. Performance analysis will be conducted to ensure these new data structures do not add unacceptable overhead to the style subsystem.

For the compiler this change consolidates styles processing in the base StyleModule class and then MXML-specific overrides (i.e. inline <Styles> nodes and SWC defaults.css) are in the StylesContainer.java class, which now extends StyleModule. The existing structure for legacy simple style codegen was retained and advanced style codegen wedged in.

QA: Yes
Doc: Not yet
Checkintests: Pass 100%
mxunit styles tests: Pass 100% (note that styles modules include tests you need to manually compile the .css files to swf and they're currently cleaned out each time a build runs... QE please correct this).
mustella styles tests: QE's select list of components testsuites pass 100%. Any failures in the full suite will be addressed in the next-checkin.
Reviewers: Glenn (framework), Paul (compiler)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/CssCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="A">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleSelector.java</path>
<path kind="file" action="A">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleProperty.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDeclaration.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelectorKind.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSConditionKind.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/FontFaceRule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleSheet.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDocumentHandler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="A">/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/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleProperty.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.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/modules/compiler/src/java/flash/css/Rule.java</path>
<path kind="file" action="A">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleCondition.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</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/modules/compiler/src/java/flash/css/StyleParser.java</path>

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

--- frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
+++ frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as
@@ -15,6 +15,7 @@
 import flash.display.DisplayObject;
 import flash.events.EventDispatcher;
 import flash.utils.Dictionary;
+
 import mx.core.Singleton;
 import mx.core.mx_internal;
 import mx.managers.SystemManagerGlobals;
@@ -62,15 +63,15 @@
  *  style properties on a CSSStyleDeclaration.

  *
  *
You can also create and install a CSSStyleDeclaration at run time
- *  using the StyleManager.setStyleDeclaration() method:
+ *  using the StyleManager.addStyleDeclaration() method:
  *

- *  var newStyleDeclaration:CSSStyleDeclaration = new CSSStyleDeclaration();
+ *  var newStyleDeclaration:CSSStyleDeclaration = new CSSStyleDeclaration(".bigMargins");
  *  newStyleDeclaration.defaultFactory = function():void
  *  {
  *      leftMargin = 50;
  *      rightMargin = 50;
  *  }
- *  StyleManager.setStyleDeclaration(".bigMargins", newStyleDeclaration, true);
+ *  StyleManager.addStyleDeclaration(newStyleDeclaration, true);
  *

  *

  *
@@ -106,18 +107,35 @@
     /**
      *  Constructor.
      *
-     *  @param selector If not null, this CSSStyleDeclaration will be
-     *  registered with the StyleManager using the selector value.
-     */
-    public function CSSStyleDeclaration(selector:String = null)
+     *  @param subject If not null, this CSSStyleDeclaration will be registered
+     *  with StyleManager. If the selector argument is not also specified,
+     *  this String is interpreted to be the legacy syntax of a String based
+     *  selector; if the value starts with a dot it is interpreted as a global
+     *  class selector, otherwise it represents a simple type selector.
+     *  @param selector The selector chain used to match IStyleClient2
+     *  components to this style declaration.
+     */
+    public function CSSStyleDeclaration(subject:String=null, selector:CSSSelector=null)
     {
         super();

-        if (selector)
-        {
+        if (subject)
+        {
+            if (selector)
+            {
+                _subject = subject;
+                _selector = selector;
+                _specificity = _selector.specificity;
+            }
+            else
+            {
+                // A legacy Flex 3 styled constructor was used...
+                selectorString = subject;
+            }
+
             // do not reference StyleManager directly because this is a bootstrap class
-            styleManager = Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2;
-            styleManager.setStyleDeclaration(selector, this, false);
+            styleManager = Singleton.getInstance("mx.styles::IStyleManager3") as IStyleManager3;
+            styleManager.addStyleDeclaration(this, false);
         }
     }

@@ -158,7 +176,7 @@
      *  @private
      *  reference to StyleManager
      */
-    private var styleManager:IStyleManager2;
+    private var styleManager:IStyleManager3;

     //--------------------------------------------------------------------------
     //
@@ -222,11 +240,121 @@
      */
     protected var overrides:Object;

+    //----------------------------------
+    //  selector
+    //----------------------------------
+
+    private var _selector:CSSSelector;
+
+    /**
+     *  A potential chain of rules used to match components to this style
+     *  declaration.
+     */
+    mx_internal function get selector():CSSSelector
+    {
+        return _selector;
+    }
+
+    //----------------------------------
+    //  selectorString
+    //----------------------------------
+
+    private var _selectorString:String;
+
+    /**
+     *  A String representation of the selector.
+     */
+    mx_internal function get selectorString():String
+    {
+        if (_selectorString == null && _selector != null)
+            _selectorString = _selector.toString();
+
+        return _selectorString;
+    }
+
+    /**
+     *  Legacy support for setting a Flex 3 styled selector string after
+     *  the construction of a style declaration. Only global class selectors or
+     *  simple type selectors are supported. Note that this style declaration is
+     *  not automatically registered with the StyleManager when using this API.
+     */
+    mx_internal function set selectorString(value:String):void
+    {
+        // For the legacy API, the first arugment is either a simple
+        // type selector or a global class selector
+        if (value.charAt(0) == ".")
+        {
+            var condition:CSSCondition = new CSSCondition(CSSConditionKind.CLASS_CONDITION, value.substr(1));
+            _selector = new CSSSelector(CSSSelectorKind.CONDITIONAL_SELECTOR, "", [condition]);
+            _subject = "global";
+        }
+        else
+        {
+            _subject = value;
+            _selector = new CSSSelector(CSSSelectorKind.TYPE_SELECTOR, value);
+        }
+
+        _specificity = _selector.specificity;
+        _selectorString = value;
+    }
+
+    //----------------------------------
+    //  specificity
+    //----------------------------------
+
+    private var _specificity:uint;
+
+    /**
+     *  Determines the order of precedence when applying multiple style
+     *  declarations to a component. If style declarations are of equal
+     *  precedence, the last one wins.
+     */
+    public function get specificity():uint
+    {
+        return _specificity;
+    }
+
+    //----------------------------------
+    //  subject
+    //----------------------------------
+
+    private var _subject:String;
+
+    /**
+     *  The subject describes the name of a component that may be a potential
+     *  match for this style declaration. The subject is determined as right
+     *  most simple type selector in a potential chain of selectors.
+     */
+    public function get subject():String
+    {
+        return _subject;
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Methods
     //
     //--------------------------------------------------------------------------
+
+    /**
+     * Determines whether this style declaration applies to the given component
+     * based on a match of the selector chain.
+     *
+     * @return true if this style declaration applies to the component, or
+     * false if not.
+     */
+    public function isMatch(object:IAdvancedStyleClient, ignoreType:Boolean=false):Boolean
+    {
+        return selector.isMatch(object, ignoreType);
+    }
+
+    /**
+     * @private
+     */
+    public function isPseudoSelector():Boolean
+    {
+        return selector != null && selector.isPseudoSelector();
+    }

     /**
      *  Gets the value for a specified style property,
@@ -395,7 +523,7 @@
         if (value is String)
         {
             if (!styleManager)
-                styleManager = Singleton.getInstance("mx.styles::IStyleManager2") as IStyleManager2;
+                styleManager = Singleton.getInstance("mx.styles::IStyleManager3") as IStyleManager3;
             var colorNumber:Number = styleManager.getColorName(value);
             if (colorNumber != NOT_A_COLOR)
                 value = colorNumber;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/validators/RegExpValidator.as
+++ frameworks/projects/framework/src/mx/validators/RegExpValidator.as
@@ -0,0 +1,395 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.validators
+{
+
+import mx.events.ValidationResultEvent;
+import mx.managers.ISystemManager;
+import mx.managers.SystemManager;
+
+[ResourceBundle("validators")]
+
+/**
+ *  The RegExpValidator class lets you use a regular expression
+ *  to validate a field.
+ *  You pass a regular expression to the validator using the
+ *  expression property, and additional flags
+ *  to control the regular expression pattern matching
+ *  using the flags property.
+ *
+ *
The validation is successful if the validator can find a match
+ *  of the regular expression in the field to validate.
+ *  A validation error occurs when the validator finds no match.

+ *
+ *
The RegExpValidator class dispatches the valid
+ *  and invalid events.
+ *  For an invalid event, the event object is an instance
+ *  of the ValidationResultEvent class, and it contains an Array
+ *  of ValidationResult objects.

+ *
+ *
However, for a valid event, the ValidationResultEvent
+ *  object contains an Array of RegExpValidationResult objects.
+ *  The RegExpValidationResult class is a child class of the
+ *  ValidationResult class, and contains additional properties
+ *  used with regular expressions, including the following:

+ *

+ *
matchedIndex An integer that contains the starting
+ *      index in the input String of the match.

+ *
matchedString A String that contains the substring
+ *      of the input String that matches the regular expression.

+ *
matchedSubStrings An Array of Strings that contains
+ *      parenthesized substring matches, if any. If no substring matches are found,
+ *      this Array is of length 0.  Use matchedSubStrings[0] to access the
+ *      first substring match.

+ *

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

+ *
+ *

+ *  <mx:RegExpValidator
+ *    expression="No default"
+ *    flags="No default"
+ *    noExpressionError="The expression is missing."
+ *    noMatchError="The field is invalid."
+ *  />
+ *

+ *
+ *  @includeExample examples/RegExValidatorExample.mxml
+ *
+ *  @see mx.validators.RegExpValidationResult
+ *  @see mx.validators.ValidationResult
+ *  @see RegExp
+ */
+public class RegExpValidator extends Validator
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor
+     */
+    public function RegExpValidator()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var regExp:RegExp;
+
+    /**
+     *  @private
+     */
+    private var foundMatch:Boolean = false;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  expression
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the expression property.
+     */
+    private var _expression:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The regular expression to use for validation.
+     */
+    public function get expression():String
+    {
+        return _expression;
+    }
+
+    /**
+     *  @private
+     */
+    public function set expression(value:String):void
+    {
+        if (_expression != value)
+        {
+            _expression = value;
+
+            createRegExp();
+        }
+    }
+
+    //----------------------------------
+    //  flags
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the flags property.
+     */
+    private var _flags:String;
+
+    [Inspectable(category="General", defaultValue="null")]
+
+    /**
+     *  The regular expression flags to use when matching.
+     */
+    public function get flags():String
+    {
+        return _flags;
+    }
+
+    /**
+     *  @private
+     */
+    public function set flags(value:String):void
+    {
+        if (_flags != value)
+        {
+            _flags = value;
+
+            createRegExp();
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties: Errors
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  noExpressionError
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the noExpressionError property.
+	 */
+	private var _noExpressionError:String;
+
+    /**
+	 *  @private
+	 */
+	private var noExpressionErrorOverride:String;
+
+    [Inspectable(category="Errors", defaultValue="null")]
+
+    /**
+     *  Error message when there is no regular expression specifed.
+     *  The default value is "The expression is missing."
+     */
+	public function get noExpressionError():String
+	{
+		return _noExpressionError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set noExpressionError(value:String):void
+	{
+		noExpressionErrorOverride = value;
+
+		_noExpressionError = value != null ?
+							 value :
+							 resourceManager.getString(
+							     "validators", "noExpressionError");
+	}
+
+    //----------------------------------
+    //  noMatchError
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the noMatchError property.
+	 */
+	private var _noMatchError:String;
+
+    /**
+	 *  @private
+	 */
+	private var noMatchErrorOverride:String;
+
+    [Inspectable(category="Errors", defaultValue="null")]
+
+    /**
+     *  Error message when there are no matches to the regular expression.
+     *  The default value is "The field is invalid."
+     */
+	public function get noMatchError():String
+	{
+		return _noMatchError;
+	}
+
+	/**
+	 *  @private
+	 */
+	public function set noMatchError(value:String):void
+	{
+		noMatchErrorOverride = value;
+
+		_noMatchError = value != null ?
+						value :
+						resourceManager.getString(
+							"validators", "noMatchError");
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function resourcesChanged():void
+    {
+		super.resourcesChanged();
+
+        noExpressionError = noExpressionErrorOverride;
+        noMatchError = noMatchErrorOverride;
+    }
+
+    /**
+     *  Override of the base class doValidation() method
+     *  to validate a regular expression.
+     *
+     *
You do not call this method directly;
+     *  Flex calls it as part of performing a validation.
+     *  If you create a custom Validator class, you must implement this method.

+     *
+     *  @param value Object to validate.
+     *
+     *  @return For an invalid result, an Array of ValidationResult objects,
+     *  with one ValidationResult object for each field examined by the validator.
+     */
+    override protected function doValidation(value:Object):Array
+    {
+        var results:Array = super.doValidation(value);
+
+        // Return if there are errors
+        // or if the required property is set to false and length is 0.
+        var val:String = value ? String(value) : "";
+        if (results.length > 0 || ((val.length == 0) && !required))
+            return results;
+
+        return validateRegExpression(value);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function handleResults(
+                                    errorResults:Array):ValidationResultEvent
+    {
+        var result:ValidationResultEvent;
+
+        if (foundMatch)
+        {
+            result = new ValidationResultEvent(ValidationResultEvent.VALID);
+            result.results = errorResults;
+        }
+        else
+        {
+            result = super.handleResults(errorResults);
+        }
+
+        foundMatch = false;
+
+        return result;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private function createRegExp():void
+    {
+        regExp = new RegExp(_expression,_flags);
+    }
+
+    /**
+     *  @private
+     *  Performs validation on the validator
+     */
+    private function validateRegExpression(value:Object):Array
+    {
+        var results:Array = [];
+        foundMatch = false;
+
+        if (regExp && _expression != "")
+        {
+            var result:Object = regExp.exec(String(value));
+            if (regExp.global)
+            {
+                while (result != null)
+                {
+                    results.push(new RegExpValidationResult(
+                        false, null, "", "", result[0],
+                        result.index, result.slice(1)));
+                    result = regExp.exec(String(value));
+                    foundMatch = true;
+                }
+            }
+            else if (result != null)
+            {
+                results.push(new RegExpValidationResult(
+                    false, null, "", "", result[0],
+                    result.index, result.slice(1)));
+                foundMatch = true;
+            }
+
+            if (results.length == 0)
+            {
+                results.push(new ValidationResult(
+                    true, null, "noMatch",
+                    noMatchError));
+            }
+        }
+        else
+        {
+            results.push(new ValidationResult(
+                true, null, "noExpression",
+                noExpressionError));
+        }
+
+        return results;
+    }
+}
+
+}


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

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

 package mx.validators
 {


Only create flash sound on first write

Only create flash sound on first write

--- source/dynamicaudio.as
+++ source/dynamicaudio.as
@@ -6,17 +6,11 @@

     public class dynamicaudio extends Sprite {
         public var bufferSize:Number = 2048; // In samples
-        public var sound:Sound;
+        public var sound:Sound = null;
         public var buffer:Array = [];

         public function dynamicaudio() {
             ExternalInterface.addCallback('write',  write);
-            this.sound = new Sound();
-            this.sound.addEventListener(
-                SampleDataEvent.SAMPLE_DATA,
-                soundGenerator
-            );
-            this.sound.play();
         }

         // Called from JavaScript to add samples to the buffer
@@ -24,6 +18,15 @@
         // array. Flash's stupid ExternalInterface passes every sample as XML,
         // which is incredibly expensive to encode/decode
         public function write(s:String):void {
+            if (!this.sound) {
+                this.sound = new Sound();
+                this.sound.addEventListener(
+                    SampleDataEvent.SAMPLE_DATA,
+                    soundGenerator
+                );
+                this.sound.play();
+            }
+
             var multiplier:Number = 1/32768;
             for each (var sample:String in s.split(" ")) {
                 this.buffer.push(Number(sample)*multiplier);


Transferred from the Adobe Open Source Subversion Repository

Revision: 22745
Author:   jszeto@adobe.com
Date:     2011-09-27T17:44:04.943063Z

Log Message:
-----------
LabelItemRenderer bug fix

SDK-31460 - Bottom pixel of descenders is cut off with applicationDPI scaling

QE notes: none
Doc notes: none
Bugs: SDK-31460
Reviewer:
Tests run: checkintests, cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -1138,7 +1138,7 @@
             result =  element.height;
         }

-        return Math.round(result);
+        return Math.ceil(result);
     }

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3257
Author:   jimurphy@adobe.com
Date:     2008-09-18T18:16:26.838722Z

Log Message:
-----------
-Merged 3.0.X revisions 3232,3236,3238,3244 -> trunk
-integrated:
 Player build d604
 flex-messaging-common.jar 4.0.0.3256

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults-2.0.0.css</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults-2.0.1.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
@@ -12,6 +12,7 @@
 package mx.controls.dataGridClasses
 {

+import flash.display.DisplayObject;
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.utils.getQualifiedSuperclassName;
@@ -29,8 +30,10 @@
 import mx.core.UITextField;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.events.InterManagerRequest;
 import mx.events.ToolTipEvent;
 import mx.managers.ILayoutManagerClient;
+import mx.managers.ISystemManager;
 import mx.styles.CSSStyleDeclaration;
 import mx.styles.IStyleClient;
 import mx.styles.StyleManager;
@@ -636,16 +639,32 @@
 		var toolTip:IToolTip = event.toolTip;

 		// Calculate global position of label.
+        var sm:ISystemManager = systemManager.topLevelSystemManager;
+        var sbRoot:DisplayObject = sm.getSandboxRoot();
+        var screen:Rectangle;
 		var pt:Point = new Point(0, 0);
 		pt = localToGlobal(pt);
-		pt = toolTip.parent.globalToLocal(pt);
+		pt = sbRoot.globalToLocal(pt);

 		toolTip.move(pt.x, pt.y + (height - toolTip.height) / 2);
-
-		var screen:Rectangle = systemManager.screen;
+
+        if (sm != sbRoot)
+        {
+            var request:InterManagerRequest = new InterManagerRequest(InterManagerRequest.SYSTEM_MANAGER_REQUEST,
+                                    false, false,
+                                    "getVisibleApplicationRect");
+            sbRoot.dispatchEvent(request);
+            screen = Rectangle(request.value);
+        }
+        else
+            screen = sm.getVisibleApplicationRect();
+
 		var screenRight:Number = screen.x + screen.width;
-		if (toolTip.x + toolTip.width > screenRight)
-			toolTip.move(screenRight - toolTip.width, toolTip.y);
+		pt.x = toolTip.x;
+		pt.y = toolTip.y;
+        pt = sbRoot.localToGlobal(pt);
+		if (pt.x + toolTip.width > screenRight)
+			toolTip.move(toolTip.x - (pt.x + toolTip.width - screenRight), toolTip.y);
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20389
Author:   cframpto@adobe.com
Date:     2011-02-18T21:41:41.538316Z

Log Message:
-----------
Prepare and link in the DataGrid examples written by Hans.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: compiled - need Stephen's asdoc build to verify examples
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridSelectionExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridSimpleExample.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/GridItemRendererExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridRowHeightExample.mxml</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/skins/spark/DefaultGridItemRenderer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/DefaultGridItemRendererExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridRollOverExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/UITextFieldGridItemRenderer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/GridColumnExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/GridItemRendererCustomPrepareExample.mxml</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/GridColumnVisibilityExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridInvalidateCellExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/gridClasses/examples/GridItemRendererCustomBindingExample.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/asdoc/en_US/spark/components/examples/DataGridTypicalItemExample.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as
@@ -128,6 +128,10 @@
  *  @see spark.components.gridClasses.GridColumn#itemRenderer
  *  @see spark.skins.spark.DefaultGridItemRenderer
  *
+ *  @includeExample examples/GridItemRendererExample.mxml
+ *  @includeExample examples/GridItemRendererCustomBindingExample.mxml
+ *  @includeExample examples/GridItemRendererCustomPrepareExample.mxml
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 2.5