Transferred from the Adobe Open Source Subversion Repository

Revision: 4357
Author:   egreenfi@adobe.com
Date:     2008-12-18T23:52:27.017290Z

Log Message:
-----------
UIComponent now implements ILayoutElement directly

ILayoutElement was moved to mx.core.ILayoutElement, as it is now a core interface required by UIComponent.

Further phases to follow:
1) IVlisualElement to extend ILayoutElement, pending resolution of a compiler bug.
2) remove LayoutElementUIC, pending UIMovieclip implementing ILayoutElement
3) remove LayoutElementFactory, once all IVisualElements implement ILayoutElement directly.
4) remove ITransformable, moving transform properties onto IVisualElement.

Reviewer: Evtim
QA: yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as" copyfrom-rev="4249" action="A">/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>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -44,7 +44,7 @@
 import mx.graphics.IGraphicElement;
 import mx.graphics.IStroke;
 import mx.graphics.MaskType;
-import mx.layout.ILayoutElement;
+import mx.core.ILayoutElement;
 import mx.managers.ILayoutManagerClient;
 import mx.utils.MatrixUtil;
 import mx.utils.OnDemandEventDispatcher;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5331
Author:   dloverin@adobe.com
Date:     2009-03-16T20:29:20.872892Z

Log Message:
-----------
FxApplication related API changes.

1. Rename ApplicationGlobals.application -> FlexGlobals.topLevelApplication
2. Application.application will be deprecated. FlexGlobals.topLevelApplication will be the recommend alternative.
3. Application.application will return null if the top-level application is not of type Application or a subclass of Application.
4. Change the FxApplication.backgroundColor property from type Object to uint.

QE Notes: None
Doc Notes: None
Bugs: sdk-19677
Reviewer: Ryan
tests: checkintests, Application mustella tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ActivatorSkin.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/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.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/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.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/effects/effectClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/checkinapp/ProductDetail.mxml</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/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.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/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.as" copyfrom-rev="5314" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexGlobals.as</path>

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

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -276,6 +276,11 @@
      *  used to access the sub-Application in which that UIComponent lives,
      *  and to walk up the hierarchy to the top-level Application.

      *
+     *
This property has been deprecated starting in Flex4. Note that this
+     *  property will return applications of type Application and
+     *  WindowedApplication as before but will return null for applications
+     *  of type FxApplication or FxWindowedApplication.
+     *
      *  @langversion 3.0
      *  @playerversion Flash 9
      *  @playerversion AIR 1.1
@@ -295,9 +300,11 @@
      *  Therefore we decided to dispense with strict typing for
      *  'application'.
      */
+    [Deprecated(replacement="FlexGlobals.topLevelApplication", since="4.0")]
+
     public static function get application():Object
     {
-        return ApplicationGlobals.application;
+        return FlexGlobals.topLevelApplication as Application;
     }

     //--------------------------------------------------------------------------
@@ -322,8 +329,8 @@
             Singleton.getInstance("mx.managers::ILayoutManager"));
         UIComponentGlobals.layoutManager.usePhasedInstantiation = true;

-        if (!ApplicationGlobals.application)
-            ApplicationGlobals.application = this;
+        if (!FlexGlobals.topLevelApplication)
+            FlexGlobals.topLevelApplication = this;

         super();

