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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -9933,7 +9933,7 @@
     {
         if (overlayReferenceCount > 0 && --overlayReferenceCount == 0 && overlay)
         {
-            removeEventListener("resize", overlay_resizeHandler);
+            removeEventListener(ResizeEvent.RESIZE, overlay_resizeHandler);

             if (super.getChildByName("overlay"))
                 $removeChild(overlay);


Transferred from the Adobe Open Source Subversion Repository

Revision: 12570
Author:   egeorgie@adobe.com
Date:     2009-12-05T00:37:35.278281Z

Log Message:
-----------
Fix http://bugs.adobe.com/jira/browse/SDK-23746 Side-effecting the x/y properties on a component and invalidating the properties causes parent display list invalidation and http://bugs.adobe.com/jira/browse/SDK-23986 make UIComponent.transformAround so it OPTIONALLY invalidates parent displayList

Problem: We are invalidating parent based on checks of x & y against oldX & oldY in validateProperties.
Fix: Move the checks to the x & y setters. Additionally add the optional parameter "invalidateLayout" to ILayoutElement.transformAround method.

QE notes: None
Doc notes: None
Bugs: SDK-2374, SDK-23986
Reviewer: Deepa
Tests run: checkintests, mustella gumbo/layout, gumbo/core/Group
Is noteworthy for integration: No

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="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/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -14,7 +14,6 @@

 import flash.accessibility.Accessibility;
 import flash.accessibility.AccessibilityProperties;
-import flash.system.Capabilities;
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
@@ -39,6 +38,7 @@
 import flash.geom.Transform;
 import flash.geom.Vector3D;
 import flash.system.ApplicationDomain;
+import flash.system.Capabilities;
 import flash.text.TextFormatAlign;
 import flash.text.TextLineMetrics;
 import flash.utils.getQualifiedClassName;
@@ -2160,6 +2160,9 @@
         }

         invalidateProperties();
+
+        if (parent && parent is UIComponent)
+            UIComponent(parent).childXYChanged();

         if (hasEventListener("xChanged"))
             dispatchEvent(new Event("xChanged"));
@@ -2537,6 +2540,9 @@
             invalidateTransform();
         }
         invalidateProperties();
+
+        if (parent && parent is UIComponent)
+            UIComponent(parent).childXYChanged();

         if (hasEventListener("yChanged"))
             dispatchEvent(new Event("yChanged"));
@@ -7840,8 +7846,6 @@

         if (x != oldX || y != oldY)
         {
-            if (parent && parent is UIComponent)
-                UIComponent(parent).childXYChanged();
             dispatchMoveEvent();
         }

@@ -12555,8 +12559,18 @@
                                     translation:Vector3D = null,
                                     postLayoutScale:Vector3D = null,
                                     postLayoutRotation:Vector3D = null,
-                                    postLayoutTranslation:Vector3D = null):void
-    {
+                                    postLayoutTranslation:Vector3D = null,
+                                    invalidateLayout:Boolean = true):void
+    {
+        // Make sure that no transform setters will trigger parent invalidation.
+        // Reset the flag at the end of the method.
+        var oldIncludeInLayout:Boolean;
+        if (!invalidateLayout)
+        {
+            oldIncludeInLayout = _includeInLayout;
+            _includeInLayout = false;
+        }
+
         // TODO (chaase): Would be nice to put this function in a central place
         // to be used by UIComponent, SpriteVisualElement, UIMovieClip, and
         // GraphicElement, since they all have similar or identical functions
@@ -12591,8 +12605,12 @@
             _layoutFeatures.transformAround(transformCenter, scale, rotation,
                 translation, postLayoutScale, postLayoutRotation,
                 postLayoutTranslation);
-            invalidateTransform();
+            invalidateTransform();
+
+            // Will not invalidate parent if we have set _includeInLayout to false
+            // in the beginning of the method
             invalidateParentSizeAndDisplayList();
+
             if (prevX != _layoutFeatures.layoutX)
                 dispatchEvent(new Event("xChanged"));
             if (prevY != _layoutFeatures.layoutY)
@@ -12646,6 +12664,9 @@
                 }
             }
         }
+
+        if (!invalidateLayout)
+            _includeInLayout = oldIncludeInLayout;
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3222
Author:   jimurphy@adobe.com
Date:     2008-09-16T14:09:08.134976Z

Log Message:
-----------
Merged 3.0.x revisions 3157,3162,3165-3166,3168,3177,3180-3183,3185,3187,3189,3199 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TileList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.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/build_framework.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.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="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.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/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/mx/src/mx/controls/NumericStepper.as
+++ frameworks/projects/mx/src/mx/controls/NumericStepper.as
@@ -1044,7 +1044,7 @@
                                   maximum;
         widestNumber += stepSize;

-        var lineMetrics:TextLineMetrics = measureText(widestNumber.toString());
+        var lineMetrics:TextLineMetrics = measureText(checkValidValue(widestNumber).toString());

         var textHeight:Number = inputField.getExplicitOrMeasuredHeight();
         var buttonHeight:Number = prevButton.getExplicitOrMeasuredHeight() +


Fixed GraphDistanceFilter to include edges connecting node of maximal distance.

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@218 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare/src/flare/vis/operator/filter/GraphDistanceFilter.as
+++ flare/src/flare/vis/operator/filter/GraphDistanceFilter.as
@@ -66,14 +66,21 @@
 				}
 				// -- end fix
 				depths[xn] = d;
-				if (d == distance) continue; // stop traversal at max distance

-				xn.visitEdges(function(e:EdgeSprite):void {
-					if (depths[e] == undefined) {
-						depths[e] = d+1;
-						q.push(e);
-					}
-				}, links);
+				if (d == distance) {
+					xn.visitEdges(function(e:EdgeSprite):void {
+						if (depths[e.target]==d && depths[e.source]==d) {
+							depths[e] = d+1;
+						}
+					}, links);
+				} else {
+					xn.visitEdges(function(e:EdgeSprite):void {
+						if (depths[e] == undefined) {
+							depths[e] = d+1;
+							q.push(e);
+						}
+					}, links);
+				}
 			}

 			// now set visibility based on traversal results


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

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

 package mx.charts.series
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</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/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFontRegistry.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/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.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/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.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/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.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/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.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/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13277
Author:   hmuller@adobe.com
Date:     2010-01-05T17:33:32.742052Z

Log Message:
-----------
Changed the RichText.text set method to short-circuit if _text == value (as in TextBase and RichEditableText) and if the value of _text was most recently set by explicitly setting the text property.

QE notes:
Doc notes:
Bugs: sdk-24838
Reviewer: Carol
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -15,7 +15,6 @@
 import flash.display.DisplayObject;
 import flash.text.TextFormat;

-import flashx.textLayout.tlf_internal;
 import flashx.textLayout.compose.ISWFContext;
 import flashx.textLayout.conversion.ConversionType;
 import flashx.textLayout.conversion.ITextExporter;
@@ -30,6 +29,7 @@
 import flashx.textLayout.factory.TextLineFactoryBase;
 import flashx.textLayout.factory.TruncationOptions;
 import flashx.textLayout.formats.ITextLayoutFormat;
+import flashx.textLayout.tlf_internal;

 import mx.core.IEmbeddedFontRegistry;
 import mx.core.IFlexModuleFactory;
@@ -404,6 +404,12 @@
 	private var textChanged:Boolean = false;

 	/**
+	 *  @private
+	 *  Source of text: one of "text", "textFlow" or "content".*
+	 */
+    private var source:String = "text";
+
+	/**
      *  @private
      */
     override public function get text():String
@@ -445,6 +451,11 @@
     	// (which is the default state).
     	if (value == null)
     		value = "";
