Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -17,7 +17,9 @@
 import flash.display.InteractiveObject;
 import flash.display.LoaderInfo;
 import flash.display.Sprite;
+import flash.display.Stage;
 import flash.events.Event;
+import flash.events.EventDispatcher;
 import flash.events.FocusEvent;
 import flash.events.IEventDispatcher;
 import flash.events.KeyboardEvent;
@@ -29,19 +31,15 @@

 import mx.core.Application;
 import mx.core.FlexSprite;
-import mx.core.ISWFLoader;
 import mx.core.IButton;
 import mx.core.IChildList;
 import mx.core.IRawChildrenContainer;
-import mx.core.ISWFBridgeProvider;
 import mx.core.IToggleButton;
 import mx.core.IUIComponent;
+import mx.core.ISWFLoader;
 import mx.core.mx_internal;
-import mx.core.SWFBridgeGroup;
 import mx.events.FlexEvent;
-import mx.events.FocusRequestDirection;
-import mx.events.SWFBridgeEvent;
-import mx.events.SWFBridgeRequest;
+import mx.managers.marshalClasses.FocusManagerMarshalMixin;
 import mx.utils.DisplayUtil;

 use namespace mx_internal;
@@ -78,7 +76,7 @@
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class FocusManager implements IFocusManager
+public class FocusManager extends EventDispatcher implements IFocusManager
 {
     include "../core/Version.as";

@@ -95,6 +93,24 @@
 	 */
 	private static const FROM_INDEX_UNSPECIFIED:int = -2;

+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 * @private
+	 *
+	 * Place to hook in additional classes
+	 */
+	public static var mixins:Array;
+
+    /**
+     *  @private
+     */
+    private static function weakDependency():void { FocusManagerMarshalMixin };
+
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -157,48 +173,26 @@
                                        creationCompleteHandler);
         }

+		if (mixins)
+		{
+			var n:int = mixins.length;
+			for (var i:int = 0; i < n; i++)
+			{
+				new mixins[i](this);
+			}
+		}
+
         // Make sure the SystemManager is running so it can tell us about
         // mouse clicks and stage size changes.
 		try
 		{
-        	container.systemManager.addFocusManager(container); // build a message that does the equal
-
-            var sm:ISystemManager = form.systemManager;
-
-            // Set up our swfBridgeGroup. If this is a pop up then the parent
-            // bridge is empty, otherwise its the form's system manager's bridge.
-            swfBridgeGroup = new SWFBridgeGroup(sm);
-            if (!popup)
-                swfBridgeGroup.parentBridge = sm.swfBridgeGroup.parentBridge;
-
-			// add ourselves to our parent focus manager if this is a bridged
-			// application not a dialog or other popup.
-			if (sm.useSWFBridge())
-			{
-			    sm.addEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING, removeFromParentBridge);
-
-				// have the child listen to move requests from the parent.
-				var bridge:IEventDispatcher = swfBridgeGroup.parentBridge;
-		       	if (bridge)
-	    	   	{
-	       			bridge.addEventListener(SWFBridgeRequest.MOVE_FOCUS_REQUEST, focusRequestMoveHandler);
-                    bridge.addEventListener(SWFBridgeRequest.SET_SHOW_FOCUS_INDICATOR_REQUEST,
-                                            setShowFocusIndicatorRequestHandler);
-	       		}
-
-	   			// add listener activate/deactivate requests
-	   			if (bridge && !(form.systemManager is SystemManagerProxy))
-	   			{
-	   				bridge.addEventListener(SWFBridgeRequest.ACTIVATE_FOCUS_REQUEST, focusRequestActivateHandler);
-	   				bridge.addEventListener(SWFBridgeRequest.DEACTIVATE_FOCUS_REQUEST, focusRequestDeactivateHandler);
-			   		bridge.addEventListener(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE,
-			   				    		    bridgeEventActivateHandler);
-	   			}
-
-	   			// listen when the container has been added to the stage so we can add the focusable
-	   			// children
-	   			container.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
-			}
+			var awm:IActiveWindowManager =
+				IActiveWindowManager(container.systemManager.getImplementation("mx.managers::IActiveWindowManager"));
+			if (awm)
+        		awm.addFocusManager(container); // build a message that does the equal
+
+			dispatchEvent(new Event("initialize"));
+
 		}
 		catch (e:Error)
 		{
@@ -215,9 +209,17 @@

     private var LARGE_TAB_INDEX:int = 99999;

-    private var calculateCandidates:Boolean = true;
-
-    /**
+    mx_internal var calculateCandidates:Boolean = true;
+
+	/**
+	 * @private
+	 *
+	 * True if this focus manager is a popup, false if it is a main application.
+	 *
+	 */
+	mx_internal var popup:Boolean;
+
+	/**
      *  @private
      *  We track whether we've been last activated or saw a TAB
      *  This is used in browser tab management
@@ -244,7 +246,7 @@
      *  Total set of all objects that can receive focus
      *  but might be disabled or invisible.
      */
-    private var focusableObjects:Array;
+    mx_internal var focusableObjects:Array;

     /**
      *  @private
@@ -258,12 +260,12 @@
     private var activated:Boolean = false;

     /**
-    * 	@private
-    *
-    * 	true if focus was changed to one of focusable objects. False if focus passed to
-    * 	the browser.
-    */
-	private var focusChanged:Boolean;
+     * 	@private
+     *
+     * 	true if focus was changed to one of focusable objects. False if focus passed to
+     * 	the browser.
+     */
+	mx_internal var focusChanged:Boolean;

     /**
 	 * 	@private
@@ -271,49 +273,8 @@
 	 * 	if non-null, the location to move focus from instead of the object
 	 *  that has focus in the stage.
 	 */
-	 private var fauxFocus:DisplayObject;
+	mx_internal var fauxFocus:DisplayObject;

-	 /**
-	  *  @private
-	  *
-	  *  The focus manager maintains its own bridges so a focus manager in a pop
-	  *  up can move focus to another focus manager in the same pop up. That is,
-	  *  A pop ups can be a collection of focus managers working together just
-	  *  as is done in the System Manager's document.
-	  */
-	 private var swfBridgeGroup:SWFBridgeGroup;
-
-	/**
-	 * @private
-	 *
-	 * bridge handle of the last active focus manager.
-	 */
-     private var lastActiveFocusManager:FocusManager;
-
-	 /**
-	 * @private
-	 *
-	 * Test if the focus was set locally in this focus manager (true) or
-	 * if focus was transfer to another focus manager (false)
-	 */
-	 private var focusSetLocally:Boolean;
-
-	 /**
-	 * @private
-	 *
-	 * True if this focus manager is a popup, false if it is a main application.
-	 *
-	 */
-	 private var popup:Boolean;
-
-	 /**
-	  *  @private
-	  *
-	  *  Used when a the skip parameter can't be passed into
-	  *  dispatchEventFromSWFBridges() because the caller doesn't take
-	  *  a skip parameter.
-	  */
-	 private var skipBridge:IEventDispatcher;

 	//--------------------------------------------------------------------------
     //
@@ -329,7 +290,7 @@
      *  @private
      *  Storage for the showFocusIndicator property.
      */
-    private var _showFocusIndicator:Boolean = false;
+    mx_internal var _showFocusIndicator:Boolean = false;

     /**
      *  @inheritDoc
@@ -352,9 +313,8 @@
         var changed:Boolean = _showFocusIndicator != value;

         _showFocusIndicator = value;
-
-        if (changed && !popup && form.systemManager.swfBridgeGroup)
-            dispatchSetShowFocusIndicatorRequest(value, null);
+
+        dispatchEvent(new Event("showFocusIndicator"));
     }

     //----------------------------------
@@ -405,12 +365,12 @@

             if (defButton != _lastFocus || _lastFocus == _defaultButton)
             {
-                defButton = button;
+            defButton = button;

-                if (button)
-                    button.emphasized = true;
-            }
-        }
+            if (button)
+                button.emphasized = true;
+        }
+    }
     }

     //----------------------------------
@@ -529,6 +489,14 @@
 		return _lastFocus;
 	}

+	/**
+	 * 	@private
+	 */
+	mx_internal function set lastFocus(value:IFocusManagerComponent):void
+	{
+		_lastFocus = value;
+	}
+
     //----------------------------------
     //  nextTabIndex
     //----------------------------------
@@ -587,7 +555,12 @@
      */
     public function getFocus():IFocusManagerComponent
     {
-        var o:InteractiveObject = form.systemManager.stage.focus;
+        var stage:Stage = form.systemManager.stage;
+
+        if (!stage)
+            return null;
+
+        var o:InteractiveObject = stage.focus;
         return findFocusManagerComponent(o);
     }

@@ -605,8 +578,7 @@

         o.setFocus();

-        focusSetLocally = true;
-
+		dispatchEvent(new Event("setFocus"));
         // trace("FM set focus");
     }

