Transferred from the Adobe Open Source Subversion Repository

Revision: 9177
Author:   jimurphy@adobe.com
Date:     2009-08-07T21:15:07.894169Z

Log Message:
-----------
Merged 3.4 revisions 8630,8660,8683,8735,8750,8753,8755,8757,8759,8764,8776,8798,8821,8824,8837,8862,8911,8946,8949,8962,8965,9026,9109,9131,9138-9139,9147 -> trunk

integrates:
player: 10.0.32.18
AIR kit: 1.5.2.8870 (20090721ap)

checkintests: pass

(btw: I'm not happy about doing this on a Friday PM!)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/Operation.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/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AsyncResponder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLDecoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</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/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</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/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/AbstractWebService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.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/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/IMXMLSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/AbstractOperation.as</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/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SimpleXMLEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/mx/src/mx/controls/MenuBar.as
+++ frameworks/projects/mx/src/mx/controls/MenuBar.as
@@ -13,6 +13,7 @@
 {

 import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
@@ -21,8 +22,10 @@
 import flash.geom.Rectangle;
 import flash.ui.Keyboard;
 import flash.xml.XMLNode;
+
 import mx.collections.ArrayCollection;
 import mx.collections.ICollectionView;
+import mx.collections.IViewCursor;
 import mx.collections.XMLListCollection;
 import mx.collections.errors.ItemPendingError;
 import mx.containers.ApplicationControlBar;
@@ -36,21 +39,21 @@
 import mx.core.IFactory;
 import mx.core.IFlexDisplayObject;
 import mx.core.IUIComponent;
-import mx.core.mx_internal;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
+import mx.core.mx_internal;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.FlexEvent;
+import mx.events.InterManagerRequest;
 import mx.events.MenuEvent;
 import mx.managers.IFocusManagerComponent;
 import mx.managers.ISystemManager;
+import mx.managers.PopUpManager;
 import mx.styles.CSSStyleDeclaration;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.StyleManager;
 import mx.styles.StyleProxy;
-import mx.collections.IViewCursor;
-import mx.events.InterManagerRequest;

 use namespace mx_internal;

@@ -1837,6 +1840,13 @@
         var sm:ISystemManager = systemManager.topLevelSystemManager;
         var screen:Rectangle = sm.getVisibleApplicationRect();

+        // pop it up if we haven't already.  this allows us to validate the menu and get correct sizes
+        if (menu.parentDisplayObject && (!menu.parent || !menu.parent.contains(menu.parentDisplayObject)))
+        {
+            PopUpManager.addPopUp(menu, this, false);
+            menu.addEventListener(MenuEvent.MENU_HIDE, menuHideHandler, false, EventPriority.DEFAULT_HANDLER);
+        }
+
         UIComponentGlobals.layoutManager.validateClient(menu, true);

         // popups go on the root of the swf which if loaded, is not
@@ -1858,6 +1868,24 @@
             pt.y += 2;

         menu.show(pt.x, pt.y);
+    }
+
+    /**
+     *  @private
+     *  Removes the root menu from the display list.  This is called only for
+     *  menus created using "createMenu".
+     *
+     *  MJM private static?
+     */
+    private static function menuHideHandler(event:MenuEvent):void
+    {
+        var menu:Menu = Menu(event.target);
+        if (!event.isDefaultPrevented() && event.menu == menu)
+        {
+            menu.supposedToLoseFocus = true;
+            PopUpManager.removePopUp(menu);
+            menu.removeEventListener(MenuEvent.MENU_HIDE, menuHideHandler);
+        }
     }

     /**


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

--- frameworks/projects/rpc/src/mx/rpc/ActiveCalls.as
+++ frameworks/projects/rpc/src/mx/rpc/ActiveCalls.as
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.rpc
+{
+
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ * @private
+ */
+public class ActiveCalls
+{
+    private var calls:Object;
+    private var callOrder:Array;
+
+    public function ActiveCalls()
+    {
+        super();
+        calls = {};
+        callOrder = [];
+    }
+
+    public function addCall(id:String, token:AsyncToken):void
+    {
+        calls[id] = token;
+        callOrder.push(id);
+    }
+
+    public function getAllMessages():Array
+    {
+        var msgs:Array = [];
+        for (var id:String in calls)
+        {
+            msgs.push(calls[id]);
+        }
+        return msgs;
+    }
+
+    public function cancelLast():AsyncToken
+    {
+        if (callOrder.length > 0)
+        {
+            return removeCall(callOrder[callOrder.length - 1] as String);
+        }
+        return null;
+    }
+
+    public function hasActiveCalls():Boolean
+    {
+        return callOrder.length > 0;
+    }
+
+    public function removeCall(id:String):AsyncToken
+    {
+        var token:AsyncToken = calls[id];
+        if (token != null)
+        {
+            delete calls[id];
+			callOrder.splice(callOrder.lastIndexOf(id),1);
+        }
+        return token;
+    }
+
+    public function wasLastCall(id:String):Boolean
+    {
+    	if (callOrder.length > 0)
+    	{
+    		return callOrder[callOrder.length - 1] == id;
+    	}
+    	return false;
+    }
+}
+
+}


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

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

 package mx.formatters
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8024
Author:   gosmith@adobe.com
Date:     2009-06-19T23:59:25.894173Z

Log Message:
-----------
Fixed an injection where setting the 'content' property of Spark text component to a TextFlow would cause you to get a TextFlow nested inside a TextFlow.

