Transferred from the Adobe Open Source Subversion Repository

Revision: 6725
Author:   jimurphy@adobe.com
Date:     2009-05-07T20:18:13.398180Z

Log Message:
-----------
Merged beta1 revisions 6693,6702,6706-6707,6716,6720-6721 -> trunk

Modified Paths:
--------------
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/AbstractFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGParser.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/FXGTranscoder.java" copyfrom-rev="6707" action="A">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/build.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/fills/LinearGradientFillNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/DelegateNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexTextGraphicNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/util/FileResolver.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexSpanNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/strokes/RadialGradientStrokeNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/LibraryNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/filters/GradientGlowFilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/init/ValueInitializer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/AbstractFXGNode.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/dom/FXGNode.java" copyfrom-rev="6707" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/dom/FXGNode.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java" copyfrom-rev="6707" action="A">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/FXGTranscoder.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGDOMTraverser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/util/FXGResourceResolverFactory.java" copyfrom-rev="6707" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/util/FXGResourceResolverFactory.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGLogger.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/AbstractShapeNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/FilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/DefinitionNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/filters/GradientBevelFilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/fills/RadialGradientFillNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/fills/BitmapFillNode.java</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/util" copyfrom-rev="6707" action="A">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/util</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexResourceResolver.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/ResourceResolverFactory.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/MaskPropertyNode.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/ResourceResolver.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/text/AbstractCharacterTextNode.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGLoggerFactory.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/TransformNode.java</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/TextGraphicNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/sax/FXGSAXParser.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/FXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/FillNode.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/util/FXGLoggerFactory.java" copyfrom-rev="6707" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/util/FXGLoggerFactory.java</path>
<path kind="file" action="D">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/FXGNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/MaskingNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/text/ParagraphNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/GroupNode.java</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/dom" copyfrom-rev="6707" action="A">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/dom</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/util/FXGLogger.java" copyfrom-rev="6707" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/util/FXGLogger.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexParagraphNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/GroupDefinitionNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/StrokeNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/GraphicContentNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/strokes/LinearGradientStrokeNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/util/SystemLogger.java</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/GraphicNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/MaskableNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/sax/FXGSAXScanner.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/TextNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FXGCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/text/SpanNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/beta1/modules/fxgutils/src/java/com/adobe/fxg/util/FXGResourceResolver.java" copyfrom-rev="6707" action="R">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/util/FXGResourceResolver.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/util/AbstractLogger.java</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -362,14 +362,17 @@
      */
     protected function getCurrentRendererState():String
     {
+    	// TODO (jszeto) Add selectedCaret state support (true if selected && caret)
         if (selected)
             return "selected";

         if (hovered)
             return "hovered";

-        if (caret)
-            return "caret";
+        // TODO (dsubrama) Caret state support will be turned on when the
+        // packaged renderers support the state visually
+        //if (caret)
+        //    return "caret";

         return "normal";
     }


Renamed "Func" and "Fn"
Added Transitioner.endBounds, updated Distortion to use
Updated SelectionControl to fix state handling bugs
Updated demos
Updated ASDoc comments

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@180 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.tests/src/flare/tests/ExpressionTests.as
+++ flare.tests/src/flare/tests/ExpressionTests.as
@@ -287,7 +287,7 @@
 			assertEquals("b", r[0].cat);
 			assertEquals("a", r[5].cat);

-			r = where(eq(func("sqrt","val"), 2)).eval(data);
+			r = where(eq(fn("sqrt","val"), 2)).eval(data);
 			assertEquals(3, r.length);
 			assertEquals("a", r[0].cat);


Add alert messages when errors occur loading the file resource.

--- web/src/com/esri/ags/samples/GPXFeed.as
+++ web/src/com/esri/ags/samples/GPXFeed.as
@@ -13,10 +13,13 @@
 import com.esri.ags.utils.WebMercatorUtil;

 import flash.events.Event;
+import flash.events.HTTPStatusEvent;
 import flash.events.IOErrorEvent;
 import flash.events.SecurityErrorEvent;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
+
+import mx.controls.Alert;

 public class GPXFeed
 {
@@ -30,6 +33,7 @@
         _loader.addEventListener(Event.COMPLETE, loader_completeHandler);
         _loader.addEventListener(IOErrorEvent.IO_ERROR, loader_ioErrorHandler);
         _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loader_securityErrorHandler);
+        _loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, loader_httpStatusHandler);
     }

     // variables
@@ -116,12 +120,20 @@

     private function loader_ioErrorHandler(event:IOErrorEvent):void
     {
-        trace(event);
+        Alert.show(event.text, "Application IOError");
     }

     private function loader_securityErrorHandler(event:SecurityErrorEvent):void
     {
-        trace(event);
+        Alert.show(event.text, "Application Security Error");
+    }
+
+    protected function loader_httpStatusHandler(event:HTTPStatusEvent):void
+    {
+        if (event.status == 404)
+        {
+            Alert.show("Unable to load the following resource \n" + url, "http error");
+        }
     }
 }


removing intentional identation

removing intentional identation


flash vod: change playbackId attribution position