@@ -619,10 +591,9 @@
         // trace("FocusManager focusInHandler in  = " + this._form.systemManager.loaderInfo.url);
         // trace("FM " + this + " focusInHandler " + target);

-		// if the target is in a bridged application, let it handle the click.
-		var sm:ISystemManager = form.systemManager;
-   		if (sm.isDisplayObjectInABridgedApplication(DisplayObject(event.target)))
-   			return;
+		// dispatch cancelable FocusIn to see if Marshal Plan mixin wants it
+		if (!dispatchEvent(new FocusEvent(FocusEvent.FOCUS_IN, false, true, target)))
+			return;

         if (isParent(DisplayObjectContainer(form), target))
         {
@@ -638,21 +609,21 @@
             // trace("FM " + this + " setting last focus " + target);
             _lastFocus = findFocusManagerComponent(InteractiveObject(target));

-            // handle default button here
-            // we can't check for Button because of cross-versioning so
-            // for now we just check for an emphasized property
+			// handle default button here
+			// we can't check for Button because of cross-versioning so
+			// for now we just check for an emphasized property
             if (_lastFocus is IButton && !(_lastFocus is IToggleButton))
-            {
+			{
                 defButton = _lastFocus as IButton;
-            }
-            else
-            {
-                // restore the default button to be the original one
-                if (defButton && defButton != _defaultButton)
-                    defButton = _defaultButton;
-            }
-        }
-    }
+				}
+			else
+			{
+				// restore the default button to be the original one
+				if (defButton && defButton != _defaultButton)
+					defButton = _defaultButton;
+				}
+			}
+		}

     /**
      *  @private  Useful for debugging
@@ -790,8 +761,7 @@
         if (_lastFocus)
             setFocus(_lastFocus);

-		// activate children in compatibility mode or in sandboxes.
-    	dispatchEventFromSWFBridges(new SWFBridgeRequest(SWFBridgeRequest.ACTIVATE_FOCUS_REQUEST), skipBridge);
+		dispatchEvent(new Event(Event.ACTIVATE));

     }

@@ -846,8 +816,7 @@

         activated = false;

-		// deactivate children in compatibility mode or in sandboxes.
-		dispatchEventFromSWFBridges(new SWFBridgeRequest(SWFBridgeRequest.DEACTIVATE_FOCUS_REQUEST), skipBridge);
+		dispatchEvent(new Event(Event.DEACTIVATE));
     }

     /**
@@ -899,43 +868,6 @@
         return null;
     }

-	/**
-	 *  @inheritDoc
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void
-	{
-	    if (direction == FocusRequestDirection.TOP)
-	    {
-	        setFocusToTop();
-	        return;
-	    }
-
-        if (direction == FocusRequestDirection.BOTTOM)
-        {
-            setFocusToBottom();
-            return;
-        }
-
-		var keyboardEvent:KeyboardEvent = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
-		keyboardEvent.keyCode = Keyboard.TAB;
-		keyboardEvent.shiftKey = (direction == FocusRequestDirection.FORWARD) ? false : true;
-		fauxFocus = fromDisplayObject;
-		keyDownHandler(keyboardEvent);
-
-    	var focusEvent:FocusEvent = new FocusEvent(FocusEvent.KEY_FOCUS_CHANGE);
-    	focusEvent.keyCode = Keyboard.TAB;
-    	focusEvent.shiftKey = (direction == FocusRequestDirection.FORWARD) ? false : true;
-
-    	keyFocusChangeHandler(focusEvent);
-
-		fauxFocus = null;
-	}
-
     /**
      *  @private
      *  Returns true if p is a parent of o.
@@ -1109,7 +1041,7 @@
      *  @private
      *  Do a tree walk and add all children you can find.
      */
-    private function addFocusables(o:DisplayObject, skipTopLevel:Boolean = false):void
+    mx_internal function addFocusables(o:DisplayObject, skipTopLevel:Boolean = false):void
     {
         // trace(">>addFocusables " + o);
         if ((o is IFocusManagerComponent) && !skipTopLevel)
@@ -1335,11 +1267,8 @@
 		// If we are about to wrap focus around, send focus back to the parent.
 		if (!popup && (focusInfo.wrapped || !focusInfo.displayObject))
 		{
-			if (getParentBridge())
-			{
-				moveFocusToParent(event.shiftKey);
+			if (!dispatchEvent(new FocusEvent("focusWrapping", false, true, null, event.shiftKey)))
 				return;
-			}
 		}

 		if (!focusInfo.displayObject)
@@ -1356,22 +1285,10 @@
 		focusChanged = false;
 		if (o)
 		{
-			if (o is ISWFLoader && ISWFLoader(o).swfBridge)
-			{
-				// send message to child swf to move focus.
-				// trace("pass focus from " + this.form.systemManager.loaderInfo.url + " to " + DisplayObject(o).loaderInfo.url);
-	    		var request:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.MOVE_FOCUS_REQUEST,
-	    													false, true, null,
-	    													shiftKey ? FocusRequestDirection.BOTTOM :
-																	   FocusRequestDirection.TOP);
-				var sandboxBridge:IEventDispatcher = ISWFLoader(o).swfBridge;
-				if (sandboxBridge)
-				{
-    				sandboxBridge.dispatchEvent(request);
-					focusChanged = request.data;
-				}
-			}
-			else if (o is IFocusManagerComplexComponent)
+			if (!dispatchEvent(new FocusEvent("setFocusToComponent", false, true, InteractiveObject(o), shiftKey)))
+				return;
+
+			if (o is IFocusManagerComplexComponent)
 			{
 				IFocusManagerComplexComponent(o).assignFocus(shiftKey ? "bottom" : "top");
 				focusChanged = true;
@@ -1389,23 +1306,7 @@
 	/**
 	 *  @private
 	 */
-	private function setFocusToTop():void
-	{
-		setFocusToNextIndex(-1, false);
-	}
-
-	/**
-	 *  @private
-	 */
-	private function setFocusToBottom():void
-	{
-		setFocusToNextIndex(focusableObjects.length, true);
-	}
-
-	/**
-	 *  @private
-	 */
-	private function setFocusToNextIndex(index:int, shiftKey:Boolean):void
+	mx_internal function setFocusToNextIndex(index:int, shiftKey:Boolean):void
 	{
 		if (focusableObjects.length == 0)
 			return;
@@ -1423,15 +1324,12 @@
 		// If we are about to wrap focus around, send focus back to the parent.
 		if (!popup && focusInfo.wrapped)
 		{
-			if (getParentBridge())
-			{
-				moveFocusToParent(shiftKey);
+			if (!dispatchEvent(new FocusEvent("setFocusToNextIndex", false, true, null, shiftKey)))
 				return;
-			}
 		}

 		setFocusToComponent(focusInfo.displayObject, shiftKey);
-	}
+	}

     /**
      *  @inheritDoc
@@ -1544,13 +1442,9 @@
                 (o is IUIComponent ? IUIComponent(o).enabled : true))
                 return o;

-			// if we cross a boundry into a bridged application, then return null so
-			// the target is only processed at the lowest level
-			if (o.parent is ISWFLoader)
-			{
-				if (ISWFLoader(o.parent).swfBridge)
-					return null;
-			}
+			if (!dispatchEvent(new FocusEvent("getTopLevelFocusTarget", false, true, o.parent)))
+				return null;
+
             o = o.parent;

             if (o == null)
@@ -1572,7 +1466,7 @@
      *  @playerversion AIR 1.1
      *  @productversion Flex 3
      */
-    public function toString():String
+    override public function toString():String
     {
         return Object(form).toString() + ".focusManager";
     }
@@ -1628,7 +1522,7 @@
                     // trace("FM removed " + o);
                     o.removeEventListener("tabEnabledChange", tabEnabledChangeHandler);
                     o.removeEventListener("tabIndexChange", tabIndexChangeHandler);
-                    focusableObjects.splice(i, 1);
+                    focusableObjects.splice(i, 1);
                     focusableCandidates = [];
                     calculateCandidates = true;
                     break;
@@ -1638,27 +1532,6 @@
         removeFocusables(o, false);
     }

-	/**
-	 * After the form is added to the stage, if there are no focusable objects,
-	 * add the form and its children to the list of focuable objects because
-	 * this application may have been loaded before the
-	 * top-level system manager was added to the stage.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	private function addedToStageHandler(event:Event):void
-	{
-		_form.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
-		if (focusableObjects.length == 0)
-		{
-			addFocusables(DisplayObject(_form));
-			calculateCandidates = true;
-		}
-	}
-
     /**
      *  @private
      */