QE Notes: None
Doc Notes: None
Bugs: SDK-21906
Reviewer: Carol to review

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -2449,20 +2449,33 @@
      */
     private function createTextFlowFromContent(content:Object):TextFlow
     {
-        var textFlow:TextFlow = new TextFlow();
-
-        // The whiteSpaceCollapse format determines how whitespace
-        // is processed when the children are set.
-        staticTextLayoutFormat.whiteSpaceCollapse =
-            getStyle("whiteSpaceCollapse");
-        textFlow.hostFormat = staticTextLayoutFormat;
-
-        textFlow.mxmlChildren = content is Array ?
-                                content as Array :
-                                [ content ];
-
-        return textFlow;
-    }
+		var textFlow:TextFlow ;
+
+		// The whiteSpaceCollapse format determines how whitespace
+		// is processed when the children are set.
+		staticTextLayoutFormat.whiteSpaceCollapse =
+			getStyle("whiteSpaceCollapse");
+
+		if (content is TextFlow)
+		{
+			textFlow = content as TextFlow;
+			textFlow.hostFormat = staticTextLayoutFormat;
+					}
+		else if (content is Array)
+		{
+			textFlow = new TextFlow();
+			textFlow.hostFormat = staticTextLayoutFormat;
+			textFlow.mxmlChildren = content as Array;
+		}
+		else
+		{
+			textFlow = new TextFlow();
+			textFlow.hostFormat = staticTextLayoutFormat;
+			textFlow.mxmlChildren = [ content ];
+		}
+
+		return textFlow;
+	}

     /**
      *  @private


Transferred from the Adobe Open Source Subversion Repository

Revision: 8563
Author:   gosmith@adobe.com
Date:     2009-07-14T21:47:50.361038Z

Log Message:
-----------
When integrating TLF Build 468, the scrapToPaste() method of PasteOperation needs to be replaced by textScrap.clone(), not just textScrap.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol to review

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

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -40,6 +40,7 @@
 import flashx.textLayout.edit.ISelectionManager;
 import flashx.textLayout.edit.SelectionManager;
 import flashx.textLayout.edit.SelectionState;
+import flashx.textLayout.edit.TextScrap;
 import flashx.textLayout.elements.Configuration;
 import flashx.textLayout.elements.InlineGraphicElementStatus;
 import flashx.textLayout.elements.TextFlow;
@@ -3010,11 +3011,12 @@
     {
         if (!restrict && !maxChars && !displayAsPassword)
             return;
+
+		var textScrap:TextScrap = op.textScrap.clone();

         // If copied/cut from displayAsPassword field the pastedText
         // is '*' characters but this is correct.
-        var pastedText:String = TextUtil.extractText(
-            op.textScrap.textFlow);
+        var pastedText:String = TextUtil.extractText(textScrap.textFlow);

         // We know it's an EditManager or we wouldn't have gotten here.
         var editManager:IEditManager = getEditManager();


Transferred from the Adobe Open Source Subversion Repository

Revision: 4670
Author:   cframpto@adobe.com
Date:     2009-01-26T19:45:46.311365Z

Log Message:
-----------
Add new SelectionFormat args for point so it does the right thing with the cursor for unfocused and inactive selections.

QE Notes: Watson #2265498 is NAB
Doc Notes:
Bugs: SDK-18691
Reviewers: will be Gordan

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1561,20 +1561,28 @@
             return;

         var selectionColor:* = getStyle("selectionColor");
+
+        var unfocusedSelectionColor:* = getStyle("unfocusedSelectionColor");
         var unfocusedAlpha:Number =
             selectionVisibility != TextSelectionVisibility.WHEN_FOCUSED ?
             1.0 : 0.0;
+
+        var inactiveSelectionColor:* = getStyle("inactiveSelectionColor");
         var inactiveAlpha:Number =
             selectionVisibility == TextSelectionVisibility.ALWAYS ?
             1.0 : 0.0;
+
         interactionManager.focusSelectionFormat = new SelectionFormat(
+            selectionColor, 1.0, BlendMode.NORMAL,
             selectionColor, 1.0, BlendMode.NORMAL);
+
         interactionManager.noFocusSelectionFormat = new SelectionFormat(
-            getStyle("unfocusedSelectionColor"), unfocusedAlpha,
-            BlendMode.NORMAL);
+            unfocusedSelectionColor, unfocusedAlpha, BlendMode.NORMAL,
+            unfocusedSelectionColor, unfocusedAlpha, BlendMode.NORMAL);
+
         interactionManager.inactiveSelectionFormat = new SelectionFormat(
-            getStyle("inactiveSelectionColor"), inactiveAlpha,
-            BlendMode.NORMAL);
+            inactiveSelectionColor, inactiveAlpha, BlendMode.NORMAL,
+            inactiveSelectionColor, inactiveAlpha, BlendMode.NORMAL);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 12633
Author:   dsubrama@adobe.com
Date:     2009-12-08T00:08:59.596563Z

Log Message:
-----------
Metadata nits as requested by Builder/Catalyst.

Vertical/HorizontalLayout paddingLeft/Right/Top/Bottom properties do not need the minValue field since its perfectly legal to have negative padding values.

Spark text classes need the [Inspectable(category="General")] metadata for the text property.

QE notes: None
Doc notes: None
Bugs: SDK-24565
Reviewer: Hans
Tests run: Checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1862,7 +1862,7 @@
     //----------------------------------
     //  text
     //----------------------------------
-
+
     /**
      *  @private
      */
@@ -1874,6 +1874,7 @@
     private var textChanged:Boolean = false;

     [Bindable("change")]
