Transferred from the Adobe Open Source Subversion Repository

Revision: 11490
Author:   gruehle@adobe.com
Date:     2009-11-06T01:34:58.836883Z

Log Message:
-----------
Add accentColor style. This color is used to tint "emphasized" buttons, and as the color for slider track highlighting.

QE notes: Tests should be added for this style.
Doc notes: ASDoc added, but should be reviewed.
Bugs: SDK-23450, SDK-23451
Reviewer: Ryan
Tests run: checkintests, components/Slider, components/Alert
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackHighlightSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
+++ frameworks/projects/mx/src/mx/controls/sliderClasses/Slider.as
@@ -110,6 +110,18 @@
  *  @productversion Flex 3
  */
 [Style(name="borderColor", type="uint", format="Color", inherit="no", theme="halo")]
+
+/**
+ *  Color of the track highlight.
+ *
+ *  @default #0099FF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="accentColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of focus ring when the component is in focus


Able to skip bridge puzzle

Able to skip bridge puzzle


Add type generics to AS3 test file.

Add type generics to AS3 test file.

--- tests/examplefiles/as3_test.as
+++ tests/examplefiles/as3_test.as
@@ -7,7 +7,7 @@
 			private static const ADD_SONG:uint = 1;
 			private static const SONG_DETAIL:uint = 2;

-			private var playList:PlayList = new PlayList();
+			private var playList:PlayList = new PlayList.<T>();

 			private function initApp():void
 			{
@@ -24,7 +24,7 @@
 			}

-			private function sortList(sortField:SortProperty):void
+			private function sortList(sortField:SortProperty.<T>):void
 			{
 				// Make all the sort type buttons enabled.
 				// The active one will be grayed-out below


Fixed bug where Fault object couldn't be deserialized. Added lastError and started using reportError().

--- WeaveData/src/weave/services/LocalAsyncService.as
+++ WeaveData/src/weave/services/LocalAsyncService.as
@@ -22,7 +22,9 @@
 	import flash.events.AsyncErrorEvent;
 	import flash.events.StatusEvent;
 	import flash.net.LocalConnection;
+	import flash.net.registerClassAlias;
 	import flash.utils.ByteArray;
+	import flash.utils.getQualifiedClassName;

 	import mx.rpc.AsyncResponder;
 	import mx.rpc.AsyncToken;
@@ -36,6 +38,7 @@
 	import weave.api.core.ICallbackCollection;
 	import weave.api.core.IDisposableObject;
 	import weave.api.newDisposableChild;
+	import weave.api.reportError;
 	import weave.api.services.IAsyncService;
 	import weave.core.CallbackCollection;

@@ -70,13 +73,15 @@
 				conn.connect(localName);
 				//trace(localName,"connect");
 			}
-			catch (e:ArgumentError)
-			{
-				trace("LocalAsyncService()", localName, e);
+			catch (error:ArgumentError)
+			{
+				//trace("LocalAsyncService()", localName, error);
+				reportError(_lastError = error, "LocalAsyncService()");
 				WeaveAPI.StageUtils.callLater(errorCallbacks, errorCallbacks.triggerCallbacks, null, false);
 			}
 		}
-
+
+		private var _lastError:Error; // the last error that caused errorCallbacks to trigger
 		private var receivingObject:Object; // object that will be made available to run commands on
 		private var conn:LocalConnection = new LocalConnection();
 		private var localName:String; // local connection name
@@ -113,9 +118,10 @@
 			{
 				send("receiveCommand", commandID, methodName, methodParameters);
 			}
-			catch (e:ArgumentError)
-			{
-				WeaveAPI.StageUtils.callLater(errorCallbacks, receiveFault, [commandID, new Fault(String(e.errorID), e.name, e.message)]);
+			catch (error:ArgumentError)
+			{
+				reportError(_lastError = error);
+				WeaveAPI.StageUtils.callLater(errorCallbacks, receiveFault, [commandID, new Fault(String(error.errorID), error.name, error.message)]);
 			}
 			return tokens[commandID];
 		}
@@ -172,7 +178,7 @@
 		 */
 		private function handleFault(commandID:String, fault:Fault):void
 		{
-			send("receiveFault", commandID, fault);
+			send("receiveFault", commandID, new SerializableFault(fault));
 		}

 		/**
@@ -217,7 +223,7 @@
 						responder.result(resultEvent);
 			}
 		}
-
+
 		/**
 		 * This function gets called by the remote LocalAsyncService.
 		 * @param commandID The string identifying which method invocation the result is for.
@@ -229,7 +235,7 @@
 			var token:AsyncToken = tokens[commandID] as AsyncToken;
 			if (token != null)
 			{
-				// broadcast result to responders
+				// broadcast result to responders
 				var faultEvent:FaultEvent = new FaultEvent(FaultEvent.FAULT, false, false, fault, token);
 				if (token.responders != null)
 					for each (var responder:IResponder in token.responders)
@@ -324,20 +330,29 @@

 		private function handleAsyncError(event:AsyncErrorEvent):void
 		{
-			trace("LocalAsyncService.handleAsyncError()", localName, ObjectUtil.toString(event));
+			trace("LocalAsyncService.handleAsyncError()", localName, ObjectUtil.toString(event));
+			reportError(_lastError = event.error);
 			errorCallbacks.triggerCallbacks();
 		}

 		private function handleStatus(event:StatusEvent):void
-		{
-			if (event.level == 'error')
-				errorCallbacks.triggerCallbacks();
+		{
+			if (event.level == 'error')
+			{
+				reportError('Received LocalConnection error status ' + ObjectUtil.toString(event));
+				errorCallbacks.triggerCallbacks();
+			}
 		}

 		/**
 		 * These callbacks run when the LocalAsyncService is unable to connect.
 		 */