@@ -1699,7 +1572,10 @@
      */
     private function showHandler(event:Event):void
     {
-        form.systemManager.activate(form);
+		var awm:IActiveWindowManager =
+			IActiveWindowManager(form.systemManager.getImplementation("mx.managers::IActiveWindowManager"));
+		if (awm)
+        	awm.activate(form); // build a message that does the equal
     }

     /**
@@ -1707,7 +1583,10 @@
      */
     private function hideHandler(event:Event):void
     {
-        form.systemManager.deactivate(form);
+		var awm:IActiveWindowManager =
+			IActiveWindowManager(form.systemManager.getImplementation("mx.managers::IActiveWindowManager"));
+		if (awm)
+        	awm.deactivate(form); // build a message that does the equal
     }

     /**
@@ -1717,7 +1596,12 @@
     {
         var o:DisplayObject = DisplayObject(form);
         if (o.parent && o.visible && !activated)
-            form.systemManager.activate(form);
+		{
+			var awm:IActiveWindowManager =
+				IActiveWindowManager(form.systemManager.getImplementation("mx.managers::IActiveWindowManager"));
+			if (awm)
+	        	awm.activate(form); // build a message that does the equal
+		}
     }

     /**
@@ -1828,19 +1712,18 @@
      *  @private
      *  This gets called when the tab key is hit.
      */
-    private function keyFocusChangeHandler(event:FocusEvent):void
+    mx_internal function keyFocusChangeHandler(event:FocusEvent):void
     {
         // trace("keyFocusChangeHandler handled by " + this);
     	// trace("keyFocusChangeHandler event = " + event);

     	var sm:ISystemManager = form.systemManager;

-		// if the target is in a bridged application, let it handle the click.
-   		if (sm.isDisplayObjectInABridgedApplication(DisplayObject(event.target)))
-   			return;
-
+		if (!dispatchEvent(new FocusEvent("keyFocusChange", false, true, InteractiveObject(event.target))))
+			return;
+
         showFocusIndicator = true;
-        focusChanged = false;
+		focusChanged = false;

         // see if we got here from a tab.  We also need to check for
         // keyCode == 0 because in IE sometimes the first time you tab
@@ -1855,15 +1738,8 @@
                     browserFocusComponent.tabIndex = -1;

                 browserFocusComponent = null;
-
-				if (SystemManager(form.systemManager).useSWFBridge())
-				{
-					// out of children, pass focus to parent
-					moveFocusToParent(event.shiftKey);
-
-					if (focusChanged)
-		            	event.preventDefault();
-				}
+
+				dispatchEvent(new FocusEvent("browserFocusComponent", false, false, InteractiveObject(event.target)));

                 return;
             }
@@ -1880,13 +1756,14 @@
      *  @private
      *  Watch for TAB keys.
      */