+    [Inspectable(category="General")]

     /**
      *  The text String displayed by this component.


Transferred from the Adobe Open Source Subversion Repository

Revision: 16665
Author:   rfrishbe@adobe.com
Date:     2010-06-24T22:40:15.397962Z

Log Message:
-----------
Initial checkin for touch-enabled Lists.  This has not been code reviewed or spec-approved.  There will be lots of changes that will occur with this, but this will allow people to easily create touch-enabled Lists

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - this will get reviewed later
Tests run: checkintests, full mustella run (some tests failed and were off by a few pixels)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.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/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollingEasing.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.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="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/TouchScrollEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<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/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ScrollPolicy.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -1071,6 +1071,35 @@
         }

         //----------------------------------
+        //  scrollAxis
+        //----------------------------------
+
+        private var _scrollAxis:String = "vertical";
+
+        /**
+         *  @copy spark.core.IViewport#scrollAxis
+         *
+         *  @default vertical
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 1.5
+         *  @productversion Flex 4.5
+         */
+        public function get scrollAxis():String
+        {
+            return _scrollAxis;
+        }
+
+        /**
+         *  @private
+         */
+        public function set scrollAxis(value:String):void
+        {
+            _scrollAxis = value;
+        }
+
+        //----------------------------------
         //  verticalScrollPosition
         //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</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/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.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/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.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/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -71,8 +71,8 @@
 public final class Animation
 {
     /**
-     * TODOs:
-     * - seek? reverse?
+     *  FIXME (chaase):
+     *  - seek? reverse?
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -159,14 +159,14 @@
     private static var linearEaser:IEaser;

     private var arrayMode:Boolean;
-    // TODO: more efficient way to store/remove these than in an array?
+    // FIXME (chaase): more efficient way to store/remove these than in an array?
     // Dictionary, perhaps (although that may be unordered and less
     // efficient to access)
     private var id:int = -1;
-    // TODO: re-think this variable in seeking
+    // FIXME (chaase): re-think this variable in seeking
     private var _doSeek:Boolean = false;
     private var _isPlaying:Boolean = false;
-    // TODO: rethink how we do reversing
+    // FIXME (chaase): rethink how we do reversing
     private var _doReverse:Boolean = false;
     private var _invertValues:Boolean = false;
     // Original start time of animation
@@ -712,7 +712,7 @@
             if (currentTime >= duration &&
                 (repeatCount == 0 || numRepeats < repeatCount))
             {
-                // TODO (chaase): this assumes we've only gone through one cycle since
+                // FIXME (chaase): this assumes we've only gone through one cycle since
                 // last time...
                 if (repeatCount != 0)
                     if (!_doSeek)
@@ -889,10 +889,10 @@
     {
         if (id >= 0 || duration == 0)
         {
-            // TODO (chaase): Check whether we already send out a final
+            // FIXME (chaase): Check whether we already send out a final
             // UPDATE event with the end value; if so, this dup should be
             // removed
-            // TODO (chaase): this will snap paused and startDelayed animations
+            // FIXME (chaase): this will snap paused and startDelayed animations
             // to their end values. Seems correct, but should check this.
             calculateValue(duration);

@@ -1005,7 +1005,7 @@
         //playheadTime = Math.min(Math.max(playheadTime, 0), duration);

         // Reset the start time
-        // TODO (chaase): Redundant for cases that set this again below
+        // FIXME (chaase): Redundant for cases that set this again below
         // Should only do this for playing animation, as the stopped animations
         // do it for themselves
         startTime = cycleStartTime = intervalTime - playheadTime;
@@ -1014,12 +1014,12 @@
         if (!_isPlaying)
         {
             intervalTime = Timeline.currentTime;
-            // TODO: comments...
+            // FIXME (chaase): comments...
             if (includeStartDelay && startDelay > 0)
             {
                 if (delayedStartTimes[this])
                 {
-                    // TODO (chaase): refactor removal/addition into utility functions
+                    // FIXME (chaase): refactor removal/addition into utility functions
                     // Still sleeping - reduce the delay time by the seek time
                     var animPendingTime:int = delayedStartTimes[this];
                     for (var i:int = 0; i < delayedStartAnims.length; ++i)
@@ -1089,7 +1089,7 @@
                 motionPaths[i].interpolator = interpolator;
     }

-    // TODO (chaase): should eventually remove this function, since it
+    // FIXME (chaase): should eventually remove this function, since it
     // overlaps with playReverse property. Just leaving it mx_internal
     // for now to avoid perturbing the code too much
     /**
@@ -1223,7 +1223,7 @@
         if (repeatBehavior == RepeatBehavior.REVERSE)
             _invertValues = !_invertValues;
         calculateValue(0);
-        // TODO (chaase): Make sure we're not already sending out an UPDATE
+        // FIXME (chaase): Make sure we're not already sending out an UPDATE
         // event with this value
         sendUpdateEvent();
         sendAnimationEvent(EffectEvent.EFFECT_REPEAT);
@@ -1245,7 +1245,7 @@
         // actualStartTime accounts for overrun in desired startDelay
         var actualStartTime:int = 0;

-        // TODO (chaase): call removal utility instead of this code
+        // FIXME (chaase): call removal utility instead of this code
         // Make sure to remove any references on the delayed lists
         for (var i:int = 0; i < delayedStartAnims.length; ++i)
         {
@@ -1276,7 +1276,7 @@
         }
         else
         {
-            // TODO (chaase): Make sure we're not already sending out an
+            // FIXME (chaase): Make sure we're not already sending out an
             // UPDATE event with this start value
             sendUpdateEvent();
             Animation.addAnimation(this);


Transferred from the Adobe Open Source Subversion Repository

Revision: 2967
Author:   smgilson@adobe.com
Date:     2008-08-22T19:34:00.863349Z

Log Message:
-----------
Fix invalid HTML in ASDoc comment

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/flex/effects/Animation.as

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

--- frameworks/projects/spark/src/spark/effects/animation/Animation.as
+++ frameworks/projects/spark/src/spark/effects/animation/Animation.as
@@ -47,7 +47,7 @@
  * as well as when the animation repeats and at regular update intervals during
  * the animation. These calls pass values which Animation calculated from
  * the start and end values and the easer and interpolator objects. These
- * values can then be used to set property values on target obects.
+ * values can then be used to set property values on target obects.</p>
  *
  *  @see flex.effects.Animate
  *  @see flex.effects.effectClasses.AnimateInstance


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/NumberInterpolator.as
@@ -1,4 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
+		////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
 //  Copyright 2008 Adobe Systems Incorporated
@@ -10,20 +10,20 @@
 ////////////////////////////////////////////////////////////////////////////////
 package spark.effects.interpolation
 {
-
+
 import mx.resources.IResourceManager;
-import mx.resources.ResourceManager;
+import mx.resources.ResourceManager;

 //--------------------------------------
 //  Other metadata
 //--------------------------------------

 [ResourceBundle("sparkEffects")]
-
+
 /**
  * The NumberInterpolator class provides interpolation between
- * start and end values represented as Number instances.
- *
+ * start and end values represented as Number instances.
+ *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
@@ -32,10 +32,10 @@
 public class NumberInterpolator implements IInterpolator
 {
     private static var theInstance:NumberInterpolator;
-
+
     /**
      *  Constructor.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -45,19 +45,19 @@
     {
         super();
     }
-
+
     /**
      *  @private
      *  Used for accessing localized Error messages.
      */
     private var resourceManager:IResourceManager =
                                     ResourceManager.getInstance();
-
+
     /**
-     *  Returns the singleton of this class.
+     *  Returns the singleton of this class.
      *  Since all NumberInterpolators
      *  have the same behavior, there is no need for more than one instance.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -72,13 +72,13 @@

     /**
      *  Interpolation for NumberInterpolator consists of a simple
-     *  parametric calculation between startValue and
-     *  endValue, using fraction as the
+     *  parametric calculation between startValue and
+     *  endValue, using fraction as the
      *  fraction of the elapsed time from start to end:
-     *
+     *
      *
return startValue + fraction * (endValue - startValue);

      *
-     *  @param fraction The fraction elapsed of the
+     *  @param fraction The fraction elapsed of the
      *  animation, between 0.0 and 1.0.
      *
      *  @param startValue The start value of the interpolation.
@@ -86,13 +86,13 @@
      *  @param endValue The end value of the interpolation.
      *
      *  @return The interpolated value.
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function interpolate(fraction:Number, startValue:Object,
+    public function interpolate(fraction:Number, startValue:Object,
         endValue:Object):Object
     {
         // Quick test for 0 or 1 to avoid round-off error on either end
@@ -100,15 +100,15 @@
             return startValue;
         else if (fraction == 1)
             return endValue;
-        if ((startValue is Number && isNaN(Number(startValue))) ||
+        if ((startValue is Number && isNaN(Number(startValue))) ||
             (endValue is Number && isNaN(Number(endValue))))
             throw new Error(resourceManager.getString("sparkEffects", "cannotCalculateValue", [startValue, endValue]));
         return Number(startValue) + (fraction * (Number(endValue) - Number(startValue)));
     }
-
+
     /**
      *  @inheritDoc
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -121,7 +121,7 @@

     /**
      *  @inheritDoc
-     *
+     *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
@@ -132,4 +132,4 @@
         return Number(baseValue) - Number(decrementValue);
    }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5914
Author:   jimurphy@adobe.com
Date:     2009-04-03T19:51:17.243500Z

Log Message:
-----------
Merge i11.5 revisions 5871-5872,5883,5885,5902 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/states/statefulNodes.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/i11.5/frameworks/mxml-2009-manifest.xml" copyfrom-rev="5902" action="A">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/spark-air-manifest.xml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/i11.5/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as" copyfrom-rev="5902" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -1882,16 +1882,22 @@
         }
         else
         {
+            var xformPt:Point = new Point();
+            if (transformCenter)
+            {
+                xformPt.x = transformCenter.x;
+                xformPt.y = transformCenter.y;
+            }
             if(position != null)
             {
-                position.x = transformCenter.x + _x;
-                position.y = transformCenter.y + _y;
+                position.x = xformPt.x + _x;
+                position.y = xformPt.y + _y;
                 position.z = 0;
             }
             if (postLayoutPosition != null)
             {
-                postLayoutPosition.x = transformCenter.x + _x;
-                postLayoutPosition.y = transformCenter.y + _y;
+                postLayoutPosition.x = xformPt.x + _x;
+                postLayoutPosition.y = xformPt.y + _y;
                 postLayoutPosition.z = 0;
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11811
Author:   dsubrama@adobe.com
Date:     2009-11-14T20:14:54.284449Z

Log Message:
-----------
Fixes for FXG 2.0.

SDK-23790 - We now set the blendMode correctly when switching from an AIM blendMode to a native Flash one.

SDK-24039 - We hoisted the AIM blendMode support up to UIComponent as per Catalyst's request.

SDK-23715 - Positioning of radial gradient strokes is now correct.

As part of this change, the spark.primitives.supportClasses.shaders packaged move into the framework swc/project, specifically mx.graphics.shaderClasses.

QE notes: Regression and re-gening of so many bitmaps.
Doc notes: None
Bugs: SDK-23790, SDK-24039, SDK-23715
Reviewer: Jason/Evtim/Pete
Tests run: Checkintests - known failures with bitmaps
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskFilter.pbk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodgeShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/HueShader.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurn.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurn.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ExclusionShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/HueShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/asdoc/en_US/spark/primitives/supportClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLightShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorBurnShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/SaturationShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Saturation.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Saturation.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/SoftLightShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ks5792.jpg</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorBurnShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SaturationShader.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Exclusion.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Exclusion.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/LuminosityShaderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Luminosity.pbj</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Luminosity.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbk</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/ColorDodgeShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Hue.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodge.pbj</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/Hue.pbk</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ColorDodge.pbk</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/asdoc/en_US/mx/graphics/shaderClasses/examples/LuminosityMaskShaderExample.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/ExclusionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/LuminosityMaskFilter.pbj</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -44,6 +44,15 @@
 import mx.events.PropertyChangeEvent;
 import mx.filters.BaseFilter;
 import mx.filters.IBitmapFilter;
+import mx.graphics.shaderClasses.ColorBurnShader;
+import mx.graphics.shaderClasses.ColorDodgeShader;
+import mx.graphics.shaderClasses.ColorShader;
+import mx.graphics.shaderClasses.ExclusionShader;
+import mx.graphics.shaderClasses.HueShader;
+import mx.graphics.shaderClasses.LuminosityMaskShader;
+import mx.graphics.shaderClasses.LuminosityShader;
+import mx.graphics.shaderClasses.SaturationShader;
+import mx.graphics.shaderClasses.SoftLightShader;
 import mx.geom.Transform;
 import mx.geom.TransformOffsets;
 import mx.managers.ILayoutManagerClient;
@@ -54,15 +63,6 @@
 import spark.core.DisplayObjectSharingMode;
 import spark.core.IGraphicElement;
 import spark.core.MaskType;
-import spark.primitives.supportClasses.shaders.ColorBurnShader;
-import spark.primitives.supportClasses.shaders.ColorDodgeShader;
-import spark.primitives.supportClasses.shaders.ColorShader;
-import spark.primitives.supportClasses.shaders.ExclusionShader;
-import spark.primitives.supportClasses.shaders.HueShader;
-import spark.primitives.supportClasses.shaders.LuminosityMaskShader;
-import spark.primitives.supportClasses.shaders.LuminosityShader;
-import spark.primitives.supportClasses.shaders.SaturationShader;
-import spark.primitives.supportClasses.shaders.SoftLightShader;

 use namespace mx_internal;

@@ -500,52 +500,33 @@
      */
     public function set blendMode(value:String):void
     {
-        if (blendModeExplicitlySet && value == _blendMode)
-            return;
-
-        //The default blendMode in FXG is 'auto'. There are only
-        //certain cases where this results in a rendering difference,
-        //one being when the alpha of the Group is > 0 and < 1. In that
-        //case we set the blendMode to layer to avoid the performance
-        //overhead that comes with a non-normal blendMode.
+        if (value == _blendMode)
+            return;

-        if (alpha > 0 && alpha < 1 && !blendModeExplicitlySet && value == "auto")
+        var oldValue:String = _blendMode;
+
+        _blendMode = value;
+        blendModeChanged = true;
+
+        // If one of the non-native Flash blendModes is set,
+        // record the new value and set the appropriate
+        // blendShader on the display object.
+        if (isAIMBlendMode(value))
         {
-            if (value != BlendMode.LAYER)
-            {
-                _blendMode = BlendMode.LAYER;
-                blendModeChanged = true;
-                invalidateProperties();
-            }
+            blendShaderChanged = true;
         }
-        else if ((alpha == 1 || alpha == 0) && !blendModeExplicitlySet && value == "auto")
+
+        // Only need to re-do display object assignment if blendmode was normal
+        // and is changing to something else, or the blend mode was something else
+        // and is going back to normal.  This is because display object sharing
+        // only happens when blendMode is normal.
+        if ((oldValue == BlendMode.NORMAL || value == BlendMode.NORMAL) &&
+            !(oldValue == BlendMode.NORMAL && value == BlendMode.NORMAL))
         {
-            if (value != BlendMode.NORMAL)
-            {
-                _blendMode = BlendMode.NORMAL;
-                blendModeChanged = true;
-                invalidateProperties();
-            }
+            invalidateDisplayObjectSharing();
         }
-        else
-        {
-            _blendMode = value;
-
-            // If one of the non-native Flash blendModes is set,
-            // record the new value and set the appropriate
-            // blendShader on the display object.
-            if (value == "colordodge" ||
-                value =="colorburn" || value =="exclusion" ||
-                value =="softlight" || value =="hue" ||
-                value =="saturation" || value =="color"
-                || value =="luminosity")
-                blendShaderChanged = true;
-            else
-                blendModeChanged = true;
-
-            blendModeExplicitlySet = true;
-            invalidateProperties();
-        }
+
+        invalidateProperties();
     }

     //----------------------------------
@@ -2152,6 +2133,20 @@
                     invalidateDisplayObjectSharing();
             }
         }