@@ -561,7 +568,7 @@
     override public function get id():String
     {
         if (!super.id &&
-            this == Application.application &&
+            this == FlexGlobals.topLevelApplication &&
             ExternalInterface.available)
         {
             return ExternalInterface.objectID;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12074
Author:   gruehle@adobe.com
Date:     2009-11-21T01:02:03.186839Z

Log Message:
-----------
Change baseColor to chromeColor.

QE notes: Tests need to be updated.
Doc notes: ASDoc has been updated. Other docs need updating.
Bugs: SDK-24298
Reviewer: Ely
Tests run: checkintests, qe cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
112 paths were modified

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

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -486,15 +486,15 @@
     public var preloader:Object;

     //----------------------------------
-    //  preloaderBaseColor
+    //  preloaderChromeColor
     //----------------------------------

     [Inspectable(defaultValue="0xCCCCCC", format="Color")]

     /**
      *    Specifies the base color used by the default preloader component. This property
-     *    has the same effect as the baseColor style used by the Spark skins.
-     *    Typically this property should be set to the same value as the baseColor
+     *    has the same effect as the chromeColor style used by the Spark skins.
+     *    Typically this property should be set to the same value as the chromeColor
      *    style used by the application.
      *
      *
Note: This property cannot be set by ActionScript code; it must be set in MXML code.

@@ -509,7 +509,7 @@
      * component. It is here so that it gets picked up by the compiler and included
      * in the info() structure for the generated system manager. The download progress bar
      * grabs the value directly from the info() structure. */
-    public var preloaderBaseColor:uint;
+    public var preloaderChromeColor:uint;

     //----------------------------------
     //  scriptRecursionLimit


Removed an override that wasnt adding any new functionality. Also added a check to ensure the dataProvider set on a dataProvider is only XML or TreeCollection

--- src/org/openPyro/controls/Tree.as
+++ src/org/openPyro/controls/Tree.as
@@ -7,7 +7,6 @@
 	import org.openPyro.collections.TreeCollection;
 	import org.openPyro.collections.XMLNodeDescriptor;
 	import org.openPyro.controls.events.ListEvent;
-	import org.openPyro.controls.events.ScrollEvent;
 	import org.openPyro.controls.events.TreeEvent;
 	import org.openPyro.layout.TreeLayout;

@@ -33,11 +32,14 @@

 		}

-		override protected function onVerticalScroll(event:ScrollEvent):void{
-			//this.treeState = "scrolling";
-			super.onVerticalScroll(event);
+		override public function set dataProvider(src:Object):void{
+			if(!(src is XML) && !(src is TreeCollection)){
+				throw new ArgumentError("Tree controls currently cannot render non XML/TreeCollection data");
+				return;
+			}
+			super.dataProvider = src;
 		}
-
+
 		override protected function convertDataToCollection(dp:Object):void{
 			if( dp is ICollection){
 				this._dataProviderCollection = ICollection(dp);


Updated addList() to use Arrays and Vectors as well as arguments.

--- net/flashpunk/World.as
+++ net/flashpunk/World.as
@@ -139,28 +139,17 @@

 		/**
 		 * Adds multiple Entities to the world.
-		 * @param	...list		The Entities you want to add, or arrays of Entities.
+		 * @param	...list		Several Entities (as arguments) or an Array/Vector of Entities.
 		 */
 		public function addList(...list):void
 		{
-			if (!list) return;
-			var i:uint = 0, n:uint = list.length,
-				j:uint, m:uint, a:Array;
-			while (i < n)
-			{
-				if (list[i] is Entity)
-				{
-					add(list[i ++] as Entity);
-					continue;
-
-				}
-				if ((a = list[i ++] as Array))
-				{
-					j = 0;
-					m = a.length;
-					while (j < m) addList(a[j ++]);
-				}
-			}
+			var e:Entity;
+			if (list[0] is Array || list[0] is Vector.<*>)
+			{
+				for each (e in list[0]) add(e);
+				return;
+			}
+			for each (e in list) add(e);
 		}

 		/**


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

--- frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as
+++ frameworks/projects/framework/src/mx/core/IDeferredContentOwner.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: 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@1260036 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20845
Author:   mhorn@adobe.com
Date:     2011-03-14T15:29:23.391952Z

Log Message:
-----------
merge 20756,20790,20712,20805

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/NumberFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSCondition.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/CurrencyFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/formatters/DateTimeFormatter.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/chartClasses/PolarDataCanvas.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionViewCursor.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/spark/globalization/StringTools.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/StringUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>

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

--- frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as
+++ frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as
@@ -24,7 +24,7 @@
 import mx.utils.NameUtil;

 /**
- *  The AdvancedStyleClient is a base class that can be used
+ *  A base class that can be used
  *  when implementing an object that uses the
  *  IAdvancedStyleClient interface.  The base class supplies
  *  implementations of the methods and properties required for an object
@@ -40,7 +40,7 @@
  *  that contains the MXML declaration. For more details, see the description
  *  of the initilized method.

  *
- *  @see mx.core.styles.IAdvancedStyleClient
+ *  @see mx.styles.IAdvancedStyleClient
  *  @see #initialized
  *
  *  @langversion 3.0
@@ -180,6 +180,13 @@
     //----------------------------------

     /**
+     *  @private
+     */
+    private var _styleDeclarationVar:CSSStyleDeclaration;
+
+    [Inspectable(environment="none")]
+
+    /**
      *  The style declaration that holds the inline styles declared by this
      *  object.
      *
@@ -190,10 +197,6 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    private var _styleDeclarationVar:CSSStyleDeclaration;
-
-    [Inspectable(environment="none")]
-
     public function get styleDeclaration():CSSStyleDeclaration
     {
         return _styleDeclarationVar;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8582
Author:   cframpto@adobe.com
Date:     2009-07-15T16:42:10.325544Z

Log Message:
-----------
The mysterious ENTER key problem is finally resolved.  Most of the time TLF didn't manage the enter key but occasionally it did and we couldn't figure it out.

When we create the importer to convert text to a textFlow we have to give it the configuration we set up if we want to be able to manage the enter key.  The default is for TLF to manage the enter key.

QA Notes:
Doc Notes: SDK-22247
Reviewers: will be Gordon

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -264,7 +264,8 @@
         staticTextContainerManagerConfiguration.manageEnterKey = false;

         staticPlainTextImporter =
-            TextConverter.getImporter(TextConverter.PLAIN_TEXT_FORMAT);
+            TextConverter.getImporter(TextConverter.PLAIN_TEXT_FORMAT,
+            staticTextContainerManagerConfiguration);

         // Throw import errors rather than return a null textFlow.
         // Alternatively, the error strings are in the Vector, importer.errors.
@@ -1694,7 +1695,7 @@
             // and FTE performance will degrade on a large paragraph.

             // If we have focus, then we need to immediately create a
-            // TextFlow sothe interaction manager will be created and
+            // TextFlow so the interaction manager will be created and
             // editing/selection can be done without having to mouse click
             // or mouse hover over this field.  Normally this is done in our
             // focusIn handler by making sure there is a selection.  Test this


Make FilterTerm bindable

Make FilterTerm bindable

--- as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
+++ as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
@@ -15,7 +15,8 @@
 {
 import flash.events.EventDispatcher;

-public class FilterTerm extends EventDispatcher
+[Bindable]
+public class FilterTerm
 {
     public function FilterTerm(name:String,
                                value:String,


Transferred from the Adobe Open Source Subversion Repository

Revision: 22937
Author:   aharui@adobe.com
Date:     2011-10-10T18:42:43.121805Z

Log Message:
-----------
Inline enumeration values so we don't get deprecation warnings in the build.

QE notes: None
Doc notes: None
Bugs: SDK-31728
Reviewer: Glenn
Tests run: Checkintests, ant build
Is noteworthy for integration: None

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -203,7 +203,7 @@
     // mode
     //---------------------------------

-    private var _mode:String = FlipViewTransitionMode.CARD;
+    private var _mode:String = "card"; // avoid deprecation warning for FlipViewTransitionMode.CARD;

     [Inspectable(category="General", enumeration="card,cube", defaultValue="card")]
     /**
@@ -271,7 +271,7 @@
         if (!startView || !endView)
             return null;

-        return (mode == FlipViewTransitionMode.CARD) ?
+        return (mode == "card") ? // avoid deprecation warning for FlipViewTransitionMode.CARD
             prepareCardViewEffect() :
             prepareCubeViewEffect();
     }
@@ -289,7 +289,7 @@
         if (!cachedNavigator)
             return null;

-        return mode == FlipViewTransitionMode.CARD ?
+        return mode == "card" ? // avoid deprecation warning for FlipViewTransitionMode.CARD
             prepareConsolidatedCardViewEffect() :
             prepareConsolidatedCubeViewEffect();
     }
@@ -458,7 +458,7 @@
             }
         }

-        if (mode == FlipViewTransitionMode.CARD)
+        if (mode == "card") // avoid deprecation warning for FlipViewTransitionMode.CARD
         {
             var topRight:Vector3D = new Vector3D(viewWidth, 0, 0);
             var bottomLeft:Vector3D = new Vector3D(0, viewHeight, 0);


Transferred from the Adobe Open Source Subversion Repository

Revision: 19454
Author:   clucier@adobe.com
Date:     2010-12-17T16:04:52.239440Z

Log Message:
-----------
Fix for RTE in ViewTransitions when pushing view to an active navigator that contains no previously active (default) view.
Documentation fix.

QE notes: None
Doc notes: None
Bugs: SDK-28954
Reviewer: Chiedo (Retro)
Tests run: Checkin
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -57,7 +57,7 @@
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Event(name="transitionStart", type="flash.events.Event")]
+[Event(name="transitionStart", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when the transition is complete.
@@ -66,7 +66,7 @@
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Event(name="transitionEnd", type="flash.events.Event")]
+[Event(name="transitionEnd", type="mx.events.FlexEvent")]

 /**
@@ -1168,6 +1168,10 @@
                 return false;
         }

+        // Test for valid views.
+        if (!startView || !endView)
+            return false;
+
         // Test for value of overlayControls changing.
         if (startView.overlayControls != endView.overlayControls)
             return false;


fixed null pointer error now handling rows of varying length

--- WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
+++ WeaveUI/src/weave/ui/CustomDataGrid/CustomDataGrid.as
@@ -212,8 +212,20 @@
 		 */
 		public function setRows(tableWithHeader:Array):void
 		{
-			// make a copy of the data
-			var rows:Array = tableWithHeader.map(function(row:Array, i:int, a:Array):Array { return row.concat(); });
+			// make sure we have at least one row (for the header)
+			if (!tableWithHeader || !tableWithHeader.length)
+				tableWithHeader = [[]];
+
+			// make a copy of the data and find the max row length
+			var rowLength:int = 0;
+			var rows:Array = tableWithHeader.map(function(row:Array, i:int, a:Array):Array {
+				rowLength = Math.max(rowLength, row.length);
+				return row.concat();
+			});
+			// expand rows to match max row length
+			rows.forEach(function(row:Array, i:int, a:Array):void {
+				row.length = rowLength;
+			});
 			var header:Array = rows.shift();

 			dataProvider = null;


[SequenceAssembler & SequenceChecker] added "Beta" to application name

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

--- SequenceCheckerToolStandalone/src/org/jbei/registry/Constants.as
+++ SequenceCheckerToolStandalone/src/org/jbei/registry/Constants.as
@@ -5,7 +5,7 @@
      */
     public class Constants
     {
-        public static const APPLICATION_NAME:String = "Sequence Checker";
+        public static const APPLICATION_NAME:String = "Sequence Checker (Beta)";

         public static const VERSION:String = "1.1.3";


Transferred from the Adobe Open Source Subversion Repository

Revision: 5152
Author:   gruehle@adobe.com
Date:     2009-03-03T21:18:45.837259Z

Log Message:
-----------
First pass of bug fixes for the Spark skins for Halo components.

Bugs:
SDK-19963 - themeColor should not affect rollOverColor or selectionColor in flex 4
SDK-19654 - Spark skin for the Halo ComboBox dropdown needs a drop shadow
SDK-19637 - Halo HScrollBar/VScrollBar controls dont render correctly when specifying includeIn states
SDK-19634 - Halo ProgressBar default size is very different when using Halo vs Gumbo theme
SDK-19626 - Flicker when toggling enabled property on Halo TabBar control with Gumbo skin
SDK-19556 - selected Halo CheckBox and RadioButton icons briefly flicker when you roll over them
SDK-19658 - Halo ComboBox with Gumbo skin has an odd flicker

Doc/QA Notes: The fix for SDK-19963 includes a compatibility-version check. When compatibility-version < 4, setting themeColor implicitly sets rollOverColor and selectionColor, if they have not been set. When compatibility-version >= 4, you must explicitly set rollOverColor and selectionColor, even when using the Halo theme.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.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/ComboBase.as</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/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressBarTrackSkin.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/framework/src/mx/graphics/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -1134,6 +1134,9 @@
      */
     override mx_internal function initThemeColor():Boolean
     {
+    	if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_4_0)
+    		return true;
+
         var result:Boolean = super.initThemeColor();

         if (!result)


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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/events/MenuEvent.as
+++ frameworks/projects/mx/src/mx/events/MenuEvent.as
@@ -0,0 +1,423 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+import flash.events.Event;
+import mx.controls.Menu;
+import mx.controls.MenuBar;
+import mx.controls.listClasses.IListItemRenderer;
+
+/**
+ *  The MenuEvent class represents events that are associated with menu
+ *  activities in controls such as Menu, MenuBar, and PopUpMenuButton.
+ *
+ *  @see mx.controls.Menu
+ *  @see mx.controls.MenuBar
+ *  @see mx.controls.PopUpMenuButton
+ */
+public class MenuEvent extends ListEvent
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The MenuEvent.CHANGE event type constant indicates that selection
+     *  changed as a result of user interaction.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         The index in the menu of the selected menu item.

+     *
item
+     *         The item in the dataProvider that was selected.

+     *
itemRenderer
+     *         The item renderer of the selected menu item.

+     *
label
+     *         The label text of the selected menu item.

+     *
menu
+     *         The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.CHANGE

+     *

+     *
+     *  @eventType change
+     */
+    public static const CHANGE:String = "change";
+
+    /**
+     *  The MenuEvent.ITEM_CLICK event type constant indicates that the
+     *  user selected a menu item.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         The index in the menu of the selected menu item.

+     *
item
+     *         The item in the dataProvider that was selected.

+     *
itemRenderer
+     *         The ListItemRenderer of the selected menu item.

+     *
label
+     *         The label text of the selected menu item.

+     *
menu
+     *          The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.ITEM_CLICK

+     *

+     *
+     *  @eventType itemClick
+     */
+    public static const ITEM_CLICK:String = "itemClick";
+
+    /**
+     *  The MenuEvent.MENU_HIDE event type constant indicates that
+     *  a menu or submenu closed.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *
+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         -1. This property is not set for this type of event.

+     *
item
+     *         null. This property is not set for this type of event.

+     *
itemRenderer
+     *         null. This property is not set for this type of event.

+     *
label
+     *         null. This property is not set for this type of event.

+     *
menu
+     *          The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.MENU_HIDE

+     *

+     *
+     *  @eventType menuHide
+     */
+     public static const MENU_HIDE:String = "menuHide";
+
+    /**
+     *  The MenuEvent.ITEM_ROLL_OUT type constant indicates that
+     *  the mouse pointer rolled out of a menu item.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         The index in the menu of the menu item that was rolled out of.

+     *
item
+     *         The item in the dataProvider corresponding to the menu item that was
+     *          rolled out of.

+     *
itemRenderer
+     *         The ListItemRenderer of the menu item that was rolled out of.

+     *
label
+     *         The label text of the menu item that was rolled out of.

+     *
menu
+     *          The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.ITEM_ROLL_OUT

+     *

+     *
+     *  @eventType itemRollOut
+     */
+    public static const ITEM_ROLL_OUT:String = "itemRollOut";
+
+    /**
+     *  The MenuEvent.ITEM_ROLL_OVER type constant indicates that
+     *  the mouse pointer rolled over a menu item.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         The index in the menu of the menu item that was rolled over.

+     *
item
+     *         The item in the dataProvider associated with the rolled over
+     *          menu item.

+     *
itemRenderer
+     *         The ListItemRenderer of the menu item that was rolled over.

+     *
label
+     *         The label text of the menu item that was rolled over.

+     *
menu
+     *          The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.ITEM_ROLL_OVER

+     *

+     *
+     *  @eventType itemRollOver
+     */
+    public static const ITEM_ROLL_OVER:String = "itemRollOver";
+
+    /**
+     *  The MenuEvent.MENU_SHOW type constant indicates that
+     *  the mouse pointer rolled a menu or submenu opened.
+     *
+     *
The properties of the event object for this event type have the
+     *  following values.
+     *  Not all properties are meaningful for all kinds of events.
+     *  See the detailed property descriptions for more information.

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	true

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
index
+     *         -1. This property is not set for this type of event.

+     *
item
+     *         null. This property is not set for this type of event.

+     *
itemRenderer
+     *         null. This property is not set for this type of event.

+     *
label
+     *         null. This property is not set for this type of event.

+     *
menu
+     *          The specific Menu instance associated with this event, or
+     *             null if a MenuBar item is dispatching the event.

+     *
menuBar
+     *         The MenuBar instance that is the parent of the
+     *             Menu control, or null if the Menu control is not
+     *             parented by a MenuBar control.

+     *
target	The Object that dispatched the
+     *             event; it is not always the Object listening for the event.
+     *             Use the currentTarget property to always access the
+     *             Object listening for the event.

+     *
type	MenuEvent.MENU_SHOW

+     *

+     *
+     *  @eventType menuShow
+     */
+    public static const MENU_SHOW:String = "menuShow";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  Normally called by the Menu object.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble
+     *  up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     *
+     *  @param menuBar The MenuBar instance that is the parent
+     *  of the selected Menu control, or null when the target Menu control
+     *  is not parented by a MenuBar control.
+     *
+     *  @param menu The specific Menu instance associated with the event,
+     *  such as the menu or submenu that was hidden or opened. This property
+     *  is null if a MenuBar item dispatches the event.
+     *
+     *  @param item The item in the dataProvider of the associated menu item.
+     *
+     *  @param itemRenderer The ListItemRenderer of the associated menu item.
+     *
+     *  @param label The label text of the associated menu item.
+     *
+     *  @param index The index in the menu of the associated menu item.
+     */
+    public function MenuEvent(type:String, bubbles:Boolean = false,
+                              cancelable:Boolean = true,
+                              menuBar:MenuBar = null, menu:Menu = null,
+                              item:Object = null,
+                              itemRenderer:IListItemRenderer = null,
+                              label:String = null, index:int = -1)
+    {
+        super(type, bubbles, cancelable);
+
+        this.menuBar = menuBar;
+        this.menu = menu;
+        this.item = item;
+        this.itemRenderer = itemRenderer;
+        this.label = label;
+        this.index = index;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  index
+    //----------------------------------
+
+    /**
+     *  The index of the associated menu item within its parent menu or submenu.
+     *  This is -1 for the menuShow and menuHide events.
+     */
+    public var index:int;
+
+    //----------------------------------
+    //  item
+    //----------------------------------
+
+    /**
+     *  The specific item in the dataProvider.
+     *  This is null for the menuShow and menuHide events.
+     */
+    public var item:Object;
+
+    //----------------------------------
+    //  label
+    //----------------------------------
+
+    /**
+     *  The label text of the associated menu item.
+     *  This is null for the menuShow and menuHide events.
+     */
+    public var label:String;
+
+    //----------------------------------
+    //  menu
+    //----------------------------------
+
+    /**
+     *  The specific Menu instance associated with the event,
+     *  such as the menu or submenu that was hidden or opened.
+     *
+     *  This property is null if a MenuBar item is dispatching
+     *  the event.
+     */
+    public var menu:Menu;
+
+    //----------------------------------
+    //  menuBar
+    //----------------------------------
+
+    /**
+     *  The MenuBar instance that is the parent of the selected Menu control,
+     *  or null when the target Menu control is not parented by a
+     *  MenuBar control.
+     */
+    public var menuBar:MenuBar;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new MenuEvent(type, bubbles, cancelable,
+                             menuBar, menu, item, itemRenderer, label, index);
+    }
+}
+
+}


Dispatch a SIZE_KNOWN event when we know our media's size.

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

--- src/as/com/threerings/util/MediaContainer.as
+++ src/as/com/threerings/util/MediaContainer.as
@@ -48,6 +48,9 @@
  */
 public class MediaContainer extends Box
 {
+    /** An event we dispatch when our size is known. */
+    public static const SIZE_KNOWN :String = "mediaSizeKnown";
+
     /** A log instance that can be shared by sprites. */
     protected static const log :Log = Log.getLog(MediaContainer);

@@ -482,6 +485,12 @@
         if (_w != ww || _h != hh) {
             _w = ww;
             _h = hh;
+            // TODO: I think that I'll want to create a subclass of the
+            // basic media container which does things that are usefulish
+            // but separate from MsoySprite. SIZE_KNOWN is one of those
+            // things that should probably be moved. Maybe BaseMediaContainer
+            // and MediaContainer? FancyMediaContainer?
+            dispatchEvent(new Event(SIZE_KNOWN));
             contentDimensionsUpdated();
         }
     }


Now with fewer syntax errors, and a static context (make use of the single-threaded environment when we know we have it). Still need to figure out the registered class stuff.

--- tamarin-central/thane/AMF3Encoder.as
+++ tamarin-central/thane/AMF3Encoder.as
@@ -1,4 +1,9 @@
 package {
+
+import avmplus.*;
+import flash.utils.getQualifiedClassName;
+import flash.utils.ByteArray;
+import flash.utils.Dictionary;

 /**
  * Partial AMF3 encoder, based on
@@ -8,25 +13,27 @@
 {
     public static function encode (bytes :ByteArray, value :*) :void
     {
-        encodeValue(new Context(bytes), value);
-    }
-
-    private static function encodeValue (context :Context, value :*) :void
+        _ctx = new Context(bytes);
+        encodeValue(value);
+    }
+
+    private static function encodeValue (value :*) :void
     {
         if (value === undefined) {
-            context.bytes.writeByte(0x00);
+            _ctx.bytes.writeByte(0x00);

         } else if (value === null) {
-            context.bytes.writeByte(0x01);
+            _ctx.bytes.writeByte(0x01);

         } else if (value === false) {
-            context.bytes.writeByte(0x02);
+            _ctx.bytes.writeByte(0x02);

         } else if (value === true) {
-            context.bytes.writeByte(0x03);
+            _ctx.bytes.writeByte(0x03);

         } else if (value is int || value is uint || value is Number) {
             // figure out if this number could be represented as an AMF3 int
+            var doublify :Boolean;
             if (value is int) {
                 // signed integers must lie within -2^28 and 2^28-1
                 doublify = (value < -(1 << 28)) || (value >= (1 << 28));
@@ -39,65 +46,65 @@
             }

             if (doublify) {
-                context.bytes.writeByte(0x05);
+                _ctx.bytes.writeByte(0x05);
                 encodeDouble(value);
             } else {
-                context.bytes.writeByte(0x04);
+                _ctx.bytes.writeByte(0x04);
                 encodeInteger(uint(value));
             }

         } else if (value is String) {
-            context.bytes.writeByte(0x06);
+            _ctx.bytes.writeByte(0x06);
             encodeString(value as String);

-        } else if ((value is XMLNode) || (value is XML) || (value is XMLList)) {
-            // 0x07 & 0x0b
-            throw new Error("XML serialization not supported");
+        /* } else if (value is XMLNode) { ... } // we don't even define the legacy XML types */

         } else if (value is Date) {
             // 0x08
             throw new Error("Date serialization not supported");

         } else if (value is Array) {
-            context.bytes.writeByte(0x09);
+            _ctx.bytes.writeByte(0x09);
             encodeArray(value as Array);
+
+        } else if ((value is XML) || (value is XMLList)) {
+            // 0x0b
+            throw new Error("XML serialization not supported");

         } else {
             var className :String = getQualifiedClassName(value);
             if (className == "flash.utils.ByteArray") {
-                context.bytes.writeByte(0x0c);
-                encodeByteArray(context, value as ByteArray);
+                _ctx.bytes.writeByte(0x0c);
+                encodeByteArray(value as ByteArray);
                 return;
             }

-            if (value is IExternalizable) {
-                throw new Error("IExternalizable serialization not supported");
-            }
-
-            context.bytes.writeByte(0x0a);
-            encodeObject(context, value as Object);
-        }
-    }
-
-    private static function encodeInteger (context :Context, n :uint) :void
+            // Tamarin/Thane doesn't even have an IExternalizable type to test for
+
+            _ctx.bytes.writeByte(0x0a);
+            encodeObject(value as Object);
+        }
+    }
+
+    private static function encodeInteger (n :uint) :void
     {
         if (n < 0x80) {
-            context.bytes.writeByte(0x00 | n);
+            _ctx.bytes.writeByte(0x00 | n);

         } else if (n < 0x4000) {
-            context.bytes.writeByte(0x80 | (n >> 7));
-            context.bytes.writeByte(0x00 | (n & 0x7F));
+            _ctx.bytes.writeByte(0x80 | (n >> 7));
+            _ctx.bytes.writeByte(0x00 | (n & 0x7F));

         } else if (n < 0x200000) {
-            context.bytes.writeByte(0x80 | (n >> 14));
-            context.bytes.writeByte(0x80 | ((n >> 7) & 0x7F));
-            context.bytes.writeByte(0x00 | (n & 0x7F));
+            _ctx.bytes.writeByte(0x80 | (n >> 14));
+            _ctx.bytes.writeByte(0x80 | ((n >> 7) & 0x7F));
+            _ctx.bytes.writeByte(0x00 | (n & 0x7F));

         } else if (n < 0x3FFFFFFF) {
-            context.bytes.writeByte(0x80 | (n >> 21));
-            context.bytes.writeByte(0x80 | ((n >> 14) & 0x7F));
-            context.bytes.writeByte(0x80 | ((n >> 7) & 0x7F));
-            context.bytes.writeByte(0x00 | (n & 0x7F));
+            _ctx.bytes.writeByte(0x80 | (n >> 21));
+            _ctx.bytes.writeByte(0x80 | ((n >> 14) & 0x7F));
+            _ctx.bytes.writeByte(0x80 | ((n >> 7) & 0x7F));
+            _ctx.bytes.writeByte(0x00 | (n & 0x7F));

         } else {
             throw new Error("Internal error - numerical overflow: " + n);
@@ -106,28 +113,28 @@

     private static function encodeDouble (n :Number) :void
     {
-        context.bytes.writeDouble(n);
-    }
-
-    private static function encodeString (context :Context, str :String) :void
-    {
-        if (context.sRef.table[str] !== undefined) {
-            encodeInteger(0 | ref.table[str] << 1);
+        _ctx.bytes.writeDouble(n);
+    }
+
+    private static function encodeString (str :String) :void
+    {
+        if (_ctx.sRef.table[str] !== undefined) {
+            encodeInteger(0 | _ctx.sRef.table[str] << 1);
             return;
         }

         encodeInteger(1 | (str.length << 1));
         if (str.length > 0) {
-            context.bytes.writeUTFBytes(str);
+            _ctx.bytes.writeUTFBytes(str);
             // spec says we do not add the empty string to the reference table
-            context.sRef.table[str] = context.sRef.ix ++;
-        }
-    }
-
-    private static function encodeArray (context :Context, arr :Array) :void
-    {
-        if (context.oRef.table[value] !== undefined) {
-            encodeInteger(context.oRef.table[value] << 1);
+            _ctx.sRef.table[str] = _ctx.sRef.ix ++;
+        }
+    }
+
+    private static function encodeArray (arr :Array) :void
+    {
+        if (_ctx.oRef.table[arr] !== undefined) {
+            encodeInteger(_ctx.oRef.table[arr] << 1);
             return;
         }

@@ -147,33 +154,35 @@
             }
             // if so, just stream them out
             encodeString(String(prop));
-            encodeValue(context, arr[prop]);
+            encodeValue(arr[prop]);
         }
         encodeString("");

         // finally send the dense values
         for (var ii :int = 0; ii < denseEnd; ii ++) {
-            encodeValue(context, arr[ii]);
-        }
-
-        context.oRef.table[value] = context.oRef.ix ++;
-    }
-
-    private static function encodeObject (context :Context, object :Object) :void
-    {
-        if (context.oRef.table[object] !== undefined) {
-            encodeInteger(context.oRef.table[object] << 1);
+            encodeValue(arr[ii]);
+        }
+
+        _ctx.oRef.table[arr] = _ctx.oRef.ix ++;
+    }
+
+    private static function encodeObject (object :Object) :void
+    {
+        if (_ctx.oRef.table[object] !== undefined) {
+            encodeInteger(_ctx.oRef.table[object] << 1);
             return;
         }

         // enumerate the sealed types
-        var vars :Array = Domain.currentDomain.getVariables(type);
+        var vars :Array = Domain.currentDomain.getVariables(object);
+        var varSet :Dictionary = new Dictionary();
         for (var ii :int = 0; ii < vars.length; ii ++) {
             varSet[vars[ii]] = true;
         }

         // then whatever's left, if anything, is dynamic
-        for (var prop :String in type) {
+        var dynVars :Array = [ ];
+        for (var prop :String in object) {
             if (varSet[prop] === undefined) {
                 dynVars.push(prop);
             }
@@ -192,7 +201,7 @@
         }
         // and associated values
         for (ii = 0; ii < vars.length; ii ++) {
-            encodeValue(context, object[vars[ii]]);
+            encodeValue(object[vars[ii]]);
         }

         // end with the dynamic keys
@@ -201,7 +210,7 @@
         }
         // and values
         for (ii = 0; ii < dynVars.length; ii ++) {
-            encodeValue(context, object[dynVars[ii]]);
+            encodeValue(object[dynVars[ii]]);
         }

         // if there were any dynamic variables (which we signaled with a bit above),
@@ -210,26 +219,31 @@
             encodeString("");
         }

-        context.oRef.table[object] = context.oRef.ix ++;
-    }
-
-
-    private static function encodeByteArray (context :Context, bytes :ByteArray) :void
-    {
-        if (context.oRef.table[object] !== undefined) {
-            encodeInteger(context.oRef.table[object] << 1);
+        _ctx.oRef.table[object] = _ctx.oRef.ix ++;
+    }
+
+
+    private static function encodeByteArray (bytes :ByteArray) :void
+    {
+        if (_ctx.oRef.table[bytes] !== undefined) {
+            encodeInteger(_ctx.oRef.table[bytes] << 1);
             return;
         }

         // a byte array consists of a 1 bit, followed by the byte count
         encodeInteger(1 | (bytes.length << 1));
         // and then just... all the bytes
-        context.bytes.writeBytes(bytes);
-
-        context.oRef.table[object] = context.oRef.ix ++;
-    }
-}
-}
+        _ctx.bytes.writeBytes(bytes);
+
+        _ctx.oRef.table[bytes] = _ctx.oRef.ix ++;
+    }
+
+    private static var _ctx :Context;
+}
+}
+
+import flash.utils.ByteArray;
+import flash.utils.Dictionary;

 class Context
 {
@@ -239,7 +253,7 @@
     public var sRef :References = new References();
     public var tRef :References = new References();

-    public function EncodingContext (bytes :ByteArray)
+    public function Context (bytes :ByteArray)
     {
         this.bytes = bytes;
     }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13150
Author:   clucier@adobe.com
Date:     2009-12-22T17:16:12.176945Z

Log Message:
-----------
Change to ensure only primary (initial) WindowedApplication attempts to throttle background frameRate.  There are cases where multiple WindowedApplications exist tied to the same NativeApplication (such as when utilizing the application updater UI).

QE notes: None
Doc notes: None
Bugs: SDK-24752
Reviewer: Darrell
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>

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

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -48,6 +48,7 @@
 import mx.events.FlexNativeWindowBoundsEvent;
 import mx.managers.DragManager;
 import mx.managers.NativeDragManagerImpl;
+import mx.managers.SystemManagerGlobals;
 import mx.styles.CSSStyleDeclaration;
 import mx.styles.StyleManager;
 import mx.styles.StyleProxy;
@@ -654,7 +655,7 @@
     public function WindowedApplication()
     {
         super();
-
+
         addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
         addEventListener(FlexEvent.PREINITIALIZE, preinitializeHandler);
         addEventListener(FlexEvent.UPDATE_COMPLETE, updateComplete_handler);
@@ -792,7 +793,7 @@
      *  @private
      */
     private var ucCount:Number = 0;
-
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties: UIComponent
@@ -3368,8 +3369,12 @@
     {
         dispatchEvent(new AIREvent(AIREvent.APPLICATION_ACTIVATE));

+        // Only the initial WindowedApplication instance manages background framerate.
+        var isPrimaryApplication:Boolean =
+            SystemManagerGlobals.topLevelSystemManagers[0] == systemManager;
+
         // Restore throttled framerate if appropriate when application is activated.
-        if (prevActiveFrameRate >= 0 && stage)
+        if (prevActiveFrameRate >= 0 && stage && isPrimaryApplication)
         {
             stage.frameRate = prevActiveFrameRate;
             prevActiveFrameRate = -1;
@@ -3383,11 +3388,15 @@
     {
         dispatchEvent(new AIREvent(AIREvent.APPLICATION_DEACTIVATE));

+        // Only the initial WindowedApplication instance manages background framerate.
+        var isPrimaryApplication:Boolean =
+            SystemManagerGlobals.topLevelSystemManagers[0] == systemManager;
+
         // Throttle framerate if appropriate when application is deactivated.
         // Ensure we've received an updateComplete on the chance our layout
         // manager is using phased instantiation (we don't wish to store a
         // maxed out (1000fps) framerate).
-        if ((_backgroundFrameRate >= 0) && (ucCount > 0) && stage)
+        if ((_backgroundFrameRate >= 0) && (ucCount > 0) && stage && isPrimaryApplication)
         {
             prevActiveFrameRate = stage.frameRate;
             stage.frameRate = _backgroundFrameRate;


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

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

 package mx.charts.chartClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 2293
Author:   dloverin@adobe.com
Date:     2008-06-30T13:15:11.773580Z

Log Message:
-----------
Clean up use of addEventListenerToStage(Event.RESIZE).
Remove SizeRequest.GET_STAGE_SIZE.
Removed currentRequestor parameter of SandboxBridgeRequest.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/RemoveEventListenerRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/SandboxBridgeRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/events/AddEventListenerRequest.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/marshall-plan-3.0.x/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>

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

--- frameworks/projects/framework/src/mx/events/EventListenerRequest.as
+++ frameworks/projects/framework/src/mx/events/EventListenerRequest.as
@@ -45,14 +45,8 @@
 		 * @param useWeakReference, as in addEventListener.
 		 * @param useStage true if a stage listener listener should be added
 		 *        if this request is sent to a top-level system manager.
-		 * @param requestor the bridge of the original requestor of the listener.
-		 * 		  Events should be sent to this bridge.
+		 * @param requestor the bridge of the application who sent this request.
 		 * @param data optional parameter, not used
-		 * @param currentRequestor the bridge that passed this request to the
-		 *        requestee. This differs from requestor when an event is
-		 * 	      broadcast. The currentRequestor does not expect to receive
-		 * 		  any events from the request, it is just acting as a relay to
-		 *        broadcast the event.
 		 */
 		public function EventListenerRequest(requestType:String,
 									userType:String,


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

--- frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
+++ frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as
@@ -25,7 +25,7 @@
  *  and adds the following tag attributes:

  *
  *

- *  <mx:EaseInOutBase
+ *  <s:EaseInOutBase
  *    id="ID"
  *    easeInFraction="0.5"
  *   />


FragmentLoader.as: handle case when lowest level is audio only, and same is also an alternate audio rendition

--- src/org/mangui/hls/loader/FragmentLoader.as
+++ src/org/mangui/hls/loader/FragmentLoader.as
@@ -836,7 +836,7 @@
                 return;
             var hlsError : HLSError;
             var fragData : FragmentData = _frag_current.data;
-            if (!fragData.audio_found && !fragData.video_found) {
+            if ((_demux.audio_expected && !fragData.audio_found) || (_demux.video_expected && !fragData.video_found)) {
                 hlsError = new HLSError(HLSError.FRAGMENT_PARSING_ERROR, _frag_current.url, "error parsing fragment, no tag found");
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.ERROR, hlsError));
             }
@@ -885,27 +885,33 @@
                 CONFIG::LOGGING {
                     Log.debug("Loaded        " + _frag_current.seqnum + " of [" + (_levels[_hls.level].start_seqnum) + "," + (_levels[_hls.level].end_seqnum) + "],level " + _hls.level + " m/M PTS:" + fragData.pts_min + "/" + fragData.pts_max);
                 }
-                _levels[_hls.level].updateFragment(_frag_current.seqnum, true, fragData.pts_min, fragData.pts_max);
-                // set pts_start here, it might not be updated directly in updateFragment() if this loaded fragment has been removed from a live playlist
-                fragData.pts_start = fragData.pts_min;
-                _hls.dispatchEvent(new HLSEvent(HLSEvent.PLAYLIST_DURATION_UPDATED, _levels[_hls.level].duration));
+
+                var tagsMetrics : HLSLoadMetrics;
+                if (fragData.audio_found || fragData.video_found) {
+                    _levels[_hls.level].updateFragment(_frag_current.seqnum, true, fragData.pts_min, fragData.pts_max);
+                    // set pts_start here, it might not be updated directly in updateFragment() if this loaded fragment has been removed from a live playlist
+                    fragData.pts_start = fragData.pts_min;
+                    _hls.dispatchEvent(new HLSEvent(HLSEvent.PLAYLIST_DURATION_UPDATED, _levels[_hls.level].duration));
+
+                    tagsMetrics = new HLSLoadMetrics(_hls.level, fragMetrics.bandwidth, fragData.pts_max - fragData.pts_min, fragMetrics.processing_duration);
+
+                    if (fragData.tags.length) {
+                        if (fragData.metadata_tag_injected == false) {
+                            fragData.tags.unshift(_frag_current.metadataTag);
+                            if (_hasDiscontinuity) {
+                                fragData.tags.unshift(new FLVTag(FLVTag.DISCONTINUITY, fragData.pts_min, fragData.pts_min, false));
+                            }
+                            fragData.metadata_tag_injected = true;
+                        }
+                        _streamBuffer.appendTags(fragData.tags, fragData.tag_pts_min, fragData.tag_pts_max, _frag_current.continuity, _frag_current.start_time + fragData.tag_pts_start_offset / 1000);
+                        _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, tagsMetrics));
+                        fragData.shiftTags();
+                        _hasDiscontinuity = false;
+                    }
+                } else {
+                    tagsMetrics = new HLSLoadMetrics(_hls.level, fragMetrics.bandwidth, _frag_current.duration * 1000, fragMetrics.processing_duration);
+                }
                 _loading_state = LOADING_IDLE;
-
-                var tagsMetrics : HLSLoadMetrics = new HLSLoadMetrics(_hls.level, fragMetrics.bandwidth, fragData.pts_max - fragData.pts_min, fragMetrics.processing_duration);
-
-                if (fragData.tags.length) {
-                    if (fragData.metadata_tag_injected == false) {
-                        fragData.tags.unshift(_frag_current.metadataTag);
-                        if (_hasDiscontinuity) {
-                            fragData.tags.unshift(new FLVTag(FLVTag.DISCONTINUITY, fragData.pts_min, fragData.pts_min, false));
-                        }
-                        fragData.metadata_tag_injected = true;
-                    }
-                    _streamBuffer.appendTags(fragData.tags, fragData.tag_pts_min, fragData.tag_pts_max, _frag_current.continuity, _frag_current.start_time + fragData.tag_pts_start_offset / 1000);
-                    _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, tagsMetrics));
-                    fragData.shiftTags();
-                    _hasDiscontinuity = false;
-                }
                 _pts_analyzing = false;
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_LOADED, tagsMetrics));
                 _fragment_first_loaded = true;