-    private function keyDownHandler(event:KeyboardEvent):void
-    {
+    mx_internal function keyDownHandler(event:KeyboardEvent):void
+    {
         // trace("onKeyDown handled by " + this);
     	// trace("onKeyDown event = " + event);
 		// if the target is in a bridged application, let it handle the click.
 		var sm:ISystemManager = form.systemManager;
-   		if (sm.isDisplayObjectInABridgedApplication(DisplayObject(event.target)))
+
+		if (!dispatchEvent(new FocusEvent("keyDownFM", false, true, InteractiveObject(event.target))))
    			return;

         if (sm is SystemManager)
@@ -1959,16 +1836,16 @@
     private function defaultButtonKeyHandler(event:KeyboardEvent):void
     {
         var sm:ISystemManager = form.systemManager;
-        if (sm.isDisplayObjectInABridgedApplication(DisplayObject(event.target)))
-            return;
+		if (!dispatchEvent(new FocusEvent("defaultButtonKeyHandler", false, true)))
+			return;

         if (defaultButtonEnabled && event.keyCode == Keyboard.ENTER &&
             defaultButton && defButton.enabled)
         {
             sendDefaultButtonEvent();
-        }
-    }
-
+    }
+    }
+
     /**
      *  @private
      *  This gets called when the focus changes due to a mouse click.
@@ -2009,371 +1886,14 @@
         if ((o != _lastFocus || lastAction == "ACTIVATE") && !(o is TextField))
             setFocus(IFocusManagerComponent(o));
 		else if (_lastFocus)
+		{
 			// trace("FM: skipped setting focus to " + _lastFocus);
-
-        // if in a sandbox, create a focus-in event and dispatch.
-		if (!_lastFocus && o is IEventDispatcher &&	SystemManager(form.systemManager).useSWFBridge())
-       		IEventDispatcher(o).dispatchEvent(new FocusEvent(FocusEvent.FOCUS_IN));
+		}
+
+		dispatchEvent(new FocusEvent("mouseDownFM", false, false, InteractiveObject(o)));

         lastAction = "MOUSEDOWN";
-
-		dispatchActivatedFocusManagerEvent(null);
-
-		lastActiveFocusManager = this;
-
-    }
-
-
-	/**
-	 * @private
-	 *
-	 * A request across a bridge from another FocusManager to change the
-	 * focus.
-	 */
-    private function focusRequestMoveHandler(event:Event):void
-    {
-    	// trace("focusRequestHandler in  = " + this._form.systemManager.loaderInfo.url);
-
-		// ignore messages we send to ourselves.
-		if (event is SWFBridgeRequest)
-		{
-			// trace("ignored focus in " + this._form.systemManager.loaderInfo.url);
-			return;
-		}
-
-		focusSetLocally = false;
-
-    	var request:SWFBridgeRequest = SWFBridgeRequest.marshal(event);
-		if (request.data == FocusRequestDirection.TOP || request.data == FocusRequestDirection.BOTTOM)
-		{
-			// move focus to the top or bottom child. If there are no children then
-			// send focus back up to the parent.
-			if (focusableObjects.length == 0)
-			{
-				// trace("focusRequestMoveHandler: no focusable objects, setting focus back to parent");
-				moveFocusToParent(request.data == FocusRequestDirection.TOP ? false : true);
-				event["data"] = focusChanged;
-				return;
-			}
-
-			if (request.data == FocusRequestDirection.TOP)
-			{
-				setFocusToTop();
-			}
-			else
-			{
-				setFocusToBottom();
-			}
-
-			event["data"] = focusChanged;
-		}
-		else
-		{
-			// move forward or backward
-			var startingPosition:DisplayObject = DisplayObject(_form.systemManager.
-										          swfBridgeGroup.getChildBridgeProvider(IEventDispatcher(event.target)));
-			moveFocus(request.data as String, startingPosition);
-			event["data"] = focusChanged;
-	  	}
-
-		if (focusSetLocally)
-		{
-            dispatchActivatedFocusManagerEvent(null);
-            lastActiveFocusManager = this;
-		}
-    }
-
-    private function focusRequestActivateHandler(event:Event):void
-	{
-		// trace("FM focusRequestActivateHandler");
-		skipBridge = IEventDispatcher(event.target);
-		activate();
-		skipBridge = null;
-	}
-
-    private function focusRequestDeactivateHandler(event:Event):void
-	{
-		// trace("FM focusRequestDeactivateHandler");
-        skipBridge = IEventDispatcher(event.target);
-		deactivate();
-        skipBridge = null;
-	}
-
-    private function bridgeEventActivateHandler(event:Event):void
-	{
-		// ignore message to self
-		if (event is SWFBridgeEvent)
-			return;
-
-		//trace("FM bridgeEventActivateHandler for " + form.systemManager.loaderInfo.url);
-
-		// clear last focus if we aren't active.
-		lastActiveFocusManager = null;
-		_lastFocus = null;
-
-		dispatchActivatedFocusManagerEvent(IEventDispatcher(event.target));
-	}
-
-    /**
-     *  @private
-     *
-     *  A request across a bridge from another FocusManager to change the
-     *  value of the setShowFocusIndicator property.
-     */
-    private function setShowFocusIndicatorRequestHandler(event:Event):void
-    {
-        // ignore messages we send to ourselves.
-        if (event is SWFBridgeRequest)
-            return;
-
-        var request:SWFBridgeRequest = SWFBridgeRequest.marshal(event);
-        _showFocusIndicator = request.data;
-
-        // relay the message to parent and children
-        dispatchSetShowFocusIndicatorRequest(_showFocusIndicator, IEventDispatcher(event.target));
-    }
-
-	/**
-	 * This is called on the top-level focus manager and the parent focus
-	 * manager for each new bridge of focusable content created.
-	 * When the parent focus manager of the new focusable content is
-	 * called, focusable content will become part of the tab order.
-	 * When the top-level focus manager is called the bridge becomes
-	 * one of the focus managers managed by the top-level focus manager.
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function addSWFBridge(bridge:IEventDispatcher, owner:DisplayObject):void
-	{
-//    	trace("FocusManager.addFocusManagerBridge: in  = " + this._form.systemManager.loaderInfo.url);
-        if (!owner)
-            return;
-
-		var sm:ISystemManager = _form.systemManager;
-       	if (focusableObjects.indexOf(owner) == -1)
-		{
-			focusableObjects.push(owner);
-    	    calculateCandidates = true;
-   		}
-
-		// listen for move requests from the bridge.
-        swfBridgeGroup.addChildBridge(bridge, ISWFBridgeProvider(owner));
-
-   		bridge.addEventListener(SWFBridgeRequest.MOVE_FOCUS_REQUEST, focusRequestMoveHandler);
-        bridge.addEventListener(SWFBridgeRequest.SET_SHOW_FOCUS_INDICATOR_REQUEST,
-                                setShowFocusIndicatorRequestHandler);
-  		bridge.addEventListener(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE,
-   				    		    bridgeEventActivateHandler);
-	}

-	/**
-	 * @inheritdoc
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function removeSWFBridge(bridge:IEventDispatcher):void
-	{
-		var sm:ISystemManager = _form.systemManager;
-		var displayObject:DisplayObject = DisplayObject(swfBridgeGroup.getChildBridgeProvider(bridge));
-		if (displayObject)
-		{
-			var index:int = focusableObjects.indexOf(displayObject);
-           	if (index != -1)
-			{
-				focusableObjects.splice(index, 1);
-        	    calculateCandidates = true;
-
-   			}
-
-		}
-	    else
-	    	throw new Error();		// should never get here.
-
-   		bridge.removeEventListener(SWFBridgeRequest.MOVE_FOCUS_REQUEST, focusRequestMoveHandler);
-        bridge.removeEventListener(SWFBridgeRequest.SET_SHOW_FOCUS_INDICATOR_REQUEST,
-                                    setShowFocusIndicatorRequestHandler);
-  		bridge.removeEventListener(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE,
-   					    		    bridgeEventActivateHandler);
-        swfBridgeGroup.removeChildBridge(bridge);
-	}
-
-	/**
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	private function removeFromParentBridge(event:Event):void
-	{
-		// add ourselves to our parent focus manager if this is a bridged
-		// application not a dialog or other popup.
-		var sm:ISystemManager = form.systemManager;
-		if (sm.useSWFBridge())
-		{
-			sm.removeEventListener(SWFBridgeEvent.BRIDGE_APPLICATION_UNLOADING, removeFromParentBridge);
-
-			// have the child listen to move requests from the parent.
-			var bridge:IEventDispatcher = swfBridgeGroup.parentBridge;
-		    if (bridge)
-	    	{
-	       		bridge.removeEventListener(SWFBridgeRequest.MOVE_FOCUS_REQUEST, focusRequestMoveHandler);
-                bridge.removeEventListener(SWFBridgeRequest.SET_SHOW_FOCUS_INDICATOR_REQUEST,
-                                           setShowFocusIndicatorRequestHandler);
-	       	}
-
-	   		// add listener activate/deactivate requests
-	   		if (bridge && !(form.systemManager is SystemManagerProxy))
-	   		{
-	   			bridge.removeEventListener(SWFBridgeRequest.ACTIVATE_FOCUS_REQUEST, focusRequestActivateHandler);
-	   			bridge.removeEventListener(SWFBridgeRequest.DEACTIVATE_FOCUS_REQUEST, focusRequestDeactivateHandler);
-			   	bridge.removeEventListener(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE,
-			   				    		bridgeEventActivateHandler);
-	   		}
-		}
-	}
-
-	/**
-	 *  @private
-	 *
-	 *  Send a message to the parent to move focus a component in the parent.
-	 *
-	 *  @param shiftKey - if true move focus to a component
-	 *
-	 *  @return true if focus moved to parent, false otherwise.
-	 */
-    private function moveFocusToParent(shiftKey:Boolean):Boolean
-    {
-    	// trace("pass focus from " + this.form.systemManager.loaderInfo.url + " to parent ");
-		var request:SWFBridgeRequest = new SWFBridgeRequest(SWFBridgeRequest.MOVE_FOCUS_REQUEST,
-													false, true, null,
-													shiftKey ? FocusRequestDirection.BACKWARD :
-													  		   FocusRequestDirection.FORWARD);
-		var sandboxBridge:IEventDispatcher = _form.systemManager.swfBridgeGroup.parentBridge;
-
-		// the handler will set the data property to whether focus changed
-		sandboxBridge.dispatchEvent(request);
-		focusChanged = request.data;
-
-		return focusChanged;
-    }
-
-    /**
-     *  Get the bridge to the parent focus manager.
-     *
-     *  @return parent bridge or null if there is no parent bridge.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private function getParentBridge():IEventDispatcher
-    {
-    	if (swfBridgeGroup)
-    		return swfBridgeGroup.parentBridge;
-
-		return null;
-    }
-
-
-    /**
-     *  @private
-     *
-     *  Send a request for all other focus managers to update
-     *  their ShowFocusIndicator property.
-     */
-    private function dispatchSetShowFocusIndicatorRequest(value:Boolean, skip:IEventDispatcher):void
-    {
-        var request:SWFBridgeRequest = new SWFBridgeRequest(
-                                            SWFBridgeRequest.SET_SHOW_FOCUS_INDICATOR_REQUEST,
-                                            false,
-                                            false,
-                                            null,   // bridge is set before it is dispatched
-                                            value);
-        dispatchEventFromSWFBridges(request, skip);
-    }
-
-	/**
-	 *  @private
-	 *
-	 *  Broadcast an ACTIVATED_FOCUS_MANAGER message.
-	 *
-	 *  @param eObj if a SandboxBridgeEvent, then propagate the message,
-	 * 			   if null, start a new message.
-	 */
-	private function dispatchActivatedFocusManagerEvent(skip:IEventDispatcher = null):void
-	{
-
-		// Don't send the ACTIVATED_FOCUS_MANAGER message if we are already
-		// active.
-       	if (lastActiveFocusManager == this)
-       	{
-       		// trace("FM: dispatchActivatedFocusManagerEvent already active, skipping messages");
-       		return;		// already active
-       	}
-
-    	var event:SWFBridgeEvent = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE);
-        dispatchEventFromSWFBridges(event, skip);
-	}
-
-	/**
-     *  A Focus Manager has its own set of child bridges that may be different from the child
-     *  bridges of its System Manager if the Focus Manager is managing a pop up. In the case of
-     *  a pop up don't send messages to the SM parent bridge because that will be the form. But
-     *  do send the messages to the bridges in bridgeFocusManagers dictionary.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    private function dispatchEventFromSWFBridges(event:Event, skip:IEventDispatcher = null):void
-    {
-
-
-        var clone:Event;
-        // trace(">>dispatchEventFromSWFBridges", this, event.type);
-        var sm:ISystemManager = form.systemManager;
-
-        if (!popup)
-        {
-            var parentBridge:IEventDispatcher = swfBridgeGroup.parentBridge;
-
-            if (parentBridge && parentBridge != skip)
-            {
-                // Ensure the requestor property has the correct bridge.
-                clone = event.clone();
-                if (clone is SWFBridgeRequest)
-                    SWFBridgeRequest(clone).requestor = parentBridge;
-
-                parentBridge.dispatchEvent(clone);
-            }
-        }
-
-        var children:Array = swfBridgeGroup.getChildBridges();
-        for (var i:int = 0; i < children.length; i++)
-        {
-            if (children[i] != skip)
-            {
-                // trace("send to child", i, event.type);
-                clone = event.clone();
-
-                // Ensure the requestor property has the correct bridge.
-                if (clone is SWFBridgeRequest)
-                    SWFBridgeRequest(clone).requestor = IEventDispatcher(children[i]);
-
-                IEventDispatcher(children[i]).dispatchEvent(clone);
-            }
-        }
-
-        // trace("<<dispatchEventFromSWFBridges", this, event.type);
     }

 	private function getBrowserFocusComponent(shiftKey:Boolean):InteractiveObject


added new DPI buckets as valid ones to use.

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -912,7 +912,7 @@
      */
     private var _applicationDPI:Number = NaN;