+    }
+
+    /**
+     * @private
+     */
+    private function isAIMBlendMode(value:String):Boolean
+    {
+        if (value == "colordodge" ||
+            value =="colorburn" || value =="exclusion" ||
+            value =="softlight" || value =="hue" ||
+            value =="saturation" || value =="color" ||
+            value =="luminosity")
+            return true;
+        else return false;
     }

     /**
@@ -3494,65 +3489,83 @@
                     displayObject.alpha = _effectiveAlpha;
             }

-            if (blendModeChanged || displayObjectChanged && !blendShaderChanged)
+            if (blendModeChanged || displayObjectChanged)
             {
                 blendModeChanged = false;
-                if (_blendMode == "auto" && alpha < 1 && alpha > 0)
-                    displayObject.blendMode = BlendMode.LAYER;
-                else if (_blendMode == "auto" && alpha == 1 || alpha == 0)
-                    displayObject.blendMode = BlendMode.NORMAL;
-                else
-                    displayObject.blendMode = _blendMode;
-            }
-
-            if (blendShaderChanged || displayObjectChanged)
-            {
-                // The graphic element's blendMode was set to a non-Flash
-                // blendMode. We mimic the look by instantiating the
-                // appropriate shader class and setting the blendShader
-                // property on the displayObject.
-                blendShaderChanged = false;
-                switch(_blendMode)
+
+                // Figure out the correct value to push down
+                // to the displayObject's blendMode
+                if (_blendMode == "auto")
                 {
-                    case "color":
+                    if (alpha == 0 || alpha == 1)
+                        displayObject.blendMode = BlendMode.NORMAL;
+                    else
+                        displayObject.blendMode = BlendMode.LAYER;
+                }
+
+                else if (!isAIMBlendMode(_blendMode))
+                {
+                    displayObject.blendMode = _blendMode;
+                }
+
+                // The blendMode is neither a native value,
+                // or the 'auto' value so lets set blendMode
+                // to normal.
+                else
+                {
+                    displayObject.blendMode = "normal";
+                }
+
+                if (blendShaderChanged)
+                {
+                    // The graphic element's blendMode was set to a non-Flash
+                    // blendMode. We mimic the look by instantiating the
+                    // appropriate shader class and setting the blendShader
+                    // property on the displayObject.
+                    blendShaderChanged = false;
+
+                    switch(_blendMode)
                     {
-                        displayObject.blendShader = new ColorShader();
-                        break;
-                    }
-                    case "colordodge":
-                    {
-                        displayObject.blendShader = new ColorDodgeShader();
-                        break;
-                    }
-                    case "colorburn":
-                    {
-                        displayObject.blendShader = new ColorBurnShader();
-                        break;
-                    }
-                    case "exclusion":
-                    {
-                        displayObject.blendShader = new ExclusionShader();
-                        break;
-                    }
-                    case "hue":
-                    {
-                        displayObject.blendShader = new HueShader();
-                        break;
-                    }
-                    case "luminosity":
-                    {
-                        displayObject.blendShader = new LuminosityShader();
-                        break;
-                    }
-                    case "saturation":
-                    {
-                        displayObject.blendShader = new SaturationShader();
-                        break;
-                    }
-                    case "softlight":
-                    {
-                        displayObject.blendShader = new SoftLightShader();
-                        break;
+                        case "color":
+                        {
+                            displayObject.blendShader = new ColorShader();
+                            break;
+                        }
+                        case "colordodge":
+                        {
+                            displayObject.blendShader = new ColorDodgeShader();
+                            break;
+                        }
+                        case "colorburn":
+                        {
+                            displayObject.blendShader = new ColorBurnShader();
+                            break;
+                        }
+                        case "exclusion":
+                        {
+                            displayObject.blendShader = new ExclusionShader();
+                            break;
+                        }
+                        case "hue":
+                        {
+                            displayObject.blendShader = new HueShader();
+                            break;
+                        }
+                        case "luminosity":
+                        {
+                            displayObject.blendShader = new LuminosityShader();
+                            break;
+                        }
+                        case "saturation":
+                        {
+                            displayObject.blendShader = new SaturationShader();
+                            break;
+                        }
+                        case "softlight":
+                        {
+                            displayObject.blendShader = new SoftLightShader();
+                            break;
+                        }
                     }
                 }
             }


remove useless imports

remove useless imports

--- src/aerys/minko/render/material/phong/PhongShader.as
+++ src/aerys/minko/render/material/phong/PhongShader.as
@@ -2,7 +2,6 @@
 {
 	import aerys.minko.render.RenderTarget;
 	import aerys.minko.render.material.basic.BasicShader;
-	import aerys.minko.render.resource.texture.ITextureResource;
 	import aerys.minko.render.shader.SFloat;
 	import aerys.minko.render.shader.part.phong.LightAwareDiffuseShaderPart;
 	import aerys.minko.render.shader.part.phong.PhongShaderPart;


Go ahead and fix this: party tables now have a 0-length occupants array.
TableDirector.java already had this same code (and I wrote it!) so I
feel safe making the change.

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

--- src/as/com/threerings/parlor/client/TableDirector.as
+++ src/as/com/threerings/parlor/client/TableDirector.as
@@ -317,7 +317,7 @@
         }

         // All this to check to see if we created a party game (and should now enter).
-        if (table.gameOid != -1 && (table.occupants == null)) {
+        if (table.gameOid != -1 && (table.occupants.length == 0)) {
             // let's boogie!
             _pctx.getParlorDirector().gameIsReady(table.gameOid);
         }


remove ShaderPart.screenToViewMatrix property because it relies on an undefined scene binding removed during refactoring

--- src/aerys/minko/render/shader/part/ShaderPart.as
+++ src/aerys/minko/render/shader/part/ShaderPart.as
@@ -138,11 +138,6 @@
 			return _main._sceneBindings.getParameter('projection', 16);
 		}

-		protected function get screenToViewMatrix() : SFloat
-		{
-			return _main._sceneBindings.getParameter('screenToView', 16);
-		}
-
 		protected function get cameraPosition() : SFloat
 		{
 			return _main._sceneBindings.getParameter('cameraPosition', 3);


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

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

 package mx.utils
 {


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

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

 package mx.utils
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17075
Author:   hmuller@adobe.com
Date:     2010-07-27T18:38:24.747319Z

Log Message:
-----------
Added spark.skins.spark.DefaultGridItemRenderer but have not yet changed DataGridSkin.mxml to use it.

Fixed a typo in the SET_ROWS clause of Grid/commitInteractiveSelection().

QE notes: changes apply to Spark DataGrid only
Doc notes:
Bugs:
Reviewer: Carol
Tests run: none
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -1649,7 +1649,7 @@

             case GridSelectionEventKind.SET_ROWS:
             {
-                changed = grid.gridSelection.setRows(rowIndex, rowIndex + rowCount - 1);
+                changed = grid.gridSelection.setRows(rowIndex, rowCount);
                 break;
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17768
Author:   cframpto@adobe.com
Date:     2010-09-20T17:01:16.894026Z

Log Message:
-----------
Change getCellAt() to return CellPosition rather than Object.  Remove unused selectionContainsOnlyIndicesCR() method.  Optimize selectionContainsOnlyIndices() a bit.

QE notes:
Doc notes:
Bugs:
Reviewer: Hans
Tests run: cyclone
Is noteworthy for integration: yes

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

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

--- frameworks/projects/spark/src/spark/components/DataGrid.as
+++ frameworks/projects/spark/src/spark/components/DataGrid.as
@@ -2219,54 +2219,40 @@
         else
             return gridSelection.containsRow(index) && gridSelection.selectionLength == 1;
     }
-
-    /**
-     *  @private
-     */
-    protected function selectionContainsOnlyIndices(indices:Vector.<int>):Boolean
-    {
-        const selectedRows:Vector.<int> =
-            grid ? grid.selectedIndices : gridSelection.allRows();
-
-        // This assumes no duplicate rows.
-        if (selectedRows.length != indices.length)
+
+    /**
+     *  @private
+     *  Return true, if the current selection, only contains the rows in
+     *  the selection change.
+     */
+    protected function selectionContainsOnlyIndices(selectionChange:CellRegion):Boolean
+    {
+        var selectionLength:int =
+            grid ? grid.selectionLength : gridSelection.selectionLength;
+
+        if (selectionChange.rowCount != selectionLength)
             return false;

-        for each (var rowIndex:int in indices)
-        {
-            const offset:int = selectedRows.indexOf(rowIndex);
-            if (offset == -1)
-                return false;
+        const bottom:int =
+            selectionChange.rowIndex + selectionChange.rowCount;
+
+        for (var rowIndex:int = selectionChange.rowIndex;
+             rowIndex < bottom;
+             rowIndex++)
+        {
+            if (grid)
+            {
+                if (!grid.selectionContainsIndex(rowIndex))
+                    return false;
+            }
             else
-                selectedRows.splice(offset, 1);
-        }
-
-        return selectedRows.length == 0;
-    }
-
-    /**
-     *  @private
-     */
-    protected function selectionContainsOnlyIndicesCR(cellRegion:CellRegion):Boolean
-    {
-        const selectedRows:Vector.<int> =
-            grid ? grid.selectedIndices : gridSelection.allRows();
-
-        // This assumes no duplicate rows.
-        if (selectedRows.length != cellRegion.rowCount)
-            return false;
-
-        for (var rowIndex:int = cellRegion.rowIndex;
-            rowIndex < cellRegion.rowIndex + cellRegion.rowCount; rowIndex++)
-        {
-            const offset:int = selectedRows.indexOf(rowIndex);
-            if (offset == -1)
-                return false;
-            else
-                selectedRows.splice(offset, 1);
-        }
-
-        return selectedRows.length == 0;
+            {
+                if (!gridSelection.containsRow(rowIndex))
+                    return false;
+            }
+        }
+
+        return true;
     }

     /**
@@ -2752,7 +2738,7 @@
             case GridSelectionEventKind.SET_ROWS:
             {
                 changesSelection =
-                    !selectionContainsOnlyIndicesCR(selectionChange);
+                    !selectionContainsOnlyIndices(selectionChange);
                 break;
             }


Transferred from the Adobe Open Source Subversion Repository

Revision: 15858
Author:   jszeto@adobe.com
Date:     2010-04-30T22:26:36.717239Z

Log Message:
-----------
Form Feature Work

- Early Integration with FormItemLayout
- Added Form Validation Error support

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/FormItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/StackedFormItemSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormItemSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormHeadingSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/skins/spark/FormSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/FormItem.as
+++ frameworks/projects/spark/src/spark/components/FormItem.as
@@ -435,8 +435,6 @@
             {
                 uicElt.addEventListener(FlexEvent.VALID, element_validHandler);
                 uicElt.addEventListener(FlexEvent.INVALID, element_invalidHandler);
-               /* uicElt.showErrorSkin = false;
-                uicElt.showErrorTip = false;*/
             }
         }