bug 361312, fix tamarin tests of case Math.pow(Infinity,-1)=0 and variants, r=wsharp

--- test/ecma3/Math/e15_8_2_13.as
+++ test/ecma3/Math/e15_8_2_13.as
@@ -80,7 +80,7 @@
     array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, .00000000001)", Number.POSITIVE_INFINITY,   Math.pow(Number.POSITIVE_INFINITY,.00000000001) );
     array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, 1)",            Number.POSITIVE_INFINITY,   Math.pow(Number.POSITIVE_INFINITY, 1) );
     array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, -.00000000001)",0,                          Math.pow(Number.POSITIVE_INFINITY, -.00000000001) );
-    array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, -1)",           Number.NaN,                 Math.pow(Number.POSITIVE_INFINITY, -1) );
+    array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, -1)",           0,                          Math.pow(Number.POSITIVE_INFINITY, -1) );
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, 1)",           Number.NEGATIVE_INFINITY,                 Math.pow(Number.NEGATIVE_INFINITY, 1) );
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, 333)",         Number.NEGATIVE_INFINITY,                 Math.pow(Number.NEGATIVE_INFINITY, 333) );
     array[item++] = new TestCase( SECTION,  "Math.pow(Infinity, 2)",            Number.POSITIVE_INFINITY,                 Math.pow(Number.POSITIVE_INFINITY, 2) );