-    [Inspectable(category="General", enumeration="160,240,320,480")]
+    [Inspectable(category="General", enumeration="120,160,240,320,480,640")]

     /**
      *  The DPI of the application.
@@ -983,10 +983,12 @@
      *
      *
Flex's default mappings are:
      *

-     *
160 DPI	<200 DPI

-     *
240 DPI	>=200 DPI and <280 DPI

-     *
320 DPI	>=280 DPI and <400 DPI

-	 *
480 DPI	>=400 DPI

+     *
160 DPI	<140 DPI

+     *
160 DPI	>=140 DPI and <=200 DPI

+     *
240 DPI	>=200 DPI and <=280 DPI

+     *
320 DPI	>=280 DPI and <=400 DPI

+     *
480 DPI	>=400 DPI and <=560 DPI

+     *
640 DPI	>=640 DPI

      *

      *

      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridGroupItemRendererAutomationImpl.as
+++ frameworks/projects/automation_dmv/src/mx/automation/delegates/advancedDataGrid/AdvancedDataGridGroupItemRendererAutomationImpl.as
@@ -0,0 +1,135 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.automation.delegates.advancedDataGrid
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import mx.automation.Automation;
+
+	import mx.automation.delegates.core.UITextFieldAutomationImpl;
+	import mx.automation.IAutomationObjectHelper;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
+	import mx.controls.listClasses.ListItemRenderer;
+	import mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer;
+	import mx.core.mx_internal;
+	import mx.core.IUITextField;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  AdvancedDataGridGroupItemRenderer class.
+	 *
+	 *  @see x.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class  AdvancedDataGridGroupItemRendererAutomationImpl extends UIComponentAutomationImpl
+	{
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(AdvancedDataGridGroupItemRenderer, AdvancedDataGridGroupItemRendererAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj AdvancedDataGridGroupItemRenderer object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function AdvancedDataGridGroupItemRendererAutomationImpl(obj:AdvancedDataGridGroupItemRenderer)
+		{
+
+			super(obj);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get listItemRend():AdvancedDataGridGroupItemRenderer
+		{
+			return uiComponent as AdvancedDataGridGroupItemRenderer;
+		}
+
+
+		//--------------------------------------------------------------------------
+		//
+		//  Overridden properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  automationName
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationName():String
+		{
+
+			return ( listItemRend.listData.label ||  super.automationName);
+		}
+
+		//----------------------------------
+		//  automationValue
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		override public function get automationValue():Array
+		{
+			return [automationName];
+		}
+
+	}
+}


LinkableNumber.getSessionState() now makes sure it returns a Number

--- WeaveCore/src/weave/core/LinkableNumber.as
+++ WeaveCore/src/weave/core/LinkableNumber.as
@@ -36,6 +36,11 @@
 		public function set value(value:Number):void
 		{
 			setSessionState(value);
+		}
+
+		override public function getSessionState():Object
+		{
+			return Number(_sessionStateExternal);
 		}

 		override public function setSessionState(value:Object):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/framework/src/mx/core/IUITextField.as
+++ frameworks/projects/framework/src/mx/core/IUITextField.as
@@ -24,6 +24,11 @@
 /**
  *  The IUITextField interface defines the basic set of APIs
  *  for UITextField instances.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IUITextField extends IIMESupport,
                          IFlexModule,
@@ -36,55 +41,105 @@

     /**
      *  @copy mx.core.UITextField#ignorePadding
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get ignorePadding():Boolean;
     function set ignorePadding(value:Boolean):void;

     /**
      *  @copy mx.core.UITextField#inheritingStyles
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get inheritingStyles():Object;
     function set inheritingStyles(value:Object):void;

     /**
      *  @copy mx.core.UITextField#nestLevel
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get nestLevel():int;
     function set nestLevel(value:int):void;

     /**
      *  @copy mx.core.UITextField#nonInheritingStyles
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get nonInheritingStyles():Object;
     function set nonInheritingStyles(value:Object):void;

     /**
      *  @copy mx.core.UITextField#nonZeroTextHeight
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get nonZeroTextHeight():Number;

     /**
      *  @copy mx.core.UITextField#getStyle()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getStyle(styleProp:String):*;

     /**
      *  @copy mx.core.UITextField#getUITextFormat()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function getUITextFormat():UITextFormat

     /**
      *  @copy mx.core.UITextField#setColor()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setColor(color:uint):void;

     /**
      *  @copy mx.core.UITextField#setFocus()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function setFocus():void;

     /**
      *  @copy mx.core.UITextField#truncateToFit()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function truncateToFit(truncationIndicator:String = null):Boolean;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -26,26 +26,51 @@
  *  as a result of user interaction.
  *
  *  @eventType flash.events.Event.CHANGE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="change", type="flash.events.Event")]

 /**
  *  @copy mx.components.baseClasses.GroupBase#focusColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="focusColor", type="uint", format="Color", inherit="yes")]

 /**
  *  @copy mx.components.baseClasses.GroupBase#symbolColor
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Style(name="symbolColor", type="uint", format="Color", inherit="yes")]

 /**
  *  Normal State
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("normal")]

 /**
  *  Disabled State
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [SkinState("disabled")]

@@ -80,6 +105,11 @@
  *  @see mx.components.FxNumericStepper
  *
  *  @includeExample examples/FxSpinnerExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class FxSpinner extends FxRange implements IFocusManagerComponent
 {
@@ -93,6 +123,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function FxSpinner():void
     {
@@ -111,6 +146,11 @@
      *  A skin part that defines the  button that,
      *  when pressed, increments the value property
      *  by stepSize.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var incrementButton:FxButton;

@@ -120,6 +160,11 @@
      *  A skin part that defines the  button that,
      *  when pressed, decrements the value property
      *  by stepSize.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var decrementButton:FxButton;

@@ -135,6 +180,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function set enabled(value:Boolean):void
     {
@@ -168,6 +218,11 @@
      *  the minimum to the maximum value.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get valueWrap():Boolean
     {
@@ -187,6 +242,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override protected function getCurrentSkinState():String
     {
@@ -236,6 +296,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function enableSkinParts(value:Boolean):void
     {


SDP: Improved parameter parsing

SDP: Improved parameter parsing

Heed ABNF from RFC, to increase correctness
of SDP file parsing.

--- src/com/axis/rtspclient/SDP.as
+++ src/com/axis/rtspclient/SDP.as
@@ -79,7 +79,7 @@
           break;

         default:
-          trace('Ignored unknown SDP type: ' + line.charAt(0) + '=');
+          trace('Ignored unknown SDP directive: ' + line);
           break;
         }
       }
@@ -91,20 +91,24 @@

     private function parseVersion(line:String):Boolean
     {
-      var matches:Array = line.match(/^v=(0)$/);
+      var matches:Array = line.match(/^v=([0-9]+)$/);
       if (0 === matches.length) {
         trace('\'v=\' (Version) formatted incorrectly: ' + line);
         return false;
       }

-      version = 0;
+      version = matches[1];
+      if (0 !== version) {
+        trace('Unsupported SDP version:', version);
+        return false;
+      }

       return true;
     }

     private function parseOrigin(line:String):Boolean
     {
-      var matches:Array = line.match(/^o=([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+)$/);
+      var matches:Array = line.match(/^o=([^ ]+) ([0-9]+) ([0-9]+) (IN) (IP4|IP6) ([^ ]+)$/);
       if (0 === matches.length) {
         trace('\'o=\' (Origin) formatted incorrectly: ' + line);
         return false;


Fixed line endings in Webcam.as

Fixed line endings in Webcam.as

--- flash/Webcam.as
+++ flash/Webcam.as
@@ -1,161 +1,161 @@
-package {
-	/* Webcam.js v1.0 */
-	/* Webcam library for capturing JPEG/PNG images and sending them to JavaScript */
-	/* Author: Joseph Huckaby <jhuckaby@effectgames.com> */
-	/* Based on JPEGCam: http://code.google.com/p/jpegcam/ */
-	/* Copyright (c) 2012 Joseph Huckaby */
-	/* Licensed under the MIT License */
-
-	import flash.display.LoaderInfo;
-	import flash.display.Sprite;
-	import flash.display.StageAlign;
-	import flash.display.StageScaleMode;
-	import flash.display.Bitmap;
-	import flash.display.BitmapData;
-	import flash.events.*;
-	import flash.utils.*;
-	import flash.media.Camera;
-	import flash.media.Video;
-	import flash.external.ExternalInterface;
-	import flash.net.*;
-	import flash.system.Security;
-	import flash.system.SecurityPanel;
-	import flash.media.Sound;
-	import flash.media.SoundChannel;
-	import flash.geom.Matrix;
-	import mx.utils.Base64Encoder;
-	import com.adobe.images.BitString;
-	import com.adobe.images.PNGEncoder;
-	import com.adobe.images.JPGEncoder;
-
-	public class Webcam extends Sprite {
-		private var video:Video;
-		private var video_width:int;
-		private var video_height:int;
-		private var dest_width:int;
-		private var dest_height:int;
-		private var camera:Camera;
-		private var bmpdata:BitmapData;
-		private var jpeg_quality:int;
-		private var image_format:String;
-
-		public function Webcam() {
-			// class constructor
-			flash.system.Security.allowDomain("*");
-			var flashvars:Object = LoaderInfo(this.root.loaderInfo).parameters;
-
-			video_width = Math.floor( flashvars.width );
-			video_height = Math.floor( flashvars.height );
-			dest_width = Math.floor( flashvars.dest_width );
-			dest_height = Math.floor( flashvars.dest_height );
-			jpeg_quality = Math.floor( flashvars.jpeg_quality );
-			image_format = flashvars.image_format;
-
-			stage.scaleMode = StageScaleMode.NO_SCALE;
-			// stage.scaleMode = StageScaleMode.EXACT_FIT;
-			stage.align = StageAlign.TOP_LEFT;
-			stage.stageWidth = Math.max(video_width, dest_width);
-			stage.stageHeight = Math.max(video_height, dest_height);
-
-			if (flashvars.new_user) {
-				Security.showSettings( SecurityPanel.PRIVACY );
-			}
-
-			// Hack to auto-select iSight camera on Mac (JPEGCam Issue #5, submitted by manuel.gonzalez.noriega)
-			// From: http://www.squidder.com/2009/03/09/trick-auto-select-mac-isight-in-flash/
-			var cameraIdx:int = -1;
-			for (var idx = 0, len = Camera.names.length; idx < len; idx++) {
-				if (Camera.names[idx] == "USB Video Class Video") {
-					cameraIdx = idx;
-					idx = len;
-				}
-			}
-			if (cameraIdx > -1) camera = Camera.getCamera( String(cameraIdx) );
-			else camera = Camera.getCamera();
-
-			if (camera != null) {
-				camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
-				video = new Video( Math.max(video_width, dest_width), Math.max(video_height, dest_height) );
-				video.attachCamera(camera);
-				addChild(video);
-
-				if ((video_width < dest_width) && (video_height < dest_height)) {
-					video.scaleX = video_width / dest_width;
-					video.scaleY = video_height / dest_height;
-				}
-
-				camera.setQuality(0, 100);
-				camera.setKeyFrameInterval(10);
-				camera.setMode( Math.max(video_width, dest_width), Math.max(video_height, dest_height), 30);
-
-				// only detect motion once, to determine when camera is "live"
-				camera.setMotionLevel( 1 );
-
-				ExternalInterface.addCallback('_snap', snap);
-				ExternalInterface.addCallback('_configure', configure);
-
-				ExternalInterface.call('Webcam.flashNotify', 'flashLoadComplete', true);
-			}
-			else {
-				trace("You need a camera.");
-				ExternalInterface.call('Webcam.flashNotify', "error", "No camera was detected.");
-			}
-		}
-
-		public function configure(panel:String = SecurityPanel.CAMERA) {
-			// show configure dialog inside flash movie
-			Security.showSettings(panel);
-		}
-
-		private function activityHandler(event:ActivityEvent):void {
-			trace("activityHandler: " + event);
-			ExternalInterface.call('Webcam.flashNotify', 'cameraLive', true);
-
-			// now disable motion detection (may help reduce CPU usage)
-			camera.setMotionLevel( 100 );
-		}
-
-		public function snap() {
-			// take snapshot from camera, and upload if URL was provided
-			trace("in snap(), drawing to bitmap");
-
-			// take snapshot, convert to jpeg, submit to server
-			bmpdata = new BitmapData( Math.max(video_width, dest_width), Math.max(video_height, dest_height) );
-			bmpdata.draw( video );
-
-			if ((video_width > dest_width) && (video_height > dest_height)) {
-				// resize image downward before submitting
-				var tmpdata = new BitmapData(dest_width, dest_height);
-
-				var matrix = new Matrix();
-				matrix.scale( dest_width / video_width, dest_height / video_height );
-
-				tmpdata.draw( bmpdata, matrix, null, null, null, true ); // smoothing
-				bmpdata = tmpdata;
-			} // need resize
-
-			trace("converting to " + image_format);
-
-			var bytes:ByteArray;
-
-			if (image_format == 'png') {
-				bytes = PNGEncoder.encode( bmpdata );
-			}
-			else {
-				var encoder:JPGEncoder;
-				encoder = new JPGEncoder( jpeg_quality );
-				bytes = encoder.encode( bmpdata );
-			}
-
-			trace("raw image length: " + bytes.length);
-
-			var be = new Base64Encoder();
-			be.encodeBytes( bytes );
-
-			var bstr = be.toString();
-			trace("b64 string length: " + bstr.length);
-
-			return bstr;
-		}
-	}
+package {
+	/* Webcam.js v1.0 */
+	/* Webcam library for capturing JPEG/PNG images and sending them to JavaScript */
+	/* Author: Joseph Huckaby <jhuckaby@effectgames.com> */
+	/* Based on JPEGCam: http://code.google.com/p/jpegcam/ */
+	/* Copyright (c) 2012 Joseph Huckaby */
+	/* Licensed under the MIT License */
+
+	import flash.display.LoaderInfo;
+	import flash.display.Sprite;
+	import flash.display.StageAlign;
+	import flash.display.StageScaleMode;
+	import flash.display.Bitmap;
+	import flash.display.BitmapData;
+	import flash.events.*;
+	import flash.utils.*;
+	import flash.media.Camera;
+	import flash.media.Video;
+	import flash.external.ExternalInterface;
+	import flash.net.*;
+	import flash.system.Security;
+	import flash.system.SecurityPanel;
+	import flash.media.Sound;
+	import flash.media.SoundChannel;
+	import flash.geom.Matrix;
+	import mx.utils.Base64Encoder;
+	import com.adobe.images.BitString;
+	import com.adobe.images.PNGEncoder;
+	import com.adobe.images.JPGEncoder;
+
+	public class Webcam extends Sprite {
+		private var video:Video;
+		private var video_width:int;
+		private var video_height:int;
+		private var dest_width:int;
+		private var dest_height:int;
+		private var camera:Camera;
+		private var bmpdata:BitmapData;
+		private var jpeg_quality:int;
+		private var image_format:String;
+
+		public function Webcam() {
+			// class constructor
+			flash.system.Security.allowDomain("*");
+			var flashvars:Object = LoaderInfo(this.root.loaderInfo).parameters;
+
+			video_width = Math.floor( flashvars.width );
+			video_height = Math.floor( flashvars.height );
+			dest_width = Math.floor( flashvars.dest_width );
+			dest_height = Math.floor( flashvars.dest_height );
+			jpeg_quality = Math.floor( flashvars.jpeg_quality );
+			image_format = flashvars.image_format;
+
+			stage.scaleMode = StageScaleMode.NO_SCALE;
+			// stage.scaleMode = StageScaleMode.EXACT_FIT;
+			stage.align = StageAlign.TOP_LEFT;
+			stage.stageWidth = Math.max(video_width, dest_width);
+			stage.stageHeight = Math.max(video_height, dest_height);
+
+			if (flashvars.new_user) {
+				Security.showSettings( SecurityPanel.PRIVACY );
+			}
+
+			// Hack to auto-select iSight camera on Mac (JPEGCam Issue #5, submitted by manuel.gonzalez.noriega)
+			// From: http://www.squidder.com/2009/03/09/trick-auto-select-mac-isight-in-flash/
+			var cameraIdx:int = -1;
+			for (var idx = 0, len = Camera.names.length; idx < len; idx++) {
+				if (Camera.names[idx] == "USB Video Class Video") {
+					cameraIdx = idx;
+					idx = len;
+				}
+			}
+			if (cameraIdx > -1) camera = Camera.getCamera( String(cameraIdx) );
+			else camera = Camera.getCamera();
+
+			if (camera != null) {
+				camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
+				video = new Video( Math.max(video_width, dest_width), Math.max(video_height, dest_height) );
+				video.attachCamera(camera);
+				addChild(video);
+
+				if ((video_width < dest_width) && (video_height < dest_height)) {
+					video.scaleX = video_width / dest_width;
+					video.scaleY = video_height / dest_height;
+				}
+
+				camera.setQuality(0, 100);
+				camera.setKeyFrameInterval(10);
+				camera.setMode( Math.max(video_width, dest_width), Math.max(video_height, dest_height), 30);
+
+				// only detect motion once, to determine when camera is "live"
+				camera.setMotionLevel( 1 );
+
+				ExternalInterface.addCallback('_snap', snap);
+				ExternalInterface.addCallback('_configure', configure);
+
+				ExternalInterface.call('Webcam.flashNotify', 'flashLoadComplete', true);
+			}
+			else {
+				trace("You need a camera.");
+				ExternalInterface.call('Webcam.flashNotify', "error", "No camera was detected.");
+			}
+		}
+
+		public function configure(panel:String = SecurityPanel.CAMERA) {
+			// show configure dialog inside flash movie
+			Security.showSettings(panel);
+		}
+
+		private function activityHandler(event:ActivityEvent):void {
+			trace("activityHandler: " + event);
+			ExternalInterface.call('Webcam.flashNotify', 'cameraLive', true);
+
+			// now disable motion detection (may help reduce CPU usage)
+			camera.setMotionLevel( 100 );
+		}
+
+		public function snap() {
+			// take snapshot from camera, and upload if URL was provided
+			trace("in snap(), drawing to bitmap");
+
+			// take snapshot, convert to jpeg, submit to server
+			bmpdata = new BitmapData( Math.max(video_width, dest_width), Math.max(video_height, dest_height) );
+			bmpdata.draw( video );
+
+			if ((video_width > dest_width) && (video_height > dest_height)) {
+				// resize image downward before submitting
+				var tmpdata = new BitmapData(dest_width, dest_height);
+
+				var matrix = new Matrix();
+				matrix.scale( dest_width / video_width, dest_height / video_height );
+
+				tmpdata.draw( bmpdata, matrix, null, null, null, true ); // smoothing
+				bmpdata = tmpdata;
+			} // need resize
+
+			trace("converting to " + image_format);
+
+			var bytes:ByteArray;
+
+			if (image_format == 'png') {
+				bytes = PNGEncoder.encode( bmpdata );
+			}
+			else {
+				var encoder:JPGEncoder;
+				encoder = new JPGEncoder( jpeg_quality );
+				bytes = encoder.encode( bmpdata );
+			}
+
+			trace("raw image length: " + bytes.length);
+
+			var be = new Base64Encoder();
+			be.encodeBytes( bytes );
+
+			var bstr = be.toString();
+			trace("b64 string length: " + bstr.length);
+
+			return bstr;
+		}
+	}
 }


