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

--- frameworks/projects/framework/src/mx/managers/IToolTipManager2.as
+++ frameworks/projects/framework/src/mx/managers/IToolTipManager2.as
@@ -0,0 +1,211 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+import flash.display.DisplayObject;
+
+import mx.core.IToolTip;
+import mx.core.IUIComponent;
+import mx.effects.IAbstractEffect;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  This interface is used internally by Flex 3.
+ *  Flex 2.0.1 used the IToolTipManager interface.
+ *
+ *  This interface does not extend IToolTipManager
+ *  because IToolTipManager had a dependency on Effect,
+ *  which has a dependency on UIComponent.
+ *  IToolTipManager2 fixes this by depending on IAbstractEffect,
+ *  a new interface in Flex 3.
+ *
+ *  IToolTipManager2 must be in the cross-versioning
+ *  bootstrap set of classes (see bootstrap-defs.as)
+ *  and if the bootstrap loader contains implementation
+ *  classes such as Effect and UIComponent then any apps
+ *  and modules it loads would use the bootstrap's version
+ *  of these classes, instead of using their own versions.
+ */
+public interface IToolTipManager2
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  currentTarget
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get currentTarget():DisplayObject;
+
+	/**
+	 *  @private
+	 */
+	function set currentTarget(value:DisplayObject):void;
+
+    //----------------------------------
+    //  currentToolTip
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get currentToolTip():IToolTip;
+
+	/**
+	 *  @private
+	 */
+	function set currentToolTip(value:IToolTip):void;
+
+    //----------------------------------
+    //  enabled
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get enabled():Boolean;
+
+	/**
+	 *  @private
+	 */
+	function set enabled(value:Boolean):void;
+
+    //----------------------------------
+    //  hideDelay
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get hideDelay():Number;
+
+	/**
+	 *  @private
+	 */
+	function set hideDelay(value:Number):void;
+
+    //----------------------------------
+    //  hideEffect
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get hideEffect():IAbstractEffect;
+
+	/**
+	 *  @private
+	 */
+	function set hideEffect(value:IAbstractEffect):void;
+
+    //----------------------------------
+    //  scrubDelay
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get scrubDelay():Number;
+
+	/**
+	 *  @private
+	 */
+	function set scrubDelay(value:Number):void;
+
+    //----------------------------------
+    //  showDelay
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get showDelay():Number;
+
+	/**
+	 *  @private
+	 */
+	function set showDelay(value:Number):void;
+
+    //----------------------------------
+    //  showEffect
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get showEffect():IAbstractEffect;
+
+	/**
+	 *  @private
+	 */
+	function set showEffect(value:IAbstractEffect):void;
+
+    //----------------------------------
+    //  toolTipClass
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get toolTipClass():Class;
+
+	/**
+	 *  @private
+	 */
+	function set toolTipClass(value:Class):void;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	function registerToolTip(target:DisplayObject, oldToolTip:String,
+							 newToolTip:String):void;
+
+	/**
+	 *  @private
+	 */
+	function registerErrorString(target:DisplayObject, oldErrorString:String,
+								 newErrorString:String):void;
+
+	/**
+	 *  @private
+	 */
+	function sizeTip(toolTip:IToolTip):void;
+
+	/**
+	 *  @private
+	 */
+	function createToolTip(text:String, x:Number, y:Number,
+						   errorTipBorderStyle:String = null,
+						   context:IUIComponent = null):IToolTip;
+
+	/**
+	 *  @private
+	 */
+	function destroyToolTip(toolTip:IToolTip):void;
+}
+
+}


Layout: Fixing up dumb stuff

Layout: Fixing up dumb stuff

--- raw/src/org/yellcorp/lib/layout/Layout.as
+++ raw/src/org/yellcorp/lib/layout/Layout.as
@@ -10,7 +10,7 @@
     private static var _propToAxis:Object;
     private static var _propToVirtualProp:Object;

-    private var propertyConstraints:*;
+    private var propertyConstraints:Dictionary;

     private var xAxis:SingleAxisLayout;
     private var yAxis:SingleAxisLayout;