+
+		// If the most recent change to _text was caused by calling this method,
+		// then it's safe to short-cicuit in the same way that TextBase does.
+		if ((source == "text") && (value == _text))
+			return;

     	// Don't return early if value is the same as _text,
     	// because _text might have been produced from setting
@@ -457,6 +468,7 @@

     	_text = value;
     	textChanged = true;
+		source = "text";

     	// If more than one of 'text', 'textFlow', and 'content' is set,
     	// the last one set wins.
@@ -576,6 +588,7 @@

         _content = value;
         contentChanged = true;
+		source = "content";

 		// If more than one of 'text', 'textFlow', and 'content' is set,
 		// the last one set wins.
@@ -926,6 +939,7 @@

 		_textFlow = value;
 		textFlowChanged = true;
+		source = "textFlow";

 		// If more than one of 'text', 'textFlow', and 'content' is set,
 		// the last one set wins.


Transferred from the Adobe Open Source Subversion Repository

Revision: 20535
Author:   jszeto@adobe.com
Date:     2011-03-02T03:58:13.154109Z

Log Message:
-----------
TextArea auto-scroll interaction fix

http://bugs.adobe.com/jira/browse/SDK-29679 - Editing text user experience is inconsistent

Added a new parameter to the positioning logic. Now we have a mode where we don't try to position the entire element in the viewable area. We use this mode if the softkeyboard is already open.

QE notes: none
Doc notes: none
Bugs: SDK-29679
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -1019,7 +1019,10 @@
      *  @param doValidateNow if true, call validateNow() at the end of the
      *  function
      */
-    private function ensureElementPositionIsVisible(element:IVisualElement, elementLocalBounds:Rectangle = null, doValidateNow:Boolean = true):void
+    private function ensureElementPositionIsVisible(element:IVisualElement,
+                                                    elementLocalBounds:Rectangle = null,
+                                                    entireElementVisible:Boolean = true,
+                                                    doValidateNow:Boolean = true):void
     {
         // First check that the element is a descendant
         // If we are a GraphicElement, use the element's parent
@@ -1050,7 +1053,7 @@

             // Scroll the element into view

-            var delta:Point = layout.getScrollPositionDeltaToAnyElement(element, elementLocalBounds);
+            var delta:Point = layout.getScrollPositionDeltaToAnyElement(element, elementLocalBounds, entireElementVisible);

             if (delta)
             {
@@ -2676,7 +2679,11 @@
                 }
                 else
                 {
-                    ensureElementPositionIsVisible(lastFocusedElement, lastFocusedElementCaretBounds);
+                    // Only show entire element if we just activated the soft keyboard
+                    // If the predictive text bar showed up, we don't want the
+                    // the element to jump
+                    var isSoftKeyboardActive:Boolean = oldSoftKeyboardHeight > 0 || oldSoftKeyboardWidth > 0;
+                    ensureElementPositionIsVisible(lastFocusedElement, lastFocusedElementCaretBounds, !isSoftKeyboardActive);
                     lastFocusedElementCaretBounds = null;
                 }
             }
@@ -2750,7 +2757,8 @@
             return;
         }

-        ensureElementPositionIsVisible(lastFocusedElement, event.newCaretBounds, false);
+        // If caretBounds is changing, minimize the scroll
+        ensureElementPositionIsVisible(lastFocusedElement, event.newCaretBounds, false, false);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7952
Author:   cframpto@adobe.com
Date:     2009-06-18T09:57:23.131767Z

Log Message:
-----------
PARB changes for RichEditableText, TextArea and TextInput

RichEditableText, TextArea
--------------------------
content:Object setter only for use by MXML compiler
textFlow:TextFlow getter/setter added
scrollToPosition -> scrollToRange()
getSelectionFormat() -> getFormatOfRange(requestedFormats:Vector.<String> = null, anchorPosition=-1,                  activePosition=-1):TextLayoutFormat
    If either position is -1, the current selection will be used.
setSelectionFormat() -> setFormatOfRange(format:TextLayoutFormat, anchorPosition=-1, activePosition=-1):void
    If either position is -1, the current selection will be used.
export() removed

RichEditableText, TextBase
--------------------------
autoSize removed
widthInChars defaults to NaN
heightInLines defaults to NaN
    If both are NaN, and not in scroller, it will autoSize.
    If both are NaN, and in scroller, widthInChars effectively 15, heightInLines effectively 10.
    If widthInChars is NaN and heightInLines is not, widthInChars effectively 1.
    If heightInLines is NaN and widthInChars is not, heightInLines effectively 1.
selectionVisibility:String -> selectionHighlighting:String
TextSelectionVisibiliy.as -> TextSelectionHightlighting.as
setSelection -> selectRange(anchor, active) and the args are no longer optional
selectAll() added

TextBase
--------
TextBase.as -> SkinnableTextBase.as
it will not support any non-inheriting styles
textView skin part -> textDisplay
widthInChars property removed and moved to TextInput and TextArea