Added some more calls

Added some more calls

--- protogeni/demo/shared/Geni.as
+++ protogeni/demo/shared/Geni.as
@@ -40,6 +40,9 @@
     public static var updateSliver : Array = new Array(cm, "UpdateSliver");
     public static var resolveNode : Array = new Array(cm, "Resolve");
     public static var sliceStatus : Array = new Array(cm, "SliceStatus");
+    public static var getSliver : Array = new Array(cm, "GetSliver");
+    public static var sliverStatus : Array = new Array(cm, "SliverStatus");
+    public static var sliverTicket : Array = new Array(cm, "SliverTicket");

     public static var map : Array = new Array(ses, "Map");


Transferred from the Adobe Open Source Subversion Repository

Revision: 22217
Author:   mhorn@adobe.com
Date:     2011-08-25T18:07:03.696931Z

Log Message:
-----------
minor asdoc change

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Form.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>

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

--- frameworks/projects/framework/src/mx/controls/ToolTip.as
+++ frameworks/projects/framework/src/mx/controls/ToolTip.as
@@ -99,7 +99,7 @@
  * Because this component does not define a skin for the mobile theme, Adobe
  * recommends that you not use it in a mobile application. Alternatively, you
  * can define your own mobile skin for the component. For more information,
- * see Spark Skinning.
+ * see Basics of mobile skinning.
  */
 [DiscouragedForProfile("mobileDevice")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 9349
Author:   preilly@adobe.com
Date:     2009-08-17T18:32:37.403687Z

Log Message:
-----------
* Added support for using getStyle() in Mxml data binding expressions.
  In addition to the existing "function return watcher" data binding
  functionality, we register to listen for style related change events
  when we see a function marked with [Bindable(style="true")].
  UIComponent's and TextGraphicElement's styleChanged() will now
  dispatch events for "getStyle()" FunctionReturnWatchers to handle.
  When null or "styleName" is passed into styleChanged(), we dispatch
  an "allStylesChanged" event.

QE notes: mxunit test to follow
Doc notes:
Bugs: SDK-20394
Reviewer: Glenn, Pete F, Peter D
Tests run: checkintests, mxunit databinding
Is noteworthy for integration: only if you want to start using it.
Code-level description of changes:

  modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java

    Modified generateWatcher() to do the AST equivalent of the
    WatcherSetupUtil.vm change.

  modules/compiler/src/java/flex2/compiler/as3/binding/FunctionReturnWatcher.java

    Removed unused isNew variable and added isStyleWatcher variable.

    Modified shouldWriteSelf() to return true if isStyleWatcher is true.

  modules/compiler/src/java/flex2/compiler/as3/binding/WatcherSetupUtil.vm

    Modified writeFunctionReturnWatcher macro to add a true arg to the
    FunctionReturnWatcher constructor call when isStyleWatcher() is
    true.

  modules/compiler/src/java/flex2/compiler/as3/binding/BindableFirstPassEvaluator.java

    Modified evaluate(Context, MetaDataNode) to skip reporting an
    error for no events when style is true.

  modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingFirstPassEvaluator.java

    Replaced insideCallExpression boolean with callExpressionStack
    Stack.  The "!insideCallExpression" checks were replaced with
    callExpressionStack.isEmpty().

    Modified addBindables() to handle [Bindable(style="true")].

    Made argumentListStack and resetSet more strongly typed.

  frameworks/projects/framework/src/mx/core/UIComponent.as

    Modified styleChanged() to dispatch a "<styleName>Changed" event.

    Added Bindable metadata to getStyle().

  frameworks/projects/framework/src/mx/binding/FunctionReturnWatcher.as

    Added isStyle variable.

    Modified setupParentObj() to remove the listener for
    "<styleName>Changed" and "allStylesChanged" from the previous
    parent and add listeners to the new parent when isStyle is true.

    Modified eventHandler to notifyListeners() when isStyle is true.

  frameworks/projects/spark/src/spark/primitives/supportClasses/TextGraphicElement.as

    Similar changes to UIComponent.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/FunctionReturnWatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/WatcherSetupUtil.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableFirstPassEvaluator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/FunctionReturnWatcher.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingFirstPassEvaluator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -7100,6 +7100,10 @@
     public function styleChanged(styleProp:String):void
     {
         StyleProtoChain.styleChanged(this, styleProp);
+        if (styleProp && (styleProp != "styleName"))
+            dispatchEvent(new Event(styleProp + "Changed"));
+        else
+            dispatchEvent(new Event("allStylesChanged"));
     }

     /**
@@ -9698,6 +9702,7 @@
         }
     }

+    [Bindable(style="true")]
     /**
      *  Gets a style property that has been set anywhere in this
      *  component's style lookup chain.
@@ -9744,7 +9749,6 @@
                _inheritingStyles[styleProp] :
                _nonInheritingStyles[styleProp];
     }
-

     /**
      *  Sets a style property on this component instance.


Transferred from the Adobe Open Source Subversion Repository

Revision: 4460
Author:   gosmith@adobe.com
Date:     2009-01-09T01:53:33.590972Z

Log Message:
-----------
Renamed UIComponentAccImpl to UIComponentAccProps because it extends AccessibilityProperties, not AccessibilityImplementation.

Added comments with the identifier for each magic role constant, so that it is easier to understand what roles our components are using.

Moved two static methods from UIComponentAccProperties to AccImpl because they make more sense there.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: None (no functional changes)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccImpl.as" copyfrom-rev="4437" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -738,7 +738,7 @@
 //  Other metadata
 //--------------------------------------

-[AccessibilityClass(implementation="mx.accessibility.UIComponentAccImpl")]
+[AccessibilityClass(implementation="mx.accessibility.UIComponentAccProps")]

 [ResourceBundle("core")]

@@ -945,7 +945,7 @@

     /**
      *  @private
-     *  Placeholder for mixin by UIComponentAccImpl.
+     *  Placeholder for mixin by UIComponentAccProps.
      */
     mx_internal static var createAccessibilityImplementation:Function;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3308
Author:   jvroom@adobe.com
Date:     2008-09-23T03:19:51.589238Z

Log Message:
-----------
QE: yes - method on HTTPMultiService fixed
          HTTPMultiService.rootURL -> baseURL - it is interpreted as a directory name, not a file name like rootURL
          endpoint now works on mx.rpc.remoting.RemoteObject (not just the mxml variant)
          also promoted concurrency and showBusyCursor to RemoteObject
          removed RTE from getOperation for HTTPMultiService as it messes with data binding expressions eval'd before the operation is added
Docs:     properties above moved from mxml.RemoteObject to RemoteObject, ASdoc changes for HTTPMultiService
Blazeds checkintests pass
Reviewer: Pete

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/Operation.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/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</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/frameworks/projects/rpc/src/mx/rpc/http/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/Operation.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as
+++ frameworks/projects/rpc/src/mx/rpc/remoting/Operation.as
@@ -13,10 +13,20 @@
 {

 import mx.core.mx_internal;
+import mx.managers.CursorManager;
+import mx.messaging.events.MessageEvent;
+import mx.messaging.messages.AsyncMessage;
+import mx.messaging.messages.IMessage;
 import mx.messaging.messages.RemotingMessage;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
 import mx.rpc.AbstractOperation;
 import mx.rpc.AbstractService;
+import mx.rpc.AsyncDispatcher;
 import mx.rpc.AsyncToken;
+import mx.rpc.Fault;
+import mx.rpc.events.FaultEvent;
+import mx.rpc.mxml.Concurrency;
 import mx.utils.ObjectUtil;

 use namespace mx_internal;
@@ -43,12 +53,39 @@
         super(remoteObject, name);

         argumentNames = [];
+
+        this.remoteObject = mx.rpc.remoting.RemoteObject(remoteObject);
     }

     //---------------------------------
     // Properties
     //---------------------------------
+
+    [Inspectable(enumeration="multiple,single,last", defaultValue="multiple", category="General")]
+    /**
+     * The concurrency for this Operation.  If it has not been explicitly set the setting from the RemoteObject
+     * will be used.
+     */
+    public function get concurrency():String
+    {
+        if (_concurrencySet)
+        {
+            return _concurrency;
+        }
+        //else
+        return remoteObject.concurrency;
+    }
+
+    /**
+     *  @private
+     */
+    public function set concurrency(c:String):void
+    {
+        _concurrency = c;
+        _concurrencySet = true;
+    }
+

     [Inspectable(defaultValue="true", category="General")]

@@ -70,6 +107,28 @@
         _makeObjectsBindable = b;
         _makeObjectsBindableSet = true;
     }