@@ -242,7 +242,7 @@
     {
         if (!canConstrain(target))
         {
-            throw new ArgumentError("Target cannot acceptFilter any more constraints in the " + _axis + " axis");
+            throw new ArgumentError("Target cannot accept any more constraints in the " + _axis + " axis");
         }

         var nodeFactory:NodeFactory = getNodeFactory(constraintType);
@@ -274,12 +274,8 @@

     public function canConstrain(target:Object):Boolean
     {
-        var count:Number = constrainCount[target];
-
-        // doing it backwards like this means we return true for
-        // NaN as well, which constrainCount will be if we have
-        // no record at all for target
-        return !(count >= 2);
+        var count:int = constrainCount[target];
+        return count < 2;
     }

     public function measure():void
@@ -298,6 +294,7 @@

     public function optimize():void
     {
+        if (!measureProgram) measure();
         if (!updateProgram) compileUpdateProgram();
         measuredUpdateProgram = filterProgramCopy(updateProgram, new ReadOnlyEvaluator());
         filterProgramInPlace(measuredUpdateProgram, new ArithmeticConstFolder());
@@ -502,8 +499,8 @@

     private function incrementConstraint(target:Object):void
     {
-        var count:Number = constrainCount[target];
-        constrainCount[target] = isNaN(count) ? 1 : count + 1;
+        var count:int = constrainCount[target];
+        constrainCount[target] = count + 1;
     }

     private function getNodeFactory(constraintType:String):NodeFactory
@@ -848,18 +845,23 @@
 class SetVirtualProps implements ASTNode
 {
     public var object:Object;
+
     public var vprop0:uint;
+    public var child0:ASTNode;
+
     public var vprop1:uint;
-    public var child0:ASTNode;
     public var child1:ASTNode;
+
     public function SetVirtualProps(object:Object,
             vprop0:uint, child0:ASTNode,
             vprop1:uint = 0, child1:ASTNode = null)
     {
         this.object = object;
+
         this.vprop0 = vprop0;
+        this.child0 = child0;
+
         this.vprop1 = vprop1;
-        this.child0 = child0;
         this.child1 = child1;
     }
     public function eval():*


Passes view info to handlers

Passes view info to handlers

--- src/org/robotlegs/v2/extensions/viewManager/impl/ViewProcessor.as
+++ src/org/robotlegs/v2/extensions/viewManager/impl/ViewProcessor.as
@@ -9,10 +9,12 @@
 {
 	import flash.display.DisplayObject;
 	import flash.display.DisplayObjectContainer;
+	import flash.system.ApplicationDomain;
 	import flash.utils.Dictionary;
 	import flash.utils.getQualifiedClassName;
 	import org.robotlegs.v2.core.api.ILogger;
 	import org.robotlegs.v2.core.impl.Logger;
+	import org.robotlegs.v2.extensions.viewManager.api.IViewClassInfo;
 	import org.robotlegs.v2.extensions.viewManager.api.IViewHandler;
 	import org.robotlegs.v2.extensions.viewManager.api.IViewListener;
 	import org.robotlegs.v2.extensions.viewManager.api.ViewHandlerEvent;
@@ -65,20 +67,25 @@
 			if (_activeListenerByView[view])
 				return;

-			const viewFQCN:String = getQualifiedClassName(view);
+			const fqcn:String = getQualifiedClassName(view);
+
+			// todo: cache this by fqcn + application domain
+			const type:Class = view['constructor'];
+			const domain:ApplicationDomain = view.loaderInfo.applicationDomain;
+			const info:IViewClassInfo = new ViewClassInfo(type, fqcn, domain);

 			// process the view
 			// WARNING: this is totally flawed - we might traverse a different set of nodes
-			var confirmedHandlers:Vector.<IViewHandler> = _confirmedHandlersByFQCN[viewFQCN];
+			var confirmedHandlers:Vector.<IViewHandler> = _confirmedHandlersByFQCN[fqcn];
 			var response:uint;
 			if (confirmedHandlers)
 			{
-				response = processKnownView(view, viewFQCN, confirmedHandlers);
+				response = processKnownView(view, info, confirmedHandlers);
 			}
 			else
 			{
-				_confirmedHandlersByFQCN[viewFQCN] = confirmedHandlers = new Vector.<IViewHandler>;
-				response = processFreshView(view, viewFQCN, confirmedHandlers);
+				_confirmedHandlersByFQCN[fqcn] = confirmedHandlers = new Vector.<IViewHandler>;
+				response = processFreshView(view, info, confirmedHandlers);
 			}

 			// report any matches
@@ -115,7 +122,7 @@

 		private function processFreshView(
 			view:DisplayObject,
-			viewFQCN:String,
+			info:IViewClassInfo,
 			confirmedHandlers:Vector.<IViewHandler>):uint
 		{
 			var handlerResponse:uint = 0;
@@ -139,7 +146,7 @@
 					if (!((combinedResponse & 0xAAAAAAAA) ^ (handler.interests << 1)))
 						continue;

-					handlerResponse = handler.processView(view, null);
+					handlerResponse = handler.processView(view, info);
 					combinedResponse |= handlerResponse;

 					if (handlerResponse)
@@ -157,7 +164,7 @@

 		private function processKnownView(
 			view:DisplayObject,
-			viewFQCN:String,
+			info:IViewClassInfo,
 			confirmedHandlers:Vector.<IViewHandler>):uint
 		{
 			var handlerResponse:uint = 0;
@@ -173,7 +180,7 @@
 					continue;
 				}

-				handlerResponse = handler.processView(view, null);
+				handlerResponse = handler.processView(view, info);
 				combinedResponse |= handlerResponse;

 				if (handlerResponse)


Removed dependance on mx.utils.StringUtil.

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

--- src/as/com/threerings/util/StringUtil.as
+++ src/as/com/threerings/util/StringUtil.as
@@ -25,8 +25,6 @@

 import flash.utils.describeType; // function import

-import mx.utils.*;
-
 public class StringUtil
 {
     /**
@@ -156,10 +154,15 @@
      */
     public static function substitute (str :String, ... args) :String
     {
-        // holy christ the varargs insanity
+        // if someone passed an array as arg 1, fix it
         args = Util.unfuckVarargs(args);
-        args.unshift(str);
-        return mx.utils.StringUtil.substitute.apply(null, args);
+        var len :int = args.length;
+        // TODO: FIXME: this might be wrong, if your {0} replacement has a {1} in it, then
+        // that'll get replaced next iteration.
+        for (var ii : int = 0; ii < len; ii++) {
+            str = str.replace(new RegExp("\\{" + ii + "\\}", "g"), args[ii]);
+        }
+        return str;
     }

     /**
@@ -167,7 +170,37 @@
      */
     public static function trim (str :String) :String
     {
-        return mx.utils.StringUtil.trim(str);
+        var startIdx :int = 0;
+        var endIdx :int = str.length - 1;
+        while (isWhitespace(str.charAt(startIdx))) {
+            startIdx++;
+        }
+        while (endIdx > startIdx && isWhitespace(str.charAt(endIdx))) {
+            endIdx--;
+        }
+        if (endIdx >= startIdx) {
+            return str.slice(startIdx, endIdx + 1);
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * @return true if the specified String is == to a single whitespace character.
+     */
+    public static function isWhitespace (character :String) :Boolean
+    {
+        switch (character) {
+        case " ":
+        case "\t":
+        case "\r":
+        case "\n":
+        case "\f":
+            return true;
+
+        default:
+            return false;
+        }
     }

     public static function toString (obj :*) :String


• Removing documentation tag that got past the auto generation.

git-svn-id: a0b640c5f6b946a52999c53230b38d51de4b98a3@10299 dfb7d73b-c2ec-0310-8fea-fb051d288c6d

--- Support/data/completions/intrinsic/String.as
+++ Support/data/completions/intrinsic/String.as
@@ -5,18 +5,10 @@
 		public function charAt(index:Number = 0):String;
 		public function charCodeAt(index:Number = 0):Number;
 		public function concat(... args):String;
-		AS3 static function fromCharCode(... charCodes):String;
+		public static function fromCharCode(... charCodes):String;
 		public function indexOf(val:String, startIndex:Number = 0):int;
 		public function lastIndexOf(val:String, startIndex:Number = 0x7FFFFFFF):int;
 		public function localeCompare(other:String, ... values):int;
-		), the method adds that
-		 *                            empty string to the array of matches, and then continues searching at the next index position.
-		 *                            The lastIndex property of the regular expression is set to 0 after the
-		 *                            method completes.
-		 *                            If no match is found, the method returns null. If you pass
-		 *                            no value (or an undefined value) as the pattern parameter,
-		 *                            the method returns null.
-		 */
 		public function match(pattern:*):Array;
 		public function replace(pattern:*, repl:Object):String;
 		public function search(pattern:*):int;


Fixed bug where shape would be probed using bounding box if it had an island that was completely off-screen.

--- WeaveUISpark/src/weave/utils/SpatialIndex.as
+++ WeaveUISpark/src/weave/utils/SpatialIndex.as
@@ -387,10 +387,10 @@
 						var genGeomIsPoint:Boolean = genGeom.isPoint();
 						var simplifiedGeom:Vector.<Vector.<BLGNode>> = genGeom.getSimplifiedGeometry(minImportance, dataBounds);

-						if (simplifiedGeom.length == 0)
+						if (simplifiedGeom.length == 0 && genGeom.bounds.overlaps(queryBounds))
 						{
 							result.push(key);
-							continue keyLoop;
+							continue;
 						}

 						// for each part, build the vertices polygon and check for the overlap


fixed bug handling probe over a mix of empty and non-empty Bounds2Ds

--- WeaveUISpark/src/weave/utils/SpatialIndex.as
+++ WeaveUISpark/src/weave/utils/SpatialIndex.as
@@ -679,7 +679,7 @@

 						// Consider all keys until we have found one that overlaps the query center.
 						// After that, only consider keys that overlap query center.
-						if (!foundQueryCenterOverlap || overlapsQueryCenter)
+						if (!foundQueryCenterOverlap || overlapsQueryCenter || recordBounds.isEmpty())
 						{
 							// if this is the first record that overlaps the query center, reset the list of keys
 							if (!foundQueryCenterOverlap && overlapsQueryCenter)


If the TestRunner is unable to instantiate the provided test (it may be an interface), it will now warn and continue rather than exploding

--- asunit-4.0/src/asunit4/runners/TestRunner.as
+++ asunit-4.0/src/asunit4/runners/TestRunner.as
@@ -66,14 +66,21 @@
         public function run(test:Class, result:IResult, methodName:String=null, visualContext:DisplayObjectContainer=null):void {
             runMethodByName(test, result, methodName, visualContext);
         }
-
+
         public function runMethodByName(test:Class, result:IResult, methodName:String=null, visualContext:DisplayObjectContainer=null):void {
-            currentTest            = new test();
             currentTestReflection  = Reflection.create(test);
+            this.result            = result;
+            this.visualContext     = visualContext;
             currentMethod          = null;
             testMethodNameReceived = (methodName != null);
-            this.result            = result;
-            this.visualContext     = visualContext;
+
+            try {
+                currentTest            = new test();
+            }
+            catch(e:VerifyError) {
+                warn("Unable to instantiate provided test case with: " + currentTestReflection.name);
+                return;
+            }

             initializeInjectableMembers();


add pause tween functional add resume tween functional

--- src/aze/motion/EazeTween.as
+++ src/aze/motion/EazeTween.as
@@ -144,7 +144,8 @@
 			{
 				cpt++;
 				var isComplete:Boolean;
-				if (t.isDead) isComplete = true;
+				if (t.pauseTime != 0) isComplete = false;
+				else if (t.isDead) isComplete = true;
 				else
 				{
 					isComplete = time >= t.endTime;
@@ -267,6 +268,7 @@
 		private var _repeat:int;
 		private var startTime:Number;
 		private var endTime:Number;
+		private var pauseTime:Number;
 		private var properties:EazeProperty;
 		private var specials:EazeSpecial;
 		private var autoVisible:Boolean;
@@ -360,6 +362,8 @@
 			_duration = (isNaN(duration) ? smartDuration(String(duration)) : Number(duration)) *(useMilliseconds ? 1 : 1000);
 			endTime = startTime + _duration;

+			pauseTime = 0;
+
 			// set values
 			if (reversed || _duration == 0) update(startTime);
 			if (autoVisible && _duration > 0)
@@ -374,6 +378,20 @@
 			}
 			_started = true;
 			attach(overwrite);
+		}
+
+		public function pause():void
+		{
+			pauseTime = getTimer();
+		}
+
+		public function resume():void
+		{
+			var delta:Number = getTimer() - pauseTime;
+			startTime += delta;
+			endTime += delta;
+
+			pauseTime = 0;
 		}

 		/// Read target properties


Transferred from the Adobe Open Source Subversion Repository

Revision: 3297
Author:   jimurphy@adobe.com
Date:     2008-09-22T17:59:53.303960Z

Log Message:
-----------
Merge 3.0.x revisions 3260,3262,3266,3271,3276,3282,3285,3292,3294 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/FaultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/events/ResultEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.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/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractInvoker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/Operation.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/AbstractMessage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/Fault.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as
+++ frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as
@@ -62,7 +62,7 @@
     function addChildBridge(bridge:IEventDispatcher, bridgeProvider:ISWFBridgeProvider):void;

     /**
-     *  Removes The child bridge.
+     *  Removes the child bridge.
      *
      *  @param bridge The bridge to remove.
      */
@@ -91,6 +91,8 @@

     /**
      *  Tests if the given bridge is one of the sandbox bridges in this group.
+     *
+     *  @param bridge The bridge to test.
      *
      *  @return true if the handle is found; otherwise false.
      */


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

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

 package mx.accessibility
 {


fix wrong update of worldToScreen matrix when the viewport is resized

--- src/aerys/minko/scene/controller/camera/CameraController.as
+++ src/aerys/minko/scene/controller/camera/CameraController.as
@@ -134,7 +134,7 @@

 			worldToView
 				.copyFrom(localToWorld)
-				.invert()
+				.invert();

 			worldToScreen
 				.copyFrom(worldToView)
@@ -199,7 +199,7 @@
 						cameraData.zFar
 					);

-				worldToScreen.copyFrom(_camera.getWorldToLocalTransform()).append(projection);
+                worldToScreen.copyFrom(cameraData.worldToView).append(projection);

 				cameraData.frustum.updateFromMatrix(worldToScreen);


T time!

T time!

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@310 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/ezgame/EZGameControl.as
+++ src/as/com/threerings/ezgame/EZGameControl.as
@@ -268,7 +268,7 @@
     /**
      * Get the names of all currently-set properties that begin with the specified prefix.
      */
-    public function getProperyNames (prefix :String = "") :Array
+    public function getPropertyNames (prefix :String = "") :Array
     {
         var props :Array = [];
         for (var s :String in _gameData) {


Respect buffer thresholds again.

Respect buffer thresholds again.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -2436,6 +2436,21 @@
 		 */
 		private function keepBufferFed():void
 		{
+			// We have to make sure we don't cease buffering until we exceed the
+			// minimum buffer time - since we spoonfeed tags we have to do this
+			// rule manually here.
+			if(_wasBufferEmptied)
+			{
+				if(bufferLength < _desiredBufferTime_Min)
+				{
+					CONFIG::LOGGING
+					{
+						logger.debug("keepBufferFed - waiting until " + bufferLength + " >= " + _desiredBufferTime_Min + " to resume writing tags.");
+					}
+					return;
+				}
+			}
+
 			// Check the actual amount of content present.
 			if(super.bufferLength >= bufferFeedMin && !_wasBufferEmptied)
 			{


Initial and extended buffering behavior.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPNetStream.as
@@ -115,6 +115,7 @@
 		public static var _masterBuffer:ByteArray = new ByteArray();

 		private var neverPlayed:Boolean = true;
+		private var neverBuffered:Boolean = true; // Set after first buffering event.

 		/**
 		 * Constructor.
@@ -156,8 +157,7 @@
 				addEventListener(DRMStatusEvent.DRM_STATUS, onDRMStatus);
 			}

-			this.bufferTime = HLSManifestParser.MAX_SEG_BUFFER * 7.5;
-			trace("Setting bufferTime to " + HLSManifestParser.MAX_SEG_BUFFER * 7.5 + " readback " + this.bufferTime);
+			this.bufferTime = 0.1;
 			this.bufferTimeMax = 0;

 			setState(HTTPStreamingState.INIT);
@@ -380,7 +380,13 @@
 			}

 			trace("Trying to set buffertime to " + value);
-			super.bufferTime = value;
+
+			// We adjust based on whether we have ever encountered a buffering event in this play session.
+			if(neverBuffered)
+				super.bufferTime = 0.1;
+			else
+				super.bufferTime = value;
+
 			trace("   o super.bufferTime = " + super.bufferTime);
 			_desiredBufferTime_Min = Math.max(OSMFSettings.hdsMinimumBufferTime, value);
 			_desiredBufferTime_Max = Math.max(60, _desiredBufferTime_Min * 3);
@@ -680,6 +686,7 @@
 			switch(event.info.code)
 			{
 				case NetStreamCodes.NETSTREAM_BUFFER_EMPTY:
+					neverBuffered = false;
 					emptyBufferInterruptionSinceLastQoSUpdate = true;
 					_wasBufferEmptied = true;


Changes for StudioCameraController

Changes for StudioCameraController

--- src/aerys/minko/scene/controller/camera/ArcBallController.as
+++ src/aerys/minko/scene/controller/camera/ArcBallController.as
@@ -29,7 +29,7 @@
 	 * @author Jean-Marc Le Roux
 	 *
 	 */
-	public final class ArcBallController extends EnterFrameController
+	public class ArcBallController extends EnterFrameController
 	{
 		public static const DEFAULT_MAX_ZOOM		: Number	= 100.0;
 		public static const DEFAULT_MIN_ZOOM		: Number	= 0.0;
@@ -37,35 +37,35 @@

 		private static const MIN_SPEED				: Number	= 0.01;

-		private var _enabled		: Boolean	= true;
-
-		private var _transform		: Matrix4x4	= new Matrix4x4();
-
-		private var _tracking		: Boolean	= false;
-		private var _x				: Number	= 0.;
-		private var _y				: Number	= 0.;
-
-		private var _sensitivity	: Number	= 0.;
-		private var _lockedOnPoles	: Boolean	= true;
-		private var _invertX		: Boolean	= false;
-		private var _invertY		: Boolean	= false;
-
-		private var _rotationX		: Number	= 0.0;
-		private var _rotationY		: Number	= 0.0;
-
-		private var _minZoom		: Number	= 0.0;
-		private var _maxZoom		: Number	= 100.;
-
-		private var _speedScale		: Number	= .9;
-		private var _speed			: Point		= new Point();
-
-		private var _useHandCursor	: Boolean	= true;
-
-		private var _invalid		: Boolean	= false;
-		private var _lastTime		: Number	= 0.;
-		private var _lastTarget		: Group		= null;
-
-		private var _inScene		: uint		= 0;
+		private		var _enabled		: Boolean	= true;
+
+		protected	var _transform	: Matrix4x4	= new Matrix4x4();
+
+		private		var _tracking		: Boolean	= false;
+		private		var _x				: Number	= 0.;
+		private		var _y				: Number	= 0.;
+
+		private		var _sensitivity	: Number	= 0.;
+		private		var _lockedOnPoles	: Boolean	= true;
+		private		var _invertX		: Boolean	= false;
+		private		var _invertY		: Boolean	= false;
+
+		private		var _rotationX		: Number	= 0.0;
+		private		var _rotationY		: Number	= 0.0;
+
+		private		var _minZoom		: Number	= 0.0;
+		private		var _maxZoom		: Number	= 100.;
+
+		private		var _speedScale		: Number	= .9;
+		private		var _speed			: Point		= new Point();
+
+		private		var _useHandCursor	: Boolean	= true;
+
+		protected	var _invalid		: Boolean	= false;
+		private		var _lastTime		: Number	= 0.;
+		private		var _lastTarget		: Group		= null;
+
+		private		var _inScene		: uint		= 0;

 		public function get enabled() : Boolean
 		{
@@ -304,7 +304,7 @@
 			drag(event.localX, event.localY);
 		}

-		private function mouseWheelHandler(event : MouseEvent) : void
+		protected function mouseWheelHandler(event : MouseEvent) : void
 		{
 			zoom(event.delta * -0.01);
 		}


explicit check to prevent compilation warnings

--- src/org/mangui/hls/demux/TSDemuxer.as
+++ src/org/mangui/hls/demux/TSDemuxer.as
@@ -731,7 +731,7 @@
                     }
                     data.position = pos_end + 1;
                 } else {
-                    if(_callback_error) {
+                    if(_callback_error != null) {
                         _callback_error("TS: Could not parse file: sync byte not found @ offset/len " + data.position + "/" + data.length);
                         return;
                     }


- bugfix: fixed yet another occurence of case-sensitive matching of element names in CSS resolution

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

--- src/reprise/css/CSSDeclarationList.as
+++ src/reprise/css/CSSDeclarationList.as
@@ -56,6 +56,10 @@
 				{
 					m_starSelectors.push(item);
 					continue;
+				}
+				if ('.:#'.indexOf(part.charAt(0)) == -1)
+				{
+					part = part.toLowerCase();
 				}
 				if (!m_selectorHeadParts[part])
 				{


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

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

 package mx.preloaders
 {


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

--- frameworks/projects/mx/src/mx/styles/metadata/AlignStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/AlignStyles.as
@@ -1,27 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  Horizontal alignment of children in the container.
- *  Possible values are "left", "center",
- *  and "right".
- *  The default value is "left", but some containers,
- *  such as ButtonBar and ToggleButtonBar,
- *  have different default values.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]

 /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 7445
Author:   gruehle@adobe.com
Date:     2009-05-29T20:51:55.035384Z

Log Message:
-----------
Replace a bunch of event name literals with constants.

Bug: SDK-21271
QA Notes:
Doc Notes:
Reviewer: Chet

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/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ErrorSkin.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as
@@ -24,6 +24,7 @@

 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.events.FlexEvent;

 import spark.components.supportClasses.SkinnableComponent;

@@ -117,7 +118,7 @@
         // Add an "updateComplete" listener to the skin so we can redraw
         // whenever the skin is drawn.
         if (_focusObject.skin)
-            _focusObject.skin.addEventListener("updateComplete",
+            _focusObject.skin.addEventListener(FlexEvent.UPDATE_COMPLETE,
                     skin_updateCompleteHandler, false, 0, true);
 	}


added missing cast to XML mistakenly removed in previous commit

--- WeaveCore/src/weave/core/LibraryUtils.as
+++ WeaveCore/src/weave/core/LibraryUtils.as
@@ -225,7 +225,7 @@
 			if (!swc)
 				throw new Error("Unable to read SWC archive");
 			_library_swf = swc["library.swf"];
-			_catalog_xml = swc["catalog.xml"];
+			_catalog_xml = XML(swc["catalog.xml"]);

 			_swfLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleSWFFault);
 			_swfLoader.addEventListener(IOErrorEvent.IO_ERROR, handleSWFFault);


M ArcBallController : Added stopDrag for MOUSE_OUT event

--- src/aerys/minko/scene/controller/camera/ArcBallController.as
+++ src/aerys/minko/scene/controller/camera/ArcBallController.as
@@ -177,6 +177,7 @@

 			dispatcher.addEventListener(MouseEvent.MOUSE_DOWN, startDrag);
 			dispatcher.addEventListener(MouseEvent.MOUSE_UP, stopDrag);
+			dispatcher.addEventListener(MouseEvent.MOUSE_OUT, stopDrag);
 			dispatcher.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
 			dispatcher.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 152
Author:   proberts@adobe.com
Date:     2008-01-10T20:10:08.980954Z

Log Message:
-----------
Severity: ignore
Description: docs update -- added @mxml sections to class descriptions for Flex AIR UI controls that didn't already have one

Modified Paths:
--------------
<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/controls/FileSystemList.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/FileSystemDataGrid.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>

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

--- frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
+++ frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as
@@ -86,6 +86,21 @@
  *  to these methods.
  *  For an itemClick event, pass event.index.

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

+ *
+ *

+ *  <mx:FileSystemHistoryButton
+ *    Properties
+ *    dataProvider="undefined"
+ *
+ *    Events
+ *    itemClick="No default"
+ *  />
+ *

+ *
  *  @see mx.controls.FileSystemList
  *  @see mx.controls.FileSystemDataGrid
  */


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

--- frameworks/projects/framework/src/mx/logging/errors/InvalidCategoryError.as
+++ frameworks/projects/framework/src/mx/logging/errors/InvalidCategoryError.as
@@ -0,0 +1,62 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.logging.errors
+{
+
+/**
+ *  This error is thrown when a category specified for a logger
+ *  contains invalid characters or is malformed.
+ *  This error is thrown by the following method:
+ *

+ *
Log.getLogger() if a category specified
+ *    is malformed.

+ *

+ */
+public class InvalidCategoryError extends Error
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  Constructor.
+	 *
+	 *  @param message The message that describes this error.
+     */
+    public function InvalidCategoryError(message:String)
+    {
+        super(message);
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+         /**
+	 *  Returns the messge as a String.
+	 *
+	 *  @return The message.
+	 *
+	 */
+	public function toString():String
+    {
+        return String(message);
+    }
+}
+
+}