--- src/playbacks/flash_vod/Player.as
+++ src/playbacks/flash_vod/Player.as
@@ -32,6 +32,7 @@
     public function Player() {
       Security.allowDomain('*');
       Security.allowInsecureDomain('*');
+      playbackId = LoaderInfo(this.root.loaderInfo).parameters.playbackId;
       playbackState = "IDLE";
       setupNetConnection();
       setupNetStream();
@@ -39,7 +40,6 @@
       _video = new Video();
       setupCallbacks();
       setTimeout(flashReady, 50);
-      playbackId = LoaderInfo(this.root.loaderInfo).parameters.playbackId;
     }

     private function flashReady(): void {


Transferred from the Adobe Open Source Subversion Repository

Revision: 20684
Author:   rfrishbe@adobe.com
Date:     2011-03-08T19:14:07.872274Z

Log Message:
-----------
ASDoc changes: some cleanups and clarifying mobile vs. spark where appropriate

QE notes: -
Doc notes:
Bugs: SDK-29845
Reviewer: Carol F
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.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/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as
@@ -60,11 +60,7 @@
 include "../styles/metadata/StyleableTextFieldTextStyles.as"

 /**
- *  The colors to use for the background of the items in the list.
- *  The value is an Array of one or more colors.
- *  The backgrounds of the list items alternate among the colors in the Array.
- *
- *  @default undefined
+ *  @copy spark.components.supportClasses.GroupBase#style:alternatingItemColors
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
@@ -73,7 +69,7 @@
 [Style(name="alternatingItemColors", type="Array", arrayType="uint", format="Color", inherit="yes", theme="spark, mobile")]

 /**
- *  The main color for a component.
+ *  @copy spark.components.supportClasses.GroupBase#style:chromeColor
  *
  *  @default 0xCCCCCC
  *
@@ -84,15 +80,7 @@
 [Style(name="chromeColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]

 /**
- *  The color of the background of an item renderer when the item is being pressed down.
- *
- *
If downColor is set to undefined,
- *  downColor is not used.

- *
- *
The default value in the
- *  Spark theme is undefined.
- *  The default value in the
- *  Mobile theme is 0xB2B2B2.

+ *  @copy spark.components.supportClasses.GroupBase#style:downColor
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
@@ -101,9 +89,7 @@
 [Style(name="downColor", type="uint", format="Color", inherit="yes", theme="spark, mobile")]

 /**
- *  Color of focus ring when the component is in focus.
- *
- *  @default 0x70B2EE
+ *  @copy spark.components.supportClasses.GroupBase#style:focusColor
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
@@ -136,9 +122,7 @@
 [Style(name="paddingTop", type="Number", format="Length", inherit="no")]

 /**
- *  The color of the background of an item renderer when the user rolls over it.
- *
- *  @default 0xCEDBEF
+ *  @copy spark.components.supportClasses.GroupBase#style:rollOverColor
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
@@ -147,9 +131,7 @@
 [Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]

 /**
- *  The color of the background of an item renderer when the user selects it.
- *
- *  @default 0xB2B2B2
+ *  @copy spark.components.List#style:selectionColor
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5
@@ -158,11 +140,7 @@
 [Style(name="selectionColor", type="uint", format="Color", inherit="yes")]

 /**
- *  Color of any symbol of a component.
- *  Examples include the check mark of a CheckBox or
- *  the arrow of a scroll button.
- *
- *  @default 0x000000
+ *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5


fix get TextureAtlas width bug

fix get TextureAtlas width bug

--- src/utils/TextureUtil.as
+++ src/utils/TextureUtil.as
@@ -24,11 +24,14 @@
 			}

 			var dimensions:uint = 0;
+			var maxWidth:Number = 0;
 			var rectList:Vector.<Rectangle> = new Vector.<Rectangle>;
 			for each(rect in rectMap)
 			{
 				dimensions += rect.width * rect.height;
 				rectList.push(rect);
+
+				maxWidth = Math.max(rect.width, maxWidth);
 			}
 			//sort texture by size
 			rectList.sort(sortRectList);
@@ -39,7 +42,7 @@
 				widthDefault = Math.sqrt(dimensions);
 			}

-			widthDefault = getNearest2N(Math.max(int(rectList[0].width) + padding, widthDefault));
+			widthDefault = getNearest2N(Math.max(maxWidth + padding, widthDefault));

 			var heightMax:uint = HIGHEST;
 			var remainAreaList:Vector.<Rectangle> = new Vector.<Rectangle>;


requestObject() now removes the object if the class definition is null.
requestObjectCopy() now removes any existing object if the given object
is null.

Change-Id: I91a5718e25cc1ba5bb6434c1140b1f6254caaa7a

--- WeaveCore/src/weave/core/LinkableHashMap.as
+++ WeaveCore/src/weave/core/LinkableHashMap.as
@@ -185,7 +185,10 @@
 		public function requestObjectCopy(name:String, objectToCopy:ILinkableObject):ILinkableObject
 		{
 			if (objectToCopy == null)
+			{
+				removeObject(name);
 				return null;
+			}

 			delayCallbacks(); // make sure callbacks only trigger once
 			//var className:String = getQualifiedClassName(objectToCopy);
@@ -236,19 +239,13 @@
 		 */
 		private function initObjectByClassName(name:String, className:String, lockObject:Boolean = false):ILinkableObject
 		{
-			// do nothing if locked or className is null
-			if (className != null)
+			if (className)
 			{
 				className = _deprecatedClassReplacements[className] || className;

 				// if no name is specified, generate a unique one now.
 				if (!name)
-				{
-					if (className.indexOf("::") >= 0)
-						name = generateUniqueName(className.split("::")[1]);
-					else
-						name = generateUniqueName(className);
-				}
+					name = generateUniqueName(className.split("::").pop());
 				if ( ClassUtils.classImplements(className, SessionManager.ILinkableObjectQualifiedClassName)
 					&& (_typeRestriction == null || ClassUtils.classIs(className, _typeRestrictionClassName)) )
 				{
@@ -273,6 +270,10 @@
 					removeObject(name);
 				}
 			}
+			else
+			{
+				removeObject(name);
+			}
 			return _nameToObjectMap[name] as ILinkableObject;
 		}
 		/**


Updated DirtySprite so that addToStage events result in dirty items being added to the dirty list, rather than immediate rendering

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@155 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.util/flare/display/DirtySprite.as
+++ flare.util/flare/display/DirtySprite.as
@@ -97,7 +97,11 @@
 		 */
 		private function onAddToStage(evt:Event):void
 		{
-			if (_dirty) { _dirty = CLEAN; render(); }
+			if (_dirty) {
+				if (!__installed) install(stage);
+				__dirtyList.push(this);
+				stage.invalidate();
+			}
 		}

 		/**


Moved RESUtil copy and related functions here instead

--- as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
@@ -25,6 +25,8 @@
 import mx.utils.DescribeTypeCache;
 import mx.utils.ObjectProxy;
 import mx.utils.object_proxy;
+import mx.utils.ArrayUtil;
+import mx.utils.ObjectUtil;

 use namespace object_proxy;

@@ -727,5 +729,130 @@
         return result;
     }

+    public static function shallowCopy(value:*):*
+    {
+        var clazz:Class = XObjUtils.classOf(value);
+
+        return copyCast(value, clazz);
+    }
+
+    public static function copyCast(value:*, clazz:Class):*
+    {
+        var newObj:Object = new clazz();
+        var hasID:Boolean = newObj.hasOwnProperty("id");
+        var tempID:String;
+
+        // TODO: why did we need this again?
+        if (hasID)
+            tempID = newObj.id
+
+        XObjUtils.copyProps(newObj, value);
+
+        if (hasID)
+            newObj.id = tempID;
+
+        return newObj;
+
+    }
+
+
+    /*
+    CopyProps copies the properties from an object, typically obtained from a remote
+    service, across to a given target object
+
+    We do this so that non-typed objects from the wire can be marshalled into typed objects
+    locally
+    */
+
+    import flash.utils.describeType;
+
+    static public function copyProps(newObj:*, otherObj:*, copyTransients:Boolean=false) : void
+    {
+        // are these actually the same instance?
+        if (newObj === otherObj)
+            return;
+
+        // NOTE DO NOT CHANGE THIS TO XOBJUTILS VERSION
+        // we actually WANT xobjTransients copied across in this case
+        // since this method is used for cloning obejcts and when pulling
+        // fresh data off the wire in PUT/GET/POST cases
+
+        var otarget:Object = ObjectUtil.getClassInfo(newObj);
+        var osource:Object = ObjectUtil.getClassInfo(otherObj);
+        var targetTypeInfo:XML = DescribeTypeCache.describeType(newObj).typeDescription;
+        var sourceTypeInfo:XML = DescribeTypeCache.describeType(otherObj).typeDescription;
+        var access:String;
+
+        // first copy all the properties defined on the target instance
+        for each (var prop:* in otarget.properties)
+        {
+            try
+            {
+                // NOTE: we use an intermediate var to trip any exception before
+                // attempting to assign to ensure setters aren't called unless prop exists
+                var x:* = otherObj[prop.localName];
+                if (x == undefined) continue;
+
+                var propType:String = targetTypeInfo..accessor.(@name==prop.localName).@type;
+                if (propType == "")
+                    propType = targetTypeInfo..variable.(@name==prop.localName).@type;
+
+                var transient:String = targetTypeInfo..accessor.(@name==prop.localName)..metadata.(@name=='Transient').@name;
+
+                if (!copyTransients && transient != "")
+                    continue;
+
+                if (propType == "Array")
+                {
+                    if (x is ObjectProxy)
+                        newObj[prop.localName] = ArrayUtil.toArray(x.item);
+                    else
+                        newObj[prop.localName] = ArrayUtil.toArray(x);
+                }
+                else if (propType == "mx.collections::ArrayCollection")
+                {
+                    if (x is ObjectProxy)
+                        newObj[prop.localName] = CollectionUtil.objectToCollection(x.item);
+                    else
+                        newObj[prop.localName] = CollectionUtil.objectToCollection(x);
+                }
+                else
+                    newObj[prop.localName] = x;
+            }
+            catch (exception:Error)
+            {
+                // ignore errors since they're either "no such property" or they are "readonly"
+                // and it's quicker to simply ignore the exceptions than do all that XML munging
+                // into the classInfo structs
+            }
+        }
+
+        // the copy all the props from the source instance to pick up dynamic stuff from server
+        for each (var prop2:* in osource.properties)
+        {
+            // yes, we might copy the same prop in both cases, but it's cheap...
+            try
+            {
+                // NOTE: we use an intermediate var to trip any exception before
+                // attempting to assign to ensure setters aren't called unless prop exists
+                var x2:* = otherObj[prop2.localName];
+                if (x2 == undefined) continue;
+
+                transient = sourceTypeInfo..accessor.(@name==prop2.localName)..metadata.(@name=='Transient').@name;
+
+                if (!copyTransients && transient != "")
+                    continue;
+
+                newObj[prop2.localName] = x2;
+            }
+            catch (error:Error)
+            {
+                // again, ignore errors since they're either "no such property" or they are "readonly"
+                // and it's quicker to simply ignore the exceptions than do all that XML munging
+                // into the classInfo structs
+            }
+        }
+
+    }
 }
 }


