Add conversion methods between frustum and projection matrix on the Frustum class.

A Add updateFromDescription() method
A Add toProjectionMatrix() method
M Rename update() to updateFromProjectionMatrix()

--- src/aerys/minko/type/math/Frustum.as
+++ src/aerys/minko/type/math/Frustum.as
@@ -250,13 +250,31 @@

 		private var _boxVertices	: Vector.<Number>	= new Vector.<Number>();

+		public function updateFromDescription(fov	: Number,
+											  ratio	: Number,
+											  zNear	: Number,
+											  zFar 	: Number) : void
+		{
+			var	y_scale		: Number	= 1. / Math.tan(fov * .5);
+			var	x_scale		: Number	= y_scale / ratio;
+			var	m33			: Number	= zFar / (zFar - zNear);
+			var	m43			: Number	= -zNear * zFar / (zFar - zNear);
+
+			_planes[RIGHT]	= new Plane(-x_scale,	0,			1,			0);
+			_planes[LEFT]	= new Plane(x_scale,	0,			1,			0);
+			_planes[TOP]	= new Plane(0,			-y_scale,	1,			0);
+			_planes[BOTTOM] = new Plane(0,			y_scale,	1,			0);
+			_planes[NEAR]	= new Plane(0,			0,			m33,		-m43);
+			_planes[FAR]	= new Plane(0,			0,			1 - m33,	m43);
+		}
+
 		/**
 		 * Update the frustum planes according to the specified project matrix.
 		 *
 		 * @param myTransform
 		 *
 		 */
-		public function update(matrix : Matrix4x4) : void
+		public function updateWithProjectionMatrix(matrix : Matrix4x4) : void
 		{
 			var data	: Vector.<Number>	= matrix.getRawData(TMP_DATA);

@@ -536,5 +554,41 @@

 			return result || INSIDE;
 		}
+
+		public function toProjectionMatrix(out : Matrix4x4 = null) : Matrix4x4
+		{
+			var r	: Plane = _planes[RIGHT];
+			var l	: Plane = _planes[LEFT];
+			var t	: Plane = _planes[TOP];
+			var b	: Plane = _planes[BOTTOM];
+			var n	: Plane = _planes[NEAR];
+			var f	: Plane = _planes[FAR];
+
+			var d0	: Number = (l.a - r.a) / 2;
+			var d1	: Number = (b.a - t.a) / 2;
+			var d2	: Number = n.a;
+			var d3	: Number = (b.a + t.a) / 2;
+			var d4	: Number = (l.b - r.b) / 2;
+			var d5	: Number = (b.b - t.b) / 2;
+			var d6	: Number = n.b;
+			var d7	: Number = (b.b + t.b) / 2;
+			var d8	: Number = (l.c - r.c) / 2;
+			var d9	: Number = (b.c - t.c) / 2;
+			var d10	: Number = n.c;
+			var d11	: Number = f.c + n.c;
+			var d12	: Number = (r.d - l.d) / 2;
+			var d13	: Number = t.d - (l.d + r.d) / 2;
+			var d14	: Number = -n.d;
+			var d15	: Number = -(l.d - r.d) / 2;
+
+			out ||= new Matrix4x4();
+			out.setRawData(Vector.<Number>([
+				d0, d1, d2, d3, d4, d5, d6, d7,
+				d8, d9, d10, d11, d12, d13, d14, d15
+			]));
+
+			return out;
+		}
+
 	}
 }


fix Vector4::add() and Vector4::subtract()

--- src/aerys/minko/type/math/Vector4.as
+++ src/aerys/minko/type/math/Vector4.as
@@ -35,7 +35,7 @@
 			'y'	: 'y',
 			'z'	: 'z',
 			'w'	: 'w'
-		}
+		};

 		minko_math var _vector	: Vector3D	= new Vector3D();

@@ -161,7 +161,8 @@
 								   v 	: Vector4,
 								   out	: Vector4 = null) : Vector4
 		{
-			out = copy(u, out);
+			out ||= new Vector4();
+			out.copyFrom(u);

 			return out.incrementBy(v);
 		}
@@ -170,7 +171,8 @@
 										v 	: Vector4,
 										out : Vector4 = null) : Vector4
 		{
-			out = copy(u, out);
+			out ||= new Vector4();
+			out.copyFrom(u);

 			return out.decrementBy(v);
 		}
@@ -263,8 +265,8 @@
 		public function equals(v : Vector4, allFour : Boolean = false, tolerance : Number = 0.) : Boolean
 		{
 			return tolerance
-				? _vector.nearEquals(v._vector, tolerance, allFour);
-				: _vector.equals(v._vector, allFour)
+				? _vector.nearEquals(v._vector, tolerance, allFour)
+				: _vector.equals(v._vector, allFour);
 		}

 		public function project() : Vector4
@@ -364,13 +366,6 @@
 			return out;
 		}