Styles
-------
Renamed style selectionColor -> focusedTextSelectionColor
Renamed style unfocusedSelectionColor -> unfocusedTextSelectionColor
Renamed inactiveSelectionColor -> inactiveTextSelectionColor

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/styles/metadata/SelectionFormatTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as" copyfrom-rev="7834" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextSelectionVisibility.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</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/spark/components/TextArea.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextSelectionVisibility.as" copyfrom-rev="7834" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextSelectionHighlighting.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -13,11 +13,17 @@
 {

 import flash.events.Event;
-
-import spark.components.supportClasses.TextBase;
+import flashx.textLayout.elements.TextFlow;
+import flashx.textLayout.formats.TextLayoutFormat;
+
+import mx.core.mx_internal;
 import mx.core.ScrollPolicy;
 import mx.events.FlexEvent;
+
+import spark.components.supportClasses.SkinnableTextBase;
 import spark.events.TextOperationEvent;
+
+use namespace mx_internal;

 //--------------------------------------
 //  Styles
@@ -110,7 +116,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class TextArea extends TextBase
+public class TextArea extends SkinnableTextBase
 {
     include "../core/Version.as";

@@ -170,14 +176,15 @@
      */
     override public function set text(value:String):void
     {
-        // Setting 'text' temporarily causes 'content' to become null.
-        // Later, after the 'text' has been committed into the TextFlow,
-        // getting 'content' will return the TextFlow.
-        setContent(null);
+        // Of 'text', 'textFlow', and 'content', the last one set wins.
+
         super.text = value;

         // Trigger bindings to textChanged.
         dispatchEvent(new Event("textChanged"));
+
+        // The default event to trigger a validator.
+        dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
     }

     //--------------------------------------------------------------------------
@@ -190,13 +197,6 @@
     //  content
     //----------------------------------

-   /**
-     *  @private
-     *  Once the text or content is composed initially, the content getter
-     *  will return the TextFlow, rather than the initial content.
-     */
-    private var useTextFlowForContent:Boolean = false;
-
     /**
      *  @private
      *  This metadata tells the MXML compiler to disable some of its default
@@ -215,41 +215,99 @@
     [RichTextContent]

     /**
+     *  This write-only property is for internal use by the MXML compiler.
+     *  Please use the textFlow property to set
+     *  rich text content.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function set content(value:Object):void
+    {
+        // Of 'text', 'textFlow', and 'content', the last one set wins.
+
+        setContent(value);
+    }
+
+    //----------------------------------
+    //  textFlow
+    //----------------------------------
+
+    [Bindable("change")]
+
+    /**
+     *  The TextFlow displayed by this component.
+     *
+     *
A TextFlow is the most important class
+     *  in the Text Layout Framework.
+     *  It is the root of a tree of FlowElements
+     *  representing rich text content.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get textFlow():TextFlow
+    {
+        return getTextFlow();
+    }
+
+    /**
+     *  @private
+     */
+    public function set textFlow(value:TextFlow):void
+    {
+        // Of 'text', 'textFlow', and 'content', the last one set wins.
+
+        setTextFlow(value);
+    }
+
+    //----------------------------------
+    //  heightInLines
+    //----------------------------------
+
+    /**
      *  Documentation is not currently available.
-     *
-     *  A TextFlow object is not shareable.  To clone a TextFlow use
-     *  TextFlow.deepCopy().
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get content():Object
-    {
-        return textView && useTextFlowForContent ? textView.textFlow :
-                                                   getContent();
-    }
-
-    /**
-     *  @private
-     */
-    public function set content(value:Object):void
-    {
-        if (value == getContent())
-            return;
-
-        // Setting 'content' temporarily causes 'text' to become null.
-        // Later, after the 'content' has been committed into the TextFlow,
-        // getting 'text' will extract the text from the TextFlow.
-        super.text = null;
-        setContent(value);
-
-        useTextFlowForContent = false;
-    }
-
-    //----------------------------------
-    //  heightInLines
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get heightInLines():Number
+    {
+        return getHeightInLines();
+    }
+
+    /**
+     *  @private
+     */
+    public function set heightInLines(value:Number):void
+    {
+        setHeightInLines(value);
+    }
+
+    //----------------------------------
+    //  scroller
+    //----------------------------------
+
+    [SkinPart(required="false")]
+
+    /**
+     *  The optional Scroller used to scroll the RichEditableText.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var scroller:Scroller;
+
+    //----------------------------------
+    //  widthInChars
     //----------------------------------

     /**
@@ -260,35 +318,19 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function get heightInLines():Number
-    {
-        return getHeightInLines();
-    }
-
-    /**
-     *  @private
-     */
-    public function set heightInLines(value:Number):void
-    {
-        setHeightInLines(value);
-    }
-
-    //----------------------------------
-    //  scroller
-    //----------------------------------
-
-    [SkinPart(required="false")]
-
-    /**
-     *  The optional Scroller used to scroll the RichEditableText.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public var scroller:Scroller;
-
+    public function get widthInChars():Number
+    {
+        return getWidthInChars();
+    }
+
+    /**
+     *  @private
+     */
+    public function set widthInChars(value:Number):void
+    {
+        setWidthInChars(value);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overridden methods
@@ -345,7 +387,7 @@
     {
         super.partAdded(partName, instance);

-        if (instance == textView)
+        if (instance == textDisplay)
         {
             // In default.css, the TextArea selector has a declaration
             // for lineBreak which sets it to "toFit".  It needs to be on
@@ -354,10 +396,10 @@

             // The skin is loaded after the intial properties have been
             // set so these wipe out explicit sets.
-			textView.multiline = true;
+			textDisplay.multiline = true;
         }

-        // The scroller, between textView and this in the chain, should not
+        // The scroller, between textDisplay and this in the chain, should not
         // getFocus.
         if (instance == scroller)
         {
@@ -387,12 +429,15 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function export():XML
-    {
-        if (!textView)
+    public function getFormatOfRange(requestedFormats:Vector.<String>=null,
+                                     anchorPosition:int=-1,
+                                     activePosition:int=-1):TextLayoutFormat
+    {
+        if (!textDisplay)
             return null;

-        return textView.export();
+        return textDisplay.getFormatOfRange(requestedFormats, anchorPosition,
+                                            activePosition);
     }

     /**
@@ -403,52 +448,32 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getSelectionFormat(names:Array = null):Object
-    {
-        if (!textView)
-            return null;
-
-        return textView.getSelectionFormat(names);
-    }
-
-    /**
-     *  Documentation is not currently available.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function setSelectionFormat(attributes:Object):void
-    {
-        if (!textView)
+    public function setFormatOfRange(format:TextLayoutFormat,
+                                     anchorPosition:int=-1,
+                                     activePosition:int=-1):void
+    {
+        if (!textDisplay)
             return;

-        textView.setSelectionFormat(attributes);
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden event handlers: TextBase
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Dispatched when there is an editing operation in RichEditableText.
-     */
-    override protected function textView_changeHandler(
-                                        event:TextOperationEvent):void
-    {
-        //trace("TextArea.textView_changeHandler");
-
-        // A compose has been done so switch from the user's specified content
-        // (or null if text was specified) to the textFlow.
-        useTextFlowForContent = true;
-
-        super.textView_changeHandler(event);
-    }
-
+        textDisplay.setFormatOfRange(format, anchorPosition, activePosition);
+    }
+
+    /**
+     *  @copy flashx.textLayout.container.ContainerController#scrollToPosition()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function scrollToRange(anchorPosition:int = 0,
+                                  activePosition:int = int.MAX_VALUE):void
+    {
+        if (!textDisplay)
+            return;
+
+        textDisplay.scrollToRange(anchorPosition, activePosition);
+    }
 }

 }


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

--- frameworks/projects/spark/src/spark/core/NavigationUnit.as
+++ frameworks/projects/spark/src/spark/core/NavigationUnit.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 6257
Author:   smgilson@adobe.com
Date:     2009-04-24T21:28:52.430843Z

Log Message:
-----------
ASDoc edits for effects

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>

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

--- frameworks/projects/spark/src/spark/effects/easing/Sine.as
+++ frameworks/projects/spark/src/spark/effects/easing/Sine.as
@@ -11,9 +11,23 @@
 package spark.effects.easing
 {
 /**
- * Provides easing functionality using a Sine function and a
- * parameter that specifies how much time to spend easing in
- * and out.
+ *  The Sine class defines easing functionality using a Sine function.
+ *  Easing consists of two phases: the acceleration, or ease in phase,
+ *  followed by the deceleration, or ease out phase.
+ *  Use the easeInFraction property to specify
+ *  the percentage of an animation accelerating.
+ *
+ *  @mxml
+ *
+ *
The <mx:Sine> tag
+ *  inherits all of the tag attributes of its of its superclass,
+ *  and adds the following tag attributes:

+ *
+ *

+ *  <mx:Sine
+ *    id="ID"
+ *   />
+ *

  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -23,8 +37,12 @@
 public class Sine extends EaseInOutBase
 {
     /**
-     * Constructs a Sine instance with an optional
-     * easeInFraction parameter.
+     *  Constructor.
+     *
+     *  @param easeInFraction Sets the value of
+     *  the easeInFraction property. The default value is
+     *  EasingFraction.IN_OUT, which eases in for the first half
+     *  of the time and eases out for the remainder.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -37,11 +55,17 @@
     }

     /**
-     * @inheritDoc
+     *  Returns a value that represents the eased fraction during the
+     *  ease in phase of the animation.
+     *  The easing calculation for Sine is equal to
+     *  1 - cos(fraction*PI/2).
+     *
+     *  @param fraction The fraction elapsed of the easing in phase
+     *  of the animation, between 0.0 and 1.0.
      *
-     * The easeIn calculation for Sine is equal to
-     * 1 - cos(fraction*PI/2).
-     *
+     *  @return A value that represents the eased value for this
+     *  phase of the animation.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -53,10 +77,16 @@
     }

     /**
-     * @inheritDoc
+     *  Returns a value that represents the eased fraction during the
+     *  ease out phase of the animation.
+     *  The easing calculation for Sine is equal to
+     *  sin(fraction*PI/2).
+     *
+     *  @param fraction The fraction elapsed of the easing out phase
+     *  of the animation, between 0.0 and 1.0.
      *
-     * The easeOut calculation for Sine is equal to
-     * sin(fraction*PI/2).
+     *  @return A value that represents the eased value for this
+     *  phase of the animation.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


flashlsOSMF: speed up level switching

flashlsOSMF: speed up level switching

--- src/org/mangui/osmf/plugins/traits/HLSDynamicStreamTrait.as
+++ src/org/mangui/osmf/plugins/traits/HLSDynamicStreamTrait.as
@@ -60,11 +60,7 @@
             Log.debug("HLSDynamicStreamTrait:autoSwitchChangeStart:" + value);
             }
             if (value == true && _hls.autoLevel == false) {
-                _hls.loadLevel = -1;
-                // only seek if position is set
-                if (!isNaN(_hls.position)) {
-                    _hls.stream.seek(_hls.position);
-                }
+                _hls.nextLevel = -1;
             }
         }

@@ -73,7 +69,7 @@
             Log.debug("HLSDynamicStreamTrait:switchingChangeStart(newSwitching/index):" + newSwitching + "/" + index);
             }
             if (newSwitching) {
-                _hls.loadLevel = index;
+                _hls.currentLevel = index;
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 7287
Author:   chaase@adobe.com
Date:     2009-05-26T21:29:39.221182Z

Log Message:
-----------
Changed fixedThumbSize and smoothScrolling properties on ScrollBar to be styles instead, per a recent ARB decision.

QE Notes: None
Doc Notes: None
Bugs: sdk-21031
Reviewer: Glenn
tests: checkintests mustella gumbo/ScrollBar gumbo/Scroller

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -126,6 +126,26 @@
  *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:fixedThumbSize
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="fixedThumbSize", type="Boolean", inherit="yes")]
+
+/**
+ *  @copy spark.components.supportClasses.GroupBase#style:smoothScrolling
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="smoothScrolling", type="Boolean", inherit="yes")]

 [IconFile("SkinnableContainer.png")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 8483
Author:   smgilson@adobe.com
Date:     2009-07-09T17:52:48.367800Z

Log Message:
-----------
Second checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
+++ frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as
@@ -53,7 +53,7 @@
 *  attributes of its superclass and adds the following tag attributes:

 *
 *

-*  <DisplacementMapFilter
+*  <s:DisplacementMapFilter
 *    Properties
 *    alpha="0"
 *    color="0x000000"


- Added a method to get the point of intersection.
- Added getLength().
- Took out crazy null-tolerance in equals(). If your line is malformed,
  you may get NPE's trying to test equality with another line. Fix your line.

These are line segments anyway. We should maybe rename this
class to LineSegment.

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

--- src/as/com/threerings/util/Line.as
+++ src/as/com/threerings/util/Line.as
@@ -42,9 +42,25 @@
         this.stop = stop;
     }

+    /**
+     * Get the length of this line.
+     */
+    public function getLength () :Number
+    {
+        return Point.distance(start, stop);
+    }
+
     public function isIntersected (line :Line) :Boolean
     {
         return getIntersectionType(line) != DOES_NOT_INTERSECT;
+    }
+
+    /**
+     * Return the point at which the other line intersects us.
+     */
+    public function getIntersectionPoint (line :Line) :Point
+    {
+        return getIntersection(line, true) as Point;
     }

     /**
@@ -58,6 +74,28 @@
      */
     public function getIntersectionType (line :Line) :int
     {
+        return getIntersection(line, false) as int;
+    }
+
+    // from interface Equalable
+    public function equals (o :Object) :Boolean
+    {
+        var other :Line = o as Line; // or null if not a line
+        if (other == null) {
+            return false;
+        }
+
+        // both end points must be the same, in the same order
+        return start.equals(other.start) && stop.equals(other.stop);
+    }
+
+    /**
+     * Internal method that calculates whether the other line intersects
+     * and returns either the intersected point or merely the intersection
+     * type.
+     */
+    protected function getIntersection (line :Line, returnPoint :Boolean) :*
+    {
         // rotate so that this line is horizontal, with the start on the left, at (0, 0)
         var trans :Matrix = new Matrix();
         trans.translate(-start.x, -start.y);
@@ -65,50 +103,33 @@
         var thisLineStop :Point = trans.transformPoint(stop);
         var thatLineStart :Point = trans.transformPoint(line.start);
         var thatLineStop :Point = trans.transformPoint(line.stop);
+        var interp :Point;
+        var type :int;
+
         if (thatLineStart.y >= 0 && thatLineStop.y <= 0) {
-            var interp :Point = Point.interpolate(thatLineStart, thatLineStop, thatLineStop.y /
+            interp = Point.interpolate(thatLineStart, thatLineStop, thatLineStop.y /
                 (thatLineStop.y + (-thatLineStart.y)));
-            if (interp.x >= 0 && interp.x <= thisLineStop.x) {
-                return INTERSECTION_NORTH;
-            } else {
-                return DOES_NOT_INTERSECT;
-            }
+            type = INTERSECTION_NORTH;
+
         } else if (thatLineStart.y <= 0 && thatLineStop.y >= 0) {
             interp = Point.interpolate(thatLineStop, thatLineStart, thatLineStart.y /
                 (thatLineStart.y + (-thatLineStop.y)));
-            if (interp.x >= 0 && interp.x <= thisLineStop.x) {
-                return INTERSECTION_SOUTH;
-            } else {
-                return DOES_NOT_INTERSECT;
-            }
-        } else {
-            return DOES_NOT_INTERSECT;
-        }
-    }
-
-    // from interface Equalable
-    public function equals (o :Object) :Boolean
-    {
-        var other :Line = o as Line;
-        if (other == null) {
-            return false;
+            type = INTERSECTION_SOUTH;
         }

-        if (start == null || other.start == null) {
-            if (start != other.start) {
-                // not both null
-                return false;
-            }
-        }
-        if (stop == null || other.stop == null) {
-            if (stop != other.stop) {
-                // not both null
-                return false;
+        // see if we have a potential hit...
+        if (interp != null && interp.x >= 0 && interp.x <= thisLineStop.x) {
+            if (returnPoint) {
+                // transform the intersection point back into "real" coordinates
+                trans.invert();
+                return trans.transformPoint(interp);
+
+            } else {
+                return type
             }
         }

-        return (start == null || start.equals(other.start)) &&
-               (stop == null || stop.equals(other.stop));
+        return returnPoint ? null : DOES_NOT_INTERSECT;
     }
 }
 }


fixed another crash when sorting a vector.

--- WeaveCore/src/weave/utils/AsyncSort.as
+++ WeaveCore/src/weave/utils/AsyncSort.as
@@ -195,6 +195,10 @@
 						original.sort();
 					return 1;
 				}
+			}
+			else if (compare === null)
+			{
+				compare = primitiveCompare;
 			}

 			var time:int = getTimer();


fixed error converting Dictionary to Map

--- WeaveJS/src/weavejs/data/key/KeySet.as
+++ WeaveJS/src/weavejs/data/key/KeySet.as
@@ -169,7 +169,7 @@
 				// save key-to-index mapping
 				map_key_index.set(key, outputIndex);
 				// if the previous key index did not have this key, a change has been detected.
-				if (prevKeyIndex[key] == undefined)
+				if (prevKeyIndex.get(key) === undefined)
 				{
 					changeDetected = true;
 					keyCallbacks.keysAdded.push(key);


Fixed bug in ZoomBounds where we would attempt to correct the aspect ratio of the dataBounds in response to a screenBounds change even when the screenBounds were empty, resulting in invalid dataBounds.

--- WeaveJS/src/weavejs/geom/ZoomBounds.as
+++ WeaveJS/src/weavejs/geom/ZoomBounds.as
@@ -1,23 +1,23 @@
-/* ***** BEGIN LICENSE BLOCK *****
- *
- * This file is part of Weave.
- *
- * The Initial Developer of Weave is the Institute for Visualization
- * and Perception Research at the University of Massachusetts Lowell.
- * Portions created by the Initial Developer are Copyright (C) 2008-2015
- * the Initial Developer. All Rights Reserved.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/.
- *
+/* ***** BEGIN LICENSE BLOCK *****
+ *
+ * This file is part of Weave.
+ *
+ * The Initial Developer of Weave is the Institute for Visualization
+ * and Perception Research at the University of Massachusetts Lowell.
+ * Portions created by the Initial Developer are Copyright (C) 2008-2015
+ * the Initial Developer. All Rights Reserved.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
  * ***** END LICENSE BLOCK ***** */

 package weavejs.geom
 {
 	import weavejs.api.core.ICallbackCollection;
 	import weavejs.api.core.ILinkableVariable;
-	import weavejs.util.StandardLib;
+	import weavejs.util.StandardLib;

 	/**
 	 * This object defines the data bounds of a visualization, either directly with
@@ -233,7 +233,7 @@

 		private function _fixAspectRatio(zoomOutIfNecessary:Boolean = false):void
 		{
-			if (_useFixedAspectRatio)
+			if (_useFixedAspectRatio  && !_screenBounds.isEmpty())
 			{
 				var xInvScale:Number = _dataBounds.getXCoverage() / _screenBounds.getXCoverage();
 				var yInvScale:Number = _dataBounds.getYCoverage() / _screenBounds.getYCoverage();


Label is has now its mouseChildren set to false

--- src/org/openPyro/controls/Label.as
+++ src/org/openPyro/controls/Label.as
@@ -18,6 +18,7 @@

 		override protected function createChildren():void{
 			_textField = new TextField();
+			this.mouseChildren = false;
 			setTextFieldProperties()
 			addChild(_textField);
 			if(!_format){


Fixed typo :-/

Fixed typo :-/

--- src/org/mangui/hls/loader/SubtitlesLevelLoader.as
+++ src/org/mangui/hls/loader/SubtitlesLevelLoader.as
@@ -109,7 +109,7 @@
                 if (!Manifest.hasEndlist(string)) {
                     //var timeout : int = Math.max(10000, _reloadPlaylistTimer + 1000*(frags.length-1)*subtitlesLevel.targetduration - getTimer());
                     //var timeout : int = Math.max(10000, _reloadPlaylistTimer + 1000*(frags.length-1)*subtitlesLevel.averageduration - getTimer());
-                    var timeout : int = Math.max(10000, _reloadPlaylistTimer+subtitlesLevel.averageduration-getTimer());
+                    var timeout : int = Math.max(10000, _reloadPlaylistTimer+1000*subtitlesLevel.averageduration-getTimer());

                     CONFIG::LOGGING {
                         Log.debug("Subtitles Level Live Playlist parsing finished: reload in " + timeout + " ms");


Fix mapping of HLSError.FRAGMENT_LOADING_CROSSDOMAIN_ERROR, HLSError.KEY_LOADING_CROSSDOMAIN_ERROR, HLSError.MANIFEST_LOADING_CROSSDOMAIN_ERROR to MediaErrorCodes.SECURITY_ERROR instead of MediaErrorCodes.IO_ERROR

--- src/org/mangui/osmf/plugins/utils/ErrorManager.as
+++ src/org/mangui/osmf/plugins/utils/ErrorManager.as
@@ -13,12 +13,14 @@
             if (event && event.error) {
                 switch (event.error.code) {
                     case HLSError.FRAGMENT_LOADING_ERROR:
+                    case HLSError.KEY_LOADING_ERROR:
+                    case HLSError.MANIFEST_LOADING_IO_ERROR:
+                        errorCode = MediaErrorCodes.IO_ERROR;
+                        break;
                     case HLSError.FRAGMENT_LOADING_CROSSDOMAIN_ERROR:
-                    case HLSError.KEY_LOADING_ERROR:
                     case HLSError.KEY_LOADING_CROSSDOMAIN_ERROR:
                     case HLSError.MANIFEST_LOADING_CROSSDOMAIN_ERROR:
-                    case HLSError.MANIFEST_LOADING_IO_ERROR:
-                        errorCode = MediaErrorCodes.IO_ERROR;
+                        errorCode = MediaErrorCodes.SECURITY_ERROR
                         break;
                     case org.mangui.hls.event.HLSError.FRAGMENT_PARSING_ERROR:
                     case org.mangui.hls.event.HLSError.KEY_PARSING_ERROR:


Make the speed the bridge lowers with independent of framerate.


miss a file

miss a file

--- src/cloud/events/DBCloudEvent.as
+++ src/cloud/events/DBCloudEvent.as
@@ -6,62 +6,11 @@
 	{
 		public static const INITED:String = "DBCloudEvent:INITED";

-		public static const LOAD_LATESTVERSION_SUCCESS:String = "AECloudEvent:LOAD_LATESTVERSION_SUCCESS";
-		public static const LOAD_LATESTVERSION_FAILED:String = "AECloudEvent:LOAD_LATESTVERSION_FAILED";
+		public static const LOAD_LATESTVERSION_SUCCESS:String = "DBCloudEvent:LOAD_LATESTVERSION_SUCCESS";
+		public static const LOAD_LATESTVERSION_FAILED:String = "DBCloudEvent:LOAD_LATESTVERSION_FAILED";

-
-
-		public static const TEST_TIMEBOMB_SUCCESS:String = "AECloudEvent:TEST_TIMEBOMB_SUCCESS";
-
-		public static const LOAD_SERVER_TIME_SUCCESS:String = "AECloudEvent:LOAD_SERVER_TIME_SUCCESS";
-		public static const LOAD_SERVER_TIME_FAILED:String = "AECloudEvent:LOAD_SERVER_TIME_FAILED";
-
-		public static const LOGIN_START:String = "AECloudEvent:LOGIN_START";
-		public static const LOGIN_END:String = "AECloudEvent:LOGIN_END";
-
-		public static const LOGIN_SUCCESS:String = "AECloudEvent:LOGIN_SUCCESS";
-		public static const LOGIN_FAILED:String = "AECloudEvent:LOGIN_FAILED";
-
-		public static const LOGOUT_SUCCESS:String = "AECloudEvent:LOGOUT_SUCCESS";
-
-		public static const USER_PROFILE_SUCCESS:String = "AECloudEvent:USER_PROFILE_SUCCESS";
-		public static const USER_PROFILE_FAILED:String = "AECloudEvent:USER_PROFILE_FAILED";
-
-		public static const USER_NEWSFEED_SUCCESS:String = "AECloudEvent:USER_NEWSFEED_SUCCESS";
-		public static const USER_NEWSFEED_FAILED:String = "AECloudEvent:USER_NEWSFEED_FAILED";
-
-		public static const POPULAR_USERS_SUCCESS:String = "AECloudEvent:POPULAR_USERS_SUCCESS";
-		public static const POPULAR_USERS_FAILED:String = "AECloudEvent:POPULAR_USERS_FAILED";
-
-		public static const USER_PROJECTS_SUCCESS:String = "AECloudEvent:USER_PROJECTS_SUCCESS";
-		public static const USER_PROJECTS_FAILED:String = "AECloudEvent:USER_PROJECTS_FAILED";
-
-		public static const UPLOAD_PIC_SUCCESS:String = "AECloudEvent:UPLOAD_PIC_SUCCESS";
-		public static const UPLOAD_PIC_FAILED:String = "AECloudEvent:UPLOAD_PIC_FAILED";
-
-		public static const UPLOAD_ATTACHMENT_SUCCESS:String = "AECloudEvent:UPLOAD_ATTACHMENT_SUCCESS";
-		public static const UPLOAD_ATTACHMENT_FAILED:String = "AECloudEvent:UPLOAD_ATTACHMENT_FAILED";
-
-		public static const UPLOAD_PROJECT_START:String = "AECloudEvent:UPLOAD_PROJECT_START";
-		public static const UPLOAD_PROJECT_END:String = "AECloudEvent:UPLOAD_PROJECT_END";
-
-		public static const UPLOAD_PROJECT_SUCCESS:String = "AECloudEvent:UPLOAD_PROJECT_SUCCESS";
-		public static const UPLOAD_PROJECT_FAILED:String = "AECloudEvent:UPLOAD_PROJECT_FAILED";
-
-		public static const DOWNLOAD_PROJECT_SUCCESS:String = "AECloudEvent:DOWNLOAD_PROJECT_SUCCESS";
-		public static const DOWNLOAD_PROJECT_FAILED:String = "AECloudEvent:DOWNLOAD_PROJECT_FAILED";
-
-		public static const GET_TIME_SUCCESS:String = "AECloudEvent:GET_TIME_SUCCESS";
-		public static const GET_TIME_FAILED:String = "AECloudEvent:GET_TIME_FAILED";
-
-		public static const LOAD_ABOUT_SUCCESS:String = "AECloudEvent:LOAD_ABOUT_SUCCESS";
-		public static const LOAD_ABOUT_FAILED:String = "AECloudEvent:LOAD_ABOUT_FAILED";
-
-		public static const SEND_LOG_SUCCESS:String = "AECloudEvent:SEND_LOG_SUCCESS";
-		public static const SEND_LOG_FAILED:String = "AECloudEvent:SEND_LOG_FAILED";
-
-		public static const SEND_SINAWEIBO_SUCCESS:String = "AECloudEvent:SEND_SINAWEIBO_SUCCESS";
-		public static const SEND_SINAWEIBO_FAILED:String = "AECloudEvent:SEND_SINAWEIBO_FAILED";
+		public static const LOAD_ONLINEHELP_SUCCESS:String = "DBCloudEvent:LOAD_ONLINEHELP_SUCCESS";
+		public static const LOAD_ONLINEHELP_FAILED:String = "DBCloudEvent:LOAD_ONLINEHELP_FAILED";

 		public var _data:Object;


Simplified some dependency code using lazy validation.

Signed-off-by: Andy Dufilie <71f9562d51201e38fec5e9a967c9dca8b265f770@gmail.com>

--- WeaveCore/src/weave/core/LinkableFunction.as
+++ WeaveCore/src/weave/core/LinkableFunction.as
@@ -24,6 +24,8 @@

 	import weave.api.WeaveAPI;
 	import weave.api.core.ILinkableHashMap;
+	import weave.api.detectLinkableObjectChange;
+	import weave.api.registerLinkableChild;
 	import weave.api.reportError;
 	import weave.compiler.Compiler;
 	import weave.compiler.ICompiledObject;
@@ -52,7 +54,7 @@
 		public function LinkableFunction(defaultValue:String = null, ignoreRuntimeErrors:Boolean = false, useThisScope:Boolean = false, paramNames:Array = null)
 		{
 			super(StandardLib.unIndent(defaultValue));
-			_allLinkableFunctions[this] = true; // register this instance so the callbacks will trigger when the libraries change
+			macroLibraries.addImmediateCallback(this, triggerCallbacks, false, true);
 			_ignoreRuntimeErrors = ignoreRuntimeErrors;
 			_useThisScope = useThisScope;
 			_paramNames = paramNames && paramNames.concat();
@@ -84,6 +86,10 @@

 				if (_macroProxy == null)
 					_macroProxy = new ProxyObject(_hasMacro, _getMacro, null, evaluateMacro); // allows evaluating macros but not setting them
+
+				if (detectLinkableObjectChange(_getNewCompiler, macroLibraries))
+					_compiler = _getNewCompiler(true);
+
 				var object:ICompiledObject = _compiler.compileToObject(value);
 				_isFunctionDefinition = _compiler.compiledObjectIsFunctionDefinition(object);
 				_compiledMethod = _compiler.compileObjectToFunction(object, _macroProxy, errorHandler, _useThisScope, _paramNames);
@@ -184,7 +190,7 @@
 		/**
 		 * This is a list of libraries to include in the static compiler for macros.
 		 */
-		public static const macroLibraries:LinkableString = new LinkableString();
+		public static const macroLibraries:LinkableString = registerLinkableChild(WeaveAPI.globalHashMap, new LinkableString(getQualifiedClassName(WeaveAPI)));

 		/**
 		 * This function will add a library to the static list of macro libraries if it is not already added.
@@ -200,37 +206,11 @@
 			macroLibraries.value = WeaveAPI.CSVParser.createCSV(rows);
 		}

-		staticInit();
-
-		/**
-		 * This function will initialize static variables.
-		 */
-		private static function staticInit():void
-		{
-			// when the libraries change, we need to update the compiler
-			macroLibraries.addImmediateCallback(null, handleLibrariesChange);
-			macroLibraries.value = getQualifiedClassName(WeaveAPI);
-		}
-
 		/**
 		 * This is the static compiler to be used by every LinkableFunction.
 		 */
 		private static var _compiler:Compiler = null;
 		private static var _allLinkableFunctions:Dictionary = new Dictionary(true); // the keys in this are LinkableFunction instances
-
-		/**
-		 * This function will update the static compiler when the static libraries change.
-		 */
-		private static function handleLibrariesChange():void
-		{
-			_compiler = _getNewCompiler(true);
-			for (var linkableFunction:Object in _allLinkableFunctions)
-			{
-				var lf:LinkableFunction = linkableFunction as LinkableFunction;
-				if (!lf.wasDisposed)
-					lf.triggerCallbacks();
-			}
-		}

 		/**
 		 * This function returns a new compiler initialized with the libraries specified by the public static libraries variable.


Handle setting the export dir with no conf file

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -58,7 +58,7 @@
             _win.preview.enabled = status != null && status.isValid;

             if (_exportChooser.dir == null) return;
-            _conf.exportDir = _confFile.parent.getRelativePath(_exportChooser.dir, /*useDotDot=*/true);
+            _conf.exportDir = _confFile == null ? _exportChooser.dir.nativePath : _confFile.parent.getRelativePath(_exportChooser.dir, /*useDotDot=*/true);
         }

         var fileMenuItem :NativeMenuItem;


Minor changes to prevent warnings if an object is destroyed before the subscription completes

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

--- src/as/com/threerings/presents/util/SafeObjectManager.as
+++ src/as/com/threerings/presents/util/SafeObjectManager.as
@@ -38,10 +38,10 @@
     /**
      * Creates a new manager. The optional available and failed parameters are callbacks
      * that must match the {@link Subscriber} interface methods.
-     * @param omgr the underlying object manager to use for request objects from
+     * @param omgr the underlying object manager to use for requesting objects
      * @param log sink for warnings and info messages
      * @param available optional callback for when an object becomes available
-     * @param failed options callback for when a subscription request fails
+     * @param failed optional callback for when a subscription request fails
      */
     public function SafeObjectManager (
         omgr :DObjectManager,
@@ -92,8 +92,12 @@
         }

         _log.info("Unsubscribing from " + entry.sub);
-        entry.obj.removeListener(_objectDeathListenerAdapter);
-        entry.sub.unsubscribe(_omgr);
+        if (entry.obj != null) {
+            entry.obj.removeListener(_objectDeathListenerAdapter);
+        }
+        if (!entry.destroyed && !entry.failed) {
+            entry.sub.unsubscribe(_omgr);
+        }
         entry.obj = null;

         delete _entries[oid];
@@ -161,7 +165,7 @@
             _log.warning("Object " + oid + " failed without request?!");

         } else {
-            delete _entries[oid];
+            entry.failed = true;

         }

@@ -174,7 +178,7 @@
     }

     /** Notifies the manager that the server has destroyed an object */
-    protected function objectDestroyed (event :ObjectDestroyedEvent) :void
+    protected function destroyed (event :ObjectDestroyedEvent) :void
     {
         var oid :int = event.getTargetOid();

@@ -183,7 +187,8 @@
             _log.warning("Unsubscribed object notified of destroy");

         } else {
-            delete _entries[oid];
+            entry.destroyed = true;
+            entry.obj = null;
         }

         _log.info("Object " + oid + " destroyed");
@@ -196,7 +201,7 @@
     protected var _adapter :SubscriberAdapter =
         new SubscriberAdapter(available, failed);
     protected var _objectDeathListenerAdapter :ObjectDeathListenerAdapter =
-        new ObjectDeathListenerAdapter(objectDestroyed);
+        new ObjectDeathListenerAdapter(destroyed);
     protected var _entries :Dictionary = new Dictionary();
 }

@@ -212,6 +217,8 @@
 {
     public var sub :SafeSubscriber;
     public var obj :DObject;
+    public var destroyed :Boolean;
+    public var failed :Boolean;

     public function Entry (subscriber :SafeSubscriber)
     {


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

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

 package mx.styles
 {


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

--- frameworks/projects/mx/src/mx/styles/metadata/FocusStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/FocusStyles.as
@@ -1,25 +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.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  Specifies the alpha transparency value of the focus skin.
- *
- *  The default value for the Halo theme is 0.4.
- *  The default value for the Spark theme is 0.55.
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
 [Style(name="focusAlpha", type="Number", inherit="no")]

 /**


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

--- frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/SubscriptionInfo.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2007 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 12870
Author:   klin@adobe.com
Date:     2009-12-11T23:52:43.652707Z

Log Message:
-----------
Couple of minor fixes including SDK-24627 and SDK-24628.

-Added metadata so that resizeMode code hints. Needed to add the same metadata to Group since it doesn't inherit the enumerations from GroupBase. Renamed NOSCALE to NO_SCALE, which is more in line with naming conventions.
-Added null checks in VScrollBar and HScrollBar in pointToValue().
-Cleaned up VSlider's code.

QE notes: No
Doc notes: No
Bugs: SDK-24627, SDK-24628
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: No

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/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ResizeMode.as</path>

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -184,6 +184,9 @@
      */
     override protected function pointToValue(x:Number, y:Number):Number
     {
+        if (!thumb || !track)
+            return 0;
+
         var r:Number = track.getLayoutBoundsWidth() - thumb.getLayoutBoundsWidth();
         return minimum + ((r != 0) ? (x / r) * (maximum - minimum) : 0);
     }


Update ApplicationDemo/src/main/flex/sk/yoz/ycanvas/demo/simple/Partition.as

Memory leak eliminated in case of several map creations and destructions .

--- ApplicationDemo/src/main/flex/sk/yoz/ycanvas/demo/simple/Partition.as
+++ ApplicationDemo/src/main/flex/sk/yoz/ycanvas/demo/simple/Partition.as
@@ -181,7 +181,9 @@
         {
             var loaderInfo:LoaderInfo = LoaderInfo(event.target);
             bitmapData = Bitmap(loaderInfo.content).bitmapData;
-            Image(content).texture = Texture.fromBitmapData(bitmapData);
+			(content as Image).texture.base.dispose();
+			(content as Image).texture.dispose();
+    		(content as Image).texture = Texture.fromBitmapData(bitmapData);
             stopLoading();
         }


fixed lost 'this' context

fixed lost 'this' context

--- WeaveJS/src/weavejs/core/Locale.as
+++ WeaveJS/src/weavejs/core/Locale.as
@@ -31,7 +31,8 @@
 		{
 			var request:URLRequest = new URLRequest(jsonUrl);
 			request.responseType = ResponseType.JSON;
-			return WeaveAPI.URLRequestUtils.request(this, request).then(function(data:Object):void { this.data = data; });
+			var self:Locale = this;
+			return WeaveAPI.URLRequestUtils.request(this, request).then(function(data:Object):void { self.data = data; });
 		}

 		private var _data:Object = {};


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

--- frameworks/projects/mx/src/mx/effects/Resize.as
+++ frameworks/projects/mx/src/mx/effects/Resize.as
@@ -56,6 +56,11 @@
  *
  *  @see mx.effects.effectClasses.ResizeInstance
  *  @see mx.effects.Tween
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Resize extends TweenEffect
 {
@@ -87,6 +92,11 @@
 	 *  Constructor.
 	 *
 	 *  @param target The Object to animate with this effect.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public function Resize(target:Object = null)
 	{
@@ -110,6 +120,11 @@
 	/**
 	 *  Number of pixels by which to modify the height of the component.
 	 *  Values may be negative.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var heightBy:Number;

@@ -122,6 +137,11 @@
 	/**
 	 *  Initial height, in pixels.
 	 *  If omitted, Flex uses the current height.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var heightFrom:Number;

@@ -133,6 +153,11 @@

 	/**
 	 *  Final height, in pixels.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var heightTo:Number;

@@ -151,6 +176,11 @@
 	 *
 	 *
<mx:Resize id="e" heightFrom="100" heightTo="400"
 	 *	hideChildrenTargets="{[panelOne, panelTwo]}" />

+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var hideChildrenTargets:Array /* of Panel */;

@@ -163,6 +193,11 @@
 	/**
 	 *  Number of pixels by which to modify the width of the component.
 	 *  Values may be negative.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var widthBy:Number;

@@ -175,6 +210,11 @@
 	/**
 	 *  Initial width, in pixels.
 	 *  If omitted, Flex uses the current width.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var widthFrom:Number;

@@ -186,6 +226,11 @@

 	/**
 	 *  Final width, in pixels.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public var widthTo:Number;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18326
Author:   jszeto@adobe.com
Date:     2010-10-26T20:39:18.428881Z

Log Message:
-----------
ViewMenuItem Skin changes

Moved the skin fills from the FXG files to the ViewMenuItemSkin. Now they pick up chromeColor in the up state and focusColor in the down and showsCaret states.

Added scaleGrid values and added transparent fill rect to get proper scaling. Changed down skin from Paths to Rects.
Added missing highlight in showsCaret fxg.

QE notes: visual changes
Doc notes: Mention that we pick up chromeColor and focusColor
Bugs: none
Reviewer: Tom
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ViewMenuItem_showsCaret.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ViewMenuItem_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ViewMenuItem_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as
@@ -100,9 +100,6 @@
 - use PopUpAnchor instead of PopUpManager
 - Investigate performance impact of View.viewMenuItems being instances
   instead of getting created when the menu is opened.
-- Add scaleGrid values to fxg skins
-- Move skin background to ViewMenuItemSkin and use styles
-- ViewMenuItem_down.fxg change to use Rects
 */

 public class ViewMenu extends SkinnableContainer implements IFocusManagerComponent


LinkableCallbackScript now handles ILinkableVariables referenced by ILinkableDynamicObjects

--- WeaveCore/src/weave/core/LinkableCallbackScript.as
+++ WeaveCore/src/weave/core/LinkableCallbackScript.as
@@ -46,15 +46,17 @@
 		{
 			var variable:ILinkableObject = variables.getObject(name);

+			// if it's not a variable, it's a macro
+			if (!variable)
+				return LinkableFunction.evaluateMacro(name);
+
+			if (variable is ILinkableDynamicObject)
+				variable = (variable as ILinkableDynamicObject).internalObject;
+
 			if (variable is ILinkableVariable)
 				return (variable as ILinkableVariable).getSessionState();

-			if (variable is ILinkableDynamicObject)
-				return (variable as ILinkableDynamicObject).internalObject;
-
 			return variable
-				|| LinkableFunction.evaluateMacro(name)
-				|| undefined;
 		}

 		public function hasValue(name:String):Boolean


RTMP.as: fixup events triggering

RTMP.as: fixup events triggering

--- src/RTMP.as
+++ src/RTMP.as
@@ -74,20 +74,16 @@
     }

     private function netStatusHandler(event:NetStatusEvent):void {
-      ExternalInterface.call('console.log', 'new event:' + event.info.code);
-      if (event.info.code === "NetStream.Buffer.Full") {
+      ExternalInterface.call('console.log', '-> ' + event.info.code);
+      if (playbackState == "ENDED") {
+        return;
+      } else if (event.info.code == "NetStream.Buffer.Full") {
         playbackState = "PLAYING";
-      } else if (isBuffering(event.info.code)) {
+        _triggerEvent('statechanged');
+      } else if (event.info.code == "NetStream.Buffer.Empty" || event.info.code == "NetStream.Seek.Notify") {
         playbackState = "PLAYING_BUFFERING";
-      } else if (event.info.code == "NetStream.Buffer.Empty") {
-        playbackState = "BUFFERING";
+        _triggerEvent('statechanged');
       }
-      _triggerEvent('statechanged');
-    }
-
-    private function isBuffering(code:String):Boolean {
-      return Boolean(code == "NetStream.Buffer.Empty" && playbackState != "ENDED" ||
-              code == "NetStream.Play.Start");
     }

     private function playerPlay(url:String):void {
@@ -148,6 +144,7 @@
       mediaPlayer.stop();
       ExternalInterface.call('console.log', 'ended');
       playbackState = 'ENDED';
+      _triggerEvent('statechanged');
     }

     private function _triggerEvent(name: String):void {


ResultPrinter: replaced test:Test with test:Object. It now uses FreeRunner's static method for counting test methods, instead of the TestCase instance method.

--- as3/src/asunit/textui/ResultPrinter.as
+++ as3/src/asunit/textui/ResultPrinter.as
@@ -7,6 +7,7 @@
     import asunit.framework.ITestResult;
     import asunit.runner.BaseTestRunner;
     import asunit.runner.Version;
+	import asunit.framework.FreeRunner;

     import flash.display.Sprite;
     import flash.events.*;
@@ -101,7 +102,7 @@
          * API for use by textui.TestRunner
          */

-        public function run(test:Test):void {
+        public function run(test:Object):void {
         }

         public function printResult(result:ITestResult, runTime:Number):void {
@@ -215,35 +216,36 @@
         /**
          * @see asunit.framework.TestListener#addError(Test, Throwable)
          */
-        public function addError(test:Test, t:Error):void {
+        public function addError(test:Object, t:Error):void {
             print("E");
         }

         /**
          * @see asunit.framework.TestListener#addFailure(Test, AssertionFailedError)
          */
-        public function addFailure(test:Test, t:AssertionFailedError):void {
+        public function addFailure(test:Object, t:AssertionFailedError):void {
             print("F");
         }

         /**
          * @see asunit.framework.TestListener#endTestMethod(test, testMethod);
          */
-        public function startTestMethod(test:Test, methodName:String):void {
+        public function startTestMethod(test:Object, methodName:String):void {
         }

         /**
          * @see asunit.framework.TestListener#endTestMethod(test, testMethod);
          */
-        public function endTestMethod(test:Test, methodName:String):void {
+        public function endTestMethod(test:Object, methodName:String):void {
         }

         /**
          * @see asunit.framework.TestListener#startTest(Test)
          */
-        public function startTest(test:Test):void {
+        public function startTest(test:Object):void {
             startTime = getTimer();
-            var count:uint = test.countTestCases();
+            var count:uint = FreeRunner.countTestMethods(test);
+
             for(var i:uint; i < count; i++) {
                 print(".");
                 if (fColumn++ >= 80) {
@@ -256,7 +258,7 @@
         /**
          * @see asunit.framework.TestListener#endTest(Test)
          */
-        public function endTest(test:Test):void {
+        public function endTest(test:Object):void {
             var duration:Number = getTimer() - startTime;
             testTimes.push(TestTime.create(test, duration));
         }


- nitpicking

- nitpicking

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

--- src/reprise/controls/LabelButton.as
+++ src/reprise/controls/LabelButton.as
@@ -68,10 +68,6 @@
 		{
 			m_labelDisplay = Label(addComponent('label', null, Label));
 			m_labelDisplay.label = m_label;
-			if (m_label)
-			{
-				setLabel(m_label);
-			}
 		}

 		/**


optimized BoundingBox.testRay()

optimized BoundingBox.testRay()

--- src/aerys/minko/type/bounding/BoundingBox.as
+++ src/aerys/minko/type/bounding/BoundingBox.as
@@ -97,20 +97,26 @@
 			var tx1		: Number	= (minX - ox) * dx;
 			var tx2		: Number	= (maxX - ox) * dx;

-			var tmin	: Number	= Math.min(tx1, tx2);
-			var tmax	: Number	= Math.max(tx1, tx2);
+			var min		: Number	= tx1 < tx2 ? tx1 : tx2;
+			var max		: Number	= tx1 > tx2 ? tx1 : tx2;
+			var tmin	: Number	= min;
+			var tmax	: Number	= max;

 			var ty1		: Number	= (minY - oy) * dy;
 			var ty2		: Number	= (maxY - oy) * dy;

-			tmin = Math.max(tmin, Math.min(ty1, ty2));
-			tmax = Math.min(tmax, Math.max(ty1, ty2));
+			min = ty1 < ty2 ? ty1 : ty2;
+			max = ty1 > ty2 ? ty1 : ty2;
+			tmin = tmin > min ? tmin : min;
+			tmax = tmax < max ? tmax : max;

 			var tz1		: Number	= (minZ - oz) * dz;
 			var tz2		: Number	= (maxZ - oz) * dz;

-			tmin = Math.max(tmin, Math.min(tz1, tz2));
-			tmax = Math.min(tmax, Math.max(tz1, tz2));
+			min = tz1 < tz2 ? tz1 : tz2;
+			max = tz1 > tz2 ? tz1 : tz2;
+			tmin = tmin > min ? tmin : min;
+			tmax = tmax < max ? tmax : max;

 			return tmax >= Math.max(0, tmin) && tmin < maxDistance;
 		}


Add an onPlayStatus method to capture the callback...but it's never called.

--- src/SoundManager2_SMSound_AS3.as
+++ src/SoundManager2_SMSound_AS3.as
@@ -341,6 +341,15 @@
     public function onBWDone():void{
       writeDebug('onBWDone: called and ignored');
     }
+
+    // NetStream client callback.  Invoked when the song is complete
+    public function onPlayStatus(info:Object):void {
+      writeDebug('onPlayStatus called with '+info);
+      switch(info.code) {
+        case "NetStream.Play.Complete":
+          writeDebug('Song has finished!');
+          break;
+      }
+    }
   }
-
 }


Apply material list in CreateModelWithStaticModel() & CreateModelWithAnimatedModel(). Closes #1018.

--- bin/Data/Scripts/Editor/EditorScene.as
+++ bin/Data/Scripts/Editor/EditorScene.as
@@ -1425,6 +1425,8 @@

     StaticModel@ staticModel = parent.GetOrCreateComponent("StaticModel");
     staticModel.model = model;
+    if (applyMaterialList)
+        staticModel.ApplyMaterialList();
     CreateLoadedComponent(staticModel);
 }

@@ -1442,6 +1444,8 @@

     AnimatedModel@ animatedModel = parent.GetOrCreateComponent("AnimatedModel");
     animatedModel.model = model;
+    if (applyMaterialList)
+        animatedModel.ApplyMaterialList();
     CreateLoadedComponent(animatedModel);
 }