+
+    /**
+     * Whether this operation should show the busy cursor while it is executing.
+     * If it has not been explicitly set the setting from the RemoteObject
+     * will be used.
+     */
+    public function get showBusyCursor():Boolean
+    {
+        if (_showBusyCursorSet)
+        {
+            return _showBusyCursor;
+        }
+        //else
+        return remoteObject.showBusyCursor;
+    }
+
+    public function set showBusyCursor(sbc:Boolean):void
+    {
+        _showBusyCursor = sbc;
+        _showBusyCursorSet = true;
+    }
+

     /**
      * An ordered list of the names of the arguments to pass to a method invocation.  Since the arguments object is
@@ -78,7 +137,21 @@
      */
     public var argumentNames:Array;

+    //--------------------------------------------------------------------------
+    //
+    // Private Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var _concurrency:String;
+
+    private var _concurrencySet:Boolean;
+
     private var _makeObjectsBindableSet:Boolean;
+
+    private var _showBusyCursor:Boolean;
+
+    private var _showBusyCursorSet:Boolean;

     //---------------------------------
     // Methods
@@ -94,6 +167,25 @@

         if (operationManager != null)
             return operationManager(args);
+
+        if (Concurrency.SINGLE == concurrency && activeCalls.hasActiveCalls())
+        {
+            var token:AsyncToken = new AsyncToken(null);
+            var m:String = resourceManager.getString(
+                "rpc", "pendingCallExists");
+            var fault:Fault = new Fault("ConcurrencyError", m);
+            var faultEvent:FaultEvent = FaultEvent.createEvent(fault, token);
+            new AsyncDispatcher(dispatchRpcEvent, [faultEvent], 10);
+            return token;
+        }
+
+        // We delay endpoint initialization until now because MXML codegen may set
+        // the destination attribute after the endpoint and will clear out the
+        // channelSet.
+        if (asyncRequest.channelSet == null && remoteObject.endpoint != null)
+        {
+            remoteObject.mx_internal::initEndpoint();
+        }

         if (!args || (args.length == 0 && this.arguments))
         {
@@ -119,6 +211,69 @@
         return invoke(message);
     }