- Bugfix: caught error condition that prevented document structures from working without an external CSS file being loaded

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@634 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/css/CSS.as
+++ src/reprise/css/CSS.as
@@ -139,9 +139,10 @@
 		}
 		reprise function getStyleForEscapedSelectorPath(sp : String) : CSSDeclaration
 		{
-			return m_declarationList.getStyleForSelectorsPath(sp);
-		}
-
+			return m_declarationList && m_declarationList.getStyleForSelectorsPath(sp) ||
+				new CSSDeclaration();
+		}
+
 		public function stylesheetURLs() : Array
 		{
 			return m_stylesheetURLs;


Use better antialiasing when rendering text.

--- flash/src/playn/flash/as/com/googlecode/flashcanvas/CanvasRenderingContext2D.as
+++ flash/src/playn/flash/as/com/googlecode/flashcanvas/CanvasRenderingContext2D.as
@@ -52,6 +52,7 @@
     import flash.text.TextField;
     import flash.text.TextFieldAutoSize;
     import flash.text.TextFormat;
+    import flash.text.AntiAliasType;
     import flash.utils.ByteArray;

     public class CanvasRenderingContext2D
@@ -894,6 +895,7 @@
             var textField:TextField     = new TextField();
             textField.autoSize          = TextFieldAutoSize.LEFT;
             textField.defaultTextFormat = textFormat;
+            textField.antiAliasType     = AntiAliasType.ADVANCED;
             textField.text              = text.replace(/[\t\n\f\r]/g, " ");
             textField.setTextFormat(textFormat);
             return {width: textField.textWidth + 4, height: textField.textHeight + 4 };
@@ -1174,7 +1176,7 @@

             // Remove 2px margins around the text
             var matrix:Matrix = new Matrix();
-//            matrix.translate(-2, -2);
+            matrix.translate(0, -2);

             if (isStroke)
             {
@@ -1187,7 +1189,7 @@

             // Convert the text into BitmapData
             var bitmapData:BitmapData = new BitmapData(width + 4, height + 4, true, 0);
-            bitmapData.draw(textField, matrix);
+            bitmapData.draw(textField, matrix, null, null, null, true);

             // Adjust x coordinates
             switch (state.textAlign)
@@ -1434,4 +1436,4 @@
         }

 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintRow.as
+++ frameworks/projects/framework/src/mx/containers/utilityClasses/ConstraintRow.as
@@ -147,7 +147,7 @@
     		{
     			_height = value;
                 if (!isNaN(_height))
-                    mx_internal::contentSize = false;
+                    contentSize = false;
     			if (container)
     			{
     				container.invalidateSize();
@@ -366,7 +366,7 @@

         _percentHeight = value;
         if (!isNaN(_percentHeight))
-            mx_internal::contentSize = false;
+            contentSize = false;

         if (container)
         {
@@ -427,7 +427,7 @@
     {
 		this.id = id;
 		if (!this.height && !this.percentHeight)
-			mx_internal::contentSize = true;
+			contentSize = true;
     }

     /**


Fix make check to use the shipped kernel.

	* src/tests/liburbi-check.as: If we are part of a shipped
	Kernel, set the appropriate URBI_PATH.

--- sdk-remote/src/tests/liburbi-check.as
+++ sdk-remote/src/tests/liburbi-check.as
@@ -1,4 +1,4 @@
-m4_pattern_allow([^URBI_SERVER$])		         -*- shell-script -*-
+m4_pattern_allow([^URBI_(PATH|SERVER)$])         -*- shell-script -*-

 AS_INIT()dnl
 URBI_PREPARE()
@@ -69,6 +69,8 @@
 check_dir abs_builddir liburbi-check
 : ${abs_top_builddir='@abs_top_builddir@'}
 check_dir abs_top_builddir config.status
+: ${abs_top_srcdir='@abs_top_srcdir@'}
+check_dir abs_top_srcdir configure.ac

 # Make it absolute.
 chk=$(absolute "$1")
@@ -99,8 +101,9 @@
 # If this SDK-Remote is part of the Kernel package, then we should not
 # use an installed urbi-console, but rather the one which is part of
 # this package.
-if test -x ${abs_top_builddir}/../src/urbi-console; then
-  URBI_SERVER=${abs_top_builddir}/../src/urbi-console
+if test -x $abs_top_builddir/../src/urbi-console; then
+  URBI_SERVER=$abs_top_builddir/../src/urbi-console
+  export URBI_PATH=$abs_top_srcdir/../share
 else
   # Leaves trailing files, so run it in subdir.
   find_urbi_server


Transferred from the Adobe Open Source Subversion Repository

Revision: 7766
Author:   dloverin@adobe.com
Date:     2009-06-11T23:14:47.510089Z

Log Message:
-----------
WindowedApplication and Window bug fixes.

QE Notes: None.
Doc Notes: Changed some ASDoc comments.
Bugs: SDK-21672, SDK-21625, SDK-21628
Reviewer: Glenn
tests: checkintests

On 6/11/09 6:54 AM, "Darrell Loverin" <dloverin@adobe.com> wrote:
http://bugs.adobe.com/jira/browse/SDK-21672 When using system chrome, setting height to 0 moves the status bar to the top of the app. and does not resize the app.

Modified commitProperties(). This looks like an AIR bug. I worked around the problem by first setting the nativeWindow to the correct size and then setting the stage.stageHeight.

http://bugs.adobe.com/jira/browse/SDK-21625 minWidth and minHeight default to incorrect values.
Modified ASDoc @default comment for minWidth, minHeight, maxWidth, and maxHeight.

http://bugs.adobe.com/jira/browse/SDK-21628 minWidth and minHeight override the width and height when set in MXML.

The height and width are set by the auto generated code before the application window is created. The problem was that maxHeight is initialized to zero and is used if there is no nativeWindow. So when the height property is set to 500 and the autogenerated code sets it before the nativeWindow is created, the height setting will see the height is greater than maxHeight and set it to zero.

I fixed the problem by initializing _maxHeight and _maxWidth to 2880 (the documented maximum width and height of an AIR window).

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

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

--- frameworks/projects/airspark/src/spark/components/Window.as
+++ frameworks/projects/airspark/src/spark/components/Window.as
@@ -19,6 +19,7 @@
 import flash.display.NativeWindowDisplayState;
 import flash.display.NativeWindowInitOptions;
 import flash.display.NativeWindowResize;
+import flash.display.NativeWindowSystemChrome;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.MouseEvent;
@@ -684,7 +685,7 @@
      *  @private
      *  Storage for the maxHeight property.
      */
-    private var _maxHeight:Number = 10000;
+    private var _maxHeight:Number = 2880;

     /**
      *  @private
@@ -710,6 +711,8 @@
     /**
      *  Specifies the maximum height of the application's window.
      *
+     *  @default dependent on the operating system and the AIR systemChrome setting.
+     *
      *  @langversion 3.0
      *  @playerversion AIR 1.5
      *  @productversion Flex 3
@@ -729,7 +732,7 @@
      *  @private
      *  Storage for the maxWidth property.
      */
-    private var _maxWidth:Number = 10000;
+    private var _maxWidth:Number = 2880;

     /**
      *  @private
@@ -755,6 +758,8 @@
     /**
      *  Specifies the maximum width of the application's window.
      *
+     *  @default dependent on the operating system and the AIR systemChrome setting.
+     *
      *  @langversion 3.0
      *  @playerversion AIR 1.5
      *  @productversion Flex 3
@@ -787,6 +792,8 @@

     /**
      *  Specifies the minimum height of the application's window.
+     *
+     *  @default dependent on the operating system and the AIR systemChrome setting.
      *
      *  @langversion 3.0
      *  @playerversion AIR 1.5
@@ -832,6 +839,8 @@

     /**
      *  Specifies the minimum width of the application's window.
+     *
+     *  @default dependent on the operating system and the AIR systemChrome setting.
      *
      *  @langversion 3.0
      *  @playerversion AIR 1.5
@@ -1552,7 +1561,7 @@
      *  @private
      *  Storage for the systemChrome property.
      */
-    private var _systemChrome:String = "standard";
+    private var _systemChrome:String = NativeWindowSystemChrome.STANDARD;

     /**
      *  Specifies the type of system chrome (if any) the window has.
@@ -1932,6 +1941,12 @@

         if (boundsChanged)
         {
+            // Work around an AIR issue setting the stageHeight to zero when
+            // using system chrome. The set of the stage.stageHeight property
+            // is rejected unless the nativeWindow is first set to the proper height.
+            if (_bounds.height == 0 && systemChrome == NativeWindowSystemChrome.STANDARD)
+                nativeWindow.height = chromeHeight() + _bounds.height;
+
             // We use temporary variables because when we set stageWidth or
             // stageHeight _bounds will be overwritten when we receive
             // a RESIZE event.


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

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

 package mx.rpc.remoting
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7079
Author:   cframpto@adobe.com
Date:     2009-05-19T17:43:53.967947Z

Log Message:
-----------
-Move init of heightInLines out to skin.
-Handle constrained width in RichEditableText for both the autoSize and !autoSize case.
-For autoSize, width/height/minWidth/minHeight are ignored.  If lineBreak="toFit", maxWidth determines where wrap will occur (unless it is constrained in which case that width trumps).  The default maxWidth, if not specified is 160.  If lineBreak="explicit" the text determines the width.  When autoSizing, height is not bounded and there is no scrolling.

QA Notes:
Doc Notes:
Bugs: SDK-21115, SDK-20400, SDK-21125
Reviewers: Gordon

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextInputSkin.mxml</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/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextInput.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -144,10 +144,7 @@
             // for lineBreak which sets it to "explicit".  It needs to be on
             // TextInput rather than RichEditableText so that if changed later it
             // will be inherited.
-
-            textView.heightInLines = 1;
             textView.multiline = false;
-            textView.autoSize = false;
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11095
Author:   eitan@ascender.com
Date:     2009-10-22T23:34:03.596935Z

Log Message:
-----------
Added changes in spark components to use AccImpl.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextInput.as
+++ frameworks/projects/spark/src/spark/components/TextInput.as
@@ -81,6 +81,8 @@
 [DefaultTriggerEvent("change")]

 [IconFile("TextInput.png")]
+
+[AccessibilityClass(implementation="spark.accessibility.TextInputAccImpl")]

 /**
  *  TextInput is a text-entry control that lets users enter and edit
@@ -203,6 +205,18 @@

     //--------------------------------------------------------------------------
     //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by TextInputAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;
+
+    //--------------------------------------------------------------------------
+    //
     //  Constructor
     //
     //--------------------------------------------------------------------------
@@ -303,6 +317,17 @@
     //
     //--------------------------------------------------------------------------

+
+    /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (TextInput.createAccessibilityImplementation != null)
+            TextInput.createAccessibilityImplementation(this);
+    }
+
+
     /**
      *  @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 20303
Author:   chiedozi@adobe.com
Date:     2011-02-11T23:30:19.588282Z

Log Message:
-----------
Added Inspectable metadata to the mode and direction properties of ZoomViewTransition and FlipViewTransition

QE notes:
Doc notes:
Bugs:
Reviewer: Corey
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/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -171,6 +171,7 @@

     private var _direction:String = ViewTransitionDirection.LEFT;

+    [Inspectable(category="General", enumeration="left,right,up,down", defaultValue="left")]
     /**
      *  Specifies the direction of flip transition.
      *
@@ -201,6 +202,7 @@

     private var _mode:String = FlipViewTransitionMode.CARD;

+    [Inspectable(category="General", enumeration="card,cube", defaultValue="card")]
     /**
      *  Specifies the type of flip transition to perform.
      *


Changed agent name

Changed agent name

Change agent name from Slush to Locomote

--- src/com/axis/rtspclient/RTSPClient.as
+++ src/com/axis/rtspclient/RTSPClient.as
@@ -59,7 +59,7 @@
     private var digestNC:uint = 1;

     public function RTSPClient(video:Video, urlParsed:Object, handle:IRTSPHandle) {
-      this.userAgent = "Slush " + StringUtil.trim(new Version().toString());
+      this.userAgent = "Locomote " + StringUtil.trim(new Version().toString());
       this.state = STATE_INITIAL;
       this.handle = handle;
       this.video = video;


remove URL class

remove URL class

--- src/com/google/analytics/utils/URL.as
+++ src/com/google/analytics/utils/URL.as
@@ -1,215 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * 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.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.utils
-{
-
-    /**
-     * Basic URL utility class.
-     */
-    public class URL
-    {
-
-        private var _url:String;
-
-        /**
-         * Creates a new URL instance.
-         * @param url The String expression to defines the URL instance.
-         */
-        public function URL( url:String = "" )
-        {
-            _url = url.toLowerCase();
-        }
-
-        /**
-         * Indicates the protocol value of the url.
-         */
-        public function get protocol():Protocols
-        {
-            var proto:String = _url.split( "://" )[0];
-
-            switch( proto )
-            {
-                case "file":
-                return Protocols.file;
-
-                case "http":
-                return Protocols.HTTP;
-
-                case "https":
-                return Protocols.HTTPS;
-
-                default:
-                return Protocols.none;
-            }
-        }
-
-        /**
-         * Indicates the host name value of the url.
-         */
-        public function get hostName():String
-        {
-            var hostname:String = _url;
-
-            if( hostname.indexOf( "://" ) > -1 )
-            {
-                hostname = hostname.split( "://" )[1];
-            }
-
-            if( hostname.indexOf( "/" ) > -1 )
-            {
-                hostname = hostname.split( "/" )[0];
-            }
-
-            if( hostname.indexOf( "?" ) > -1 )
-            {
-                hostname = hostname.split( "?" )[0];
-            }
-
-            if( (protocol == Protocols.file) ||
-                (protocol == Protocols.none) )
-                {
-                    return "";
-                }
-
-            return hostname;
-        }
-
-        /**
-         * Indicates the domain value of the url.
-         */
-        public function get domain():String
-        {
-            if( (hostName != "") && (hostName.indexOf(".") > -1) )
-            {
-                var parts:Array = hostName.split( "." );
-
-                switch( parts.length )
-                {
-                    //domain.com
-                    case 2 :
-                    {
-                        return hostName ;
-                    }
-
-                    //domain.co.uk
-                    //www.domain.com
-                    case 3 :
-                    {
-                        if( parts[1] == "co" )
-                        {
-                            return hostName ;
-                        }
-                        parts.shift();
-                        return parts.join( "." ) ;
-                    }
-
-                    //www.domain.co.uk
-                    case 4:
-                    {
-                        parts.shift();
-                        return parts.join( "." ) ;
-                    }
-                }
-
-            }
-
-            return "" ;
-        }
-
-        /**
-         * Indicates the subdomain value of the url.
-         */
-        public function get subDomain():String
-        {
-            if( (domain != "") && (domain != hostName) )
-            {
-                return hostName.split( "."+domain ).join( "" );
-            }
-
-            return "";
-        }
-
-        /**
-         * Indicates the path value of the url.
-         */
-        public function get path():String
-        {
-            var _path:String = _url;
-
-            if( _path.indexOf( "://" ) > -1 )
-            {
-                _path = _path.split( "://" )[1];
-            }
-
-            if( _path.indexOf( hostName ) == 0 )
-            {
-                _path = _path.substr( hostName.length );
-            }
-
-            if( _path.indexOf( "?" ) > -1 )
-            {
-                _path = _path.split( "?" )[0];
-            }
-
-            /* note:
-               we want our path to always start with /
-               (even if the path is empty)
-            */
-            if( _path.charAt(0) != "/" )
-            {
-                _path = "/"+_path;
-            }
-
-            return _path;
-        }
-
-        /**
-         * Indicates the search of the url.
-         */
-        public function get search():String
-        {
-            var _search:String = _url;
-
-            if( _search.indexOf( "://" ) > -1 )
-            {
-                _search = _search.split( "://" )[1];
-            }
-
-            if( _search.indexOf( hostName ) == 0 )
-            {
-                _search = _search.substr( hostName.length );
-            }
-
-            if( _search.indexOf( "?" ) > -1 )
-            {
-                _search = _search.split( "?" )[1];
-            }
-            else
-            {
-                _search = "";
-            }
-
-            return _search;
-        }
-
-
-    }
-}


removed extraneous pruning

removed extraneous pruning

--- as/org/osflash/asjs/parser/JSRenderer.as
+++ as/org/osflash/asjs/parser/JSRenderer.as
@@ -186,7 +186,7 @@
                 for(var n:String in o.declarations){
                     s += this[getPegFunctionName(o.declarations[n].type)](o.declarations[n], o) + ",";
                 }
-                if(s.charAt(s.length - 1) == ",") s = s.substring(0, s.length - 1);
+                //if(s.charAt(s.length - 1) == ",") s = s.substring(0, s.length - 1);
                 s = s.replace(/#eqDelim#/g, ":");
                 s = s.replace(/#null#/g, ": null,");
                 // remove extraneous ; if added (sometimes added by functions) (find a better way to handle this during 0.3 optimization)


SimpleWebRPC 请求时把路径中的 . 替换成 /

SimpleWebRPC 请求时把路径中的 . 替换成 /

--- as3/com/netease/protobuf/SimpleWebRPC.as
+++ as3/com/netease/protobuf/SimpleWebRPC.as
@@ -39,7 +39,7 @@
 			loader.addEventListener(
 					SecurityErrorEvent.SECURITY_ERROR, errorEventHandler)
 			const request:URLRequest = new URLRequest(
-				urlPrefix + qualifiedMethodName)
+				urlPrefix + qualifiedMethodName.replace(/\./, "/"))
 			request.method = URLRequestMethod.POST
 			const requestContent:ByteArray = new ByteArray
 			input.writeExternal(requestContent)


Fix animation re-centering on window resize

--- exporter/src/main/as/flump/export/PreviewController.as
+++ exporter/src/main/as/flump/export/PreviewController.as
@@ -212,6 +212,7 @@
     protected function displayLibraryItem (name :String) :void {
         while (_container.numChildren > 0) _container.removeChildAt(0);
         _previewSprite = _creator.createDisplayObject(name);
+        _previewBounds = _previewSprite.bounds;
         _container.addChild(_previewSprite);
         _container.addChild(_originIcon);
         if (_previewSprite is Movie) {
@@ -221,12 +222,14 @@
     }

     protected function onAnimPreviewResize (..._) :void {
-        var bounds :Rectangle = _previewSprite.bounds;
-        _previewSprite.x = _originIcon.x = ((_animPreviewWindow.width - bounds.width) * 0.5) - bounds.left;
-        _previewSprite.y = _originIcon.y = ((_animPreviewWindow.height - bounds.height) * 0.5) - bounds.top;
+        _previewSprite.x = _originIcon.x =
+            ((_animPreviewWindow.width - _previewBounds.width) * 0.5) - _previewBounds.left;
+        _previewSprite.y = _originIcon.y =
+            ((_animPreviewWindow.height - _previewBounds.height) * 0.5) - _previewBounds.top;
     }

     protected var _previewSprite :starling.display.DisplayObject;
+    protected var _previewBounds :Rectangle;
     protected var _container :starling.display.Sprite;
     protected var _originIcon :starling.display.Sprite;
     protected var _controlsWindow :PreviewControlsWindow;


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

--- frameworks/projects/framework/src/mx/rpc/IResponder.as
+++ frameworks/projects/framework/src/mx/rpc/IResponder.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: 8857
Author:   clucier@adobe.com
Date:     2009-07-28T16:01:46.381012Z

Log Message:
-----------
Since moving away from Container and component descriptors, we no longer auto-coerce name to the value of id upon creation.  Rather than continue to bond the two fields together (id/name), I’ve just modified the primary name generation utility (NameUtil.displayObjectUtil) to prefer id over name if specified.

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/NameUtil.as

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

--- frameworks/projects/framework/src/mx/utils/NameUtil.as
+++ frameworks/projects/framework/src/mx/utils/NameUtil.as
@@ -119,7 +119,8 @@
                 if (o.parent && o.stage && o.parent == o.stage)
                     break;

-                var s:String = o.name;
+                // Prefer id over name if specified.
+                var s:String = "id" in o && o["id"] ? o["id"] : o.name;

                 if (o is IRepeaterClient)
                 {


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

--- frameworks/projects/mx/src/mx/skins/halo/ButtonSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/ButtonSkin.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-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.skins.halo
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 16727
Author:   jszeto@adobe.com
Date:     2010-06-29T20:42:03.768739Z

Log Message:
-----------
Form and ComboBox Bug Fixes

SDK-25765 - ComboBox does not commit item when closed if Enter key is pressed

I changed the fix for this bug.

Instead of only committing the selection in ComboBox.applySelection if the dropDown is closed, we keep track of the user defined selection in DropDownList.keyDownHandler.

SDK-26268 - ComboBox does not commit value with TAB when openOnInput = false

Removed the restriction in ComboBox.applySelection that the dropDown must be open in order to commit

SDK-26442 -  When arrowing between the first two items in a flex combo box the selection is always on the secodn item

Fixed logic bug in ComboBox.changeHighlightedSelection.

SDK-26752 - error string no longer appears for Spark or MX components

The errorString was getting set in MXML. At that time, the component is not parented and not hooked up to its styles. So the call to get the showErrorTip style was returning false.

I moved this logic to commitProperties which solves the timing issue.

SDK-26497 - Spark Form displays errors in a seemingly random order

Changed the dictionary of invalid elements into a sorted array.
An element's sort order is based on its position in the display list tree using a depth first search. The position is represented by a Vector.<int>, with each item being the child index of the element's ancestor at that depth. For example, the second child of the first child of the root would have a Vector like this [0,0,1].

Whenever an element is invalid, we add it to the sorted array and perform a re-sort. We can live with using a heavy data structure like a Vector of ints because there should only be a few errors at a time in a Form. The alternative is to traverse the entire tree and store a pointer and the sort order for each node.

We make an assumption that the order in the display list tree is equivalent to the visual order of the Form's input controls. Since the Form's layout is based on VerticalLayout, this is a valid assumption. This same algorithm would work if the Form was switched to a horizontal layout.

SDK-26697 - Cannot reset Spark Form to original state if form had validation errors

Added logic to Form to listen for the errorStringChanged event on an invalid element. We don't use the same technique as in FormItem, which listens for errorStringChanged in the capture phase on the FormItem's contentGroup. This is because FormItem's errorString is set to the combined errorStrings of its children. If Form used the same technique, the error strings would appear twice.

QE notes: retest SDK-25765
Doc notes: none
Bugs: SDK-25765, SDK-26268, SDK-26442, SDK-26752, SDK-26497, SDK-26697
Reviewer: Kevin
Tests run: full run
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>

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

--- frameworks/projects/spark/src/spark/components/Form.as
+++ frameworks/projects/spark/src/spark/components/Form.as
@@ -11,8 +11,13 @@

 package spark.components
 {
+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+import flash.events.Event;
 import flash.utils.Dictionary;

+import mx.core.IVisualElement;
+import mx.core.IVisualElementContainer;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
@@ -49,6 +54,7 @@
         super();
         addEventListener(FlexEvent.VALID, validHandler, true);
         addEventListener(FlexEvent.INVALID, invalidHandler, true);
+
         // Set these here instead of in the CSS type selector for Form
         // We want to hide the fact that the Form itself doesn't show
         // the error skin or error tip, but that its children do.
@@ -64,13 +70,14 @@
     //
     //--------------------------------------------------------------------------

-
-    mx_internal var _invalidElements:Dictionary = new Dictionary(true);
-
-    /**
-     *  A dictionary of descendant elements that are in an INVALID state. The
-     *  dictionary keys are the invalid elements themselves. The dictionary
-     *  value is the errorString of that invalid element.
+    mx_internal var _invalidElements:Array = new Array();
+
+    /**
+     *  A sorted array of descendant elements that are in an INVALID state.
+     *  The items in the array are Objects with the following properties:
+     *  element:UIComponent - the invalid descendant element
+     *  position:Vector.<int> - a Vector of integers representing the position
+     *  of the element in the display list tree. This is used for sorting the array.
      *
      *  If a descendant is removed from the Form, the dictionary will not get
      *  updated.
@@ -80,7 +87,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4.5
      */
-    public function get invalidElements():Dictionary
+    public function get invalidElements():Array
     {
         return _invalidElements;
     }
@@ -93,6 +100,28 @@

     /**
      *  @private
+     *  If an element is invalid, then we listen for changes to the errorString
+     */
+    private function errorStringChangedHandler(event:Event):void
+    {
+        var uicElt:UIComponent = event.target as UIComponent;
+
+        // If errorString == "", then remove the target from the invalidElement dictionary
+        if (uicElt && uicElt.errorString == "")
+        {
+            var elementIndex:int = findInvalidElementIndex(uicElt);
+            if (elementIndex != -1)
+                _invalidElements.splice(elementIndex, 1);
+
+            uicElt.removeEventListener("errorStringChanged", errorStringChangedHandler);
+
+            errorStateChanged = true;
+            invalidateSkinState();
+        }
+    }
+
+    /**
+     *  @private
      *  If one of our descendants has just passed validation, then
      *  remove it from the invalidElements dictionary
      */
@@ -102,8 +131,15 @@
             return;

         var targ:UIComponent = event.target as UIComponent;
-        if (invalidElements[targ] != undefined)
-            delete _invalidElements[targ];
+
+        if (targ)
+        {
+            var elementIndex:int = findInvalidElementIndex(targ);
+            if (elementIndex != -1)
+                _invalidElements.splice(elementIndex, 1);
+
+            targ.removeEventListener("errorStringChanged", errorStringChangedHandler);
+        }

         errorStateChanged = true;
         invalidateSkinState();
@@ -122,7 +158,20 @@
         var targ:UIComponent = event.target as UIComponent;

         if (targ)
-            _invalidElements[targ] = targ.errorString;
+        {
+            if (findInvalidElementIndex(targ) == -1)
+            {
+                // Insert a new element into the array and re-sort
+                var position:Vector.<int> = getElementNestedPosition(targ, contentGroup);
+                var item:Object = {element:targ, position: position};
+
+                _invalidElements.push(item);
+                _invalidElements.sort(compareNestedPosition);
+
+				// Listen for errorString == ""
+            	targ.addEventListener("errorStringChanged", errorStringChangedHandler);
+            }
+        }

         errorStateChanged = true;
         invalidateSkinState();
@@ -142,8 +191,7 @@
             var isEmpty:Boolean = true;
             var errMsg:String = "";

-            // TODO (jszeto) Figure out how to do the proper ordering
-            for (key in invalidElements)
+            for (var i:int = 0; i < invalidElements.length; i++)
             {
                 isEmpty = false;
                 if (errMsg != "")
@@ -151,7 +199,7 @@
                     errMsg += "\n";
                 }

-                errMsg += UIComponent(key).errorString;
+                errMsg += UIComponent(invalidElements[i].element).errorString;
             }

             // disabled state takes precedence over error state
@@ -161,16 +209,116 @@
             // Either set this to the concatenated string or empty string
             errorString = errMsg;
         }
-        else if (enabled)
-        {
-            for (key in invalidElements)
+        else if (enabled && invalidElements.length > 0)
+        {
+            result = "error";
+        }
+
+        return result;
+    }
+
+    /**
+     *  @private
+     *  Used to sort the element positions calculated using getElementNestedPosition.
+     *
+     *  @param item1 first element to compare
+     *  @param item2 second element to compare
+     *  @return -1 if item1 is less than item2, 0 if they are equal,
+     *  1 if item1 is greater than item2
+     */
+    private function compareNestedPosition(item1:Object, item2:Object):int
+    {
+        var item1Pos:Vector.<int> = item1.position;
+        var item2Pos:Vector.<int> = item2.position;
+
+        var item1Depth:int = item1Pos.length;
+        var item2Depth:int = item2Pos.length;
+
+        var minDepth:int = Math.min(item1Depth, item2Depth);
+
+        var currentDepth:int = 0;
+
+        // Iterate through the elements of the position Vectors
+        // Each element in the Vectors represents a level in the display list tree
+        // We compare the child index of each element at each depth
+        // If they are equal, then we move down to the next depth
+        while (currentDepth < minDepth)
+        {
+            var item1Value:int = item1Pos[currentDepth];
+            var item2Value:int = item2Pos[currentDepth];
+
+            if (item1Value < item2Value)
+                return -1;
+            else if (item1Value > item2Value)
+                return 1;
+            else
             {
-                result = "error";
-                break;
+                currentDepth++;
             }
-        }
-
-        return result;
-    }
+        }
+
+        // If all of the previous levels shared the same child index, then
+        // compare the depth of the elements. A deeper element is always greater
+        // if the elements share the same ancestors.
+        if (item1Depth < item2Depth)
+            return -1;
+        else if (item1Depth > item2Depth)
+            return 1;
+        else
+            return 0;
+    }
+
+    /**
+     *  @private
+     *  Helper function to find a target in the invalidElementsArray
+     */
+    private function findInvalidElementIndex(element:UIComponent):int
+    {
+        for (var i:int = 0; i < invalidElements.length; i++)
+        {
+            if (element == invalidElements[i].element)
+                return i;
+        }
+
+        return -1;
+    }
+
+    /**
+     *  @private
+     *
+     *  Calculates the position of the target relative to the subTreeRoot. Used to compare the position
+     *  of two tree nodes. The return value is a Vector of ints. Each int represents the childIndex of the
+     *  target's ancestor at a particular depth. The highest depths are at the beginning of the Vector
+     *
+     *  @param target Return the position of this displayObject
+     *  @param subTreeRoot The displayObject to use as the root of the subTree
+     *
+     *  @return a Vector of ints representing the position of the target in the display list tree
+     *
+     */
+    private function getElementNestedPosition(target:DisplayObject, subTreeRoot:DisplayObjectContainer = undefined):Vector.<int>
+    {
+        var p:DisplayObjectContainer = target.parent;
+        var current:DisplayObject = target;
+        var pos:Vector.<int> = new Vector.<int>();
+
+        if (p == null || current == subTreeRoot)
+        {
+            pos.push(0);
+        }
+        else
+        {
+            while (p != null && current != subTreeRoot)
+            {
+                pos.splice(0, 0, p.getChildIndex(current));
+                current = p;
+                p = p.parent;
+            }
+
+        }
+        return pos;
+    }
+
+
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19363
Author:   mhorn@adobe.com
Date:     2010-12-14T16:57:25.600360Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Path.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Path.as
+++ frameworks/projects/spark/src/spark/primitives/Path.as
@@ -235,7 +235,7 @@

     /**
      *  Fill rule for intersecting or overlapping path segments.
-     *  Possible values are GraphicsPathWinding.EVEN_ODD or GraphicsPathWinding.NON_ZERO
+     *  Possible values are GraphicsPathWinding.EVEN_ODD or GraphicsPathWinding.NON_ZERO.
      *
      *  @default evenOdd
      *
@@ -1231,8 +1231,8 @@
         // Is this a start of a number?
         // The RegExp for a float is /[+-]?\d*\.?\d+([Ee][+-]?\d+)?/
         if ((c >= 0x30 && c < 0x3A) ||   // A digit
-            (c == 0x2B || c == 0x2D) ||	 // '+' & '-'
-            (c == 0x2E)) 				 // '.'
+            (c == 0x2B || c == 0x2D) ||  // '+' & '-'
+            (c == 0x2E))                 // '.'
         {
             c = prevIdentifier;
             _charPos--;
@@ -1244,8 +1244,8 @@

         switch(c)
         {
-            case 0x63:	// c
-            case 0x43:	// C
+            case 0x63:  // c
+            case 0x43:  // C
                 controlX = getNumber(useRelative, prevX, value);
                 controlY = getNumber(useRelative,  prevY, value);
                 control2X = getNumber(useRelative, prevX, value);
@@ -1261,8 +1261,8 @@

                 break;

-            case 0x6D:	// m
-            case 0x4D:	// M
+            case 0x6D:  // m
+            case 0x4D:  // M
                 x = getNumber(useRelative, prevX, value);
                 y = getNumber(useRelative, prevY, value);
                 newSegments.push(new MoveSegment(x, y));
@@ -1290,8 +1290,8 @@
                 lastMoveY = y;
                 break;

-            case 0x6C:	// l
-            case 0x4C:	// L
+            case 0x6C:  // l
+            case 0x4C:  // L
                 x = getNumber(useRelative, prevX, value);
                 y = getNumber(useRelative, prevY, value);
                 newSegments.push(new LineSegment(x, y));
@@ -1300,8 +1300,8 @@
                 prevIdentifier = 0x6C;
                 break;

-            case 0x68:	// h
-            case 0x48:	// H
+            case 0x68:  // h
+            case 0x48:  // H
                 x = getNumber(useRelative, prevX, value);
                 y = prevY;
                 newSegments.push(new LineSegment(x, y));
@@ -1310,8 +1310,8 @@
                 prevIdentifier = 0x68;
                 break;

-            case 0x76:	// v
-            case 0x56:	// V
+            case 0x76:  // v
+            case 0x56:  // V
                 x = prevX;
                 y = getNumber(useRelative, prevY, value);
                 newSegments.push(new LineSegment(x, y));
@@ -1320,8 +1320,8 @@
                 prevIdentifier = 0x76;
                 break;

-            case 0x71:	// q
-            case 0x51:	// Q
+            case 0x71:  // q
+            case 0x51:  // Q
                 controlX = getNumber(useRelative, prevX, value);
                 controlY = getNumber(useRelative, prevY, value);
                 x = getNumber(useRelative, prevX, value);
@@ -1332,8 +1332,8 @@
                 prevIdentifier = 0x71;
                 break;

-            case 0x74:	// t
-            case 0x54:	// T
+            case 0x74:  // t
+            case 0x54:  // T
                 // control is a reflection of the previous control point
                 if (prevIdentifier == 0x74 || prevIdentifier == 0x71) // 't' or 'q'
                 {
@@ -1355,8 +1355,8 @@

                 break;

-            case 0x73:	// s
-            case 0x53:	// S
+            case 0x73:  // s
+            case 0x53:  // S
                 if (prevIdentifier == 0x73 || prevIdentifier == 0x63) // s or c
                 {
                     controlX = prevX + (prevX - control2X);
@@ -1380,8 +1380,8 @@

                 break;

-            case 0x7A:	// z
-            case 0x5A:	// Z
+            case 0x7A:  // z
+            case 0x5A:  // Z
                 x = lastMoveX;
                 y = lastMoveY;
                 newSegments.push(new LineSegment(x, y));


skipping getters when listing linkable property names of async classes

--- WeaveJS/src/weavejs/core/SessionManager.as
+++ WeaveJS/src/weavejs/core/SessionManager.as
@@ -484,8 +484,11 @@
 				// implicit session state
 				// first pass: get property names

-				// JS.getPropertyNames() includes getter functions.
-				var propertyNames:Array = JS.getPropertyNames(linkableObject, true);
+				var propertyNames:Array;
+				if (Weave.isAsyncClass(linkableObject['constructor']))
+					propertyNames = JS.getOwnPropertyNames(linkableObject);
+				else
+					propertyNames = JS.getPropertyNames(linkableObject, true); // includes getters
 				var resultNames:Array = [];
 				var resultProperties:Array = [];
 				var property:ILinkableObject = null;
@@ -561,8 +564,11 @@
 			var name:String;
 			// get the names from the object itself because each instance must have different
 			// linkable children, so we don't want to grab them from the prototype
-			// JS.getPropertyNames() includes getter functions.
-			var propertyNames:Array = JS.getPropertyNames(linkableObject, true);
+			var propertyNames:Array;
+			if (Weave.isAsyncClass(linkableObject['constructor']))
+				propertyNames = JS.getOwnPropertyNames(linkableObject);
+			else
+				propertyNames = JS.getPropertyNames(linkableObject, true); // includes getters

 			var linkableNames:Array = [];
 			for each (name in propertyNames)


Leger clean up

Leger clean up

--- tp3.as
+++ tp3.as
@@ -146,23 +146,14 @@
     ---------------------------------------------------
 */

-/*
-    ALGO:
-        1) Lignes :
-            1.1) Verifier que le chiffre est entre 1 et 9
-            1.2) Vérifier les autres chiffres pour voir s'il y en a un autre identique. Aller de la manière suivante : 1->2, 1->3... 2->3, 7->8, 7->9, 8->9
-*/
-
 /* Valider le sudoku sur les 9 lignes */
 ValiderLignes00:
   set   vecteur, %l0        ! Pointeur sur la ligne courante
   mov   0, %l1              ! %l1 va servir pour savoir on est rendu sur quelle ligne

-  /* start Aff */
   set   validligne1, %o0
   call  printf
   nop
-  /* end Aff */

   ba    ValiderLignes02     ! Lancer la validation des lignes
   nop
@@ -170,7 +161,7 @@

 /* Validation de la ligne courante */
 ValiderLignes02:
-  set   validligne2, %o0        ! Afficher qu'on valider la ligne courante
+  set   validligne2, %o0        ! Afficher qu'on valide la ligne courante
   mov   %l1, %o1
   call  printf
   nop
@@ -230,14 +221,6 @@
   nop

   ldub  [%l0+%l3], %l5          ! Charger le chiffre a tester dans le registre l5
-
-  !set   validation1, %o0        ! Debug INFOS
-  !mov   %l2, %o1
-  !mov   %l4, %o2
-  !mov   %l3, %o3
-  !mov   %l5, %o4
-  !call  printf
-  !nop

   cmp   %l4, %l5                ! Comparer le chiffre courant avec le chiffre a tester pour s'assurer qu'ils ne sont pas identique
   be    LigneInvalide
@@ -270,11 +253,9 @@
   set   vecteur, %l0        ! Pointeur sur la colonnes courante
   mov   0, %l1              ! %l1 va servir pour savoir on est rendu sur quelle ligne

-  /* start Aff */
   set   validcolon1, %o0
   call  printf
   nop
-  /* end Aff */

 ValiderColonnes02:
   set   validcolon2, %o0        ! Afficher qu'on valider la colonne courante
@@ -295,7 +276,7 @@
   add   %l0, %l1, %l0

   cmp   %l1, 9                    ! Si on a fait le tour du Sudoku, on passe au mode de validation suivant
-  be    VB00
+  be    ValiderBloc00
   nop

   ba    ValiderColonnes02
@@ -341,14 +322,6 @@

   umul  %l3, 9, %l6
   ldub  [%l0+%l6], %l5          ! Charger le chiffre a tester dans le registre l5
-
-  !set   validation1, %o0        ! Debug INFOS
-  !mov   %l2, %o1
-  !mov   %l4, %o2
-  !mov   %l3, %o3
-  !mov   %l5, %o4
-  !call  printf
-  !nop

   cmp   %l4, %l5                ! Comparer le chiffre courant avec le chiffre a tester pour s'assurer qu'ils ne sont pas identique
   be    LigneInvalide
@@ -367,58 +340,56 @@
     Partie 5 : Validation par bloc
     ---------------------------------------------------
 */
-VB00:
+ValiderBloc00:
   set   validbloc1, %o0
   call  printf
   nop

   mov   0, %l0          ! Y

-VB02:
+ValiderBloc02:
   cmp   %l0, 3          ! Après avoir testé tous les blocs, on quitte le programme
   be    SudokuFin
   nop

   mov   0, %l1          ! X
-  ba    VB04            ! On valide les blocs sur la rangée l1
-  nop
-
-VB03:
+  ba    ValiderBloc04            ! On valide les blocs sur la rangée l1
+  nop
+
+ValiderBloc03:
   inc   %l0             ! On passe à la rangée de bloc suivante
-  ba    VB02
-  nop
-
-VB04:
+  ba    ValiderBloc02
+  nop
+
+ValiderBloc04:
   cmp   %l1, 3          ! Si on a testé les 3 blocs sur la rangée, on passe à la prochaine
-  be    VB03
-  nop
-
-  /* start AFF */
+  be    ValiderBloc03
+  nop
+
   set   validbloc2, %o0
   umul  %l0, 3, %o1
   add   %l1, %o1, %o1
   call  printf
   nop
-  /* end AFF */

   umul  %l1, 3,  %o0    ! Calculer l'indice du premier element du bloc dans le vecteur
   umul  %l0, 27, %o1
   add   %o0, %o1, %o2   ! Index calculé
   set   vecteur, %o3
-  call  VB10            ! Valider le bloc commençant a cet indice
+  call  ValiderBloc10            ! Valider le bloc commençant a cet indice
   nop

   inc   %l1             ! On passe au bloc suivant sur la même rangée
-  ba    VB04
-  nop
-
-VB10:
+  ba    ValiderBloc04
+  nop
+
+ValiderBloc10:
   save  %sp, -96, %sp   ! On concerve les registres. L'index du début va se trouver dans i2
   mov   0, %l0

-VB11:
+ValiderBloc11:
   cmp   %l0, 21
-  be    VB20            ! Restore
+  be    ValiderBloc20            ! Restore
   nop

   mov   %l0, %o0        ! Si le nombre est un multiple de 3, on change de ligne dans le Sudoku
@@ -427,28 +398,28 @@
   nop

   cmp   %o0, 1          ! Puisque c'est un multiple de 3, on doit changer de ligne
-  be    VB13
-  nop
-
-  ba    VB14            ! Tester le reste du bloc avec le chiffre
-  nop
-
-VB12:
+  be    ValiderBloc13
+  nop
+
+  ba    ValiderBloc14            ! Tester le reste du bloc avec le chiffre
+  nop
+
+ValiderBloc12:
   inc   %l0             ! Tester le prochain nombre courant
-  ba    VB11
-  nop
-
-VB13:
+  ba    ValiderBloc11
+  nop
+
+ValiderBloc13:
   add   %l0, 6, %l0     ! Changer de ligne

-VB14:
+ValiderBloc14:
   add   %i2, %l0, %l5   ! Index du chiffre qu'on veut aller chercher
   ldub  [%i3+%l5], %l3  ! Charger le chiffre courant dans l3
   add   %l0, 1, %l1     ! Chiffre testeur

-VB15:
+ValiderBloc15:
   cmp   %l1, 21
-  be   VB12
+  be   ValiderBloc12
   nop

   mov   %l1, %o0        ! Si le nombre est un multiple de 3, on change de ligne dans le Sudoku
@@ -457,31 +428,21 @@
   nop

   cmp   %o0, 1          ! Puisque c'est un multiple de 3, on doit changer de ligne
-  bne   VB17
-  nop
-
-VB16:
+  bne   ValiderBloc17
+  nop
+
+ValiderBloc16:
   add   %l1, 6, %l1     ! Changer de ligne

-VB17:
+ValiderBloc17:
   add   %i2, %l1, %l5   ! Index du chiffre qu'on veut aller chercher
   ldub  [%i3+%l5], %l4  ! Charger le chiffre a tester dans l4
-
-  /* start AFF */
-  !set   validation1, %o0
-  !mov   %l0, %o1
-  !mov   %l3, %o2
-  !mov   %l1, %o3
-  !mov   %l4, %o4
-  !call  printf
-  !nop
-  /* end AFF */

   cmp   %l3, %l4        ! S'assurer que les 2 chiffres sont différents
-  bne   VB19
-  nop
-
-VB18:
+  bne   ValiderBloc19
+  nop
+
+ValiderBloc18:
   set   resinvalide, %o0    ! Afficher que le bloc n'est pas valide
   call  printf
   nop
@@ -489,12 +450,12 @@
   ba    SudokuFin           ! Fin du programme
   nop

-VB19:
+ValiderBloc19:
   inc   %l1             ! Tester le nombre courant avec un autre chiffre dans le bloc
-  ba    VB15
-  nop
-
-VB20:
+  ba    ValiderBloc15
+  nop
+
+ValiderBloc20:
   set   resvalide, %o0
   call  printf
   nop
@@ -516,22 +477,6 @@

   udiv  %i0, %i1, %i2
   umul  %i2, %i1, %i3
-
-  /* DEBUG */
-  !set   debugmultiple1, %o0
-  !mov   %i0, %o1
-  !mov   %i1, %o2
-  !mov   %i2, %o3
-  !call  printf
-  !nop
-
-  !set   debugmultiple2, %o0
-  !mov   %i2, %o1
-  !mov   %i1, %o2
-  !mov   %i3, %o3
-  !call  printf
-  !nop
-  /* END DEBUG */

   cmp   %i0, %i3        ! Comparer le nombre initial et le nombre divisé puis multiplié par le même nombre
   be    MultipleDe04    ! C'est un multiple
@@ -570,15 +515,12 @@
   lecturecons:       .asciz  "%d"
   validligne1:       .asciz  "Validation des lignes du Sudoku\n"
   validligne2:       .asciz  " - Validation de la ligne #%d... "
-  validation1:       .asciz  "Validation entre %d[%d] et %d[%d]...\n"
   validcolon1:       .asciz  "Validation des colonnes du Sudoku\n"
   validcolon2:       .asciz  " - Validation de la colonne #%d... "
   validbloc1:        .asciz  "Validation des blocs du Sudoku\n"
   validbloc2:        .asciz  " - Validation du bloc #%d... "
   resvalide:         .asciz  "Valide !\n"
   resinvalide:       .asciz  "Invalide !\n"
-  debugmultiple1:    .asciz  "## %d / %d = %d +-+ "
-  debugmultiple2:    .asciz  "%d * %d = %d\n"

 /* Espace mémoire */


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

--- frameworks/projects/airspark/src/AIRSparkClasses.as
+++ frameworks/projects/airspark/src/AIRSparkClasses.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
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12457
Author:   smgilson@adobe.com
Date:     2009-12-03T18:13:50.586970Z

Log Message:
-----------
asdoc updates for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/AnchorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/IEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Wipe.as
+++ frameworks/projects/spark/src/spark/effects/Wipe.as
@@ -21,8 +21,9 @@
  *  animation in a direction indicated by the direction
  *  property.
  *
- *
The underlying bitmap effect is run by a pixel-shader program
- *  that is loaded by the effect. If you want to use
+ *
A pixel-shader program loaded by the effect
+ *  runs the underlying bitmap effect.
+ *  If you want to use
  *  a different Wipe behavior, you can specify a custom pixel-shader program.
  *  The pixel-shader program must adhere to the constraints
  *  specified for the shaderByteCode


Transferred from the Adobe Open Source Subversion Repository

Revision: 19992
Author:   jszeto@adobe.com
Date:     2011-01-28T01:41:21.277173Z

Log Message:
-----------
Mobile SoftKeyboard support bug fixes

SDK-29297 - Pressing on the skin of a TextInput immediately brings up the softKeyboard
SDK-29267 - MouseDown on a TextArea brings up the softKeyboard
SDK-29156 - Softkeyboard appears unexpectedly when scrolling and moving between 2 TextArea components

Pressing on the skin of a text component was causing the soft keyboard to open immediately. The solution is if we get a mouseDown event, we wait until the mouseUp event before setting focus on the internal text field. Also, we make sure to not open if the user started a scroll gesture.

QE notes: none
Doc notes: none
Bugs: SDK-29297, SDK-29267, SDK-29156
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -15,8 +15,10 @@
 import flash.accessibility.Accessibility;
 import flash.accessibility.AccessibilityProperties;
 import flash.display.DisplayObject;
+import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
+import flash.events.MouseEvent;
 import flash.system.Capabilities;

 import flashx.textLayout.elements.TextFlow;
@@ -24,8 +26,11 @@

 import mx.core.IIMESupport;
 import mx.core.IVisualElement;
+import mx.core.InteractionMode;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
+import mx.events.SandboxMouseEvent;
+import mx.events.TouchInteractionEvent;
 import mx.managers.IFocusManagerComponent;
 import mx.utils.BitFlagUtil;

@@ -336,7 +341,36 @@
     {
         super();
     }
-
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var touchHandlersAdded:Boolean = false;
+
+    /**
+     *  @private
+     *  True if we received a mouseDown and we haven't receieved a mouseUp yet
+     */
+    private var isMouseDown:Boolean = false;
+
+    /**
+     *  @private
+     *  True if setFocus is called while isMouseDown is true
+     */
+    private var delaySetFocus:Boolean = false;
+
+    /**
+     *  @private
+     *  The target from the current mouseDown event
+     */
+    private var mouseDownTarget:InteractiveObject;
+
     //--------------------------------------------------------------------------
     //
     //  Skin parts
@@ -1217,6 +1251,33 @@
             accessibilityPropertiesChanged = false;
         }
     }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        super.styleChanged(styleProp);
+
+        if (!styleProp ||
+            styleProp == "styleName" || styleProp == "interactionMode")
+        {
+            if (getStyle("interactionMode") == InteractionMode.TOUCH && !touchHandlersAdded)
+            {
+                addEventListener(MouseEvent.MOUSE_DOWN, touchMouseDownHandler);
+                addEventListener(TouchInteractionEvent.TOUCH_INTERACTION_START,
+                    touchInteractionStartHandler);
+                touchHandlersAdded = true;
+            }
+            else if (getStyle("interactionMode") == InteractionMode.MOUSE && touchHandlersAdded)
+            {
+                removeEventListener(MouseEvent.MOUSE_DOWN, touchMouseDownHandler);
+                removeEventListener(TouchInteractionEvent.TOUCH_INTERACTION_START,
+                    touchInteractionStartHandler);
+                touchHandlersAdded = false;
+            }
+        }
+    }

     /**
      *  @private
@@ -1336,8 +1397,16 @@
      */
     override public function setFocus():void
     {
+        // If the mouse is down, then we don't want the TextField to get focus until mouse up.
+        // Otherwise, this was called programmatically and we want the soft keyboard to appear immediately.
+        // Note that isMouseDown can only be true when we are in InteractionMode == TOUCH.
         if (textDisplay)
-            textDisplay.setFocus();
+        {
+            if (isMouseDown)
+                delaySetFocus = true;
+            else
+                textDisplay.setFocus();
+        }
     }

     /**
@@ -1952,6 +2021,78 @@
     //
     //--------------------------------------------------------------------------

+
+    /**
+     * @private
+     * Called if we are in touch interaction mode and we receive a mouseDown
+     */
+    private function touchMouseDownHandler(event:MouseEvent):void
+    {
+        isMouseDown = true;
+        mouseDownTarget = event.target as InteractiveObject;
+
+        // Wait for a mouseUp somewhere
+        systemManager.getSandboxRoot().addEventListener(
+            MouseEvent.MOUSE_UP, touchMouseUpHandler, false, 0, true);
+        systemManager.getSandboxRoot().addEventListener(
+            SandboxMouseEvent.MOUSE_UP_SOMEWHERE, touchMouseUpHandler, false, 0, true);
+    }
+
+    /**
+     * @private
+     * Called if we are in touch interaction mode and a mouseUp occurs on the stage while isMouseDown is true
+     */
+    private function touchMouseUpHandler(event:Event):void
+    {
+        /*
+         We set the focus on the component on mouseUp to activate the softKeyboard
+         We only set focus if the following conditions are met:
+         1. mouseUp occurs on this component
+         2. mouseDown occured on any subcomponent besides the textDisplay OR
+         mouseDown occurred on textDisplay and mouseUp did not occur on textDisplay
+
+         The mouseDown and mouseUp on textDisplay case is handled by the Player
+        */
+        if ((event.target is DisplayObject && contains(DisplayObject(event.target)))
+            && (delaySetFocus ||
+             (mouseDownTarget == textDisplay && event.target != textDisplay)))
+        {
+            if (textDisplay)
+                textDisplay.setFocus();
+        }
+
+        clearMouseDownState();
+    }
+
+    /**
+     * @private
+     * Called if we are inside of a Scroller and the user has started a scroll gesture
+     */
+    private function touchInteractionStartHandler(event:TouchInteractionEvent):void
+    {
+        // Clear out the state because starting a scroll gesture should never
+        // open the soft keyboard
+        clearMouseDownState();
+    }
+
+    /**
+     * @private
+     * Helper function to clear the state if the mouse is up or we started as scroll gesture
+     */
+    private function clearMouseDownState():void
+    {
+        if (isMouseDown)
+        {
+            systemManager.getSandboxRoot().removeEventListener(
+                MouseEvent.MOUSE_UP, touchMouseUpHandler, false);
+            systemManager.getSandboxRoot().removeEventListener(
+                SandboxMouseEvent.MOUSE_UP_SOMEWHERE, touchMouseUpHandler, false);
+            isMouseDown = false;
+            delaySetFocus = false;
+            mouseDownTarget = null;
+        }
+    }
+
     /**
      *  @private
      *  Called when the RichEditableText dispatches a 'selectionChange' event.


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

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

 package spark.skins.mobile.supportClasses
 {