Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
+++ frameworks/projects/rpc/src/mx/messaging/ChannelSet.as
@@ -367,7 +367,7 @@
                 for (var i:int = 0; i < _messageAgents.length; i++)
                 {
                     ma = MessageAgent(_messageAgents[i]);
-                    ma.mx_internal::setAuthenticated(value, creds);
+                    ma.setAuthenticated(value, creds);
                 }
             }

@@ -923,7 +923,7 @@
         {
             _shouldBeConnected = true;
             _messageAgents.push(agent);
-            agent.mx_internal::internalSetChannelSet(this);
+            agent.internalSetChannelSet(this);
             // Wire up agent's channel event listeners to this ChannelSet.
             addEventListener(ChannelEvent.CONNECT, agent.channelConnectHandler);
             addEventListener(ChannelEvent.DISCONNECT, agent.channelDisconnectHandler);
@@ -1010,8 +1010,8 @@
                 }

                 // Null out automatically assigned ChannelSet on agent; if manually assigned leave it alone.
-                if (agent.mx_internal::channelSetMode == MessageAgent.mx_internal::AUTO_CONFIGURED_CHANNELSET)
-                    agent.mx_internal::internalSetChannelSet(null);
+                if (agent.channelSetMode == MessageAgent.AUTO_CONFIGURED_CHANNELSET)
+                    agent.internalSetChannelSet(null);
             }
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 16669
Author:   jszeto@adobe.com
Date:     2010-06-25T07:07:02.411853Z

Log Message:
-----------
Enable automation support

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Deeptika
Tests run: none
Is noteworthy for integration: Yes, for Automation team

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as

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

--- frameworks/projects/spark/src/spark/components/Form.as
+++ frameworks/projects/spark/src/spark/components/Form.as
@@ -54,6 +54,8 @@
         // the error skin or error tip, but that its children do.
         setStyle("showErrorSkin", false);
         setStyle("showErrorTip", false);
+
+        showInAutomationHierarchy = false;
     }

     private var errorStateChanged:Boolean = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12537
Author:   smgilson@adobe.com
Date:     2009-12-04T17:41:47.951816Z

Log Message:
-----------
Fix for FLEXDOCS-1157 - Spark List-based comps have documenation saying they don't support BasicLayout

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-1157
Reviewer: -
Tests run: - checkintests
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/DropDownList.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/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -213,6 +213,11 @@
  *  when the full width of the list items is unlikely to fit.
  *  The user can select one or more items from the list, depending
  *  on the value of the allowMultipleSelection property.
+ *
+ *
Note: The Spark list-based controls (the Spark ListBase class and its subclasses
+ *  such as ButtonBar, ComboBox, DropDownList, List, and TabBar) do not support the BasicLayout class
+ *  as the value of the layout property.
+ *  Do not use BasicLayout with the Spark list-based controls.

  *
  *
The List control has the following default characteristics:

  *

@@ -880,9 +885,9 @@
                 RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
         }
         else if (instance == scroller)
-		{
+        {
             scroller.hasFocusableChildren = hasFocusableChildren;
-		}
+        }
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 4790
Author:   jimurphy@adobe.com
Date:     2009-02-02T18:13:13.580538Z

Log Message:
-----------
Merged 3.x revisions 4710-4711,4741,4746-4747,4755,4777,4787 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/NumberBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloFocusRect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -51,6 +51,7 @@
 import mx.core.Window;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.events.FlexChangeEvent;
 import mx.events.EventListenerRequest;
 import mx.events.InvalidateRequestData;
 import mx.events.InterManagerRequest;
@@ -194,14 +195,6 @@
 	 */
 	private var mouseCatcher:Sprite;

-    /**
-     *  @private
-     *  Map a bridge to a FocusManager. This is only for Focus Managers that is
-     *  not the focus manager for document. Since the bridges are not in document
-     *  they are bridges inside of pop ups.
-     */
-     private var bridgeToFocusManager:Dictionary;
-
 	//----------------------------------
 	//  applicationIndex
 	//----------------------------------
@@ -230,6 +223,48 @@
 		_applicationIndex = value;
 	}

+    //----------------------------------
+    //  bridgeToFocusManager
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Map a bridge to a FocusManager.
+     *  This dictionary contains both the focus managers for this document as
+     *  well as focus managers that are in documents contained inside of pop
+     *  ups, if the system manager in that pop up requires a bridge to
+     *  communicate with this system manager.
+     *
+     *  The returned object is an object of type IFocusManager.
+     */
+    private var _bridgeToFocusManager:Dictionary;
+
+    /**
+     *   @private
+     *
+     *   System Managers in child application domains use their parent's
+     *   bridgeToFocusManager's Dictionary. The swfBridgeGroup property
+     *   is maintained in the same way.
+     */
+    mx_internal function get bridgeToFocusManager():Dictionary
+    {
+        if (topLevel)
+            return _bridgeToFocusManager;
+        else if (topLevelSystemManager)
+            return SystemManager(topLevelSystemManager).bridgeToFocusManager;
+
+        return null;
+    }
+
+    mx_internal function set bridgeToFocusManager(bridgeToFMDictionary:Dictionary):void
+    {
+        if (topLevel)
+            _bridgeToFocusManager = bridgeToFMDictionary;
+        else if (topLevelSystemManager)
+            SystemManager(topLevelSystemManager).bridgeToFocusManager = bridgeToFMDictionary;
+
+    }
+
 	//-----------------------------------
 	//  ISystemManager implementations
 	//-----------------------------------
@@ -1324,6 +1359,12 @@
 		initContextMenu();
 		if (!topLevel)
 		{
+            // We are not top-level and don't have a parent. This can happen
+            // when the application has already been unloaded by the time
+            // we get to this point.
+            if (!parent)
+                return;
+
 			var obj:DisplayObjectContainer = parent.parent;

   			// if there is no grandparent at this point, we might have been removed and
@@ -1738,6 +1779,9 @@
         bridgeToFocusManager[bridge] = fm;

         addChildBridgeListeners(bridge);
+
+        // dispatch message that we are adding a bridge.
+        dispatchEvent(new FlexChangeEvent(FlexChangeEvent.ADD_CHILD_BRIDGE, false, false, bridge));
 	}

 	/**
@@ -1745,6 +1789,9 @@
 	 */
 	public function removeChildBridge(bridge:IEventDispatcher):void
 	{
+        // dispatch message that we are removing a bridge.
+        dispatchEvent(new FlexChangeEvent(FlexChangeEvent.REMOVE_CHILD_BRIDGE, false, false, bridge));
+
         var fm:IFocusManager = IFocusManager(bridgeToFocusManager[bridge]);
         fm.removeSWFBridge(bridge);
         swfBridgeGroup.removeChildBridge(bridge);
@@ -1764,14 +1811,16 @@
 		if (!topLevel && topLevelSystemManager)
 			return topLevelSystemManager.useSWFBridge();

-		// if we're toplevel and we aren't the sandbox root, we need a bridge
-		if (topLevel && getSandboxRoot() != this)
-			return true;
-
-		// we also need a bridge even if we're the sandbox root
-		// but not a stage root, but our parent loader is a bootstrap
-		// that is not the stage root
-		if (getSandboxRoot() == this)
+        var sbRoot:DisplayObject = getSandboxRoot();
+
+        // if we're toplevel and we aren't the sandbox root, we need a bridge
+        if (topLevel && sbRoot != this)
+            return true;
+
+        // we also need a bridge even if we're the sandbox root
+        // but not a stage root, but our parent loader is a bootstrap
+        // that is not the stage root
+        if (sbRoot == this)
 		{
 			try
 			{
@@ -1856,7 +1905,7 @@
             // test to see if parent is a Bootstrap
             if (parent && !parent.dispatchEvent(new Event("mx.managers.SystemManager.isBootstrapRoot", false, true)))
                 return this;
-  			var lastParent:DisplayObject = parent;
+  			var lastParent:DisplayObject = this;
 			while (parent)
 			{
 				if (parent is Stage)
@@ -1876,14 +1925,20 @@
 				    if (!loaderInfo.childAllowsParent)
 				        return loaderInfo.content;
 				}
-				lastParent = parent;
+
+                // If an object is listening for system manager request we assume it is a sandbox
+                // root. If not, don't assign lastParent to this parent because it may be a
+                // non-Flex application. We only want Flex apps to be returned as sandbox roots.
+                if (parent.hasEventListener(InterManagerRequest.SYSTEM_MANAGER_REQUEST))
+    				lastParent = parent;
 				parent = parent.parent;
 			}
 		}
-		catch (error:SecurityError)
-		{
-			// don't have access to parent
-		}
+        catch (error:Error)
+        {
+            // Either we don't have security access to a parent or
+            // the swf is unloaded and loaderInfo.childAllowsParent is throwing Error #2099.
+        }

 		return lastParent != null ? lastParent : DisplayObject(sm);
 	}