@@ -454,8 +452,6 @@
             {
                 uicElt.removeEventListener(FlexEvent.VALID, element_validHandler);
                 uicElt.removeEventListener(FlexEvent.INVALID, element_invalidHandler);
-                /*uicElt.showErrorSkin = true;
-                uicElt.showErrorTip = true;*/
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 5124
Author:   cframpto@adobe.com
Date:     2009-03-02T13:20:23.924509Z

Log Message:
-----------
Optimize the number of times text has to be composed.  It's preferred to clip already composed text, rather than recomposing the text.

All 480 mustella GraphicTags tests still pass.

QE Notes: yes, this will need extensive testing, and I can give you test cases, but we should do it at the same time we test the new clipping code
Doc Notes:
Bugs: SDK-18746
Reviewers: Gordon

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

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -180,11 +180,6 @@
      */
     private var textInvalid:Boolean = false;

-    /**
-     *  @private
-     */
-    private var stylesChanged:Boolean = false;
-
     //--------------------------------------------------------------------------
     //
     //  Overridden properties
@@ -322,42 +317,6 @@
     //  Overridden methods: GraphicElement
     //
     //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    override protected function updateDisplayList(unscaledWidth:Number,
-                                                  unscaledHeight:Number):void
-    {
-        //trace("updateDisplayList", unscaledWidth, unscaledHeight);
-
-        super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-        // The updateDisplayList() method of a GraphicElement can get called
-        // when its style chain hasn't been initialized.
-        // In that case, compose() must not be called.
-        if (!mx_internal::styleChainInitialized)
-            return;
-
-        // Only compose if it's necessary:
-        //   1) A style change.
-        //   2) If both width/height are specified, measure isn't called
-        //      and measuredWidth/Height will be 0 here.
-        //   3) A layout change which leaves the measured values different
-        //      than the unscaled values.
-        //   4) measuredHeight/Width set by measure changed by super class
-        //      to conform to explicit min/max values for width/height.
-        if (stylesChanged ||
-            measuredWidth != unscaledWidth ||
-            measuredWidth != Math.ceil(mx_internal::bounds.width) ||
-            measuredHeight != unscaledHeight ||
-            measuredHeight != Math.ceil(mx_internal::bounds.height))
-        {
-			composeTextLines(unscaledWidth, unscaledHeight);
-		}
-
-        mx_internal::clip(unscaledWidth, unscaledHeight);
-    }

     /**
      *  @private
@@ -387,8 +346,6 @@
             hostTextLayoutFormatInvalid = true;
         else
             setHostTextLayoutFormat(styleProp);
-
-        stylesChanged = true;
     }

     //--------------------------------------------------------------------------
@@ -406,6 +363,9 @@
             textChanged = true;
         else if (cause == "content")
             contentChanged = true;
+
+        mx_internal::bounds.width = NaN;
+        mx_internal::bounds.height = NaN;
     }

     //--------------------------------------------------------------------------
@@ -659,7 +619,7 @@
         mx_internal::addTextLines(DisplayObjectContainer(displayObject));

 		// Just recomposed so reset.
-        stylesChanged = false;
+        mx_internal::stylesChanged = false;

         // Listen for "damage" events in case the textFlow is
         // modified programatically.
@@ -707,25 +667,23 @@
     /**
      *  @private
      *  Called when the TextFlow dispatches a 'damage' event
-     *  to indicate it has been modified.
+     *  to indicate it has been modified.  This could mean the styles changed
+     *  or the content changed, or both changed.
      */
     private function textFlow_damageHandler(
                             event:DamageEvent):void
     {
         //trace("damageHandler", "damageStart", event.damageStart, "damageLength", event.damageLength);

-        // The text flow changed.  It could have been either/or content or
-        // styles within the text flow.  Invalidate text so that it will be
-        // regenerated from the text flow.
+        // Invalidate text.
         textInvalid = true;

-        // Make sure composition is done at least once.  It will update
-        // _content with the potentially modified contents of the text flow.
-        stylesChanged = true;
-
-        // Unless both width/height were specified, need to recalc size.
-        if (isNaN(explicitWidth) || isNaN(explicitHeight))
-            invalidateSize();
+        // Invalidate styles.
+        mx_internal::stylesChanged = true;
+
+        // This is smart enough not to remeasure if the explicit width/height
+        // were specified.
+        invalidateSize();

         invalidateDisplayList();
     }