@@ -88,11 +88,11 @@
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, 0.5)",         Number.POSITIVE_INFINITY,   Math.pow(Number.NEGATIVE_INFINITY, 0.5) );
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, Infinity)",    Number.POSITIVE_INFINITY,   Math.pow(Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY) );

-    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -1)",          Number.NaN,                         Math.pow(Number.NEGATIVE_INFINITY, -1) );
-    array[item++] = new TestCase( SECTION,  "Infinity/Math.pow(-Infinity, -1)", Number.NaN,                  Infinity/Math.pow(Number.NEGATIVE_INFINITY, -1) );
+    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -1)",          0,                          Math.pow(Number.NEGATIVE_INFINITY, -1) );
+    array[item++] = new TestCase( SECTION,  "Infinity/Math.pow(-Infinity, -1)", Number.NEGATIVE_INFINITY,   Infinity/Math.pow(Number.NEGATIVE_INFINITY, -1) );

-    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -3)",          Number.NaN,                         Math.pow(Number.NEGATIVE_INFINITY, -3) );
-    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -2)",          Number.NaN,                          Math.pow(Number.NEGATIVE_INFINITY, -2) );
+    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -3)",          0,                          Math.pow(Number.NEGATIVE_INFINITY, -3) );
+    array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -2)",          0,                          Math.pow(Number.NEGATIVE_INFINITY, -2) );
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -0.5)",        0,                          Math.pow(Number.NEGATIVE_INFINITY,-0.5) );
     array[item++] = new TestCase( SECTION,  "Math.pow(-Infinity, -Infinity)",   0,                          Math.pow(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY) );
     array[item++] = new TestCase( SECTION,  "Math.pow(0, 1)",                   0,                          Math.pow(0,1) );