@@ -2037,8 +2092,6 @@
 			forms.splice(index, 1);
 			forms.push(form);
 		}
-		else
-			throw new Error();	// should never get here

 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 1968
Author:   jimurphy@adobe.com
Date:     2008-06-05T15:31:56.961691Z

Log Message:
-----------
Merge 3.0.x revisions [1940,1954] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
+++ frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as
@@ -23,7 +23,7 @@
  *
  *  @see mx.utils.DirectoryEnumeration#enumerationMode
  *
- *  @productversion Apollo 1.0
+ *  @playerversion AIR 1.1
  */
 public final class DirectoryEnumerationMode
 {


Cleanup imports

Cleanup imports

--- frameworks/projects/mobiletheme/src/spark/skins/android4/TextInputSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/android4/TextInputSkin.as
@@ -22,7 +22,6 @@
 	import flash.events.Event;
 	import flash.events.FocusEvent;
 	import flash.events.SoftKeyboardEvent;
-	import flash.system.Capabilities;

 	import mx.core.DPIClassification;
 	import mx.core.EventPriority;
@@ -46,7 +45,7 @@
 	 *  @playerversion AIR 2.5
 	 *  @productversion Flex 4.5
 	 */
-	public class TextInputSkin extends TextSkinBase
+	public class TextInputSkin extends TextSkinBase
 	{
 		//--------------------------------------------------------------------------
 		//


Transferred from the Adobe Open Source Subversion Repository

Revision: 21742
Author:   jszeto@adobe.com
Date:     2011-07-27T20:22:06.416077Z

Log Message:
-----------
SpinnerList no items bug fix

http://bugs.adobe.com/jira/browse/SDK-30881 - Empty SpinnerList has zero size

Give SpinnerList a default size

QE notes: none
Doc notes: none
Bugs: SDK-30881
Reviewer: Jason San Jose
Tests run: checkintests
Is noteworthy for integration: yes, needed for Design View

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as
@@ -46,8 +46,10 @@
 			default:
 			{
 				borderThickness = 1;
-			}
+			}
 		}
+
+		minWidth = 112;
 	}

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11685
Author:   dsubrama@adobe.com
Date:     2009-11-12T07:05:34.451671Z

Log Message:
-----------
Ensure that when a recycled renderer gets put back into the mix for reuse, if the item it is rendering has the caret on it, it should draw in the careted state.

QE notes: If there's anyway to simulate a mustella test for this situation, we should add it to the List testsuite.
Doc notes: No
Bugs: http://bugs.adobe.com/jira/browse/SDK-24012
Reviewer: Ryan
Tests run: List, checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -871,6 +871,9 @@
         // come back into use.
         if (isItemIndexSelected(itemIndex))
             itemSelected(itemIndex, true);
+
+	if (isItemIndexShowingCaret(itemIndex))
+            itemShowingCaret(itemIndex, true);

         // Now run through and initialize the renderer correctly.  We
         // call super.updateRenderer() last because super.updateRenderer()


Transferred from the Adobe Open Source Subversion Repository

Revision: 22427
Author:   chiedozi@adobe.com
Date:     2011-09-07T06:33:32.378342Z

Log Message:
-----------
SlideViewTransition now sets opaqueBackground on a View as it animates to improve performance on Android

QE notes:
Doc notes:
Bugs:SDK-31435
Reviewer: Glenn
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -312,7 +312,8 @@
         {
             startViewProps = {  includeInLayout: startView.includeInLayout,
                                 visible: startView.visible,
-                                cacheAsBitmap: startView.cacheAsBitmap };
+                                cacheAsBitmap: startView.cacheAsBitmap,
+                                opaqueBackground: startView.opaqueBackground };

             cachedStartViewGlobalPosition = getTargetNavigatorCoordinates(startView);
             startView.includeInLayout = false;
@@ -346,6 +347,11 @@

             startView.cacheAsBitmap = true;

+            // If the startView has an opaque background color, set that as the
+            // opaqueBackground property to improve performance.
+            if (startView.getStyle("backgroundAlpha") >= 1)
+                startView.opaqueBackground = startView.getStyle("backgroundColor");
+
             // Have the startView included in layout so that SplitViewNavigator knows
             // how to maintain the layout
             startView.includeInLayout = true;
@@ -367,10 +373,16 @@
         if (endView)
         {
             endViewProps = { includeInLayout:endView.includeInLayout,
-                cacheAsBitmap:endView.cacheAsBitmap };
+                cacheAsBitmap:endView.cacheAsBitmap,
+                opaqueBackground:endView.opaqueBackground};

             endView.includeInLayout = false;
             endView.cacheAsBitmap = true;
+
+            // If the endView has an opaque background color, set that as the
+            // opaqueBackground property to improve performance.
+            if (endView.getStyle("backgroundAlpha") >= 1)
+                endView.opaqueBackground = endView.getStyle("backgroundColor");

             if (endView.contentGroup)
             {
@@ -707,6 +719,7 @@
             startView.includeInLayout = startViewProps.includeInLayout;
             startView.visible = startViewProps.visible;
             startView.cacheAsBitmap = startViewProps.cacheAsBitmap;
+            startView.opaqueBackground = startViewProps.opaqueBackground;
         }

         // Restore original saved properties for includeInLayout and cacheAsBitmap.