actually get the idfa

actually get the idfa

--- actionscript/src/com/freshplanet/ane/AirDeviceId.as
+++ actionscript/src/com/freshplanet/ane/AirDeviceId.as
@@ -184,7 +184,7 @@
 			}
 			else if ( event.code == 'IDFA_VALUE' ) {

-				_idfa = null;
+				_idfa = event.level;

 				var callbacks : Vector.<Function> = _idfaCallbacks.slice();
 				_idfaCallbacks.length = 0;


Do the right thing

Do the right thing

--- SoundMain.as
+++ SoundMain.as
@@ -116,7 +116,7 @@
      */
     private function buffer(id:int, bytes:String):void {
         for (var i:Number = 0; i < bytes.length; i++) {
-            var sample:Number = bytes.charCodeAt(i) / 32768 - 1;
+            var sample:Number = (bytes.charCodeAt(i) - 32767) / 32767;
             sounds[id].buffer.writeFloat(sample);
             sounds[id].buffer.writeFloat(sample);
         }


Added support for record format from servlet

--- WeaveData/src/weave/data/DataSources/CSVDataSource.as
+++ WeaveData/src/weave/data/DataSources/CSVDataSource.as
@@ -378,11 +378,14 @@
 			if (WeaveAPI.SessionManager.computeDiff(sessionState, getSessionState(this)))
 				return;
 			var data:Array = event.result as Array;
-			if (!data || (data.length && !(data[0] is Array)))
-			{
-				reportError('Result from servlet is not a two-dimensional Array');
+			if (!data)
+			{
+				reportError('Result from servlet is not an Array');
 				return;
 			}
+			if (data.length && !(data[0] is Array))
+				data = WeaveAPI.CSVParser.convertRecordsToRows(data);
+
 			handleParsedRows(data);
 			getCallbackCollection(this).triggerCallbacks();
 		}


fix compiler error

fix compiler error

--- WeaveData/src/weave/primitives/GeneralizedGeometry.as
+++ WeaveData/src/weave/primitives/GeneralizedGeometry.as
@@ -10,19 +10,19 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/.
- *
+ *
  * ***** END LICENSE BLOCK ***** */

 package weave.primitives
 {
 	import flash.utils.Dictionary;
-
+
 	import weave.api.data.ISimpleGeometry;
 	import weave.api.primitives.IBounds2D;
 	import weave.utils.BLGTreeUtils;
 	import weave.utils.GeoJSON;
 	import weave.utils.VectorUtils;
-
+
 	/**
 	 * GeneralizedGeometry
 	 * A generalized geometry is one that lends itself to be displayed at different quality levels.
@@ -30,16 +30,16 @@
 	 * or they can all be processed at once through the setCoordinates() function.
 	 * The bounds object is separate from the coordinates, so if coordinates are inserted individually,
 	 * the bounds object should be updated accordingly if you want it to be accurate.
-	 *
+	 *
 	 * @author adufilie
 	 */
-	public class GeneralizedGeometry
+	public class GeneralizedGeometry
 	{
 		/**
 		 * Create an empty geometry.
 		 * @param geomType The type of the geometry (GeometryType.LINE, GeometryType.POINT, or GeometryType.POLYGON).
 		 */
-		public function GeneralizedGeometry(geomType:String = GeometryType.POLYGON)
+		public function GeneralizedGeometry(geomType:String = "Polygon")
 		{
 			this.geomType = geomType;
 			this.parts[0] = new BLGTree();
@@ -68,7 +68,7 @@
 				type = GeometryType.POLYGON, coords = /*multi*/[/*poly*/coords];
 			else if (type == GeoJSON.T_MULTI_POLYGON)
 				type = GeometryType.POLYGON;
-
+
 			var result:Array = [];
 			for each (var poly:Array in coords)
 			{
@@ -103,7 +103,7 @@
 			var parts:Vector.<Vector.<BLGNode>> = getSimplifiedGeometry(minImportance, visibleBounds);
 			var part:Vector.<BLGNode>;
 			var node:BLGNode;
-
+
 			if (type == GeoJSON.T_MULTI_POINT)
 			{
 				for each (part in parts)
@@ -132,18 +132,18 @@
 					{
 						linearRing.push([node.x, node.y]);
 					}
-
+
 					// make sure it's a linear ring
 					var first:Array = linearRing[0];
 					var last:Array = linearRing[linearRing.length - 1];
 					if (first && !(first[0] == last[0] && first[1] == last[1]))
 						linearRing.push(first.concat());
-
+
 					polygon.push(linearRing);
 				}
 				coords.push(polygon);
 			}
-
+
 			var geom:Object = {};
 			geom[GeoJSON.P_TYPE] = type;
 			geom[GeoJSON.G_P_COORDINATES] = coords;
@@ -172,7 +172,7 @@
 		 * It is useful for spatial indexing when not all the points are available yet.
 		 */
 		public const bounds:IBounds2D = new Bounds2D();
-
+
 		/**
 		 * This is the type of the geometry.  Value should be one of the static geometry types listed in this class.
 		 */
@@ -194,13 +194,13 @@
 				return false;
 			return (parts[0] as BLGTree).isEmpty;
 		}
-
+
 		/**
 		 * @param minImportance No points with importance less than this value will be returned.
 		 * @param visibleBounds If not null, this bounds will be used to remove unnecessary offscreen points.
-		 * @return An Array of ISimpleGeometry objects
+		 * @return An Array of ISimpleGeometry objects
 		 * @see weave.api.data.ISimpleGeometry
-		 */
+		 */
 		public function getSimpleGeometries(minImportance:Number = 0, visibleBounds:IBounds2D = null, output:Array = null):Array
 		{
 			var result:Array = output || [];
@@ -230,13 +230,13 @@
 			for (var i:int = 0; i < parts.length; i++)
 			{
 				part = parts[i] as BLGTree;
-
+
 				// skip this part if we're not sure it's actually a single part
 				if (parts.length > 1 && !receivedPartMarkers[part])
 					continue;
-
+
 				var simplifiedPart:Vector.<BLGNode> = part.getPointVector(minImportance, visibleBounds);
-
+
 				// skip parts without enough vertices
 				if (simplifiedPart.length == 0)
 					continue;
@@ -244,7 +244,7 @@
 					continue;
 				if (simplifiedPart.length == 2 && geomType == GeometryType.POLYGON)
 					continue;
-
+
 				_simplifiedParts.push(simplifiedPart);
 			}
 			return _simplifiedParts;
@@ -258,11 +258,11 @@
 		public function addPoint(vertexID:int, importance:Number, x:Number, y:Number):void
 		{
 			var partID:int = VectorUtils.binarySearch(partMarkers, vertexID, false);
-
+
 			// special case - if this vertex is exactly at a part marker, it should go to the next part
 			if (partID < partMarkers.length && partMarkers[partID] == vertexID)
 				partID++;
-
+
 			var part:BLGTree = parts[partID] as BLGTree;
 			part.insert(vertexID, importance, x, y);
 		}
@@ -277,13 +277,13 @@
 			// split BLG trees appropriately.
 			splitAtIndex(beginIndex);
 			splitAtIndex(endIndex);
-
+
 			// find the corresponding part and mark it as received.
 			var partID:int = VectorUtils.binarySearch(partMarkers, endIndex, false);
 			var part:BLGTree = parts[partID] as BLGTree;
 			receivedPartMarkers[part] = true;
 		}
-
+
 		/**
 		 * If necessary, this will split a BLGTree for a particular part into two and update the partMarkers.
 		 */
@@ -291,23 +291,23 @@
 		{
 			if (vertexID <= 0 || vertexID >= int.MAX_VALUE || VectorUtils.binarySearch(partMarkers, vertexID, true) >= 0)
 				return;
-
+
 			// partMarkers[i] marks the end of parts[i]
 			for (var i:int = partMarkers.length; i > 0; i--)
 			{
 				if (vertexID > partMarkers[i - 1])
 					break;
-
+
 				partMarkers[i] = partMarkers[i - 1];
 				parts[i + 1] = parts[i];
 			}
-
+
 			partMarkers[i] = vertexID;
 			parts[i + 1] = (parts[i] as BLGTree).splitAtIndex(vertexID);
 			// We don't have to worry about receivedPartMarkers here because if we need
 			// to split an existing part it means we haven't received its partMarker yet.
 		}
-
+
 		/**
 		 * This function assigns importance values to a list of coordinates and replaces the contents of the BLGTree.
 		 * @param xyCoordinates An array of Numbers, even index values being x coordinates and odd index values being y coordinates.
@@ -319,11 +319,11 @@
 			bounds.reset();
 			partMarkers.length = 0;
 			parts.length = 1;
-
+
 			var coordinates:BLGTree = parts[0] as BLGTree;
 			coordinates.clear();
 			receivedPartMarkers[coordinates] = true;
-
+
 			var firstVertex:VertexChainLink = null;
 			var newVertex:VertexChainLink;
 			var x:Number, y:Number;
@@ -340,7 +340,7 @@
 					bounds.includeCoords(x, y);
 				}
 				return;
-			}
+			}
 			// process each part of the geometry (additional parts may be islands or lakes)
 			while (ix + 1 < xyCoordinates.length) // while there is an x,y pair
 			{
@@ -350,7 +350,7 @@
 				{
 					x = xyCoordinates[ix];
 					y = xyCoordinates[ix + 1];
-
+
 					// check for part marker
 					if (isNaN(x) && isNaN(y))
 					{
@@ -361,11 +361,11 @@
 						}
 						continue; // haven't seen beginning of part yet
 					}
-
+
 					// skip invalid points
 					if (!isFinite(x) || !isFinite(y))
 						continue;
-
+
 					// create chain link for this coordinate
 					newVertex = VertexChainLink.getUnusedInstance(firstVertexID + numPoints, x, y);
 					if (numPoints == 0)
@@ -394,7 +394,7 @@
 					bounds.includeCoords(x, y);
 					numPoints++;
 				}
-
+
 				// end of part
 				if (numPoints > 0)
 				{
@@ -404,7 +404,7 @@
 						firstVertex.importance = Infinity;
 						firstVertex.prev.importance = Infinity;
 					}
-
+
 					if (firstVertexID > 0)
 					{
 						// create new part and add part marker
@@ -413,11 +413,11 @@
 						parts.push(coordinates);
 						partMarkers.push(firstVertexID);
 					}
-
+
 					// assign importance values to points and save them
 					BLGTreeUtils.buildBLGTree(firstVertex, coordinates, method);
 				}
-
+
 				// done copying points for this part, advance firstVertexID to after the current part
 				firstVertexID += numPoints;
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8234
Author:   dloverin@adobe.com
Date:     2009-06-25T16:04:09.732927Z

Log Message:
-----------
ASDoc changes for Spark WindowedApplication and Window.

Update resizeAffordanceWidth and showStatusBar.

QE Notes: none.
Doc Notes: Please review ASDoc changes.
Bugs: SDK-21223

Reviewer:
tests: checkintests

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

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -62,10 +62,10 @@
 //--------------------------------------

 /**
- *  Provides a margin of error around the application's border so a resize
- *  and be more easily started. A click on the application is considered a
- *  click on the application's border if the click occurs with the resizeAffordance
- *  number of pixels from the outside edge of the application's window.
+ *  Provides a margin of error around a window's border so a resize
+ *  and be more easily started. A click on a window is considered a
+ *  click on the window's border if the click occurs with the resizeAffordance
+ *  number of pixels from the outside edge of the window.
  *
  *  @default 6
  *
@@ -1388,9 +1388,9 @@
     /**
      *  If true, the status bar is visible.
      *
-     *
The status bar only appears when you use Flex chrome or
-     *  when you use the WindowedApplicationSkin class as the skin
-     *  for the WindowedApplication.

+     *
The status bar only appears when you use the WindowedApplicationSkin
+     *  class or the SparkChromeWindowedApplicationSkin class as the skin for
+     *  your application or any of your application's windows.

      *
      *  @default true
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 8230
Author:   dloverin@adobe.com
Date:     2009-06-25T14:05:58.366381Z

Log Message:
-----------
Fix minimizing a window.

Updated a previous workaround so it doesn’t kick in when a window is minimized. The problem was caused by setting the height of a nativeWindow when the application was minimized. This caused AIR to restore the application. You would see a window minimize and then immediately restore.

QE Notes: none.
Doc Notes: none.
Bugs: SDK-22013

Reviewer: Glenn
tests: checkintests

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

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -1854,8 +1854,14 @@
         {
             // Work around an AIR issue setting the stageHeight to zero when
             // using system chrome. The set of the stage.stageHeight property
-            // is rejected unless the nativeWindow is first set to the proper height.
-            if (_bounds.height == 0 && systemChrome == NativeWindowSystemChrome.STANDARD)
+            // is rejected unless the nativeWindow is first set to the proper
+            // height.
+            // Don't perform this workaround if the window has zero height due
+            // to being minimized. Setting the nativeWindow height to non-zero
+            // causes AIR to restore the window.
+            if (_bounds.height == 0 &&
+                nativeWindow.displayState != NativeWindowDisplayState.MINIMIZED &&
+                systemChrome == NativeWindowSystemChrome.STANDARD)
                 nativeWindow.height = chromeHeight() + _bounds.height;

             // We use temporary variables because when we set stageWidth or