+    /**
+     * @inheritDoc
+     */
+    override public function cancel(id:String = null):AsyncToken
+    {
+        if (showBusyCursor)
+        {
+            CursorManager.removeBusyCursor();
+        }
+        return super.cancel(id);
+    }
+
+    override mx_internal function setService(ro:AbstractService):void
+    {
+        super.setService(ro);
+        remoteObject = mx.rpc.remoting.RemoteObject(ro);
+    }
+
+    override mx_internal function invoke(message:IMessage, token:AsyncToken = null):AsyncToken
+    {
+        if (showBusyCursor)
+        {
+            CursorManager.setBusyCursor();
+        }
+
+        return super.invoke(message, token);
+    }
+
+    /*
+     * Kill the busy cursor, find the matching call object and pass it back
+     */
+    override mx_internal function preHandle(event:MessageEvent):AsyncToken
+    {
+        if (showBusyCursor)
+        {
+            CursorManager.removeBusyCursor();
+        }
+
+        var wasLastCall:Boolean = activeCalls.wasLastCall(AsyncMessage(event.message).correlationId);
+        var token:AsyncToken = super.preHandle(event);
+
+        if (Concurrency.LAST == concurrency && !wasLastCall)
+        {
+            return null;
+        }
+        //else
+        return token;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var resourceManager:IResourceManager = ResourceManager.getInstance();
+
+    mx_internal var remoteObject:mx.rpc.remoting.RemoteObject;
 }
+

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18639
Author:   egeorgie@adobe.com
Date:     2010-11-17T01:20:40.860178Z

Log Message:
-----------
SkinnablePopUpContainer P-ARB changes

- Rename PopUpCloseEvent -> PopUpEvent
- Remove "disabledAndClosed", "disabledAndClosedAndLandscape" states
- Renamed SkinnablePopUpContainer's property from opened -> isOpen

Additionally:
- turn off modalTransparency and modalBlur in the mobileTheme

QE notes: SkinnablePopUpContainer is now code complete
Doc notes:
Bugs:
Reviewer: Jason & Jason
Tests run: manual, checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpCloseEvent.as" copyfrom-rev="18594" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpEvent.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="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/PopUpCloseEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewMenu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnablePopUpContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/events/PopUpEvent.as
+++ frameworks/projects/spark/src/spark/events/PopUpEvent.as
@@ -15,9 +15,9 @@
 import flash.events.Event;

 /**
- *  Dispatched by SkinnablePopUpContainer to single closing.
+ *  Dispatched by SkinnablePopUpContainer to single opening or closing.
  *
- *
The event provides a mechanism to pass commit information from the container to
+ *
When closing, this event provides a mechanism to pass commit information to
  *  a listener.  One typical usage scenario is building a multiple-choice dialog with a
  *  cancel button.  When a valid option is selected, the developer closes the dialog
  *  with a call to the SkinnablePopUpContainer.close() method, passing
@@ -31,7 +31,7 @@
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-public class PopUpCloseEvent extends Event
+public class PopUpEvent extends Event
 {
     //--------------------------------------------------------------------------
     //
@@ -40,8 +40,17 @@
     //--------------------------------------------------------------------------

     /**
-     *
-     *  @eventType popUpClose
+     *  @eventType open
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public static const OPEN:String = "open";
+
+    /**
+     *  @eventType close
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -59,17 +68,26 @@
     /**
      *  Constructor.
      *
-     *  @param commit Indicates whether the listener should commit the data from the PopUp.
-     *  @param data The PopUp data to commit.
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
+     *
+     *  @param commit
Indicates whether the listener should commit the data from the PopUp.
+     *  Only used with PopUpEvent.CLOSE.

+     *
+     *  @param data
The PopUp data to commit. Only used with PopUpEvent.CLOSE.

      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function PopUpCloseEvent(commit:Boolean = false, data:* = undefined)
+    public function PopUpEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false,
+                               commit:Boolean = false, data:* = undefined)
     {
-        super(CLOSE);
+        super(type, bubbles, cancelable);
         this.commit = commit;
         this.data = data;
     }
@@ -86,6 +104,7 @@

     /**
      *  Whether the listener should commit the PopUp data.
+     *  Only used with PopUpEvent.CLOSE.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -100,6 +119,7 @@

     /**
      *  The PopUp data to commit.
+     *  Only used with PopUpEvent.CLOSE.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -119,7 +139,7 @@
      */
     override public function clone():Event
     {
-        return new PopUpCloseEvent(commit, data);
+        return new PopUpEvent(type, bubbles, cancelable, commit, data);
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 20208
Author:   smgilson@adobe.com
Date:     2011-02-08T21:40:02.122057Z

Log Message:
-----------
Several ASDoc bug fixes

QE notes:
Doc notes:
Bugs: FLEXDOCS-1342, FLEXDOCS-1330, FLEXDOCS-1323
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/EmbeddedFont.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/asdoc/en_US/spark/components/examples/ScrollerExample.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airspark/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeferredInstanceFromClass.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

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

--- frameworks/projects/framework/src/mx/formatters/NumberBaseRoundType.as
+++ frameworks/projects/framework/src/mx/formatters/NumberBaseRoundType.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.formatters
 {