Transferred from the Adobe Open Source Subversion Repository

Revision: 17827
Author:   chiedozi@adobe.com
Date:     2010-09-23T22:26:49.287708Z

Log Message:
-----------
Replaced the active property setter in View and ViewNavigator with an mx_internal method
TabbedViewNavigator and TabbedMobileApplication now use their creationPolicy property to determine if the top views for all their child navigators should be created or not
ViewNavigator now has a destructionPolicy property that determines whether the active view should be destroyed when the navigator is deactivated
TabbedViewNavigator now pops to the first view if the selected tab is clicked
ViewNavigator can now indicate whether it wants to save its navigation history when it is deactivated using the maintainNavigationStack property

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/ContainerDestructionPolicy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/core/ContainerDestructionPolicy.as
+++ frameworks/projects/mobilecomponents/src/spark/core/ContainerDestructionPolicy.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.core
+{
+/**
+ *  The ContainerCreationPolicy class defines the constant values
+ *  for the destructionPolicy property of spark view
+ *  classes.
+ *
+ *  @see spark.components.ViewNavigatorBase#destructionPolicy
+ *  @see spark.components.View#destructionPolicy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public final class ContainerDestructionPolicy
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The container will always destroy its children when the container
+     *  deactivated.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public static const ALWAYS:String = "always";
+
+    /**
+     *  The lifespan of the container's children will automatically
+     *  be managed by the container based on the container's own
+     *  heuristic. The default implementation mimics that behavior of
+     *  ContainerDestructionPolicy.ALWAYS
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public static const AUTO:String = "auto";
+
+    /**
+     *  The container will never destroy its children.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public static const NEVER:String = "never";
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 22875
Author:   aaltman@adobe.com
Date:     2011-10-05T18:45:16.835241Z

Log Message:
-----------
Corrected an error in my last checkin. These lines shouldn't be commented out.

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -535,7 +535,7 @@
             else
                 addComponentToContainer(transitionGroup, navigator.skin);

-            //startView.visible = false;
+            startView.visible = false;
         }
         else
         {
@@ -767,7 +767,7 @@
             {
                 startView.contentGroup.cacheAsBitmap = navigatorProps.startViewCacheAsBitmap;
                 startView.setLayoutBoundsPosition(navigatorProps.startViewX, navigatorProps.startViewY);
-                //startView.visible = true;
+                startView.visible = true;
             }

             if (endView)


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

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

 package spark.components.supportClasses


Transferred from the Adobe Open Source Subversion Repository

Revision: 11737
Author:   jszeto@adobe.com
Date:     2009-11-12T21:25:33.011928Z

Log Message:
-----------
ComboBox and DropDownList bug fixes

SDK-23635 - Implement type-ahead in DropDownList

Added code in DropDownListBase keyDownHandler to listen for letters and change the selection if there is a match. At some point, we should modify findKey and findString (I'll file an ECR for that). For now, I've just overridden findKey and cobbled together the logic from List.findKey and List.findString. In ComboBox, we override findKey to do nothing since ComboBox has its own logic that relies on textInput changes.

SDK-23859 - DropDownList does not reset caretIndex when selection is cleared

Fixed this in two places. In ComboBox.keyDownHandlerHelper, we update the caret index when ESC is pressed. In DropDownListBase.dropDownController_closeHandler, we update the caret index if the commit has been canceled (ie. ESC was pressed).

SDK-24175 - ComboBox does not select an item with ENTER when openOnInput = false

When the ComboBox was closed and the arrow keys were pressed, the selectedIndex was changed. When ENTER was pressed, it was committing actualProposedSelectedIndex, not selectedIndex. The fix is to override the selectedIndex setter to keep actualProposedSelectedIndex in sync if selectedIndex was changed. Usually it is kept in sync when the dropDown is opened.

SDK-24174 - ComboBox does not scroll correctly when openOnInput = false

When typing in a match, the caretIndex was changed, but not the selectedIndex (because matching when it is closed doesn't commit the value until you press ENTER or lose focus). When closed, the navigation keys were changing the selectedIndex relative to the previous selectedIndex. I updated this to change relative to caretIndex instead. In most cases, caretIndex and selectedIndex are equivalent while the dropDown is closed.

Other changes:

- Replaced some calls to dropDownController.isOpen with isDropDownOpen.
- Added protection RTE protection to ComboBox.changeHighlightedSelection

QE notes: None
Doc notes: None
Bugs: SDK-23635, SDK-23859, SDK-24175, SDK-24174
Reviewer: Deepa
Tests run: ComboBox, DropDownList
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as
@@ -447,7 +447,7 @@
         else
             return false;
     }
-
+
     //----------------------------------
     //  userProposedSelectedIndex
     //----------------------------------
@@ -532,7 +532,7 @@
      */
     override protected function getCurrentSkinState():String
     {
-        return !enabled ? "disabled" : dropDownController.isOpen ? "open" : "normal";
+        return !enabled ? "disabled" : isDropDownOpen ? "open" : "normal";
     }

     /**
@@ -643,8 +643,41 @@
             dataGroup.verticalScrollPosition += spDelta.y;
         }
     }
-
-
+
+    override protected function findKey(eventCode:int):Boolean
+    {
+        if (!dataProvider || dataProvider.length == 0)
+            return false;
+
+        if (eventCode >= 33 && eventCode <= 126)
+        {
+            var matchingIndex:Number;
+            var keyString:String = String.fromCharCode(eventCode);
+            var startIndex:int = isDropDownOpen ? userProposedSelectedIndex  + 1 : selectedIndex + 1;
+            startIndex = Math.max(0, startIndex);
+
+            matchingIndex = findStringLoop(keyString, startIndex, dataProvider.length);
+
+            // We didn't find the item, loop back to the top
+            if (matchingIndex == -1)
+            {
+                matchingIndex = findStringLoop(keyString, 0,  startIndex);
+            }
+
+
+            if (matchingIndex != -1)
+            {
+                if (isDropDownOpen)
+                    changeHighlightedSelection(matchingIndex);
+                else
+                    selectedIndex = matchingIndex;
+
+                return true;
+            }
+        }
+
+        return false;
+    }

     //--------------------------------------------------------------------------
     //
@@ -687,13 +720,20 @@
         if (!dropDownController.processKeyDown(event))
         {
             var navigationUnit:uint = event.keyCode;
+
+            if (findKey(event.charCode))
+            {
+                event.preventDefault();
+                return;
+            }
+
             if (!NavigationUnit.isNavigationUnit(navigationUnit))
                 return;

             var proposedNewIndex:int = NO_SELECTION;
             var currentIndex:int;

-            if (dropDownController.isOpen)
+            if (isDropDownOpen)
             {
                 // Normalize the proposed index for getNavigationDestinationIndex
                 currentIndex = userProposedSelectedIndex < NO_SELECTION ? NO_SELECTION : userProposedSelectedIndex;
@@ -708,7 +748,7 @@
             else if (dataProvider)
             {
                 // Normalize the proposed index for getNavigationDestinationIndex
-                currentIndex = selectedIndex < NO_SELECTION ? NO_SELECTION : selectedIndex;
+                currentIndex = caretIndex < NO_SELECTION ? NO_SELECTION : caretIndex;

                 // FIXME (jszeto) : SDK-24036 Add arrowKeysWrapFocus support

@@ -832,6 +872,10 @@
         {
             selectedIndex = userProposedSelectedIndex;
         }
+        else
+        {
+            changeHighlightedSelection(selectedIndex);
+        }
     }

     /**