@@ -725,6 +738,7 @@
             {
                 endView.includeInLayout = endViewProps.includeInLayout;
                 endView.cacheAsBitmap = endViewProps.cacheAsBitmap;
+                endView.opaqueBackground = endViewProps.opaqueBackground;

                 if (endView.contentGroup)
                     endView.contentGroup.includeInLayout = endViewProps.cgIncludeInLayout;


FLEX-34775
CAUSE: Asking the HierarchicalCollectionView to open an inaccessible node (e.g. a node whose parent is closed) would succeed (but should not). A consequence was that HierarchicalCollectionView.length was incremented (say, by 1 if that node had no children), which is wrong: the collection length hadn't changed (because the newly opened node cannot be accessed due to its closed parent), since the collection length represents the number of nodes that can be accessed by navigating it via a cursor. Then navigating this HierarchicalCollectionView via a cursor would enter an infinite loop because HierarchicalCollectionViewCursor.afterLast uses the HierarchicalCollectionView.length property to know when it reached the last node. However, if the length property is higher than reality, the cursor will think it never reaches the last node (because HierarchicalCollectionViewCursor.moveNext() will simply do nothing when it's at the end of the collection, which is true when HierarchicalCollectionViewCursor.current is null; see HierarchicalCollectionViewCursor.moveNext).

SOLUTION: We don't allow the opening of an inaccessible node anymore.

NOTES:
-this solution is verified by HierarchicalCollectionView_FLEX_34775_Tests.
-as part of this change I also removed unused variables and corrected some comments in HierarchicalCollectionView.

--- frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as
+++ frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as
@@ -103,11 +103,6 @@

     /**
      *  @private
-     */
-    private var cursor:HierarchicalCollectionViewCursor;
-
-    /**
-     *  @private
      *  The total number of nodes we know about.
      */
     private var currentLength:int;
@@ -323,7 +318,9 @@
     //----------------------------------

     /**
-     *  The length of the currently parsed collection.
+     *  The length of the currently parsed collection (i.e. the number
+     *  of nodes that can be accessed by navigating the collection via
+     *  HierarchicalCollectionViewCursor)
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -375,7 +372,7 @@
      *
      *  @return IViewCursor instance.
      *
-     *  @see mx.utils.IViewCursor
+     *  @see mx.collections.IViewCursor
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -643,7 +640,18 @@
         // check if the node is already opened
         if (_openNodes[uid] != null)
             return;
-
+
+        // check if the node is accessible, abort if not
+        var parent:* = getParentItem(node);
+        while(parent)
+        {
+            parent = getParentItem(parent);
+        }
+
+        //undefined means an ancestor is not open, which means the node is inaccessible
+        if(parent === undefined)
+            return;
+
         // add the node to the openNodes object and update the length
         _openNodes[uid] = node;

@@ -792,14 +800,12 @@
      *

      *

      *
-     *  @param node The Object that defines the parent node.
+     *  @param parent The Object that defines the parent node.
      *
      *  @param newChild The Object that defines the child node.
      *
      *  @param index The 0-based index of where to insert the child node.
-     *
-     *  @param source The entire collection that this node is a part of.
-     *
+     *
      *  @return true if the child is added successfully.
      *
      *  @langversion 3.0
@@ -1295,9 +1301,9 @@

     /**
      * @private
-     * Force a recalulation of length
-     */
-     private function updateLength(node:Object=null, parent:Object = null):void
+     * Force a recalculation of length
+     */
+     private function updateLength():void
      {
         currentLength = calculateLength();
      }
@@ -1527,7 +1533,6 @@
                 }

                 // prune the replacements from this list
-                var j:int = 0;
                 for (i = 0; i < n; i++)
                 {
                     node = ce.items[i].oldValue;
@@ -1648,7 +1653,6 @@
                 }

                 // prune the replacements from this list
-                var j:int = 0;
                 for (i = 0; i < n; i++)
                 {
                     changingNode = ce.items[i].oldValue;
@@ -1712,9 +1716,6 @@
                                         value:Object,
                                         detail:Object):void
     {
-        var prop:String;
-        var oldValue:Object;
-        var newValue:Object;
         var children:XMLListCollection;
         var location:int;
         var event:CollectionEvent;


Transferred from the Adobe Open Source Subversion Repository

Revision: 6967
Author:   cframpto@adobe.com
Date:     2009-05-15T18:17:43.891103Z

Log Message:
-----------
Fix cut/paste error.  autoSize setter was setting autoLayout rather than autoSize in textViewProperties.

QA Notes:
Doc Notes:
Bugs:
Reviewers:

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -365,7 +365,7 @@
         }
         else
         {
-            textViewProperties.autoLayout = value;
+            textViewProperties.autoSize = value;
         }

         invalidateProperties();


Transferred from the Adobe Open Source Subversion Repository

Revision: 6639
Author:   cframpto@adobe.com
Date:     2009-05-05T14:27:11.999664Z

Log Message:
-----------
In TextArea, when setting content, call the text superclass, and when setting text, call the content super class to avoid recursion.

Remove trace left in TextBase.

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -718,9 +718,6 @@
         }

         // want the default to be the empty string
-        //var v:* = textViewProperties.text;
-        //return (v === undefined) ? "" : v;
-
         return (_text == null) ? "" : _text;
     }