-		public const errorCallbacks:ICallbackCollection = newDisposableChild(this, CallbackCollection);
+		public const errorCallbacks:ICallbackCollection = newDisposableChild(this, CallbackCollection);
+
+		public function get lastError():Error
+		{
+			return _lastError;
+		}

 		/**
 		 * This will call close() on the LocalConnection object.
@@ -348,3 +363,27 @@
 		}
 	}
 }
+import flash.net.registerClassAlias;
+import flash.utils.getQualifiedClassName;
+
+import mx.rpc.Fault;
+
+internal class SerializableFault extends Fault
+{
+	{ // static code
+		registerClassAlias(getQualifiedClassName(SerializableFault), SerializableFault);
+	}
+
+	public function SerializableFault(fault:Fault = null)
+	{
+		super(
+			fault ? fault.faultCode : null,
+			fault ? fault.faultString : null,
+			fault ? fault.faultDetail : null
+		);
+	}
+
+	public function set faultCode(value:String):void { _faultCode = value; }
+	public function set faultDetail(value:String):void { _faultDetail = value; }
+	public function set faultString(value:String):void { _faultString = value; }
+}


Reintroduced the Meso-American pyramid in order to support AS3Signals as per this conversation: http://github.com/bayareacomputerclub/asunit/commit/de2d6270bc09b98bf3284406b1ba1114b0e41b3a

--- asunit-4.0/src/asunit/framework/TimeoutCommand.as
+++ asunit-4.0/src/asunit/framework/TimeoutCommand.as
@@ -37,9 +37,7 @@
 		}

 		public function getCallback():Function {
-            return function(...args):* {
-                return callback.apply(this, args);
-            };
+            return wrapHandlerWithCorrectNumberOfArgs();
 		}

 		public function cancel():void {
@@ -58,6 +56,22 @@
 			dispatchEvent(event);
 			if (failureHandler != null) failureHandler(event);
 		}
+
+        protected function wrapHandlerWithCorrectNumberOfArgs():Function {
+            switch (handler.length) {
+                case 0: return function():* { return callback(); };
+                case 1: return function(a:*=null):* { return callback(a); };
+                case 2: return function(a:*=null, b:*=null):* { return callback(a, b); };
+                case 3: return function(a:*=null, b:*=null, c:*=null):* { return callback(a, b, c); };
+                case 4: return function(a:*=null, b:*=null, c:*=null, d:*=null):* { return callback(a, b, c, d); };
+                case 5: return function(a:*=null, b:*=null, c:*=null, d:*=null, e:*=null):* { return callback(a, b, c, d, e); };
+                case 6: return function(a:*=null, b:*=null, c:*=null, d:*=null, e:*=null, f:*=null):* { return callback(a, b, c, d, e, f); };
+                case 7: return function(a:*=null, b:*=null, c:*=null, d:*=null, e:*=null, f:*=null, g:*=null):* { return callback(a, b, c, d, e, f, g); };
+                case 8: return function(a:*=null, b:*=null, c:*=null, d:*=null, e:*=null, f:*=null, g:*=null, h:*=null):* { return callback(a, b, c, d, e, f, g, h); };
+                case 9: return function(a:*=null, b:*=null, c:*=null, d:*=null, e:*=null, f:*=null, g:*=null, h:*=null, i:*=null):* { return callback(a, b, c, d, e, f, g, h, i); };
+            }
+            return callback;
+        }

 		override public function toString():String {
 			return '[TimeoutCommand scope=' + scope + ']';;


Change 20090901-hqm-5 by hqm@badtzmaru.home on 2009-09-01 11:49:48 EDT
    in /Users/hqm/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary:  fix for swf10 error when using context menu

New Features:

Bugs Fixed: LPP-8438

Technical Reviewer: max
QA Reviewer: andre
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:

+ remove extra arg from call to LzKeysService.__allKeysUp

Tests:

In Windows IE7, no longer get runtime error when showing context menu in app

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@14640 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
+++ WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
@@ -81,7 +81,7 @@
     }

     private function allKeysUp(event:Event):void {
-        lz.Keys.__allKeysUp('flash activate');
+        lz.Keys.__allKeysUp();
     }

     private function preventFocusChange(event:FocusEvent):void {


small change to avoid function call overhead

Change-Id: I63d8cc53b9835ee71fe05530887dfaa78378502f

--- WeaveAPI/src/weave/api/disposeObjects.as
+++ WeaveAPI/src/weave/api/disposeObjects.as
@@ -20,7 +20,9 @@
 	 */
 	public function disposeObjects(object:Object, ...moreObjects):void
 	{
-		(moreObjects as Array).unshift(object);
-		(WeaveAPI.SessionManager.disposeObjects as Function).apply(null, moreObjects);
+		if (object != null)
+			(moreObjects as Array).unshift(object);
+		if (moreObjects.length > 0)
+			(WeaveAPI.SessionManager.disposeObjects as Function).apply(null, moreObjects);
 	}
 }


Fixed success infobox/button bug

Fixed success infobox/button bug

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -863,6 +863,7 @@

 			runningDisplayTest = false;
 			U.state.time.reset();
+			editEnabled = true;
 			makeUI();

 			if (!level.goal.succeeded)


Transferred from the Adobe Open Source Subversion Repository

Revision: 19678
Author:   chiedozi@adobe.com
Date:     2011-01-10T22:45:03.607947Z

Log Message:
-----------
Resolved some FIXMEs

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
@@ -97,6 +97,8 @@
     override protected function createChildren():void
     {
         navigator = new ViewNavigator();
+        navigator.id = "navigator";
+
         addChild(navigator);
     }