-		public static function normalize(v : Vector4, out : Vector4 = null) : Vector4
-		{
-			out = copy(v, out);
-
-			return out.normalize();
-		}
-
 		public function lock() : void
 		{
 			_locked = true;


[CEXP-257] SampleCalculator: Corrected scope of variable.

--- src/main/flashwavrecorder/SampleCalculator.as
+++ src/main/flashwavrecorder/SampleCalculator.as
@@ -6,9 +6,9 @@

     public function getHighestSample(data:ByteArray):Number {
       var level:Number = 0;
-      var currentSample:Number;
       data.position = 0;
       while (data.bytesAvailable) {
+        var currentSample:Number;
         currentSample = data.readFloat();
         if (currentSample > level) {
           level = currentSample;


[feat] use improved serialization for entity

- use real Date objects
- use Image collections

--- src/main/actionscript/com/dotfold/dotvimstat/model/LikeEntity.as
+++ src/main/actionscript/com/dotfold/dotvimstat/model/LikeEntity.as
@@ -19,7 +19,7 @@
 		public var duration:int;
 		public var embed_privacy:String;
 		public var height:int;
-		public var liked_on:String;
+		public var liked_on:Date;
 		public var mobile_url:String;
 		public var stats_number_of_comments:int;
 		public var stats_number_of_likes:int;
@@ -29,7 +29,7 @@
 		public var thumbnail_medium:String;
 		public var thumbnail_small:String;
 		public var title:String;
-		public var upload_date:int;
+		public var upload_date:Date;
 		public var url:String;
 		public var user_id:int;
 		public var user_name:String;


Better handling of edge-of-stream cases.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -503,7 +503,6 @@

 			}

-
 			// Remap time.
 			if(reloadingQuality != lastQuality)
 			{
@@ -515,9 +514,42 @@
 				var newSeg:HLSManifestSegment = lastSeg ? getSegmentContainingTime(newManifest.segments, lastSeg.startTime + lastSeg.duration) : null;
 				if(newSeg == null)
 				{
-					trace("Remapping from " + lastSequence);
-					trace("ERROR: Couldn't remap sequence to new quality level, restarting at sequence " + newManifest.segments[0].id);
-					lastSequence = newManifest.segments[0].id;
+					trace("Remapping from " + lastSequence);
+
+					if(lastSeg)
+					{
+						// Guess by time....
+						trace("Found last seg with startTime = " + lastSeg.startTime + " duration=" + lastSeg.duration);
+
+						// If the segment is beyond last ID, then jump to end...
+						if(lastSeg.startTime + lastSeg.duration >= newManifest.segments[newManifest.segments.length-1].startTime)
+						{
+							trace("ERROR: Couldn't remap sequence to new quality level, restarting at last time " + newManifest.segments[newManifest.segments.length-1].startTime);
+							lastSequence = newManifest.segments[newManifest.segments.length-1].id;
+						}
+						else
+						{
+							trace("ERROR: Couldn't remap sequence to new quality level, restarting at first time " + newManifest.segments[0].startTime);
+							lastSequence = newManifest.segments[0].id;
+						}
+					}
+					else
+					{
+						// Guess by sequence number...
+						trace("No last seg found");
+
+						// If the segment is beyond last ID, then jump to end...
+						if(lastSequence >= newManifest.segments[newManifest.segments.length-1].id)
+						{
+							trace("ERROR: Couldn't remap sequence to new quality level, restarting at last sequence " + newManifest.segments[newManifest.segments.length-1].id);
+							lastSequence = newManifest.segments[newManifest.segments.length-1].id;
+						}
+						else
+						{
+							trace("ERROR: Couldn't remap sequence to new quality level, restarting at first sequence " + newManifest.segments[0].id);
+							lastSequence = newManifest.segments[0].id;
+						}
+					}
 				}
 				else
 				{


code coverage

code coverage

--- src/com/kemsky/impl/filters/comparator.as
+++ src/com/kemsky/impl/filters/comparator.as
@@ -174,32 +174,18 @@

     public static function xmlCompare(a:XML, b:XML, numeric:Boolean, caseInsensitive:Boolean):int
     {
-        var sa:String;
-        try
-        {
-            sa = a.toString();
-        }
-        catch (error:Error)
-        {
-        }
-
-        var sb:String;
-        try
-        {
-            sb = b.toString();
-        }
-        catch (error:Error)
-        {
-        }
+        var result:int = 0;

         if (numeric)
         {
-            return numericCompare(parseFloat(sa), parseFloat(sb));
+            result = numericCompare(parseFloat(String(a)), parseFloat(String(b)));
         }
         else
         {
-            return stringCompare(sa, sb, caseInsensitive);
+            result = stringCompare(String(a), String(b), caseInsensitive);
         }
+
+        return result;
     }

     private static function isNaNFast(target:*):Boolean


Transferred from the Adobe Open Source Subversion Repository

Revision: 5097
Author:   gauravj@adobe.com
Date:     2009-02-27T02:06:23.424936Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/fileSystemClasses/FileSystemTreeDataDescriptor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/FlexContentHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/ContainerMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/WindowExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/fileSystemClasses/FileSystemControlHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemRawChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemChildrenList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as
+++ frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as
@@ -17,6 +17,10 @@
 /**
  *  The skin for the StatusBar of a WindowedApplication or Window.
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class StatusBarBackgroundSkin extends ProgrammaticSkin
 {
@@ -30,6 +34,10 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function StatusBarBackgroundSkin()
     {


FLEX-26808 Increased a test function's timeout and added a bit more information to see why another is failing.

--- frameworks/projects/spark/tests/spark/components/DataGrid_FLEX_26808_Tests.as
+++ frameworks/projects/spark/tests/spark/components/DataGrid_FLEX_26808_Tests.as
@@ -188,7 +188,7 @@
             _sut.selectedIndices = new <int>[0, 1];

             //then
-            assertTrue(ArrayUtil.arraysMatch([_firstObject, _secondObject], VectorUtil.toArrayObject(_sut.selectedItems)));
+            assertTrue("The first two objects should be selected", ArrayUtil.arraysMatch([_firstObject, _secondObject], VectorUtil.toArrayObject(_sut.selectedItems)));

             //given
             const mouseDown:MouseEvent = new MouseEvent(MouseEvent.MOUSE_DOWN, true, false, 5, 5, null, false, false, false);
@@ -204,7 +204,7 @@
             _sut.removeEventListener(GridEvent.GRID_MOUSE_DOWN, onGridMouseDown);
         }

-        [Test(async, timeout=1000)]
+        [Test(async, timeout=1300)]
         public function test_dragging_maintains_manually_selected_items():void
         {
             //when
@@ -215,7 +215,7 @@

             noEnterFramesRemaining = NO_ENTER_FRAMES_TO_ALLOW;
             UIImpersonator.testDisplay.addEventListener(Event.ENTER_FRAME, onEnterFrame);
-            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, test_programmatic_selection_and_dragging, 800);
+            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, test_programmatic_selection_and_dragging, 1200);
         }

         private function test_manual_selection_of_two_items_and_dragging(event:Event, passThroughData:Object):void


Revert "Remove invalid check of 'pos'."

Revert "Remove invalid check of 'pos'."

This reverts commit 79e646611ba35f38060b3dd42fbfcfaeb92253ee.

--- flash-src/WebSocket.as
+++ flash-src/WebSocket.as
@@ -187,7 +187,6 @@
     main.log("request header:\n" + req);
     socket.writeUTFBytes(req);
     main.log("sent key3: " + key3);
-    main.log("expected digest: " + expectedDigest);
     writeBytes(key3);
     socket.flush();
   }
@@ -251,18 +250,20 @@
           pos = -1;
         }
       } else if (headerState == 4) {
-        var replyDigest:String = readBytes(buffer, 16);
-        main.log("reply digest: " + replyDigest);
-        if (replyDigest != expectedDigest) {
-          onError("digest doesn't match: " + replyDigest + " != " + expectedDigest);
-          return;
+        if (pos == 15) {
+          var replyDigest:String = readBytes(buffer, 16);
+          main.log("reply digest: " + replyDigest);
+          if (replyDigest != expectedDigest) {
+            onError("digest doesn't match: " + replyDigest + " != " + expectedDigest);
+            return;
+          }
+          headerState = 5;
+          makeBufferCompact();
+          pos = -1;
+          readyState = OPEN;
+          notifyStateChange();
+          dispatchEvent(new Event("open"));
         }
-        headerState = 5;
-        makeBufferCompact();
-        pos = -1;
-        readyState = OPEN;
-        notifyStateChange();
-        dispatchEvent(new Event("open"));
       } else {
         if (buffer[pos] == 0xff) {
           if (buffer.readByte() != 0x00) {


optimize AES decryption time from 1.8Mb/s to 3.6Mb/s on Core-i5 2410M @2.30 GHz the bottleneck was the timer not restarting quickly. to workaround this, we continue to decrypt chunk of data until we reach a duration of 20ms. related to https://github.com/mangui/HLSprovider/issues/55

--- src/org/mangui/HLS/utils/AES.as
+++ src/org/mangui/HLS/utils/AES.as
@@ -31,7 +31,7 @@
     /** read position **/
     private var _read_position:Number;
     /** chunk size to avoid blocking **/
-    private static const CHUNK_SIZE:uint = 4096;
+    private static const CHUNK_SIZE:uint = 2048;
     /** is bytearray full ? **/
     private var _data_complete:Boolean;

@@ -56,7 +56,7 @@
       _decrypteddata = new ByteArray();
       _read_position = 0;
       _timer = new Timer(0,0);
-      _timer.addEventListener(TimerEvent.TIMER, _decryptData);
+      _timer.addEventListener(TimerEvent.TIMER, _decryptTimer);
       _timer.start();
     }

@@ -79,8 +79,17 @@
       }
     }

+
+    private function _decryptTimer(e:Event):void {
+      var start_time:Number = new Date().getTime();
+      do {
+         _decryptData();
+      // dont spend more than 20 ms in the decrypt timer to avoid blocking/freezing video
+      } while (_timer.running && new Date().getTime() - start_time < 20);
+    }
+
     /** decrypt a small chunk of packets each time to avoid blocking **/
-    private function _decryptData(e:Event):void {
+    private function _decryptData():void {
       _data.position = _read_position;
       if(_data.bytesAvailable) {
         var dumpByteArray:ByteArray = new ByteArray();
@@ -126,7 +135,6 @@
         _timer.stop();
         if (_data_complete) {
           Log.debug("AES:data+decrypt completed, callback");
-          _timer = null;
           // callback
           _decrypteddata.position=0;
           _callback(_decrypteddata);


fix sliding not computed properly on ended live playlist related to https://github.com/mangui/flashls/issues/303

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -150,7 +150,8 @@
         public function appendTags(fragmentType : int, fragLevel : int, fragSN : int, tags : Vector.<FLVTag>, min_pts : Number, max_pts : Number, continuity : int, startPosition : Number) : void {
             // compute playlist sliding here :  it is the difference between  expected start position and real start position
             var sliding:Number = 0, _nextRelativeStartPos: Number = startPosition + (max_pts - min_pts) / 1000, headerAppended : Boolean = false, metaAppended : Boolean = false;
-            if(_hls.type == HLSTypes.LIVE) {
+            // compute sliding in case of live playlist, or in case of VoD playlist that slided in the past (live sliding ended playlist)
+            if(_hls.type == HLSTypes.LIVE  || _playlistSlidingMain || _playlistSlidingAltAudio) {
                 if(fragmentType == HLSLoaderTypes.FRAGMENT_MAIN) {
                     // if -1 : it is not the first appending for this fragment type : we can compute playlist sliding
                     if(_nextExpectedAbsoluteStartPosMain !=-1) {


Transferred from the Adobe Open Source Subversion Repository

Revision: 14421
Author:   cframpto@adobe.com
Date:     2010-02-25T17:58:57.809794Z

Log Message:
-----------
Merge from 4.x mirroring PARB changes 14331, 14337, 14338.
Merge 14401 to fix clipping issue for right-aligned RichEditableText which had x < 0.
Merge 14402 to fix textAlignment issues for text with direction="rtl" for UIFTETextField and UITextField.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -3090,14 +3090,14 @@
 	//  layoutDirection
 	//----------------------------------

-	private var _layoutDirection:String = "inherit";
+	private var _layoutDirection:String = null;

     /**
      *  @inheritDoc
      */
 	public function get layoutDirection():String
 	{
-        if (_layoutDirection != "inherit")
+        if (_layoutDirection != null)
             return _layoutDirection;

         const parentElt:IVisualElement = parent as IVisualElement;


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

--- frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Updated formatting in Async TestCase

Updated formatting in Async TestCase

--- as3/src/asunit/framework/AsynchronousTestCase.as
+++ as3/src/asunit/framework/AsynchronousTestCase.as
@@ -1,4 +1,5 @@
 package asunit.framework {
+
     import asunit.errors.AbstractError;

     import flash.errors.IllegalOperationError;
@@ -15,36 +16,11 @@
         protected static const DEFAULT_REMOTE_TIMEOUT:int = 30000;
         private static const INVALID_TIME:int = -1;

+        private var _ioErrorExpected:Boolean;
+        private var _remoteDuration:int;
         private var _remoteStartTime:int;
-
-        private var _remoteDuration:int;
-        public function get remoteDuration():int
-        {
-            return _remoteDuration;
-        }
-        public function remoteDurationIsValid():Boolean
-        {
-            return _remoteDuration != INVALID_TIME;
-        }
-
         private var _remoteTimeout:int;
-        // see testRemoteDuration() below
-        public function set remoteTimeout(ms:int):void
-        {
-            _remoteTimeout = ms;
-        }
-
-        private var _ioErrorExpected:Boolean;
-        public function set ioErrorExpected(yn:Boolean):void
-        {
-            _ioErrorExpected = yn;
-        }
-
         private var _securityErrorExpected:Boolean;
-        public function set securityErrorExpected(yn:Boolean):void
-        {
-            _securityErrorExpected = yn;
-        }

         public function AsynchronousTestCase(testMethod:String = null) {
             super(testMethod);
@@ -54,6 +30,27 @@
             _remoteTimeout = DEFAULT_REMOTE_TIMEOUT;
             _ioErrorExpected = false;
             _securityErrorExpected = false;
+        }
+
+        public function get remoteDuration():int {
+            return _remoteDuration;
+        }
+
+        public function remoteDurationIsValid():Boolean {
+            return _remoteDuration != INVALID_TIME;
+        }
+
+        // see testRemoteDuration() below
+        public function set remoteTimeout(ms:int):void {
+            _remoteTimeout = ms;
+        }
+
+        public function set ioErrorExpected(yn:Boolean):void {
+            _ioErrorExpected = yn;
+        }
+
+        public function set securityErrorExpected(yn:Boolean):void {
+            _securityErrorExpected = yn;
         }

         // use this method in overriding run() if you are using a URLLoader:
@@ -81,13 +78,11 @@
         }

         private final function setRemoteDuration():void {
-            if (_remoteStartTime == INVALID_TIME)
-            {
+            if (_remoteStartTime == INVALID_TIME) {
                 // I guess you overrode run() in a subclass without calling super.run()
                 _remoteDuration = INVALID_TIME;
             }
-            else
-            {
+            else {
                 _remoteDuration = getTimer() - _remoteStartTime;
             }
         }


Special case ObjectProxy handling to avoid forcing simple types to be objects

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLDecoder.as
@@ -482,12 +482,26 @@
                     {
                         try
                         {
-                            result = DateUtil.parseW3CDTF(temp);
+                            result = DateUtil.parseRPATHWHACKYDATETIME(temp);
                         }
                         catch (e:Error)
                         {
-                            result = new Date();
-                            result.time = Date.parse(temp);
+                            try
+                            {
+                                result = DateUtil.parseW3CDTF(temp);
+                            }
+                            catch (e:Error)
+                            {
+                                try
+                                {
+                                    result = DateUtil.parseRFC822(temp);
+                                }
+                                catch (e:Error)
+                                {
+                                    result = new Date();
+                                    result.time = Date.parse(temp);
+                                }
+                            }
                         }
                     }
                     else
@@ -595,9 +609,9 @@
                         //propertyIsArray = XObjUtils.isTypeArray(partClass);
                         //propertyIsCollection = XObjUtils.isTypeCollection(partClass);
                     }
-                    // else should we reuse an existing property object?
-                    // NOTE: do not reuse if this is an implied array
-                    // (hence seenProperties test)
+                        // else should we reuse an existing property object?
+                        // NOTE: do not reuse if this is an implied array
+                        // (hence seenProperties test)
                     else if (!seenProperties[propertyName]
                         && result.hasOwnProperty(propertyName))
                     {
@@ -671,7 +685,7 @@
                                     objectFactory.trackObjectById(partObj, partID);
                                 }
                             }
-
+
                             // use whatever class info we were given
                             if (partObj)
                             {
@@ -681,8 +695,9 @@
                         }
                         else
                         {
-                            // we have the property, but no value
-                            if (!partClass)
+                            // we have the property, but no value.
+                            // NB: ObjectProxy always says yes to hasOwnProperty()
+                            if (!partClass && !(result is ObjectProxy))
                             {
                                 // must be plain old Object, but our TypeInfo
                                 // method ignores them...compensate


#FEC-125 #comment support mbr in widevine #time 1d #resolve

--- plugins/wvPlugin/src/WvMediator.as
+++ plugins/wvPlugin/src/WvMediator.as
@@ -88,6 +88,8 @@
 					NotificationType.BUFFER_PROGRESS,
 					NotificationType.CHANGE_MEDIA,
 					NotificationType.DO_PAUSE,
+					NotificationType.DO_SWITCH,
+					NotificationType.ENTRY_READY,
 					NO_WV_BROWSER_PLUGIN];
 		}

@@ -139,29 +141,16 @@

 							if (wvAssetId)
 							{
-								_isWv = true;
 								var kc:KalturaClient = (facade.retrieveProxy(ServicesProxy.NAME) as ServicesProxy).kalturaClient;
 								var emmUrl:String = kc.protocol + kc.domain + "/api_v3/index.php?service=widevine_widevinedrm&action=getLicense&format=widevine&flavorAssetId=" + wvAssetId + "&ks=" +kc.ks;
-								ExternalInterface.call("WVSetEmmURL", emmUrl);
-
-
-							}
-							else
-							{
-								_isWv = false;
+								ExternalInterface.call("WVSetEmmURL", emmUrl);
 							}

 						}
-						else
-						{
-							_isWv = false;
-						}
 					}

-
-					break;
-
-
+					break;
+
 				case NotificationType.PLAYER_UPDATE_PLAYHEAD:
 					//in case we switch flavors we want to save last position
 					if (_isWv && !(facade.retrieveProxy(SequenceProxy.NAME) as SequenceProxy).vo.isInSequence)
@@ -208,7 +197,6 @@
 						_endOfStreamTimer = null;
 						_wvPluginInfo.wvMediaElement.netStream.pause();
 					}
-					var kmediaMediator:KMediaPlayerMediator = facade.retrieveMediator(KMediaPlayerMediator.NAME) as KMediaPlayerMediator;
 					if (_mediaProxy.vo.isFlavorSwitching)
 						_pendingSeekTo = _lastPlayhead;
 					break;
@@ -217,6 +205,38 @@
 					if (_endOfStreamTimer && _endOfStreamTimer.running)
 					{
 						_endOfStreamTimer.stop();
+					}
+					break;
+
+				case NotificationType.DO_SWITCH:
+					if (_isWv)
+					{
+						var preferedFlavorBR:int = int(note.getBody());
+						var index:int = _mediaProxy.getFlavorByBitrate(preferedFlavorBR);
+						//index is zero based, track is not
+						index++;
+						trace ("--select track ", index);
+						_wvPluginInfo.wvMediaElement.netStream.selectTrack(index);
+						sendNotification( NotificationType.SWITCHING_CHANGE_STARTED, {currentIndex : String(index)});
+					}
+					break;
+
+				case NotificationType.ENTRY_READY:
+					//if the first flavor is wv- all flavors are wv
+					if (_mediaProxy.vo.kalturaMediaFlavorArray &&
+						_mediaProxy.vo.kalturaMediaFlavorArray.length &&
+						(_mediaProxy.vo.kalturaMediaFlavorArray[0] is KalturaWidevineFlavorAsset))
+					{
+						_isWv = true;
+						_mediaProxy.vo.forceDynamicStream = true;
+						_mediaProxy.vo.preferedFlavorBR = _mediaProxy.vo.kalturaMediaFlavorArray[0].bitrate;
+						//to fix flavor combo box, re-trigger the setter
+						_mediaProxy.vo.kalturaMediaFlavorArray = _mediaProxy.vo.kalturaMediaFlavorArray.concat();
+					}
+					else
+					{
+						_isWv = false;
+						_mediaProxy.vo.forceDynamicStream = false;
 					}
 					break;

@@ -317,6 +337,20 @@
 					_endOfStreamTimer.start();
 					break;

+				case "NetStream.Wv.SwitchUp":
+				case "NetStream.Wv.SwitchDown":
+					var detailsArr:Array = (e.info.details as String).split(":");
+					if (detailsArr && detailsArr.length)
+					{
+						var indx:int = parseInt(detailsArr[1]);
+						if (_mediaProxy.vo.kalturaMediaFlavorArray.length > indx) {
+							_mediaProxy.vo.preferedFlavorBR = _mediaProxy.vo.kalturaMediaFlavorArray[indx].bitrate
+							sendNotification( NotificationType.SWITCHING_CHANGE_COMPLETE, {newIndex : detailsArr[1], newBitrate: _mediaProxy.vo.preferedFlavorBR }  );
+						}
+
+					}
+					break;
+
 				/*	case "NetStream.Buffer.Empty":

 				break;


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

--- frameworks/projects/framework/src/mx/managers/IFocusManagerComplexComponent.as
+++ frameworks/projects/framework/src/mx/managers/IFocusManagerComplexComponent.as
@@ -0,0 +1,59 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+/**
+ *  The IFocusManagerComplexComponent interface defines the interface
+ *  that components that can have more than one internal focus target
+ *  should implement in order to
+ *  receive focus from the FocusManager.
+ */
+public interface IFocusManagerComplexComponent extends IFocusManagerComponent
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  hasFocusableContent
+	//----------------------------------
+
+	/**
+	 *  A flag that indicates whether the component currently has internal
+	 *  focusable targets
+	 *
+	 */
+	function get hasFocusableContent():Boolean;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Called by the FocusManager when the component receives focus.
+	 *  The component may in turn set focus to an internal component.
+	 *  The components setFocus() method will still be called when focused by
+	 *  the mouse, but this method will be used when focus changes via the
+	 *  keyboard
+	 *
+	 *  @param direction "bottom" if TAB used with SHIFT key, "top" otherwise
+	 */
+	function assignFocus(direction:String):void;
+
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as
@@ -50,6 +50,11 @@
  *  when the data property changes.

  *
  *  @eventType mx.events.FlexEvent.DATA_CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="dataChange", type="mx.events.FlexEvent")]

@@ -63,6 +68,11 @@
  *  @see mx.controls.DataGrid
  *  @see mx.core.IDataRenderer
  *  @see mx.controls.listClasses.IDropInListItemRenderer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class DataGridItemRenderer extends UITextField
 								  implements IDataRenderer,
@@ -79,6 +89,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public function DataGridItemRenderer()
 	{
@@ -158,6 +173,11 @@
 	 *
 	 *  The value is ignored.  Only the listData property is used.
 	 *  @see mx.core.IDataRenderer
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get data():Object
     {
@@ -192,6 +212,11 @@
 	 *  property of the listData.
 	 *
 	 *  @see mx.controls.listClasses.IDropInListItemRenderer
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function get listData():BaseListData
 	{
@@ -227,6 +252,11 @@
      *  Storage for the inline inheriting styles on this object.
 	 *  This CSSStyleDeclaration is created the first time that setStyle()
 	 *  is called on this component to set an inheriting style.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get styleDeclaration():CSSStyleDeclaration
 	{
@@ -290,6 +320,11 @@

     /**
      *  @copy mx.core.UIComponent#getStyle()
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     override public function getStyle(styleProp:String):*
     {
@@ -299,6 +334,11 @@

     /**
      *  @copy mx.core.UIComponent#setStyle()
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
     override public function setStyle(styleProp:String, newValue:*):void
     {
@@ -320,6 +360,11 @@
             // Do not short circuit, because themeColor is a style.
             // It just has side effects, too.
         }
+		*
+		*  @langversion 3.0
+		*  @playerversion Flash 9
+		*  @playerversion AIR 1.1
+		*  @productversion Flex 3
 		*/

         // If this UIComponent didn't previously have any inline styles,
@@ -389,6 +434,11 @@
 	 *  If Flex calls the LayoutManager.invalidateProperties()
 	 *  method on this ILayoutManagerClient, then
 	 *  this function is called when it's time to commit property values.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function validateProperties():void
 	{
@@ -447,6 +497,11 @@
 	 *
 	 *  @param recursive If true, call this method
 	 *  on the object's children.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function validateSize(recursive:Boolean = false):void
 	{
@@ -458,6 +513,11 @@
 	 *  If Flex calls LayoutManager.invalidateDisplayList()
 	 *  method on this ILayoutManagerClient, then
 	 *  this function is called when it's time to update the display list.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function validateDisplayList():void
 	{
@@ -466,6 +526,11 @@

     /**
      *  @copy mx.core.UIComponent#clearStyle()
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function clearStyle(styleProp:String):void
 	{
@@ -474,6 +539,11 @@

     /**
 	 *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function notifyStyleChangeInChildren(
 						styleProp:String, recursive:Boolean):void
@@ -484,6 +554,11 @@
 	 *  Sets up the inheritingStyles
 	 *  and nonInheritingStyles objects
 	 *  and their proto chains so that the getStyle() method can work.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initProtoChain():void
     {
@@ -574,6 +649,11 @@

     /**
 	 *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function regenerateStyleCache(recursive:Boolean):void
     {
@@ -582,6 +662,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function registerEffects(effects:Array /* of String */):void
     {
@@ -589,6 +674,11 @@

     /**
 	 *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getClassStyleDeclarations():Array
     {
@@ -633,6 +723,11 @@
 	 *  The event handler to position the tooltip.
 	 *
 	 *  @param event The event object.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	protected function toolTipShowHandler(event:ToolTipEvent):void
 	{


Whenever making an xmlrpc call to a new site, make sure to check the protogeni/crossdomain.xml (if it exists) rather than the root crossdomain.xml

--- protogeni/demo/shared/Operation.as
+++ protogeni/demo/shared/Operation.as
@@ -16,6 +16,8 @@
 {
   import flash.events.ErrorEvent;
   import flash.events.Event;
+  import flash.utils.Dictionary;
+  import flash.system.Security;
   import com.mattism.http.xmlrpc.ConnectionImpl;

   public class Operation
@@ -71,13 +73,32 @@

     public function call(newSuccess : Function, newFailure : Function) : void
     {
-      success = newSuccess;
-      failure = newFailure;
-      server = new ConnectionImpl(url);
-      server.addEventListener(Event.COMPLETE, callSuccess);
-      server.addEventListener(ErrorEvent.ERROR, callFailure);
-      server.addParam(param, "struct");
-      server.call(method);
+      try
+      {
+        if (visitedSites[url] != true)
+        {
+          visitedSites[url] = true;
+          var hostPattern : RegExp = /^(http(s?):\/\/([^\/]+))(\/.*)?$/;
+          var match = hostPattern.exec(url);
+          if (match != null)
+          {
+            var host : String = match[1];
+            Security.loadPolicyFile(host + "/protogeni/crossdomain.xml");
+          }
+        }
+        success = newSuccess;
+        failure = newFailure;
+        server = new ConnectionImpl(url);
+        server.addEventListener(Event.COMPLETE, callSuccess);
+        server.addEventListener(ErrorEvent.ERROR, callFailure);
+        server.addParam(param, "struct");
+        server.call(method);
+      }
+      catch (e : Error)
+      {
+        Main.getConsole().appendText("\n\nException on XMLRPC Call: "
+                                     + e.toString() + "\n\n");
+      }
     }

     public function getSendXml() : String
@@ -119,7 +140,10 @@
     private var success : Function;
     private var failure : Function;

-    private static var XMLRPC_SERVER : String = "boss.emulab.net";
-    private static var SERVER_PATH : String = ":443/protogeni/xmlrpc/";
+    private static var XMLRPC_SERVER : String = "boss.emulab.net:443";
+//    private static var XMLRPC_SERVER : String = "myboss.jonlab.geni.emulab.net:443";
+    private static var SERVER_PATH : String = "/protogeni/xmlrpc/";
+
+    private static var visitedSites : Dictionary = new Dictionary();
   }
 }


Fix bug with Random counter not running

Fix bug with Random counter not running

--- src/org/flintparticles/common/counters/Random.as
+++ src/org/flintparticles/common/counters/Random.as
@@ -113,6 +113,7 @@
 		 */
 		public function startEmitter( emitter:Emitter ):uint
 		{
+			_running = true;
 			_timeToNext = newTimeToNext();
 			return 0;
 		}


Do not react to TextChanged events when editing a script class name to prevent errors due to incomplete name.

--- Bin/Data/Scripts/Editor/AttributeEditor.as
+++ Bin/Data/Scripts/Editor/AttributeEditor.as
@@ -24,6 +24,9 @@
 String sceneResourcePath = AddTrailingSlash(fileSystem.programDir + "Data");
 bool rememberResourcePath = true;

+// Exceptions for string attributes that should not be continuously edited
+Array<String> noTextChangedAttrs = {"Class Name", "Script Object Type"};
+
 WeakHandle testAnimState;

 UIElement@ SetEditable(UIElement@ element, bool editable)
@@ -131,7 +134,9 @@
     UIElement@ parent = CreateAttributeEditorParent(list, info.name, index, subIndex);
     LineEdit@ attrEdit = CreateAttributeLineEdit(parent, serializables, index, subIndex);
     attrEdit.dragDropMode = DD_TARGET;
-    SubscribeToEvent(attrEdit, "TextChanged", "EditAttribute");
+    // Do not subscribe to continuous edits of certain attributes (script class names) to prevent unnecessary errors getting printed
+    if (noTextChangedAttrs.Find(info.name) == -1)
+        SubscribeToEvent(attrEdit, "TextChanged", "EditAttribute");
     SubscribeToEvent(attrEdit, "TextFinished", "EditAttribute");

     return parent;


Dodano u ManagedValue da se moze pratit.

--- src/Modi/ManagedValue.as
+++ src/Modi/ManagedValue.as
@@ -25,6 +25,20 @@
 		public function set value(value:*):void
 		{
 			_value = value;
+
+
+            if (!this.allowChange("value", _value, value))
+            {
+                return;
+            }
+
+            this.willChange("value", _value, value);
+
+            var oldState:* = _value;
+
+            _value = value;
+
+            this.wasChanged("value", oldState, value);
 		}

         public function get booleanValue():Boolean
@@ -32,5 +46,24 @@
             return Boolean(_value);
         }

+        public function get intValue():int
+        {
+            return int(_value);
+        }
+
+        public function get uintValue():uint
+        {
+            return uint(_value);
+        }
+
+        public function get numberValue():Number
+        {
+            return Number(_value);
+        }
+
+        public function get stringValue():String
+        {
+            return String(_value);
+        }
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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

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

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as
@@ -29,6 +29,11 @@
  *  an AddAction effect; you do not create one yourself.
  *
  *  @see mx.effects.AddAction
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class AddActionInstance extends ActionEffectInstance
 {
@@ -44,6 +49,11 @@
 	 *  Constructor.
 	 *
 	 *  @param target The Object to animate with this effect.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
 	 */
 	public function AddActionInstance(target:Object)
 	{
@@ -62,6 +72,11 @@

 	/**
 	 *  The index of the child within the parent.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
 	 */
 	public var index:int = -1;

@@ -71,6 +86,11 @@

 	/**
 	 *  The location where the child component is added.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
 	 */
 	public var relativeTo:DisplayObjectContainer;

@@ -80,6 +100,11 @@

 	/**
 	 *  The position of the child component, relative to relativeTo, where it is added.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
 	 */
 	public var position:String;


Transferred from the Adobe Open Source Subversion Repository

Revision: 2905
Author:   clucier@adobe.com
Date:     2008-08-19T20:45:59.993275Z

Log Message:
-----------
Changes to allow UIComponent to take advantage of the new bindable filters (bindable wrappers around DropShadowFilter, GlowFilter, etc. that will force the filter stack to be re-evaluated when one or more of the filter parameters change). Checkin-tests: PASS
Reviewer: Jason
Bugs: SDK-16311
QA: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ConvolutionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
@@ -24,16 +24,16 @@
 import flash.geom.Transform;

 import flex.intf.ILayoutItem;
+import flex.geom.Transform;
 import flex.graphics.graphicsClasses.GraphicElement;

 import mx.core.mx_internal;
 import mx.core.UIComponent;
 import mx.events.PropertyChangeEvent;
 import mx.events.PropertyChangeEventKind;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;
 import mx.graphics.IStroke;
-import flex.filters.BaseFilter;
-import flex.filters.IBitmapFilter;
-import flex.geom.Transform;

 use namespace mx_internal;


Tweaked pipeline tuts

Tweaked pipeline tuts

--- src/Levels/Level.as
+++ src/Levels/Level.as
@@ -238,7 +238,7 @@
 											   [ConstIn, Adder, Latch, DataWriter, DataReader, InstructionDecoder, And], [OpcodeValue.OP_SAVI]);
 			L_PTutorial1.predecessors.push(L_DCPU_Basic);
 			L_PTutorial2 = new Level("Pipeline 2", new PipelineTutorial1Goal, true,
-											   [ConstIn, SlowAdder, Latch, DataWriter, DataReader, InstructionDecoder, And], [OpcodeValue.OP_SAVI]);
+											   [ConstIn, Adder, Latch, DataWriter, DataReader, InstructionDecoder, And], [OpcodeValue.OP_SAVI]);
 			L_PTutorial2.predecessors.push(L_PTutorial1);
 			L_PTutorial3 = new Level("Pipeline 3", new InstructionSelectGoal, true,
 											   [ConstIn, Adder, Latch, DataWriter, DataReader, InstructionDecoder, And], [OpcodeValue.OP_SAVI, OpcodeValue.OP_ADDM]);
@@ -246,6 +246,8 @@
 			L_PTutorial4 = new Level("Pipeline 4", new PipelineTutorial2Goal, true,
 											   [ConstIn, SlowAdder, Latch, DataWriter, DataReader, InstructionDecoder, And], [OpcodeValue.OP_SAVI, OpcodeValue.OP_ADDM]);
 			L_PTutorial4.predecessors.push(L_PTutorial2, L_PTutorial3);
+			L_PTutorial1.configurableLatchesEnabled = L_PTutorial2.configurableLatchesEnabled = true;
+			L_PTutorial3.configurableLatchesEnabled = L_PTutorial4.configurableLatchesEnabled = true;
 			//TODO: add fixed modules
 			//TODO: add info


Рефакторинг NoticeDispatcher

Рефакторинг NoticeDispatcher

--- src/main/org/shypl/common/util/notice/NoticeDispatcherHandlers.as
+++ src/main/org/shypl/common/util/notice/NoticeDispatcherHandlers.as
@@ -34,11 +34,11 @@

 			while (_handlers.next()) {
 				var f:Function = _handlers.current;
-				if (f.length === 1) {
-					f.call(null, notice);
+				if (f.length === 0) {
+					f.call();
 				}
 				else {
-					f.call();
+					f.call(null, notice);
 				}
 			}


Image#source prepends RR.asset_host

Image#source prepends RR.asset_host

--- vendor/ras3r/ras3r/controls/Image.as
+++ vendor/ras3r/ras3r/controls/Image.as
@@ -12,6 +12,13 @@
 	public class Image extends UILoader
 	{
 		// >>> PUBLIC PROPERTIES
+		override public function set source (s:Object) :void
+		{
+			if (s is String) s = ReactionController.asset_host + s.toString();
+			super.source = s;
+		}
+
+		// >>> PUBLIC METHODS
 		public function Image ()
 		{
 			super();


Obviously super() is ran anyhow in the extending classes thus error was thrown as per the previous commit. Perhaps I should just start to post patches and wait some weeks until they would be reviewed...

git-svn-id: c197267f952b24206666de142881703007ca05d5@11175 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/auth/SASLAuth.as
+++ src/org/igniterealtime/xiff/auth/SASLAuth.as
@@ -26,7 +26,7 @@

 		public function SASLAuth()
 		{
-			throw new Error( "Don't call directly SASLAuth; use a subclass" );
+			// Don't call directly SASLAuth; use a subclass
 		}

 		/**


speed improvements in SessionManager.getObject() and added code anticipating working flexjs reflection info

--- WeaveJS/src/weavejs/core/SessionManager.as
+++ WeaveJS/src/weavejs/core/SessionManager.as
@@ -550,11 +550,7 @@
 				// implicit session state
 				// first pass: get property names

-				var propertyNames:Array;
-				if (Weave.isAsyncClass(linkableObject['constructor']))
-					propertyNames = JS.getOwnPropertyNames(linkableObject);
-				else
-					propertyNames = JS.getPropertyNames(linkableObject, true); // includes getters
+				var propertyNames:Array = getLinkablePropertyNames(linkableObject, true);
 				var resultNames:Array = [];
 				var resultProperties:Array = [];
 				var property:ILinkableObject = null;
@@ -613,6 +609,8 @@
 			return result;
 		}

+		private static const LINKABLE_PROPERTIES:String = 'linkableProperties';
+
 		/**
 		 * This function gets a list of sessioned property names so accessor functions for non-sessioned properties do not have to be called.
 		 * @param linkableObject An object containing sessioned properties.
@@ -626,25 +624,45 @@
 				JS.error("SessionManager.getLinkablePropertyNames(): linkableObject cannot be null.");
 				return [];
 			}
-
+
+			var propertyNames:Array;
+			var linkableNames:Array;
 			var name:String;
-			// get the names from the object itself because each instance must have different
-			// linkable children, so we don't want to grab them from the prototype
-			var propertyNames:Array;
-			if (Weave.isAsyncClass(linkableObject['constructor']))
-				propertyNames = JS.getOwnPropertyNames(linkableObject);
+			var property:Object;
+
+			var info:Object = WeaveAPI.ClassRegistry.getClassInfo(linkableObject);
+			if (info && false)
+			{
+				if (!info[LINKABLE_PROPERTIES])
+				{
+					info[LINKABLE_PROPERTIES] = propertyNames = [];
+					for each (var lookup:Object in [info.variables, info.accessors])
+						for (name in lookup)
+							if (Weave.isLinkable(Weave.getDefinition(lookup[name].type)))
+								propertyNames.push(name);
+				}
+				propertyNames = info[LINKABLE_PROPERTIES];
+				if (!filtered)
+					return propertyNames; // already filtered by Weave.isLinkable()
+			}
 			else
-				propertyNames = JS.getPropertyNames(linkableObject, true); // includes getters
-
-			var linkableNames:Array = [];
+			{
+				// get the names from the object itself because each instance must have different
+				// linkable children, so we don't want to grab them from the prototype
+				if (Weave.isAsyncClass(linkableObject['constructor']))
+					propertyNames = JS.getOwnPropertyNames(linkableObject);
+				else
+					propertyNames = JS.getPropertyNames(linkableObject, true); // includes getters on prototype
+			}
+
+			linkableNames = [];
 			for each (name in propertyNames)
 			{
-				var property:Object = linkableObject[name];
+				property = linkableObject[name];
 				if (Weave.isLinkable(property))
 					if (!filtered || d2d_child_parent.get(property, linkableObject))
 						linkableNames.push(name);
 			}
-
 			return linkableNames;
 		}

@@ -1121,15 +1139,15 @@
 					// ignore propertyName and always return the internalObject
 					object = (object as ILinkableDynamicObject).internalObject;
 				}
-				else if (getLinkablePropertyNames(object).indexOf(propertyName) < 0)
+				else if (object[propertyName] is ILinkableObject)
+				{
+					object = object[propertyName];
+				}
+				else
 				{
 					if (object is ILinkableObjectWithNewProperties || JS.hasProperty(object, DEPRECATED_STATE_MAPPING))
 						return getObjectFromDeprecatedPath(object[DEPRECATED_STATE_MAPPING], path, i);
 					return null;
-				}
-				else
-				{
-					object = object[propertyName] as ILinkableObject;
 				}
 			}
 			return map_disposed.get(object) ? null : object;


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

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

 package spark.transitions
 {


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

--- frameworks/projects/spark/src/spark/components/supportClasses/AnimationTarget.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/AnimationTarget.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 22564
Author:   tkraikit@adobe.com
Date:     2011-09-14T19:50:07.656843Z

Log Message:
-----------
Update ASDoc "@productversion Flex 4.5.2" => "@productversion Flex 4.6"

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/OnDemandDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ContentBackgroundAppearance.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/FlexVersion.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/ISoftKeyboardHintClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/CalloutArrow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/YearProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/calendarClasses/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ToggleSwitch.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultTransparentActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ToggleSwitchSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateAndTimeProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/collections/NumericDataProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/calendarClasses/DateSpinnerItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/CalendarDate.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultBeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/globalization/supportClasses/DateTimeFormatterEx.as</path>

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

--- frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as
+++ frameworks/projects/spark/src/spark/globalization/supportClasses/FormatPattern.as
@@ -26,7 +26,7 @@
  *  @langversion 3.0
  *  @playerversion Flash 11
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 internal final class FormatPattern
 {
@@ -46,7 +46,7 @@
      *  @langversion 3.0
      *  @playerversion Flash 11
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function FormatPattern(pattern:String, locales:Array)
     {
@@ -73,7 +73,7 @@
      *  @langversion 3.0
      *  @playerversion Flash 11
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public var pattern:String;

@@ -87,7 +87,7 @@
      *  @langversion 3.0
      *  @playerversion Flash 11
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public var locales:Object;
 }


Removed trailing whitespace

Removed trailing whitespace

--- as3/src/asunit/framework/AsyncOperation.as
+++ as3/src/asunit/framework/AsyncOperation.as
@@ -1,11 +1,11 @@
 package asunit.framework {
-    import flash.errors.IllegalOperationError;
+    import flash.errors.IllegalOperationError;

-    import asunit.errors.AssertionFailedError;
+    import asunit.errors.AssertionFailedError;

-    import flash.events.Event;
-    import flash.events.TimerEvent;
-    import flash.utils.Timer;
+    import flash.events.Event;
+    import flash.events.TimerEvent;
+    import flash.utils.Timer;

     public class AsyncOperation{


Avoid crash when application is minimized.

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -285,6 +285,9 @@

 		private function updateBackBuffer() : void
 		{
+			if (!_width || !_height)
+				return;
+
 			_invalidBackBuffer = false;
 			_stage3d.context3D.configureBackBuffer(
 				_width,


Change 20090207-maxcarlson-I by maxcarlson@Bank.lan on 2009-02-07 06:56:52 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Fix mousewheel events in swf9 windows

Bugs Fixed: LPP-7731 - swf9: mousewheel events not working in swf9 on windows

Technical Reviewer: hminsky
QA Reviewer: promanik

Details: Uncomment the event registration for MOUSE_WHEEL - the method was already set up...  braino!

Tests: See LPP-7731

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

--- WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
+++ WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
@@ -89,11 +89,11 @@

         /* TODO [hqm 2008-01] Do we want to do anything with other
-         * events, like click, or mousewheel ?
+         * events, like click?

            stage.addEventListener(MouseEvent.CLICK, reportClick);
-           stage.addEventListener(MouseEvent.MOUSE_WHEEL, reportWheel);
         */
+        stage.addEventListener(MouseEvent.MOUSE_WHEEL, reportWheel);

         LzKeyboardKernel.setCallback(lz.Keys, '__keyEvent');


WeaveMenuItem now sets label to " " when it's "" to fix a display bug

--- WeaveUISpark/src/weave/menus/WeaveMenuItem.as
+++ WeaveUISpark/src/weave/menus/WeaveMenuItem.as
@@ -115,6 +115,11 @@
 		private var _shown:* = true;
 		private var _toggled:* = false;

+		override public function get label():String
+		{
+			return super.label || " ";
+		}
+
 		/**
 		 * This property is checked by Flex's default data descriptor.
 		 */


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

--- frameworks/projects/automation/src/mx/automation/codec/IAutomationPropertyCodec.as
+++ frameworks/projects/automation/src/mx/automation/codec/IAutomationPropertyCodec.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.codec
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4040
Author:   gosmith@adobe.com
Date:     2008-11-07T02:08:56.069851Z

Log Message:
-----------
Improved text hiliting.

Text selections in TextView now hilite using three CSS-settable colors. And you can control whether the selection is shown when the component doesn't have focus, and when the window isn't active.

The visibility of the selection is determined by a new 'selectionVisibility' property on TextView and FxTextBase. The allowed values -- "whenFocused", "whenActive", and "always" -- are available in the new TextSelectionVisibility enum class. This is similar to TextField's 'alwaysShowSelection' property but more general.

The hilite color in each of the three states is determined by the three styles selectionColor, unfocusedSelectionColor, and inactiveSelectionColor. The latter two are new in Gumbo. Note that the existing selectionColor style now applies to selected text as well as to selected list items, etc. We may decide to have unfocusedSelectionColor and inactiveSelectionColor apply to things like list items as well, but that isn't part of this checkin.

QE Notes: The blinking insertion point is now barely visible because it is the selection hilite color. I'll work with the TLF team to get it drawn in a highly-visible way. Also, the selectionColor is not getting properly computed based on the themeColor for FxApplications.
Doc Notes: None
Bugs: None
Reviewer: Deepa

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextSelectionVisibility.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/styles/metadata/SelectionFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -16,8 +16,9 @@
 import flash.events.Event;
 import flash.events.FocusEvent;

+import mx.components.baseClasses.FxComponent;
+import mx.components.TextSelectionVisibility;
 import mx.components.TextView;
-import mx.components.baseClasses.FxComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.TextOperationEvent;
@@ -287,6 +288,45 @@
     }

     //----------------------------------
+    //  selectionVisibility
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _selectionVisibility:String =
+        TextSelectionVisibility.WHEN_FOCUSED;
+
+    /**
+     *  @private
+     */
+    private var selectionVisibilityChanged:Boolean = false;
+
+    /**
+     *  Documentation is not currently available.
+     *
+     *  @default null
+     */
+    public function get selectionVisibility():String
+    {
+        return _selectionVisibility;
+    }
+
+    /**
+     *  @private
+     */
+    public function set selectionVisibility(value:String):void
+    {
+        if (value == _selectionVisibility)
+            return;
+
+        _selectionVisibility = value;
+        selectionVisibilityChanged = true;
+
+        invalidateProperties();
+    }
+
+    //----------------------------------
     //  text
     //----------------------------------

@@ -369,6 +409,12 @@
         {
             textView.restrict = _restrict;
             restrictChanged = false;
+        }
+
+        if (selectionVisibilityChanged)
+        {
+            textView.selectionVisibility = _selectionVisibility;
+            selectionVisibilityChanged = false;
         }

         if (mx_internal::textChanged)


Transferred from the Adobe Open Source Subversion Repository

Revision: 21908
Author:   aaltman@adobe.com
Date:     2011-08-09T20:51:32.342241Z

Log Message:
-----------
Save/restore the value of showFocusIndicator when TextInput/TextArea draw their focus feedback.

QE notes: None
Doc notes: None
Bugs: SDK-31076
Reviewer: aharui
Tests run: checkintests
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -2439,13 +2439,31 @@
             return;
         }

+        // On mobile, 2 problems interfere with FocusManager's
+        // normal resetting of the focus indicator. First, the
+        // mouse down and focus in events on mobile happen out of
+        // order, so the normal resetting of showFocusIndicator
+        // in the mouse down capture handler doesn't happen until
+        // after the focus event. Second, StageText doesn't send
+        // mouse events at all. So, to make the focus indicator
+        // more robust, we store the flag's old value, set it, let
+        // the superclass draw the focus indicator, then restore
+        // the flag's old value.
+        var oldShowFocusIndicator:Boolean;
+
         // Only editable text should have a focus ring.
         if (enabled && editable && focusManager)
+        {
+            oldShowFocusIndicator = focusManager.showFocusIndicator;
             focusManager.showFocusIndicator = true;
+        }

         invalidateSkinState();

         super.focusInHandler(event);
+
+        if (enabled && editable && focusManager)
+            focusManager.showFocusIndicator = oldShowFocusIndicator;
     }

     /**


fix typo in default value of JS output path

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -177,7 +177,7 @@
 		private var _allWorkerCompilerArgs:Array;
 		private var _airDescriptors:Vector.<String> = null;
 		private var _swfOutputPath:String = null;
-		private var _jsOutputPath:String = ";";
+		private var _jsOutputPath:String = ".";
 		private var _outputPathForTarget:String = null;
 		private var _moduleOutputPaths:Array;
 		private var _workerOutputPaths:Array;


Remove ctor from interface.

Remove ctor from interface.

--- lib/src/com/amanitadesign/steam/ISteamWorks.as
+++ lib/src/com/amanitadesign/steam/ISteamWorks.as
@@ -13,8 +13,6 @@

 	public interface ISteamWorks extends IEventDispatcher {
 		[Event(name="steamResponse", type="com.amanitadesign.steam.SteamEvent")]
-		function ISteamWorks(target:IEventDispatcher = null);
-
 		function init():Boolean;
 		function dispose():void;


Transferred from the Adobe Open Source Subversion Repository

Revision: 16560
Author:   smgilson@adobe.com
Date:     2010-06-14T21:14:37.093170Z

Log Message:
-----------
Fix ASDoc version tags for several Flex 4 classes makred as Flex 3

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NavigatorContent.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/RadioButtonGroup.as</path>
<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/events/LoaderInvalidationEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/ListDropIndicator.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/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -81,9 +81,9 @@
  *  @eventType mx.events.FlexEvent.VALUE_COMMIT
  *
  *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="valueCommit", type="mx.events.FlexEvent")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 2600
Author:   gosmith@adobe.com
Date:     2008-07-23T23:39:38.725848Z

Log Message:
-----------
The text attributes on a TextFlow used as the content of a TextGraphic or TextView are now applied after those on the TextGraphic or TextView.

Reviewer: Deepa
Bugs: MXMLG-203
QA: We should have a compile-time test case for this.
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1685,36 +1685,71 @@
 				textFlow = createEmptyTextFlow();
 			}
 		}
+
 		contentChanged = false;
 		textChanged = false;

-        textFlow.blockProgression = blockProgression;
-        textFlow.color = color;
-        textFlow.direction = direction;
-		textFlow.fontFamily = fontFamily;
-		textFlow.fontSize = fontSize;
-		textFlow.fontStyle = fontStyle;
-		textFlow.fontWeight = fontWeight;
-		textFlow.kerning = kerning;
-		textFlow.lineHeight = lineHeight;
-		textFlow.lineBreak = lineBreak;
-		textFlow.lineThrough = lineThrough;
-		textFlow.marginBottom = marginBottom;
-		textFlow.marginLeft = marginLeft;
-		textFlow.marginRight = marginRight;
-		textFlow.marginTop = marginTop;
-		textFlow.paddingBottom = paddingBottom;
-		textFlow.paddingLeft = paddingLeft;
-		textFlow.paddingRight = paddingRight;
-		textFlow.paddingTop = paddingTop;
-		textFlow.textAlign = textAlign;
-		textFlow.textAlignLast = textAlignLast;
-		textFlow.textAlpha = textAlpha;
-		textFlow.textDecoration = textDecoration;
-		textFlow.textIndent = textIndent;
-		textFlow.trackingRight = tracking; // what about trackingLeft?
-		textFlow.verticalAlign = verticalAlign;
-		textFlow.whitespaceCollapse = whiteSpaceCollapse; // different case
+        var containerAttributes:IContainerAttributes =
+            textFlow.containerAttributes;
+        var paragraphAttributes:IParagraphAttributes =
+            textFlow.paragraphAttributes;
+        var characterAttributes:ICharacterAttributes =
+            textFlow.characterAttributes;
+
+        if (!containerAttributes || containerAttributes.blockProgression == null)
+            textFlow.blockProgression = blockProgression;
+        if (!characterAttributes || characterAttributes.color == null)
+            textFlow.color = color;
+        if (!paragraphAttributes || paragraphAttributes.direction == null)
+            textFlow.direction = direction;
+		if (!characterAttributes || characterAttributes.fontFamily == null)
+            textFlow.fontFamily = fontFamily;
+		if (!characterAttributes || characterAttributes.fontSize == null)
+            textFlow.fontSize = fontSize;
+		if (!characterAttributes || characterAttributes.fontStyle == null)
+		    textFlow.fontStyle = fontStyle;
+		if (!characterAttributes || characterAttributes.fontWeight == null)
+		    textFlow.fontWeight = fontWeight;
+		if (!characterAttributes || characterAttributes.kerning == null)
+		    textFlow.kerning = kerning;
+		if (!characterAttributes || characterAttributes.lineHeight == null)
+		    textFlow.lineHeight = lineHeight;
+		if (!containerAttributes || containerAttributes.lineBreak == null)
+		    textFlow.lineBreak = lineBreak;
+		if (!characterAttributes || characterAttributes.lineThrough == null)
+		    textFlow.lineThrough = lineThrough;
+        if (!paragraphAttributes || paragraphAttributes.marginBottom == null)
+		    textFlow.marginBottom = marginBottom;
+        if (!paragraphAttributes || paragraphAttributes.marginLeft == null)
+		    textFlow.marginLeft = marginLeft;
+        if (!paragraphAttributes || paragraphAttributes.marginRight == null)
+		    textFlow.marginRight = marginRight;
+        if (!paragraphAttributes || paragraphAttributes.marginTop == null)
+		    textFlow.marginTop = marginTop;
+        if (!containerAttributes || containerAttributes.paddingBottom == null)
+		    textFlow.paddingBottom = paddingBottom;
+        if (!containerAttributes || containerAttributes.paddingLeft == null)
+		    textFlow.paddingLeft = paddingLeft;
+        if (!containerAttributes || containerAttributes.paddingRight == null)
+		    textFlow.paddingRight = paddingRight;
+        if (!containerAttributes || containerAttributes.paddingTop == null)
+		    textFlow.paddingTop = paddingTop;
+        if (!paragraphAttributes || paragraphAttributes.textAlign == null)
+		    textFlow.textAlign = textAlign;
+        if (!paragraphAttributes || paragraphAttributes.textAlignLast == null)
+		    textFlow.textAlignLast = textAlignLast;
+		if (!characterAttributes || characterAttributes.textAlpha == null)
+		    textFlow.textAlpha = textAlpha;
+		if (!characterAttributes || characterAttributes.textDecoration == null)
+		    textFlow.textDecoration = textDecoration;
+        if (!paragraphAttributes || paragraphAttributes.textIndent == null)
+		    textFlow.textIndent = textIndent;
+		if (!characterAttributes || characterAttributes.trackingRight == null)
+		    textFlow.trackingRight = tracking; // what about trackingLeft?
+        if (!containerAttributes || containerAttributes.verticalAlign == null)
+		    textFlow.verticalAlign = verticalAlign;
+		if (!characterAttributes || characterAttributes.whitespaceCollapse == null)
+		    textFlow.whitespaceCollapse = whiteSpaceCollapse; // different case

 		return textFlow;
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7153
Author:   cframpto@adobe.com
Date:     2009-05-20T20:56:47.114878Z

Log Message:
-----------
When measuring go large and revert back to Math.ceil rather than Math.round when measuring to try to avoid a scrollRect.  We saw this come into play with Corey's TextInput performance test.  Since TextInput components are only 1 line high, if we're low even by a fraction of a pixel in our guesstimate of the line height a scrollRect comes into play.

QA Notes:
Doc Notes:
Bugs:
Reviewers: Corey

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1773,9 +1773,11 @@
         }
         else
         {
-            measuredWidth = Math.round(calculateWidthInChars());
-
-            measuredHeight = Math.round(calculateHeightInLines());
+            // Go large.  For performance reasons, want to avoid a scrollRect
+            // whenever possible in drawBackgroundAndSetScrollRect().  This is
+            // particularly true for 1 line TextInput components.
+            measuredWidth = Math.ceil(calculateWidthInChars());
+            measuredHeight = Math.ceil(calculateHeightInLines());
         }

         //trace("measure", measuredWidth, measuredHeight);


Transferred from the Adobe Open Source Subversion Repository

Revision: 2905
Author:   clucier@adobe.com
Date:     2008-08-19T20:45:59.993275Z

Log Message:
-----------
Changes to allow UIComponent to take advantage of the new bindable filters (bindable wrappers around DropShadowFilter, GlowFilter, etc. that will force the filter stack to be re-evaluated when one or more of the filter parameters change). Checkin-tests: PASS
Reviewer: Jason
Bugs: SDK-16311
QA: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ConvolutionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseDimensionFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/IBitmapFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/IBitmapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/flex/filters/BaseFilter.as" copyfrom-rev="2873" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
+++ frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as
@@ -3,7 +3,10 @@

 import flash.filters.BitmapFilter;
 import flash.filters.GradientBevelFilter;
+
 import mx.core.mx_internal;
+import mx.filters.BaseFilter;
+import mx.filters.IBitmapFilter;

 use namespace mx_internal;


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

--- frameworks/projects/mx/src/mx/events/ListEvent.as
+++ frameworks/projects/mx/src/mx/events/ListEvent.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.events
 {


flare fix

flare fix

--- lib/flare/vis/operator/layout/RadialTreeLayout.as
+++ lib/flare/vis/operator/layout/RadialTreeLayout.as
@@ -261,7 +261,7 @@
 		private function sortedChildren(n : NodeSprite) : Vector.<NodeSprite> {
 			var cc : int = n.childDegree;
 			if (cc == 0) return new Vector.<NodeSprite>();
-			var angleIndices : Vector.<Number> = new Vector.<Number>(cc);
+			var angleIndices : Array = [];
 			var angles : Vector.<NodeSprite> = new Vector.<NodeSprite>(cc);

 			if (_sortAngles) {