@@ -1303,7 +1300,7 @@
      */
     protected function textView_changeHandler(event:TextOperationEvent):void
     {
-        trace(id, "textView_changeHandler", textView.text);
+        //trace(id, "textView_changeHandler", textView.text);

         // Use the setter so that the textChanged event is dispatched.  Set
         // proxyText to false so the setter doesn't try to push the text down to


Moved assertions

Moved assertions

--- test/laml/display/ComponentTest.as
+++ test/laml/display/ComponentTest.as
@@ -3,8 +3,6 @@

 	import fixtures.ComponentFake;
 	import fixtures.ComponentStub;
-
-	import flash.text.StyleSheet;

 	import laml.events.PayloadEvent;

@@ -326,8 +324,8 @@
 			stub.someProperty = 'foo';
 			stub.render();
 			assertEquals('foo', stub.someProperty);
+			assertFalse('stub.otherProperty should not validate!', stub.otherPropertyValidated);
 			assertTrue('a', stub.somePropertyValidated);
-			assertFalse('Does not validate!', stub.otherPropertyValidated);
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18532
Author:   chiedozi@adobe.com
Date:     2010-11-10T22:11:29.162852Z

Log Message:
-----------
Added a new menuKeyPressed event to FlexEvent that is dispatched on an active view when the menu key is pressed
A View can now cancel MobileApplication's default menu logic by canceling the menuKeyPressed event
MobileApplicationBase.backKeyHandler() now takes a KeyboardEvent as a parameter

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/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/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.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@1264608 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
@@ -28,10 +28,6 @@
 import spark.events.DisplayLayerObjectExistenceEvent;

 use namespace mx_internal;
-
-//--------------------------------------
-//  Events
-//--------------------------------------

 /**
  *  The ViewNavigatorBase class defines the base class logic and


Transferred from the Adobe Open Source Subversion Repository

Revision: 20384
Author:   chiedozi@adobe.com
Date:     2011-02-18T20:01:10.762180Z

Log Message:
-----------
Updated ViewNavigator focus management to use the FocusManager instead of directly manipulating Stage.focus

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

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="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/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as
@@ -22,6 +22,7 @@
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.PropertyChangeEvent;
+import mx.managers.IFocusManagerComponent;
 import mx.managers.SystemManager;
 import mx.utils.DensityUtil;

@@ -59,7 +60,7 @@
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-public class ViewNavigatorBase extends SkinnableContainer
+public class ViewNavigatorBase extends SkinnableContainer implements IFocusManagerComponent
 {
     //--------------------------------------------------------------------------
     //


Transferred from the Adobe Open Source Subversion Repository

Revision: 21744
Author:   aaltman@adobe.com
Date:     2011-07-28T01:12:55.468490Z

Log Message:
-----------
Removed padding from SDK StageText size calculations to match new runtime behavior

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -1220,12 +1220,11 @@

         var minMetrics:TextLineMetrics = measureText("Wj");
         var currentMetrics:TextLineMetrics = measureText(text);
-        var padding:Point = calculateInternalPadding();
-
-        measuredMinWidth = minMetrics.width + 2 * padding.x;
-        measuredMinHeight = minMetrics.height + 2 * padding.y;
-        measuredWidth = Math.max(measuredMinWidth, currentMetrics.width + 2 * padding.x);
-        measuredHeight = Math.max(measuredMinHeight, currentMetrics.height + 2 * padding.y);
+
+        measuredMinWidth = minMetrics.width;
+        measuredMinHeight = minMetrics.height;
+        measuredWidth = Math.max(measuredMinWidth, currentMetrics.width);
+        measuredHeight = Math.max(measuredMinHeight, currentMetrics.height);
     }

     override protected function commitProperties():void
@@ -1555,49 +1554,6 @@
         }
     }

-    mx_internal function calculateInternalPadding():Point
-    {
-        // TODO: This shouldn't be necessary once we get an API to determine
-        // what a StageText's height should be
-        const applicationDPI:Number = FlexGlobals.topLevelApplication.applicationDPI;
-        const isAndroid:Boolean = Capabilities.version.indexOf("AND") == 0;
-
-        var verticalPad:Number = 0;
-        var horizontalPad:Number = 0;
-
-        if (isAndroid)
-        {
-            var androidDensityScale:Number = 1.0;
-
-            // Android uses different density classifications from Flex.
-            // No scaling is applied to 160 DPI.
-            // Low density is assumed to be 120 DPI (scale factor 0.75)
-            // High density is assumed to be 240 DPI (scale factor 1.5)
-            // Flex's scale (the ratio between application and device DPI) has
-            // been set to the application and StageText appears to be using
-            // that, so use only application DPI when determining scale here.
-            if (applicationDPI < DPIClassification.DPI_160)
-                androidDensityScale = 0.75;
-            else if (applicationDPI == DPIClassification.DPI_240)
-                androidDensityScale = 1.5;
-            else if (applicationDPI == DPIClassification.DPI_320)
-                androidDensityScale = 2.0;
-
-            // Part of the padding that Android uses is based only on resolution
-            // Magic numbers have been determined through experimentation
-            horizontalPad = 9 * androidDensityScale;
-            verticalPad = 10 * androidDensityScale;
-
-            // Some of the vertical padding is based on the height of the font
-            // Magic numbers have been determined through experimentation
-            var minMetrics:TextLineMetrics = measureText("Wj");
-            var halfHeight:Number = Math.ceil(0.5 * minMetrics.height);
-            verticalPad += Math.floor(halfHeight / 7);
-        }
-
-        return new Point(horizontalPad, verticalPad);
-    }
-
     /**
      *  StageText does not have any provision for measuring text. To get
      *  approximate sizing, this uses UIComponent's text measurement method on a
@@ -1608,9 +1564,7 @@
     private function measureTextLineHeight():Number
     {
         var lineMetrics:TextLineMetrics = measureText("Wj");
-        var internalPadding:Point = calculateInternalPadding();
-
-        return lineMetrics.height + internalPadding.y;
+        return lineMetrics.height;
     }

     private var ancestorsVisible:Boolean;


Transferred from the Adobe Open Source Subversion Repository

Revision: 18543
Author:   rfrishbe@adobe.com
Date:     2010-11-11T21:39:53.401769Z

Log Message:
-----------
Making some PARB changes around down state support and InteractionStateDetector.  ItemRendererInteractionStateDetector has been renamed to InteractionStateDetector.  down state is now applicable in mouse interactionMode.  downColor defaults to undefined, and is only set in the mobiletheme--this way it won't break the mouse interaction case.

Fixing up ItemRenderer transitions.  Added a new method, invalidateRendererState().  We now don't transition immediately to the state when the selected, hovered, etc.. properties get set, but we wait until validation.

QE notes:
Doc notes:
Bugs: SDK-28482
Reviewer: Eric Day, Glenn
Tests run: checkintests, mustella DataGroup, List, ListDND
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as" copyfrom-rev="18476" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionState.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/defaults.css</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as
@@ -39,30 +39,31 @@
 [Event(name="change", type="flash.events.Event")]

 /**
- *  A helper class for item renderers to use to help them determine
- *  if they should be in the hovered or down states
+ *  A helper class for components to use to help them determine
+ *  if they should be in the up, over, or down states.
+ *
+ *  @see spark.components.supportClasses.InteractionState
  *
  *  @langversion 3.0
  *  @playerversion Flash 10.1
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-public class ItemRendererInteractionStateDetector extends EventDispatcher
+public class InteractionStateDetector extends EventDispatcher
 {

     /**
      *  Constructor
      *
-     *  @param components  The UIComponent to detect the hovered/down state on.
-     *                     The event listeners are attached to this object
-     *                     to figure out if it should be in the hovered or down state.
+     *  @param components  The UIComponent to detect the up/over/down state on.
+     *                     The event listeners are attached to this object.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10.1
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function ItemRendererInteractionStateDetector(component:UIComponent)
+    public function InteractionStateDetector(component:UIComponent)
     {
         super();
         this.component = component;
@@ -112,70 +113,26 @@
      *  @private
      *  Storage for the hovered property
      */
-    private var _hovered:Boolean = false;
-
-    [Bindable("change")]
-    /**
-     *  Returns true if the item renderer should be put into
-     *  a hovered state.
-     *
-     *
If in mouse interactionMode, the item renderer is in the
-     *  hovered state if the mouse is over the item renderer.
-     *  In touch interaction mode, hovered does not apply.

-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function get hovered():Boolean
-    {
-        var interactionMode:String = component.getStyle("interactionMode");
-
-        if (interactionMode == InteractionMode.MOUSE && _hovered)
-            return true;
-
-        return false;
-    }
-
-    /**
-     *  @private
-     */
-    private function setHovered(value:Boolean):void
+    private var _hovered:Boolean = false;
+
+    /**
+     *  @private
+     */
+    private function get hovered():Boolean
+    {
+        return _hovered;
+    }
+
+    /**
+     *  @private
+     */
+    private function set hovered(value:Boolean):void
     {
         if (value == _hovered)
             return;

         _hovered = value;
         invalidateState();
-    }
-
-    //----------------------------------
-    //  down
-    //----------------------------------
-
-    [Bindable("change")]
-    /**
-     *  Returns true if the item renderer should be put into
-     *  a down state.
-     *
-     *
If in touch interactionMode, the item renderer is in the
-     *  down state if the user is pressing down on the item renderer.
-     *  In mouse interaction mode, down does not apply.

-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    public function get down():Boolean
-    {
-        var interactionMode:String = component.getStyle("interactionMode");
-
-        if (interactionMode == InteractionMode.TOUCH && isDown())
-            return true;
-
-        return false;
     }

     //----------------------------------
@@ -213,6 +170,45 @@
         // System mouse handlers are not needed when the renderer is not mouse captured
         if (!value)
             removeSystemMouseHandlers();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  state
+    //----------------------------------
+
+    [Bindable("change")]
+    /**
+     *  Returns the state of the component
+     *
+     *
Possible values are:
+     *

+     *
InteractionState.UP

+     *
InteractionState.DOWN

+     *
InteractionState.OVER

+     *

+     *

+     *
+     *  @see spark.components.supportClasses.InteractionState;
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function get state():String
+    {
+        if (isDown())
+            return InteractionState.DOWN;
+        else if (hovered && component.getStyle("interactionMode") == InteractionMode.MOUSE)
+            return InteractionState.OVER;
+        else
+            return InteractionState.UP;
     }

     //--------------------------------------------------------------------------
@@ -388,13 +384,13 @@
                 // if the user rolls over while holding the mouse button
                 if (mouseEvent.buttonDown && !mouseCaptured)
                     return;
-                setHovered(true);
+                hovered = true;
                 break;
             }

             case MouseEvent.ROLL_OUT:
             {
-                setHovered(false);
+                hovered = false;
                 break;
             }

@@ -499,7 +495,7 @@
         stopSelectRendererAfterDelayTimer();

         // cancel the rollover/clickdown on and go back to a normal state
-        setHovered(false);
+        hovered = false;
         mouseCaptured = false;
     }


FLEX13036 fix nestLevel in containers with contentpane

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -44,6 +44,7 @@
 import mx.controls.VScrollBar;
 import mx.controls.listClasses.IListItemRenderer;
 import mx.controls.scrollClasses.ScrollBar;
+import mx.core.IUITextField;
 import mx.events.ChildExistenceChangedEvent;
 import mx.events.FlexEvent;
 import mx.events.IndexChangedEvent;
@@ -4080,6 +4081,50 @@
         }
     }

+	/**
+	 *  @private
+	 */
+	override public function set nestLevel(value:int):void
+	{
+		var oldValue:int = super.nestLevel;
+
+		super.nestLevel = value;
+		if (contentPane)
+		{
+			// If my parent hasn't been attached to the display list, then its nestLevel
+			// will be zero.  If it tries to set my nestLevel to 1, ignore it.  We'll
+			// update nest levels again after the parent is added to the display list.
+			if (value == 1)
+				return;
+
+			// Also punt if the new value for nestLevel is the same as my current value.
+			// TODO: (aharui) add early exit if nestLevel isn't changing
+			if (value > 1 && oldValue != value)
+				value ++;
+			else if (value == 0)
+				value = 0;
+			else
+				value ++;
+
+			var n:int = contentPane.numChildren;
+			for (var i:int = 0; i < n; i++)
+			{
+				var ui:ILayoutManagerClient  = contentPane.getChildAt(i) as ILayoutManagerClient;
+				if (ui)
+				{
+					ui.nestLevel = value;
+				}
+				else
+				{
+					var textField:IUITextField = contentPane.getChildAt(i) as IUITextField;
+
+					if (textField)
+						textField.nestLevel = value;
+				}
+			}
+		}
+	}
+
     //--------------------------------------------------------------------------
     //
     //  Methods: Deferred instantiation


as "অসমীয়া" translation #14514. Author: milwac. Added few more

--- conf/messages.as
+++ conf/messages.as
@@ -2,6 +2,10 @@
 playWithTheMachine=কম্পিউটাৰ'ৰ বিপক্ষে খেলক
 toInviteSomeoneToPlayGiveThisUrl=অান এজনৰ বিপক্ষে খেলিবলৈ এই URLতু ব্যৱহাৰ কৰক
 gameOver=Khel Sesh
-waitingForOpponent=বিৰোধী বাবে অপেক্ষা
-waiting=অপেক্ষা
-yourTurn=অপোনাৰ পাল
+white=বগা
+black=ক’লা
+randomColor=যাদৃচ্ছিক দল
+createAGame=নতুন খেল আৰমভ কৰক
+whiteIsVictorious=বগা দল বিজয়ী
+blackIsVictorious=ক’লা দল বিজয়ী
+kingInTheCenter=ৰজা আহিল মাজ'লৈ


Transferred from the Adobe Open Source Subversion Repository

Revision: 12787
Author:   mhorn@adobe.com
Date:     2009-12-10T15:41:17.889108Z

Log Message:
-----------
asdoc updates for l10n

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/HueShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLightShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurnShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ExclusionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SaturationShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityShader.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskShader.as
+++ frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskShader.as
@@ -14,14 +14,14 @@
 import flash.display.Shader;

 /**
- *  The LuminosityMaskShader class creates a blend shader that is equivalent
+ *  Creates a blend shader that is equivalent
  *  to the luminosity masking option (also known as soft masking) available
  *  in Adobe Creative Suite tools. This mask type is not native to Flash,
  *  but is available in tools like Adobe Illustrator and Adobe Photoshop.
  *
- *  A luminosity mask type can be set on Flex groups and graphic
- *  elements and the visual appearance in tools like Adobe Illustrator and
- *  Adobe Photoshop will be mimicked through this blend shader.
+ *
A luminosity mask type can be set on Flex groups and graphic
+ *  elements. The visual appearance in tools like Adobe Illustrator and
+ *  Adobe Photoshop will be mimicked through this blend shader.

  *
  *  @see spark.primitives.supportClasses.GraphicElement#maskType
  *  @see spark.components.supportClasses.GroupBase#maskType
@@ -56,10 +56,12 @@
      *  A convenience field that takes into account whether luminosityClip and/or
      *  luminosityInvert are on or off.
      *
-     *  mode 0 = luminosityClip off, luminosityInvert off
-     *  mode 1 = luminosityClip off, luminosityInvert on
-     *  mode 2 = luminosityClip on, luminosityInvert off
-     *  mode 3 = luminosityClip on, luminosityInvert on
+     *

+     *
mode 0 = luminosityClip off, luminosityInvert off

+     *
mode 1 = luminosityClip off, luminosityInvert on

+     *
mode 2 = luminosityClip on, luminosityInvert off

+     *
mode 3 = luminosityClip on, luminosityInvert on

+     *

      *
      *  @see spark.primitives.supportClasses.GraphicElement#luminosityClip
      *  @see spark.primitives.supportClasses.GraphicElement#luminosityInvert


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

--- frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
@@ -1,4 +1,29 @@
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Specifies a vertical or horizontal progression of line placement.
+ *
+ *
For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.blockProgression.

+ *
+ *
For the Mobile theme, this is not supported.

+ *
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#blockProgression
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
 [Style(name="blockProgression", type="String", enumeration="tb,rl", inherit="yes")]

 /**


Removed doNothing

Removed doNothing

--- frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
+++ frameworks/projects/Core/src/main/flex/org/apache/flex/utils/BinaryData.as
@@ -379,10 +379,6 @@
         }
 	}

-    public function doNothing():void
-    {
-        var b:String = "bla";
-    }
     /**
      *  A method to extend the size of the binary data
      *  so you can write more bytes to it.  Not all


fix ImageAndTextButton

fix ImageAndTextButton

--- frameworks/projects/HTML/as/src/org/apache/flex/html/ImageAndTextButton.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/ImageAndTextButton.as
@@ -49,6 +49,15 @@
 			super();
 		}

+        /**
+         *  @private
+         */
+        COMPILE::JS
+        override public function get text():String
+        {
+            return ImageAndTextModel(model).text;
+        }
+
         /**
          *  @private
          */


Transferred from the Adobe Open Source Subversion Repository

Revision: 21536
Author:   jasonsj@adobe.com
Date:     2011-07-11T23:14:34.905781Z

Log Message:
-----------
Initial checkin for Callout/CalloutButton and mobile check-in tests.

* Refactored pop up transformations from PopUpAnchor.applyPopUpTransform() to mx.utils.PopUpUtil.applyPopUpTransform()
* CalloutPosition.AUTO not yet implemented
* Visuals are not the final XD design.

QE notes:
Doc notes:
Bugs:
Reviewer: chiedozi
Tests run: checkintests, checkintests-mobile
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.flexLibProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutPosition.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ArrowDirection.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/.actionScriptProperties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/airMobileBasicTests-app.xml</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
+++ frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as
@@ -0,0 +1,447 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 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
+{
+import mx.core.IFactory;
+import mx.core.mx_internal;
+import mx.events.FlexEvent;
+
+import spark.components.supportClasses.ButtonBase;
+import spark.components.supportClasses.DropDownController;
+import spark.events.DropDownEvent;
+import spark.events.PopUpEvent;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+include "../styles/metadata/StyleableTextFieldTextStyles.as"
+
+/**
+ *  Class or instance to use as the icon for the openButton skin part.
+ *  The icon can render from various graphical sources, including the following:
+ *

+ *
A Bitmap or BitmapData instance.

+ *
A class representing a subclass of DisplayObject. The BitmapFill
+ *       instantiates the class and creates a bitmap rendering of it.

+ *
An instance of a DisplayObject. The BitmapFill copies it into a
+ *       Bitmap for filling.

+ *
The name of an external image file.

+ *

+ *
+ *  @default null
+ */
+[Style(name="icon", type="Object", inherit="no")]
+
+//--------------------------------------
+//  Events
+//--------------------------------------
+
+/**
+ *  Dispatched when the drop-down closes for any reason, such when
+ *  the user:
+ *

+ *
The drop-down is programmatically closed.

+ *
Clicks outside of the drop-down.

+ *
Clicks the open button while the drop-down is
+ *  displayed.

+ *

+ *
+ *  @eventType spark.events.DropDownEvent.CLOSE
+ */
+[Event(name="close", type="spark.events.DropDownEvent")]
+
+/**
+ *  Dispatched when the user clicks the open button
+ *  to display the drop-down.
+ *
+ *  @eventType spark.events.DropDownEvent.OPEN
+ */
+[Event(name="open", type="spark.events.DropDownEvent")]
+
+/**
+ *  TODO (jasonsj): write class description
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ */
+public class CalloutButton extends SkinnableContainer
+{
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function CalloutButton()
+    {
+        super();
+
+        dropDownController = new DropDownController();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    //--------------------------------------------------------------------------
+
+    [SkinPart(required="false")]
+
+    /**
+     *  A skin part that defines the drop-down area. When the DropDownPopUpAnchorContainer is open,
+     *  clicking anywhere outside of the dropDown skin part closes the
+     *  drop-down.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var dropDown:IFactory;
+
+    [SkinPart(required="true")]
+
+    /**
+     *  A skin part that defines the anchor button.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var openButton:ButtonBase;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    // TODO (jasonsj): proxy for Callout properties
+    mx_internal var calloutProperties:Object = {};
+
+    /**
+     *  @private
+     *  TODO (jasonsj): write description
+     */
+    private var currentDropDown:Callout;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  horizontalPosition
+    //----------------------------------
+
+    private var _horizontalPosition:String = CalloutPosition.AUTO;
+
+    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
+
+    /**
+     *  @copy spark.components.Callout#horizontalPosition
+     */
+    public function get horizontalPosition():String
+    {
+        // TODO
+        if (currentDropDown)
+            return currentDropDown.horizontalPosition;
+
+        return _horizontalPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set horizontalPosition(value:String):void
+    {
+        if (value == _horizontalPosition)
+            return;
+
+        _horizontalPosition = value;
+
+        if (currentDropDown)
+            currentDropDown.horizontalPosition = horizontalPosition;
+    }
+
+    //----------------------------------
+    //  verticalPosition
+    //----------------------------------
+
+    private var _verticalPosition:String = CalloutPosition.AUTO;
+
+    [Inspectable(category="General", enumeration="before,start,middle,end,after,auto", defaultValue="auto")]
+
+    /**
+     *  @copy spark.components.Callout#verticalPosition
+     */
+    public function get verticalPosition():String
+    {
+        if (currentDropDown)
+            return currentDropDown.verticalPosition;
+
+        return _verticalPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalPosition(value:String):void
+    {
+        if (value == _verticalPosition)
+            return;
+
+        _verticalPosition = value;
+
+        if (currentDropDown)
+            currentDropDown.verticalPosition = verticalPosition;
+    }
+
+    //----------------------------------
+    //  dropDownController
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _dropDownController:DropDownController;
+
+    /**
+     *  Instance of the DropDownController class that handles all of the mouse, keyboard
+     *  and focus user interactions.
+     *
+     *  Flex calls the initializeDropDownController() method after
+     *  the DropDownController instance is created in the constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    protected function get dropDownController():DropDownController
+    {
+        return _dropDownController;
+    }
+
+    /**
+     *  @private
+     */
+    protected function set dropDownController(value:DropDownController):void
+    {
+        if (_dropDownController == value)
+            return;
+
+        _dropDownController = value;
+
+        _dropDownController.addEventListener(DropDownEvent.OPEN, dropDownController_openHandler);
+        _dropDownController.addEventListener(DropDownEvent.CLOSE, dropDownController_closeHandler);
+
+        if (openButton)
+            _dropDownController.openButton = openButton;
+        if (currentDropDown)
+            _dropDownController.dropDown = currentDropDown;
+    }
+
+    //----------------------------------
+    //  isDropDownOpen
+    //----------------------------------
+
+    /**
+     *  @copy spark.components.supportClasses.DropDownController#isOpen
+     */
+    public function get isDropDownOpen():Boolean
+    {
+        if (dropDownController)
+            return dropDownController.isOpen;
+        else
+            return false;
+    }
+
+    private var _label:String = "";
+
+    /**
+     *  Text to appear on the openButton skin part.
+     *
+     *  @default ""
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function get label():String
+    {
+        return _label;
+    }
+
+    /**
+     *  @private
+     */
+    public function set label(value:String):void
+    {
+        _label = value;
+
+        if (openButton)
+            openButton.label = label;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function partAdded(partName:String, instance:Object):void
+    {
+        super.partAdded(partName, instance);
+
+        if (instance == openButton)
+        {
+            openButton.label = label;
+
+            if (dropDownController)
+                dropDownController.openButton = openButton;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function partRemoved(partName:String, instance:Object):void
+    {
+        if (dropDownController)
+        {
+            if (instance == openButton)
+                dropDownController.openButton = null;
+
+            if (instance == dropDown)
+                dropDownController.dropDown = null;
+        }
+
+        super.partRemoved(partName, instance);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Initializes the dropDown and changes the skin state to open.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function openDropDown():void
+    {
+        dropDownController.openDropDown();
+    }
+
+    /**
+     *  Changes the skin state to normal.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function closeDropDown():void
+    {
+        // TODO (jasonsj): add commit param?
+        dropDownController.closeDropDown(false);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Event handler for the dropDownController
+     *  DropDownEvent.OPEN event. Updates the skin's state and
+     *  ensures that the selectedItem is visible.
+     */
+    mx_internal function dropDownController_openHandler(event:DropDownEvent):void
+    {
+        if (!currentDropDown)
+        {
+            currentDropDown = Callout(dropDown.newInstance());
+            dropDownController.dropDown = currentDropDown;
+
+            currentDropDown.addEventListener(PopUpEvent.OPEN, open_updateCompleteHandler);
+            currentDropDown.addEventListener(PopUpEvent.CLOSE, close_updateCompleteHandler);
+
+            // TODO (jasonsj): read proxied properties
+            if (layout)
+                currentDropDown.layout = layout;
+
+            currentDropDown.mxmlContent = currentContentGroup.getMXMLContent();
+        }
+
+        // TODO (jasonsj): read proxied properties
+        currentDropDown.horizontalPosition = _horizontalPosition;
+        currentDropDown.verticalPosition = _verticalPosition;
+
+        currentDropDown.open(openButton, false);
+    }
+
+    /**
+     *  @private
+     *  Event handler for the dropDownController
+     *  DropDownEvent.CLOSE event. Updates the skin's state.
+     */
+    mx_internal function dropDownController_closeHandler(event:DropDownEvent):void
+    {
+        dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
+
+        // TODO (jasonsj): close params?
+        currentDropDown.close();
+
+        // TODO (jasonsj): destroy and save properties in proxy Object?
+    }
+
+    /**
+     *  @private
+     */
+    private function open_updateCompleteHandler(event:PopUpEvent):void
+    {
+        currentDropDown.removeEventListener(PopUpEvent.OPEN, open_updateCompleteHandler);
+
+        // FIXME (jasonsj): how to initialze pop-up contentGroup as a skin part in partAdded()?
+        contentGroup = currentDropDown.contentGroup;
+
+        dispatchEvent(new DropDownEvent(DropDownEvent.OPEN));
+    }
+
+    /**
+     *  @private
+     */
+    private function close_updateCompleteHandler(event:PopUpEvent):void
+    {
+        currentDropDown.removeEventListener(PopUpEvent.CLOSE, open_updateCompleteHandler);
+
+        dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20154
Author:   chiedozi@adobe.com
Date:     2011-02-04T23:53:14.909411Z

Log Message:
-----------
Fixed an issue where ViewNavigator would sometimes start a transition before the pending view has been properly validated.

QE notes:
Doc notes:
Bugs:SDK-29355
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -1840,7 +1840,8 @@
             // possible to lose invalidation calls since ViewNavigator is still in its
             // commitProperties call.  Since we are using callLater, this will get called
             // before the next render
-            callLater(viewAdded, [(transitionsEnabled ? pendingViewTransition : null)]);
+            activeTransition = transitionsEnabled ? pendingViewTransition : null;
+            view.addEventListener(FlexEvent.UPDATE_COMPLETE, view_updateCompleteHandler, false, -1);
         }

         pendingViewTransition = null;
@@ -2004,8 +2005,10 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    private function viewAdded(transition:ViewTransitionBase = null):void
-    {
+    private function view_updateCompleteHandler(event:FlexEvent):void
+    {
+        event.target.removeEventListener(FlexEvent.UPDATE_COMPLETE, view_updateCompleteHandler);
+
         var currentView:View;
         var pendingView:View;

@@ -2030,15 +2033,15 @@
                             view_propertyChangeHandler);
         }

-        if (transition)
-        {
-            transition.addEventListener(FlexEvent.TRANSITION_END, transitionComplete);
-            transition.startView = currentView;
-            transition.endView = pendingView;
-            transition.navigator = this;
+        if (activeTransition)
+        {
+            activeTransition.addEventListener(FlexEvent.TRANSITION_END, transitionComplete);
+            activeTransition.startView = currentView;
+            activeTransition.endView = pendingView;
+            activeTransition.navigator = this;

             // Give the transition a chance to prepare before the view updates
-            transition.captureStartValues();
+            activeTransition.captureStartValues();
         }

         // This event is dispatched here to allow developers to incorporate
@@ -2078,11 +2081,10 @@
                 validateNow();
         }

-        if (transition)
-        {
-            transition.captureEndValues();
-            transition.prepareForPlay();
-            activeTransition = transition;
+        if (activeTransition)
+        {
+            activeTransition.captureEndValues();
+            activeTransition.prepareForPlay();

             // Run transition a frame later so that the overhead of creating the view
             // and the time the player takes to render isn't included in the duration.


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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridListData.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridListData.as
@@ -0,0 +1,80 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.dataGridClasses
+{
+
+import mx.controls.listClasses.BaseListData;
+import mx.core.IUIComponent;
+
+/**
+ *  The DataGridListData class defines the data type of the listData property that is
+ *  implemented by drop-in item renderers or drop-in item editors for the DataGrid control.
+ *  All drop-in item renderers and drop-in item editors must implement the
+ *  IDropInListItemRenderer interface, which defines the listData property.
+ *
+ *
Although the properties of this class are writable, you should consider them to
+ *  be read-only. They are initialized by the DataGrid class, and read by an item renderer
+ *  or item editor. Changing these values can lead to unexpected results.

+ *
+ *  @see mx.controls.listClasses.IDropInListItemRenderer
+ */
+public class DataGridListData extends BaseListData
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param text Text representation of the item data.
+	 *
+	 *  @param dataField Name of the field or property
+	 *    in the data provider associated with the column.
+	 *
+	 *  @param columnIndex The column index of the item in the
+	 *    columns for the DataGrid control.
+	 *
+	 *  @param uid A unique identifier for the item.
+	 *
+	 *  @param owner A reference to the DataGrid control.
+	 *
+	 *  @param rowIndex The index of the item in the data provider
+	 *  for the DataGrid control.
+	 */
+	public function DataGridListData(text:String, dataField:String,
+									 columnIndex:int, uid:String,
+									 owner:IUIComponent, rowIndex:int = 0)
+	{
+		super(text, uid, owner, rowIndex, columnIndex);
+
+		this.dataField = dataField;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Name of the field or property in the data provider associated with the column.
+	 */
+	public var dataField:String;
+
+}
+
+}


fix typo

fix typo

--- src/aerys/minko/scene/node/camera/AbstractCamera.as
+++ src/aerys/minko/scene/node/camera/AbstractCamera.as
@@ -103,7 +103,7 @@
 			throw new Error('Must be overriden.');
 		}

-		public function unproject(x : Number, u : Number, out : Ray = null) : Ray
+		public function unproject(x : Number, v : Number, out : Ray = null) : Ray
 		{
 			throw new Error('Must be overriden.');
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17555
Author:   cframpto@adobe.com
Date:     2010-09-02T14:24:14.877787Z

Log Message:
-----------
If RET text is editable and multiline=false, let TLF's EditManager handle the ENTER key so that if the ENTER is pressed in the middle of a list the proper list handling is done - add a new list item or close off the list, depending on position in the list - and if not in a list, the paragraph is split.

Also fix selectionHightlighting metadata since it was in the same patch.

QE notes:
Doc notes:
Bugs: SDK-27623, SDK-25435
Reviewer: Alex
Tests run: checkintests, cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -944,6 +944,8 @@
     //  selectionHighlighting
     //----------------------------------

+    [Inspectable(category="General", enumeration="always,whenActive,whenFocused", defaultValue="whenFocused")]
+
     /**
      *  @copy spark.components.RichEditableText#selectionHighlighting
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 19753
Author:   gruehle@adobe.com
Date:     2011-01-13T23:48:21.776944Z

Log Message:
-----------
Add text selection auto scrolling. When editable text is in selection mode - entered by long-tapping on the text and choosing "Select Text" - the scroll behavior is changed. Touch+drag events change the selection. If you drag to the edge of the view and there is still more text available, the text will auto-scroll into view. This works in both horizontal and vertical directions.

This behavior is only available on device. Text in adl does not distinguish between selection mode and non-selection mode, so it is always selectable and scrollable.

QE notes: Ready for testing.
Doc notes:
Bugs:
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: Yes

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -17,7 +17,6 @@
 import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
-import flash.events.SoftKeyboardEvent;
 import flash.system.Capabilities;

 import flashx.textLayout.elements.TextFlow;
@@ -27,7 +26,6 @@
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-import mx.events.TouchInteractionEvent;
 import mx.managers.IFocusManagerComponent;
 import mx.utils.BitFlagUtil;

@@ -337,7 +335,6 @@
     public function SkinnableTextBase()
     {
         super();
-        addHandlers();
     }

     //--------------------------------------------------------------------------
@@ -1328,15 +1325,6 @@
     //  Methods
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private function addHandlers():void
-    {
-        addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_START, touchInteractionStartHandler);
-        addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_END, touchInteractionEndHandler);
-    }

     /**
      *  @copy spark.components.RichEditableText#insertText()
@@ -2009,38 +1997,6 @@
         // Redispatch the event that came from the RichEditableText.
         dispatchEvent(event);
     }
-
-    /**
-     *  @private
-     */
-    private function touchInteractionStartHandler(event:TouchInteractionEvent):void
-    {
-        // During a touch scroll we don't want the keyboard to activate. Add a
-        // "softKeyboardActivating" handler to cancel the event.
-        textDisplay.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING,
-                        softKeyboardActivatingHandler);
-    }
-
-    /**
-     *  @private
-     */
-    private function touchInteractionEndHandler(event:TouchInteractionEvent):void
-    {
-        // Remove the soft keyboard activate cancelling handler.
-        textDisplay.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING,
-                        softKeyboardActivatingHandler);
-    }
-
-    /**
-     *  @private
-     *
-     *  This handler is only added during touch scroll events. It prevents
-     *  the onscreen keyboard from activating if a scroll occurred.
-     */
-    private function softKeyboardActivatingHandler(event:SoftKeyboardEvent):void
-    {
-        event.preventDefault();
-    }
 }

 }


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

--- frameworks/projects/mx/src/mx/controls/menuClasses/MenuItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/menuClasses/MenuItemRenderer.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 5019
Author:   smgilson@adobe.com
Date:     2009-02-19T21:17:21.579153Z

Log Message:
-----------
ASDoc updates to indicate that some Halo containers do not work with the Spark equiv (ControlBar does not work with Spark Panel/AppControlBar does not work with Spark Application), and indicate that Canvas, Box, Tile, Panel have Spark equivs

QE Notes: None
Doc Notes: None
Bugs: -

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>

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

--- frameworks/projects/mx/src/mx/containers/Tile.as
+++ frameworks/projects/mx/src/mx/containers/Tile.as
@@ -103,7 +103,7 @@
 [IconFile("Tile.png")]

 /**
- *  A Tile container lays out its children
+ *  A Halo Tile container lays out its children
  *  in a grid of equal-sized cells.
  *  You can specify the size of the cells by using the
  *  tileWidth and tileHeight properties,
@@ -113,6 +113,9 @@
  *  determines whether its cells are laid out horizontally or
  *  vertically, beginning from the upper-left corner of the
  *  Tile container.
+ *
+ *
Note: Adobe recommends that, when possible, you use the Spark containers
+ *  with TileLayout instead of the Halo Tile container.

  *
  *
A Tile container has the following default sizing characteristics:

  *

@@ -180,6 +183,8 @@
  *

  *
  *  @includeExample examples/TileLayoutExample.mxml
+ *
+ *  @see mx.components.Container
  */
 public class Tile extends Container
 {


Change `process.exec` to pass an Error instance to its errback.

--- src/stdio/StandardProcess.as
+++ src/stdio/StandardProcess.as
@@ -241,7 +241,7 @@
           } else if (errback === null) {
             warn(stderr)
           } else if (errback.length === 1) {
-            errback(status)
+            errback(new Error(stderr))
           } else if (errback.length === 2) {
             errback(status, stderr)
           } else {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12001
Author:   cframpto@adobe.com
Date:     2009-11-19T19:47:24.957716Z

Log Message:
-----------
Make List itemEditor work with FTETextInput via textInputClass style and remove unused _itemEditor from Tree.

QE notes:
Doc notes:
Bugs: SDK24172
Reviewer: Gordon
Tests run: checkintests, list tests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/MXFTEText.css</path>

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

--- frameworks/projects/mx/src/mx/controls/List.as
+++ frameworks/projects/mx/src/mx/controls/List.as
@@ -484,7 +484,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public var itemEditor:IFactory = new ClassFactory(TextInput);
+    public var itemEditor:IFactory;

     //----------------------------------
     //  editorDataField
@@ -2165,6 +2165,17 @@
      */
     public function createItemEditor(colIndex:int, rowIndex:int):void
     {
+        // If the itemEditor wasn't set by the user, get the default one.
+        if (!itemEditor)
+        {
+            var textInputClass:Class = getStyle("textInputClass");
+
+            if (textInputClass)
+                itemEditor = new ClassFactory(textInputClass);
+            else
+                itemEditor = new ClassFactory(TextInput);
+        }
+
         colIndex = 0;

         if (rowIndex > lockedRowCount)


Added a note as to why this isn't called ResultAdapter.

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

--- src/as/com/threerings/presents/client/ResultWrapper.as
+++ src/as/com/threerings/presents/client/ResultWrapper.as
@@ -21,6 +21,12 @@

 package com.threerings.presents.client {

+/**
+ * ResultAdapter... I mean Wrapper!
+ *
+ * Flash cannot cope with two classes with the same basename in the same .swc
+ * and there's already a ResultAdapter in util/.
+ */
 public class ResultWrapper extends InvocationAdapter
     implements InvocationService_ResultListener
 {