flash: call setupStage() before flashReady() (fixes #320)

--- src/playbacks/flash/Player.as
+++ src/playbacks/flash/Player.as
@@ -34,11 +34,10 @@
       playbackState = "IDLE";
       _video = new Video();
       setupCallbacks();
-      setTimeout(flashReady, 50);
+      setupStage();
     }
     private function flashReady(): void {
       _triggerEvent('flashready');
-      setupStage();
     }
     private function onConnectionStatus(e:NetStatusEvent):void {
       if (e.info.code == "NetConnection.Connect.Success"){
@@ -218,6 +217,7 @@
       } else {
         _disableStageVideo();
       }
+      flashReady();
     }
     public function onMetaData(info:Object):void {
       totalTime = info.duration;


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

--- frameworks/projects/automation/src/mx/automation/delegates/TextFieldAutomationHelper.as
+++ frameworks/projects/automation/src/mx/automation/delegates/TextFieldAutomationHelper.as
@@ -0,0 +1,904 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.FocusEvent;
+	import flash.events.IEventDispatcher;
+	import flash.events.KeyboardEvent;
+	import flash.events.MouseEvent;
+	import flash.events.TextEvent;
+	import flash.text.TextFieldType;
+	import flash.ui.Keyboard;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationManager;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationObjectHelper;
+	import mx.automation.events.AutomationEvent;
+	import mx.automation.events.TextSelectionEvent;
+	import mx.core.Application;
+	import mx.core.EventPriority;
+	import mx.core.IUITextField;
+	import mx.core.mx_internal;
+	import mx.events.SandboxMouseEvent;
+	import mx.managers.IFocusManager;
+	import mx.managers.IFocusManagerComponent;
+	import mx.managers.IFocusManagerContainer;
+	import mx.managers.ISystemManager;
+	import mx.resources.IResourceManager;
+	import mx.resources.ResourceManager;
+
+	use namespace mx_internal;
+
+	[ResourceBundle("automation")]
+
+	/**
+	 * Utility class that facilitates replay of text input and selection.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class TextFieldAutomationHelper
+	{
+		include "../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructors
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 * Constructor.
+		 *
+		 * @param owner The UIComponent that is using the TextField. For example, if a
+		 * TextArea is using the TextField, then the TextArea is the owner.
+		 *
+		 * @param replayer The IAutomationObject of the component.
+		 *
+		 * @param textField The TextField object inside the component.
+		 *
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function TextFieldAutomationHelper(owner:IEventDispatcher,
+												  replayer:IAutomationObject,
+												  textField:IUITextField)
+		{
+			super();
+
+			this.owner = owner;
+			this.replayer = replayer;
+			this.textField = textField;
+			this.owner.addEventListener(FocusEvent.FOCUS_IN,
+				focusInHandler,
+				false,
+				EventPriority.DEFAULT-100, true);
+			this.textField.addEventListener(MouseEvent.MOUSE_DOWN,
+				mouseDownHandler, false, EventPriority.DEFAULT, true);
+
+			captureSelection();
+			oldSelection = currentSelection;
+			hasSelectionChanged = false;
+
+			if(recording)
+				checkInitialFocus();
+			else
+				Automation.automationManager.addEventListener(AutomationEvent.BEGIN_RECORD, beginRecordingHandler);
+
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Variables
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		private var stringBuffer:String;
+
+		/**
+		 *  @private
+		 */
+		private var owner:IEventDispatcher;
+
+		/**
+		 *  @private
+		 */
+		private var replayer:IAutomationObject;
+
+		/**
+		 *  @private
+		 */
+		private var textField:IUITextField;
+
+		/**
+		 *  @private
+		 */
+		private var currentSelection:Array = null;
+
+		/**
+		 * @private
+		 */
+		private var oldSelection:Array = null;
+
+		/**
+		 *  @private
+		 */
+		private var hasSelectionChanged:Boolean = false;
+
+		/**
+		 *  @private
+		 */
+		private var isWatchingFocus:Boolean = false;
+
+		/**
+		 *  @private
+		 */
+		private var isInInsertMode:Boolean = false;
+
+		/**
+		 *  @private
+		 *  Used for accessing localized Error messages.
+		 */
+		private var resourceManager:IResourceManager =
+			ResourceManager.getInstance();
+
+		//--------------------------------------------------------------------------
+		//
+		//  Properties
+		//
+		//--------------------------------------------------------------------------
+
+		//----------------------------------
+		//  recording
+		//----------------------------------
+
+		/**
+		 *  @private
+		 */
+		private function get recording():Boolean
+		{
+			return Automation.automationManager &&
+				(Automation.automationManager as IAutomationManager).recording;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		private function flushCharacterBuffer():void
+		{
+			if (stringBuffer)
+			{
+				flushSelection();
+				var e:TextEvent = new TextEvent(TextEvent.TEXT_INPUT);
+				e.text = stringBuffer.toString();
+				stringBuffer = null;
+				recordAutomatableEvent(e);
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function captureSelection():void
+		{
+			// var oldSelection:Array = selection;
+			try{
+				if (textField.selectionBeginIndex != textField.selectionEndIndex)
+					currentSelection = [ textField.selectionBeginIndex, textField.selectionEndIndex ];
+				else
+					currentSelection = [ textField.caretIndex, textField.caretIndex ];
+			}
+			catch(e:Error)
+			{
+				//We are here in cases where selectionBeginIndex, selectionEndIndex or caretIndex is not implemented.
+				//Ex: FTETextField. It does not support selection.
+				trace(e.message);
+				currentSelection = [0, 0];
+			}
+
+			hasSelectionChanged =  oldSelection == null || oldSelection[0] != currentSelection[0] || oldSelection[1] != currentSelection[1];
+		}
+
+		/**
+		 *  @private
+		 */
+		private function flushSelection():void
+		{
+			if (!hasSelectionChanged)
+				return;
+
+			//        trace("flushing selection [" + (selection ? selection[0] + "," + selection[1] : null) + "]");
+			if (currentSelection && currentSelection[0] >= 0 && currentSelection[1] >= 0)
+			{
+				var e:TextSelectionEvent = new TextSelectionEvent();
+				e.beginIndex = currentSelection[0];
+				e.endIndex = currentSelection[1];
+				recordAutomatableEvent(e);
+				oldSelection = currentSelection;
+				currentSelection = null;
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function get hasSelection():Boolean
+		{
+			return (textField.selectionBeginIndex != textField.selectionEndIndex);
+		}
+
+		/**
+		 *  @private
+		 */
+		protected function checkInitialFocus():void
+		{
+			//check whether we have already focus so that we can prepare for user input
+			var o:DisplayObject = DisplayObject(textField) ;
+
+			while (o)
+			{
+				if (o is IFocusManagerContainer)
+					break ;
+
+				o = o.parent;
+			}
+
+			if (o)
+			{
+				var focusManager:IFocusManager = IFocusManagerContainer(o).focusManager;
+				var focusObj:DisplayObject = focusManager ?
+					DisplayObject(focusManager.getFocus()) :
+					null;
+				if (focusObj == owner)
+					focusInHandler(null);
+			}
+		}
+
+		/**
+		 *  Records the user interaction with the text control.
+		 *
+		 *  @param interaction The event to record.
+		 *
+		 *  @param cacheable Contains true if this is a cacheable event, and false if not.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function recordAutomatableEvent(interaction:Event,
+											   cacheable:Boolean = false):void
+		{
+			var am:IAutomationManager = Automation.automationManager;
+			am.recordAutomatableEvent(replayer, interaction, cacheable);
+		}
+
+		/**
+		 *  Replays TypeTextEvents and TypeEvents. TypeTextEvents are replayed by
+		 *  calling replaceText on the underlying text field. TypeEvents are replayed
+		 *  depending on the character typed.  Both also dispatch the origin keystrokes.
+		 *  This is necessary to mimic the original behavior, in case any components are
+		 *  listening to keystroke events (for example, DataGrid listens to itemRenderer events,
+		 *  or if a custom component is trying to do key masking).  Ideally, the code would just
+		 *  dispatch the original keystrokes, but the Flash Player TextField ignores
+		 *  the events we are sending it.
+		 *
+		 * @param event Event to replay.
+		 *
+		 * @return If true, replay the event.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function replayAutomatableEvent(event:Event):Boolean
+		{
+			var changeEvent:Event = new Event(Event.CHANGE);
+			//var sm:ISystemManager = Application.application.systemManager;
+			var sm:ISystemManager = Automation.getMainApplication().systemManager;
+			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+
+			if (event is MouseEvent &&
+				event.type == MouseEvent.CLICK)
+				return help.replayClick(owner, event as MouseEvent);
+			else if (event is TextSelectionEvent)
+			{
+				// need to set focus in order for the uitextfield to behave correctly
+				IFocusManagerComponent(owner).setFocus();
+				var selectionEvent:TextSelectionEvent =
+					TextSelectionEvent(event);
+				textField.setSelection(selectionEvent.beginIndex,
+					selectionEvent.endIndex);
+				// replay a click so that if anyone is listening for selection
+				// changes they would get the signal.
+				// RichTextEditor is one of the clients!
+				help.replayClick(owner);
+				return true;
+			}
+			else if (event is TextEvent)
+			{
+				// need to set focus in order for the uitextfield to behave correctly
+				IFocusManagerComponent(owner).setFocus();
+				var textEvent:TextEvent = TextEvent(event);
+				var text:String = textEvent.text;
+				var n:int = textEvent.text.length;
+				for (var i:uint = 0; i < n; i++)
+				{
+					var ke:KeyboardEvent = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+					ke.charCode = text.charCodeAt(i);
+					ke.keyCode = text.charCodeAt(i);
+					textField.dispatchEvent(ke);
+					var pos:int ;
+					if (!isInInsertMode)
+					{
+						textField.replaceSelectedText(text.charAt(i));
+						pos = (textField.selectionBeginIndex != textField.selectionEndIndex
+							? textField.selectionBeginIndex + 1
+							: textField.caretIndex);
+						textField.setSelection(pos, pos);
+					}
+					else
+					{
+						if (textField.selectionBeginIndex == textField.selectionEndIndex)
+							textField.replaceText(textField.caretIndex, textField.caretIndex+1, text.charAt(i));
+						else
+							textField.replaceText(textField.selectionBeginIndex, textField.selectionEndIndex+1, text.charAt(i));
+
+						pos = (textField.selectionBeginIndex != textField.selectionEndIndex
+							? textField.selectionBeginIndex + 1
+							: textField.caretIndex+1);
+						textField.setSelection(pos, pos);
+					}
+
+					var te:TextEvent = new TextEvent(TextEvent.TEXT_INPUT);
+					//te.text = String(text.charCodeAt(i));
+					te.text = String(text.charAt(i)); // this is changed to take care of the maskedinput issue.
+					// ref. http://bugs.adobe.com/jira/browse/FLEXENT-838
+					textField.dispatchEvent(te);
+
+					ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+					ke.charCode = text.charCodeAt(i);
+					ke.keyCode = text.charCodeAt(i);
+					textField.dispatchEvent(ke);
+
+					textField.dispatchEvent(changeEvent);
+				}
+
+				return true;
+			}
+			else if (event is KeyboardEvent)
+			{
+				var kbEvent:KeyboardEvent = KeyboardEvent(event);
+				var keyCode:int = kbEvent.keyCode;
+				switch (keyCode)
+				{
+					case Keyboard.HOME:
+					{
+						break;
+					}
+					case Keyboard.END:
+					{
+						break;
+					}
+					case Keyboard.ENTER:
+					{
+						// replace the selected text with newline
+						if (textField.multiline)
+							textField.replaceSelectedText("\n");
+						break;
+					}
+					case Keyboard.BACKSPACE:
+					{
+						// if selection, erase it. else erase before cursor
+						if (hasSelection)
+						{
+							textField.replaceText(textField.selectionBeginIndex,
+								textField.selectionEndIndex,
+								"");
+							var x:uint = (textField.selectionBeginIndex != textField.selectionEndIndex
+								? textField.selectionBeginIndex
+								: textField.caretIndex);
+							textField.setSelection(x, x);
+						}
+						else
+						{
+							var index:uint = textField.caretIndex - 1;
+							textField.replaceText(index, textField.caretIndex, "");
+							textField.setSelection(index, index);
+						}
+						break;
+					}
+					case Keyboard.DELETE:
+					{
+						// if selection, erase it. else erase after cursor
+						if (hasSelection)
+						{
+							textField.replaceText(textField.selectionBeginIndex,
+								textField.selectionEndIndex, "");
+							textField.setSelection(textField.selectionBeginIndex,
+								textField.selectionBeginIndex);
+						}
+						else
+							textField.replaceText(textField.caretIndex,
+								textField.caretIndex + 1, "");
+						break;
+					}
+					case Keyboard.INSERT:
+					{
+						isInInsertMode = !isInInsertMode;
+						break;
+					}
+					case Keyboard.ESCAPE:
+					{
+						break;
+					}
+					default:
+					{
+						var message:String = resourceManager.getString(
+							"automation", "notReplayable", [keyCode]);
+						throw new Error(message);
+					}
+				}
+				ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+				ke.charCode = keyCode;
+				ke.keyCode = keyCode;
+				ke.ctrlKey = kbEvent.ctrlKey;
+				ke.shiftKey = kbEvent.shiftKey;
+				ke.altKey = kbEvent.altKey;
+
+				textField.dispatchEvent(ke);
+
+				ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+				ke.charCode = keyCode;
+				ke.keyCode = keyCode;
+				ke.ctrlKey = kbEvent.ctrlKey;
+				ke.shiftKey = kbEvent.shiftKey;
+				ke.altKey = kbEvent.altKey;
+
+				textField.dispatchEvent(ke);
+
+				textField.dispatchEvent(changeEvent);
+				return true;
+			}
+			return false;
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Event handlers
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  @private
+		 */
+		private function focusInHandler(event:FocusEvent):void
+		{
+			if (!recording)
+				return;
+
+			if (textField.type == TextFieldType.INPUT && !isWatchingFocus)
+			{
+				isWatchingFocus = true;
+
+				//Add the focus change listeners as low priority
+				//so that any code that may prevent default (prevent
+				//the focus change) gets a chance to execute before
+				//getting to us.  We only want to process the event
+				//if the focus really is going to change.
+				textField.addEventListener(FocusEvent.KEY_FOCUS_CHANGE,
+					focusOutHandler,
+					false,
+					EventPriority.DEFAULT-1000, true);
+				//Use FOCUS_OUT instead of MOUSE_FOCUS_CHANGE never
+				//really gets fired because the player doesn't initiate
+				//mouse focus changes (except when a text field gets
+				//focus).  Our mouseDownOutside handler should take
+				//care of flushing events before a new item gets focus
+				//and we may not even need this event handler
+				textField.addEventListener(FocusEvent.FOCUS_OUT,
+					focusOutHandler,
+					false, EventPriority.DEFAULT, true);
+
+				//In case someone clicks elsewhere but we don't loose the focus
+				//we need to flush, i.e. they click a button that generates a click
+				//we need to beat them and record our events first
+				//var sm:ISystemManager = Application.application.systemManager;
+				var sm:ISystemManager =  Automation.getMainApplication().systemManager;
+				sm.getSandboxRoot().addEventListener(MouseEvent.MOUSE_DOWN,
+					mouseDownOutsideHandler,
+					true, EventPriority.DEFAULT, true);
+				sm.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE,
+					mouseDownOutsideHandler,
+					true, EventPriority.DEFAULT, true);
+
+				//If the user activates a different app, or tries to end recording
+				//we need to flush.  If they use the keyboard all is good, but if
+				//they use a mouse, our flush of events steals the focus back
+				//which is annoying, so flush when the mouse leaves the app area
+				/* Application.application.stage.addEventListener(Event.DEACTIVATE,
+				stageEventHandler,
+				false,
+				EventPriority.DEFAULT+1, true);
+				Application.application.stage.addEventListener(Event.MOUSE_LEAVE,
+				stageEventHandler,
+				false,
+				EventPriority.DEFAULT+1, true);
+
+				Application.application.stage.addEventListener(MouseEvent.MOUSE_DOWN,
+				stageEventHandler,
+				true,
+				EventPriority.DEFAULT+1, true); */
+
+				sm.addEventListener(Event.DEACTIVATE,
+					stageEventHandler,
+					false,
+					EventPriority.DEFAULT+1, true);
+				sm.getSandboxRoot().addEventListener(Event.MOUSE_LEAVE,
+					stageEventHandler,
+					false,
+					EventPriority.DEFAULT+1, true);
+
+				sm.getSandboxRoot().addEventListener(MouseEvent.MOUSE_DOWN,
+					stageEventHandler,
+					true,
+					EventPriority.DEFAULT+1, true);
+
+				sm.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE,
+					stageEventHandler,
+					true,
+					EventPriority.DEFAULT+1, true);
+
+				textField.addEventListener(TextEvent.TEXT_INPUT,
+					textInputHandler,
+					false,
+					EventPriority.DEFAULT+100, true);
+				textField.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, false, EventPriority.DEFAULT, true);
+				textField.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler, false, EventPriority.DEFAULT, true);
+				//need to cache selection so it is not recorded unless it changes
+				captureSelection();
+				oldSelection = currentSelection;
+				hasSelectionChanged = false;
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function stageEventHandler(event:Event):void
+		{
+			//Don't call focusOutHandler, that would remove our event listeners
+			//which would be bad because a deactive and mouse leave doesn't mean
+			//the framework thinks we lost focus, framework should call focus out
+			//if it does intend to remove focus during a deactive
+			flushSelection();
+			flushCharacterBuffer();
+		}
+
+		/**
+		 *  @private
+		 */
+		private function mouseDownOutsideHandler(event:Event):void
+		{
+			//trace("mouseDownOutsideHandler " + event.type + " target " + event.target);
+			if (event.target != textField)
+			{
+				//Don't call focusOutHandler, that would remove our event listeners
+				//which would be bad because it's possible for someone to click outside
+				//of the textfield but not have the focus change.  Just flush the
+				//event buffers in case that mouse down outside causes an event to be recorded
+				flushSelection();
+				flushCharacterBuffer();
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function focusOutHandler(event:Event):void
+		{
+			//trace("focusOutHandler " + event.type);
+			if (isWatchingFocus && !event.isDefaultPrevented())
+			{
+				isWatchingFocus = false;
+
+				if (textField)
+				{
+					textField.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE,
+						focusOutHandler,
+						false);
+					textField.removeEventListener(FocusEvent.FOCUS_OUT,
+						focusOutHandler,
+						false);
+				}
+				//var sm:ISystemManager = Application.application.systemManager;
+				var sm:ISystemManager = Automation.getMainApplication().systemManager;
+				sm.removeEventListener(MouseEvent.MOUSE_DOWN,
+					mouseDownOutsideHandler,
+					true);
+				sm.removeEventListener(Event.DEACTIVATE,
+					stageEventHandler,
+					false);
+				sm.getSandboxRoot().removeEventListener(Event.MOUSE_LEAVE,
+					stageEventHandler,
+					false);
+				sm.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_DOWN,
+					stageEventHandler,
+					true);
+
+				sm.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_DOWN_SOMEWHERE,
+					stageEventHandler,
+					true);
+
+				textField.removeEventListener(TextEvent.TEXT_INPUT, textInputHandler);
+				textField.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
+				textField.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
+
+				flushSelection();
+				flushCharacterBuffer();
+
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function mouseDownHandler(event:MouseEvent):void
+		{
+			//        trace("mouseDownHandler " + event.type);
+			if (!recording)
+				return;
+			switch (textField.type)
+			{
+				case TextFieldType.DYNAMIC:
+				{
+					textField.addEventListener(MouseEvent.CLICK,
+						mouseClickHandler, false, EventPriority.DEFAULT, true);
+					break;
+				}
+				case TextFieldType.INPUT:
+				{
+					textField.systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP,
+						mouseUpHandler, false, EventPriority.DEFAULT, true);
+					textField.systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE,
+						mouseUpHandler, false, EventPriority.DEFAULT, true);
+					textField.addEventListener(MouseEvent.DOUBLE_CLICK,
+						mouseDoubleClickHandler, false, EventPriority.DEFAULT, true);
+					break;
+				}
+				default:
+				{
+					throw new Error();
+				}
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function mouseClickHandler(event:MouseEvent):void
+		{
+			//        trace("mouseDownHandler " + event.type);
+			if (!recording)
+				return;
+			textField.removeEventListener(MouseEvent.CLICK,
+				mouseClickHandler);
+
+			recordAutomatableEvent(event);
+		}
+
+		private function mouseDoubleClickHandler(event:MouseEvent):void
+		{
+			if (!recording)
+				return;
+			captureSelection();
+		}
+
+
+		/**
+		 *  @private
+		 */
+		private function mouseUpHandler(event:Event):void
+		{
+			//        trace("mouseUpHandler " + event.type);
+			if (!recording)
+				return;
+			textField.systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP,
+				mouseUpHandler);
+			textField.systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE,
+				mouseUpHandler);
+
+			flushCharacterBuffer();
+			captureSelection();
+			hasSelectionChanged = true;
+		}
+
+		/**
+		 *  @private
+		 */
+		private function keyDownHandler(event:KeyboardEvent):void
+		{
+			if (!recording)
+				return;
+
+			//arrow and navigation keys should dispatch whatever was last typed
+			//backspace, delete, and enter are dispatched
+			//        trace("keyDownHandler " + event.keyCode);
+			switch (event.keyCode)
+			{
+				case Keyboard.CONTROL:
+				{
+					flushCharacterBuffer();
+					break;
+				}
+				case Keyboard.SHIFT:
+				{
+					break;
+				}
+				case Keyboard.DOWN:
+				case Keyboard.END:
+				case Keyboard.HOME:
+				case Keyboard.LEFT:
+				case Keyboard.PAGE_DOWN:
+				case Keyboard.PAGE_UP:
+				case Keyboard.RIGHT:
+				case Keyboard.UP:
+				{
+					flushCharacterBuffer();
+					break;
+				}
+
+				case Keyboard.INSERT:
+				case Keyboard.BACKSPACE:
+				case Keyboard.DELETE:
+				case Keyboard.ENTER:
+				{
+					flushSelection();
+					flushCharacterBuffer();
+					recordAutomatableEvent(event);
+					oldSelection = null;
+					break;
+				}
+
+				case Keyboard.ESCAPE:
+				{
+					recordAutomatableEvent(event);
+					break;
+				}
+
+				default:
+				{
+					break;
+				}
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function keyUpHandler(event:KeyboardEvent):void
+		{
+
+			if (!recording)
+				return;
+
+			//arrow and navigation keys should dispatch whatever was last typed
+			//backspace, delete, and enter are dispatched
+			//        trace("keyUpHandler " + event.keyCode);
+			switch (event.keyCode)
+			{
+				case Keyboard.TAB:
+				{
+					//flushCharacterBuffer();
+					break;
+				}
+
+				case Keyboard.SHIFT:
+				{
+					break;
+				}
+
+				case Keyboard.DOWN:
+				case Keyboard.END:
+				case Keyboard.HOME:
+				case Keyboard.LEFT:
+				case Keyboard.PAGE_DOWN:
+				case Keyboard.PAGE_UP:
+				case Keyboard.RIGHT:
+				case Keyboard.UP:
+				{
+					captureSelection();
+					break;
+				}
+
+				case Keyboard.BACKSPACE:
+				case Keyboard.DELETE:
+				case Keyboard.ENTER:
+				{
+					break;
+				}
+
+				case Keyboard.CONTROL:
+				{
+					captureSelection();
+					break;
+				}
+				default:
+				{
+					if (event.ctrlKey)
+					{
+						flushSelection();
+						flushCharacterBuffer();
+					}
+					break;
+				}
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		private function textInputHandler(event:TextEvent):void
+		{
+			if (!recording)
+				return;
+
+			// The \n will be caught by the ENTER capture
+			if (event.text == "\n")
+				return;
+
+			if (!stringBuffer)
+			{
+				flushSelection();
+				stringBuffer = "";
+			}
+
+			// TextField allows a script to enter more text to be inserted than maxChars.
+			// Hence we have to prevent the recording of more characters than maxChars.
+			// Without this check playback will add more characters than maxChars leading to errors.
+			if (textField.maxChars == 0 || textField.length < textField.maxChars)
+			{
+				stringBuffer += event.text;
+				oldSelection = null;
+			}
+
+		}
+
+		/**
+		 *  @private
+		 */
+		private function beginRecordingHandler(event:Event):void
+		{
+			checkInitialFocus();
+		}
+	}
+
+}


Implement as3 part of SoundMixer

Implement as3 part of SoundMixer

--- src/flash/media/SoundMixer.as
+++ src/flash/media/SoundMixer.as
@@ -1,19 +1,46 @@
+/*
+ * Copyright 2014 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package flash.media {
-  import Object;
-  import flash.utils.ByteArray;
-  import flash.media.SoundTransform;
-  public final class SoundMixer {
-    public function SoundMixer() {}
-    public static native function stopAll():void;
-    public static native function computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void;
-    public static native function get bufferTime():int;
-    public static native function set bufferTime(bufferTime:int):void;
-    public static native function get soundTransform():SoundTransform;
-    public static native function set soundTransform(sndTransform:SoundTransform):void;
-    public static native function areSoundsInaccessible():Boolean;
-    public static native function get audioPlaybackMode():String;
-    public static native function set audioPlaybackMode(value:String):void;
-    public static native function get useSpeakerphoneForVoice():Boolean;
-    public static native function set useSpeakerphoneForVoice(value:Boolean):void;
-  }
+import flash.utils.ByteArray;
+
+[native(cls='SoundMixerClass')]
+public final class SoundMixer {
+  public static native function get bufferTime():int;
+
+  public static native function set bufferTime(bufferTime:int):void;
+
+  public static native function get soundTransform():SoundTransform;
+
+  public static native function set soundTransform(sndTransform:SoundTransform):void;
+
+  public static native function get audioPlaybackMode():String;
+
+  public static native function set audioPlaybackMode(value:String):void;
+
+  public static native function get useSpeakerphoneForVoice():Boolean;
+
+  public static native function set useSpeakerphoneForVoice(value:Boolean):void;
+
+  public static native function stopAll():void;
+
+  public static native function computeSpectrum(outputArray:ByteArray, FFTMode:Boolean = false, stretchFactor:int = 0):void;
+
+  public static native function areSoundsInaccessible():Boolean;
+
+  public function SoundMixer() {}
 }
+}


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

--- frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
+++ frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
@@ -0,0 +1,217 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts.styles
+{
+
+import mx.core.mx_internal;
+import mx.graphics.IFill;
+import mx.graphics.IStroke;
+import mx.graphics.SolidColor;
+import mx.graphics.Stroke;
+import mx.styles.CSSStyleDeclaration;
+import mx.styles.IStyleManager2;
+
+use namespace mx_internal;
+
+/**
+ *  Initializes the core default styles for the charts classes. Each chart and element is responsible for initializing their own
+ *	style values, but they rely on the common values computed by the HaloDefaults class.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class HaloDefaults
+{
+    include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private static var inited:Boolean;
+
+	[Inspectable(environment="none")]
+	/**
+	 *	The default selectors applied to the individual series in a chart.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	mx_internal static var chartBaseChartSeriesStyles:Array;
+
+	[Inspectable(environment="none")]
+	/**
+	 *	The default color values used by chart controls to color different series (or, in a PieSeries, different items).
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	mx_internal static var defaultColors:Array =
+	[
+		0xE48701
+		,0xA5BC4E
+		,0x1B95D9
+		,0xCACA9E
+		,0x6693B0
+		,0xF05E27
+		,0x86D1E4
+		,0xE4F9A0
+		,0xFFD512
+		,0x75B000
+		,0x0662B0
+		,0xEDE8C6
+		,0xCC3300
+		,0xD1DFE7
+		,0x52D4CA
+		,0xC5E05D
+		,0xE7C174
+		,0xFFF797
+		,0xC5F68F
+		,0xBDF1E6
+		,0x9E987D
+		,0xEB988D
+		,0x91C9E5
+		,0x93DC4A
+		,0xFFB900
+		,0x9EBBCD
+		,0x009797
+		,0x0DB2C2
+	];
+
+	[Inspectable(environment="none")]
+	/**
+	 *	The default SolidColor objects used as fills by chart controls to color different series (or, in a PieSeries, different items).
+	 *	These Fill objects correspond to the values in the defaultColors Array.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	mx_internal static var defaultFills:Array = [];
+
+	[Inspectable(environment="none")]
+	mx_internal static var pointStroke:IStroke;
+
+	[Inspectable(environment="none")]
+	/**
+	 *	A pre-defined invisible Stroke that is used by several chart styles.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	mx_internal static var emptyStroke:IStroke;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Creates a CSSStyleDeclaration object or returns an existing one.
+	 *
+	 *  @param selectorName The name of the selector to return. If no existing CSSStyleDeclaration object matches
+	 *  this name, this method creates a new one and returns it.
+	 *
+	 *  @param styleManager The styleManager instance to be used for getting and setting style declarations.
+	 *
+	 *  @return The CSSStyleDeclaration object that matches the provided selector name. If no CSSStyleDeclaration object matches
+	 *  that name, this method creates a new one and returns it.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function createSelector(
+								selectorName:String, styleManager:IStyleManager2):CSSStyleDeclaration
+	{
+		var selector:CSSStyleDeclaration =
+			styleManager.getStyleDeclaration(selectorName);
+
+		if (!selector)
+		{
+			selector = new CSSStyleDeclaration();
+			styleManager.setStyleDeclaration(selectorName, selector, false);
+		}
+
+		return selector;
+	}
+
+	/**
+	 *  Initializes the common values used by the default styles for the chart and element classes.
+	 *
+	 *  @param styleManager The styleManager instance to be used for getting and setting style declarations.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function init(styleManager:IStyleManager2):void
+	{
+		if (inited)
+			return;
+
+		var seriesStyleCount:int = defaultColors.length;
+
+		for (var i:int = 0; i < seriesStyleCount; i++)
+		{
+			defaultFills[i] = new SolidColor(defaultColors[i]);
+		}
+
+		pointStroke = new Stroke(0, 0, 0.5);
+		emptyStroke = new Stroke(0, 0, 0);
+		chartBaseChartSeriesStyles = [];
+
+		var f:Function;
+
+		for (i = 0; i < seriesStyleCount; i++)
+		{
+			var styleName:String = "haloSeries" + i;
+			chartBaseChartSeriesStyles[i] = styleName;
+
+			var o:CSSStyleDeclaration =
+				HaloDefaults.createSelector("." + styleName, styleManager);
+
+			f = function (o:CSSStyleDeclaration, defaultFill:IFill,defaultStroke:IStroke):void
+			{
+				o.defaultFactory = function():void
+				{
+					this.fill =  defaultFill;
+					this.areaFill = defaultFill;
+					this.areaStroke =  emptyStroke;
+					this.lineStroke =  defaultStroke;
+				}
+			}
+
+			f(o, HaloDefaults.defaultFills[i],new Stroke(defaultColors[i], 3, 1));
+		}
+
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.events
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

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

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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 1451
Author:   jimurphy@adobe.com
Date:     2008-04-29T14:19:59.414928Z

Log Message:
-----------
Merge 3.0.x [1412,1415-1417,1444] -> Trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as
@@ -39,7 +39,7 @@
  *  The AMFChannel class provides the AMF support for messaging.
  *  You can configure this Channel to poll the server at an interval
  *  to approximate server push.
- *  You can also use this Channel with polling disabled to send RPC messages
+ *  You can also use this Channel with polling disabled to send RPC messages
  *  to remote destinations to invoke their methods.
  *
  *

@@ -63,12 +63,12 @@
  *

  *
  *

- *  When used in polling mode, this Channel polls the server for new messages
+ *  When used in polling mode, this Channel polls the server for new messages
  *  based on the polling-interval-seconds property in the configuration file,
  *  and this can be changed by setting the pollingInterval property.
  *  The default value is 3 seconds.
- *  To enable polling, the channel must be connected and the polling-enabled
- *  property in the configuration file must be set to true, or the
+ *  To enable polling, the channel must be connected and the polling-enabled
+ *  property in the configuration file must be set to true, or the
  *  pollingEnabled property of the Channel must be set to true.
  *

  */
@@ -77,31 +77,38 @@
     //--------------------------------------------------------------------------
     //
     // Constructor
-    //
-    //--------------------------------------------------------------------------
-
+    //
+    //--------------------------------------------------------------------------
+
     /**
      *  Creates an new AMFChannel instance.
      *
      *  @param id The id of this Channel.
-     *
+     *
      *  @param uri The uri for this Channel.
      */
     public function AMFChannel(id:String = null, uri:String = null)
     {
         super(id, uri);
-    }
+    }

     //--------------------------------------------------------------------------
     //
     // Variables
-    //
-    //--------------------------------------------------------------------------
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @private
+     * Flag used to indicate that the channel is in the process of reconnecting
+     * with the session id in the url.
+     */
+    protected var _reconnectingWithSessionId:Boolean;

     /**
      *  @private
      *  Flag used to control when we need to handle NetStatusEvents.
-     *  If the channel has shutdown due to reaching a connect timeout we need to
+     *  If the channel has shutdown due to reaching a connect timeout we need to
      *  continue listening for events (such as 404s) but we've already shutdown so
      *  we must ignore them.
      */
@@ -116,13 +123,13 @@
     //--------------------------------------------------------------------------
     //
     // Properties
-    //
+    //
     //--------------------------------------------------------------------------

     //----------------------------------
     //  piggybackingEnabled
     //----------------------------------
-
+
     /**
      *  Indicates whether this channel will piggyback poll requests along
      *  with regular outbound messages when an outstanding poll is not in
@@ -133,7 +140,7 @@
     {
         return internalPiggybackingEnabled;
     }
-
+
     /**
      *  @private
      */
@@ -145,7 +152,7 @@
     //----------------------------------
     //  pollingEnabled
     //----------------------------------
-
+
     /**
      *  Indicates whether this channel is enabled to poll.
      */
@@ -171,12 +178,12 @@
      *  The value is in milliseconds.
      *  This value determines how often this Channel requests messages from
      *  the server, to approximate server push.
-     *
+     *
      *  @throws ArgumentError If the pollingInterval is assigned a value of 0 or
      *                        less.
      */
     public function get pollingInterval():Number
-    {
+    {
         return internalPollingInterval;
     }

@@ -215,11 +222,11 @@
     //--------------------------------------------------------------------------
     //
     // Overridden Public Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
      *  Processes polling related configuration settings.
      */
     override public function applySettings(settings:XML):void
@@ -228,27 +235,41 @@
         applyPollingSettings(settings);
     }

+    /**
+     *  @private
+     *  Overriding to be able to keep track of the fact that the Channel is in
+     *  the process of reconnecting with the session id, so the initial
+     *  NetConnection call can be discarded properly in the resultHandler.
+     */
+    override public function AppendToGatewayUrl(value:String):void
+    {
+        if (value != null && value != "" && _appendToURL != value)
+        {
+            super.AppendToGatewayUrl(value);
+            _reconnectingWithSessionId = true;
+        }
+    }
     //--------------------------------------------------------------------------
     //
     // Protected Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
      *  Attempts to connect to the endpoint specified for this channel.
      */
     override protected function internalConnect():void
     {
         super.internalConnect();
         _ignoreNetStatusEvents = false;
-
+
         // Ping the server to make sure that it is reachable.
         var msg:CommandMessage = new CommandMessage();
         if (credentials != null)
         {
             msg.operation = CommandMessage.LOGIN_OPERATION;
-            msg.body = credentials;
+            msg.body = credentials;
         }
         else
         {
@@ -264,7 +285,7 @@

         // Add the FlexClient id header.
         setFlexClientIdOnMessage(msg);
-
+
         netConnection.call(null, new Responder(resultHandler, faultHandler), msg);
         if (Log.isDebug())
             _log.debug("'{0}' pinging endpoint.", id);
@@ -274,7 +295,7 @@
      *  @private
      *  Disconnects from the remote destination.
      *  Because this channel uses a stateless HTTP connection, it sends a fire-and-forget
-     *  message to the server as it disconnects to allow the server to shut down any
+     *  message to the server as it disconnects to allow the server to shut down any
      *  session or other resources that it may be managing on behalf of this channel.
      */
     override protected function internalDisconnect(rejected:Boolean = false):void
@@ -290,18 +311,18 @@
         setConnected(false);
         super.internalDisconnect(rejected);
     }
-
+
     /**
      *  @private
      *  Shuts down the underlying NetConnection for the AMFChannel.
      *  The reason this override is necessary is because the NetConnection may dispatch
-     *  a NetStatusEvent after it has been closed and if we're not registered to listen for
+     *  a NetStatusEvent after it has been closed and if we're not registered to listen for
      *  that event the Player will throw an RTE.
      *  The only time this can occur when the channel has been shut down due to a connect
      *  timeout but an error (i.e. 404) response from the server returns later.
      */
     override protected function shutdownNetConnection():void
-    {
+    {
         _nc.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
         _nc.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
         // Leave the NetStatusEvent statusHandler registered but set the ignore flag.
@@ -311,18 +332,18 @@

     /**
      *  @private
-     *  Called on the status event of the associated NetConnection when there is a
+     *  Called on the status event of the associated NetConnection when there is a
      *  problem with the connection for this channel.
      */
     override protected function statusHandler(event:NetStatusEvent):void
-    {
+    {
         if (_ignoreNetStatusEvents)
             return; // Ignore NetStatusEvents that are dispatched after the NetConnection has been closed.
-
+
         var channelFault:ChannelFaultEvent;

         if (Log.isDebug())
-            _log.debug("'{0}' channel got status. {1}", id, ObjectUtil.toString(event.info));
+            _log.debug("'{0}' channel got status. {1}", id, ObjectUtil.toString(event.info));

         var handled:Boolean = true;
         // We should always have a non-null info object.
@@ -336,8 +357,8 @@
                 {
                     if (info.code.indexOf("Call.Failed") != -1)
                     {
-                        channelFault = ChannelFaultEvent.createEvent(this,
-                                        false, "Channel.Call.Failed", info.level,
+                        channelFault = ChannelFaultEvent.createEvent(this,
+                                        false, "Channel.Call.Failed", info.level,
                                         info.code + ": " + info.description)
                         channelFault.rootCause = info;
                         // Dispatch the fault.
@@ -349,7 +370,7 @@
                      *
                      * If we didn't receive a NetConnection.Call.Failed, and the status
                      * info object has a level of "error" then we must have received one
-                     * of:
+                     * of:
                      *     NetConnection.Connect.AppShutdown
                      *     NetConnection.Connect.Failed
                      *     NetConnection.Connect.Rejected
@@ -357,31 +378,31 @@
                      *
                      * In any case, at this point we need to indicate to the channel that
                      * it is disconnected which may trigger failover/hunting.
-                     */
-                    internalDisconnect();
+                     */
+                    internalDisconnect();
                 }
                 else
                 {
-                    channelFault = ChannelFaultEvent.createEvent(this,
-                                    false, "Channel.Connect.Failed", info.level,
+                    channelFault = ChannelFaultEvent.createEvent(this,
+                                    false, "Channel.Connect.Failed", info.level,
                                     info.code + ": " + info.description + ": url: '" + endpoint + "'");
                     channelFault.rootCause = info;
-                    connectFailed(channelFault);
+                    connectFailed(channelFault);
                 }
              }
              else
              {
-                 // Ignore NetConnection.Connect.Closed events when the
+                 // Ignore NetConnection.Connect.Closed events when the
                  // Channel is in the process of failing over to another url but
-                 // it receives a delayed NetConnection.Connect.Closed for the
-                 // previous failed url.
-                 if (!connected)
+                 // it receives a delayed NetConnection.Connect.Closed for the
+                 // previous failed url.
+                 if (!connected)
                     handled = (info.level == "status" && info.code.indexOf("Connect.Closed") != -1);
                  else
-                    handled = false;
+                    handled = false;
              }
          }
-         else
+         else
          {
              handled = false;
          }
@@ -397,7 +418,7 @@
     //--------------------------------------------------------------------------
     //
     // Protected Methods
-    //
+    //
     //--------------------------------------------------------------------------

     /**
@@ -446,11 +467,11 @@
      */
     protected function resultHandler(msg:IMessage):void
     {
-        // Update the ServerConfig with dynamic configuration
+        // Update the ServerConfig with dynamic configuration
         if (msg != null)
         {
             ServerConfig.updateServerConfigData(msg.body as ConfigMap, endpoint);
-
+
             // Set the server assigned FlexClient Id.
             if (FlexClient.getInstance().id == null && msg.headers[AbstractMessage.FLEX_CLIENT_ID_HEADER] != null)
                 FlexClient.getInstance().id = msg.headers[AbstractMessage.FLEX_CLIENT_ID_HEADER];
@@ -462,9 +483,21 @@
                 handleServerMessagingVersion(serverVersion);
             }
         }
-        connectSuccess();
-        if (credentials != null && !(msg is ErrorMessage))
-            setAuthenticated(true);
+        // If the Channel is reconnecting with the session id in the url, don't
+        // report connectSuccess for the initial ping and allow the Channel to
+        // reconnect by removing the waitForFlexClientId lock.
+        if (_reconnectingWithSessionId)
+        {
+            // Allow the Channel to reconnect with the session id.
+            FlexClient.getInstance().waitForFlexClientId = false;
+            _reconnectingWithSessionId = false;
+        }
+        else
+        {
+            connectSuccess();
+            if (credentials != null && !(msg is ErrorMessage))
+                setAuthenticated(true);
+        }
     }
 }

@@ -473,7 +506,7 @@
 //------------------------------------------------------------------------------
 //
 // Private Classes
-//
+//
 //------------------------------------------------------------------------------

 import mx.messaging.MessageResponder;
@@ -487,5 +520,5 @@
     public function AMFFireAndForgetResponder(message:IMessage)
     {
         super(null, message, null);
-    }
+    }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 88
Author:   open-source-svn-admin@adobe.com
Date:     2008-01-03T22:47:56.499469Z

Log Message:
-----------
Perforce Change 191925 by proberts@proberts-laptop-flex on 2008/01/03 16:47:12 Severity: ignore Details: doc additions/clean up for FlexNativeMenu. Also FLEXDOCS-320 (update documentation for FlexNativeMenuEvent.MENU_SHOW to explain that the index, label, and item properties are null) Affected files ...

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/in/air/air_version.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Consumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/NoChannelAvailableError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/DirectHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessagingError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidChannelError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/MessageSerializationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractConsumer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureStreamingHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXContext.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/AMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/PollingChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/NetConnectionChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXHeader.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/messaging/channels/SecureAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingAMFChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/Grammar.jj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ConsumerMessageDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/SecureHTTPChannel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/errors/InvalidDestinationError.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXResult.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/amfx/AMFXEncoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractMessageStore.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as
+++ frameworks/projects/rpc/src/mx/messaging/config/ServerConfig.as
@@ -1,21 +1,14 @@
-/*************************************************************************
- *
- * ADOBE CONFIDENTIAL
- * __________________
- *
- *  [2002] - [2007] Adobe Systems Incorporated
- *  All Rights Reserved.
- *
- * NOTICE:  All information contained herein is, and remains
- * the property of Adobe Systems Incorporated and its suppliers,
- * if any.  The intellectual and technical concepts contained
- * herein are proprietary to Adobe Systems Incorporated
- * and its suppliers and may be covered by U.S. and Foreign Patents,
- * patents in process, and are protected by trade secret or copyright law.
- * Dissemination of this information or reproduction of this material
- * is strictly forbidden unless prior written permission is obtained
- * from Adobe Systems Incorporated.
- */
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
 package mx.messaging.config
 {