Transferred from the Adobe Open Source Subversion Repository

Revision: 6391
Author:   smgilson@adobe.com
Date:     2009-04-29T20:04:20.789717Z

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

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/TextOperationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/VideoEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/ElementExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -117,7 +117,7 @@
  *    dataProvider="null"
  *    itemRenderer="null"
  *    itemRendererFunction="null"
- *    typicalItem"null"
+ *    typicalItem="null"
  *
  *    Events
  *    rendererAdd="No default"


Transferred from the Adobe Open Source Subversion Repository

Revision: 8483
Author:   smgilson@adobe.com
Date:     2009-07-09T17:52:48.367800Z

Log Message:
-----------
Second checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.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/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateColor.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/Animate.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/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.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/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.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/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateColor.as
+++ frameworks/projects/spark/src/spark/effects/AnimateColor.as
@@ -27,7 +27,7 @@
  *  and adds the following tag attributes:

  *
  *

- *  <mx:AnimateColor
+ *  <s:AnimateColor
  *    Properties
  *    id="ID"
  *    colorFrom="no default"


Propogate errors from HLS into OSMF

Propogate errors from HLS into OSMF

--- src/org/mangui/osmf/plugins/HLSMediaElement.as
+++ src/org/mangui/osmf/plugins/HLSMediaElement.as
@@ -1,4 +1,9 @@
 package org.mangui.osmf.plugins {
+    import org.mangui.HLS.HLSError;
+    import org.osmf.events.MediaErrorCodes;
+    import org.osmf.events.MediaError;
+    import org.osmf.events.MediaErrorEvent;
+    import org.mangui.HLS.HLSEvent;
     import org.osmf.traits.DVRTrait;

     import flash.net.NetStream;
@@ -34,6 +39,7 @@
             _hls = hls;
             _defaultduration = duration;
             super(resource, new HLSNetLoader(hls));
+            _hls.addEventListener(HLSEvent.ERROR, _errorHandler);
         }

         protected function createVideo() : Video {
@@ -145,5 +151,30 @@
             var alternateAudioTrait : HLSAlternativeAudioTrait = new HLSAlternativeAudioTrait(_hls, this as MediaElement);
             addTrait(MediaTraitType.ALTERNATIVE_AUDIO, alternateAudioTrait);
         }
+
+        private function _errorHandler(event : HLSEvent) : void {
+            var errorCode : int = MediaErrorCodes.NETSTREAM_PLAY_FAILED;
+            var errorMsg : String = "Unknown error";
+            if (event && event.error) {
+                errorMsg = event.error.msg;
+                switch (event.error.code) {
+                    case HLSError.FRAGMENT_LOADING_ERROR:
+                    case HLSError.KEY_LOADING_ERROR:
+                    case HLSError.MANIFEST_LOADING_CROSSDOMAIN_ERROR:
+                    case HLSError.MANIFEST_LOADING_IO_ERROR:
+                        errorCode = MediaErrorCodes.IO_ERROR;
+                        break;
+                    case HLSError.FRAGMENT_PARSING_ERROR:
+                    case HLSError.KEY_PARSING_ERROR:
+                    case HLSError.MANIFEST_PARSING_ERROR:
+                        errorCode = MediaErrorCodes.NETSTREAM_FILE_STRUCTURE_INVALID;
+                        break;
+                    case HLSError.TAG_APPENDING_ERROR:
+                        errorCode = MediaErrorCodes.ARGUMENT_ERROR;
+                        break;
+                }
+            }
+            dispatchEvent(new MediaErrorEvent(MediaErrorEvent.MEDIA_ERROR, true, true, new MediaError(errorCode, errorMsg)));
+        }
     }
-}+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPHierarchy.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPHierarchy.as
@@ -0,0 +1,171 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+import mx.collections.ICollectionView;
+import mx.collections.IList;
+
+/**
+ *  The IOLAPHierarchy interface represents a user-defined hierarchy
+ *  in a dimension of an OLAP schema.
+ *.
+ *  @see mx.olap.OLAPHierarchy
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public interface IOLAPHierarchy extends IOLAPElement
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  allMemberName
+	//----------------------------------
+
+    /**
+     *  The name of the all member of the hierarchy.
+     *
+     *  @default "(All)"
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get allMemberName():String;
+
+    //----------------------------------
+	//  children
+	//----------------------------------
+
+    /**
+     *  The children of the all member, as a list of IOLAPMember instances.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get children():IList; //of IOLAPMembers
+
+    //----------------------------------
+	//  defaultMember
+	//----------------------------------
+
+    /**
+     *  The default member of the hierarchy.
+     *  The default member is used if the hierarchy
+     *  is used where a member is expected.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get defaultMember():IOLAPMember;
+
+    //----------------------------------
+	//  hasAll
+	//----------------------------------
+
+    /**
+     *  Specifies whether the hierarchy has an all member, true,
+     *  or not, false. If true, the all member name
+     *  is as specified by the allMemberName property.
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get hasAll():Boolean;
+
+    //----------------------------------
+	//  levels
+	//----------------------------------
+
+    /**
+     *  All the levels of this hierarchy, as a list of IOLAPLevel instances.
+     *
+     *  The returned list might represent remote data and therefore can throw
+     *  an ItemPendingError.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get levels():IList; //of IOLAPLevels
+
+    //----------------------------------
+	//  members
+	//----------------------------------
+
+    /**
+     *  All members of all the levels that belong to this hierarchy,
+     *  as a list of IOLAPMember instances.
+     *
+     *  The returned list might represent remote data and therefore can throw
+     *  an ItemPendingError.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function get members():IList; //of IOLAPMembers
+
+    //--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Returns the level with the given name within the hierarchy.
+     *
+     *  @param name The name of the level.
+     *
+     *  @return An IOLAPLevel instance representing the level,
+     *  or null if a level is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findLevel(name:String):IOLAPLevel;
+
+    /**
+     *  Returns the member with the given name within the hierarchy.
+     *
+     *  @param name The name of the member.
+     *
+     *  @return An IOLAPMember instance representing the member,
+     *  or null if a member is not found.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    function findMember(name:String):IOLAPMember;
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3387
Author:   hmuller@adobe.com
Date:     2008-09-26T21:11:36.963833Z

Log Message:
-----------
Added support for page and step scrolling in Scroller.  The workhorse
for this change is a new pair of LayoutBase methods:

  verticalScrollPositionDelta(unit:uint):Number
  horizontalScrollPositionDelta(unit:uint):Number

The "scrolling unit" parameter is a flash.ui.Keyboard constant, one of
UP/DOWN (LEFT,RIGHT) PAGE_UP,DOWN, HOME,END.  Adding the delta value
to the corresponding IViewport scroll position property produces the
scroll.  For example:

  var dy:Number = vp.verticalScrollPositionDelta(Keyboard.PAGE_DOWN);
  vp.verticalScrollPosition += dy;

This example scrolls IViewport vp down by a page.  The API is defined
in terms of "delta" offsets, rather than just adjusting the scroll
position directly, to make it easy to animate the scroll position
properties.

The implementation of these methods in the layout classes deals with
variable size rows/columns, partial visibility, etc.  For example, if
you page down in a VerticalLayout when the current last row is only
partially visible, then adding the verticalScrollPositionDelta to the
verticalScrollPosition will top justify the last row.  If the last row
is completely visible, then the delta is bigger: enough to top justify
the row _below_ the current last row.

Presently the Scroller's scrollbars do not support page/step
scrolling per the new API.  One can only drive the new API
with the keyboard, and then only when some descendant of the
viewport has the focus.

Note also: in the next version of this code, the scrollPositionDelta methods
will be defined by IViewport.

QE: No
Doc: No
Checkintests: Pass
Reviewer: Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -16,6 +16,7 @@
 import flash.geom.Rectangle;
 import flash.events.Event;
 import flash.events.EventDispatcher;
+import flash.ui.Keyboard;

 import flex.core.GroupBase;
 import flex.graphics.IGraphicElement;
@@ -488,8 +489,130 @@
             setIndexInView(i0, i1);
         }
     }
-
-
+
+   /**
+    *  Returns the actual position/size Rectangle of the first non-null
+    *  includeInLayout item, beginning with the item at index i.
+    *
+    *  Returns null if no such item can be found.
+    *
+    *  @private
+    */
+    private static function itemScan(g:GroupBase, i:int, dir:int):Rectangle
+    {
+        var n:int = g.numLayoutItems;
+        while((i >= 0) && (i < n))
+        {
+           var item:ILayoutItem = g.getLayoutItemAt(i);
+           if (item && item.includeInLayout)
+           {
+               var p:Point = item.actualPosition;
+               var s:Point = item.actualSize;
+               return new Rectangle(p.x, p.y, s.x, s.y);
+           }
+           i += dir;
+        }
+        return null;
+    }
+
+    /**
+     *  Overrides the default handling of UP/DOWN and
+     *  PAGE_UP, PAGE_DOWN.
+     *
+     *

+     *
+     *

+     *  LEFT
+     *  If the firstIndexInView item is partially visible then top justify
+     *  it, otherwise top justify the item at the previous index.
+     *

+     *
+     *

+     *  RIGHT
+     *  If the lastIndexInView item is partially visible, then bottom justify
+     *  it, otherwise bottom justify the item at the following index.
+     *

+     *
+     *  PAGE_UP
+     *

+     *  If the firstIndexInView item is partially visible, then bottom
+     *  justify it, otherwise bottom justify item at the previous index.
+     *

+     *
+     *

+     *  PAGE_DOWN
+     *  If the lastIndexInView item is partially visible, then top
+     *  justify it, otherwise top justify item at the following index.
+     *

+     *
+     *

+     *
+     *  @see firstIndexInView
+     *  @see lastIndexInView
+     *  @see horizontalScrollPosition
+     */
+    override public function horizontalScrollPositionDelta(unit:uint):Number
+    {
+        var g:GroupBase = target;
+        if (!g)
+            return 0;
+
+        var maxIndex:int = g.numLayoutItems -1;
+        if (maxIndex < 0)
+            return 0;
+
+        var scrollR:Rectangle = g.scrollRect;
+        if (!scrollR)
+            return 0;
+
+        var maxDelta:Number = g.contentWidth - scrollR.width - scrollR.x;
+        var minDelta:Number = -scrollR.x;
+        var itemR:Rectangle;
+        var firstIndex:int;
+        var lastIndex:int;
+
+        switch (unit)
+        {
+            case Keyboard.LEFT:
+            {
+                firstIndex = firstIndexInView;
+                if (inView(firstIndex) >= 1)
+                   firstIndex = Math.max(0, firstIndex -1);
+                itemR = itemScan(g, firstIndex, -1);
+                return (itemR) ? Math.max(minDelta, itemR.left - scrollR.left) : 0;
+            }
+
+            case Keyboard.RIGHT:
+            {
+                lastIndex = lastIndexInView;
+                if (inView(lastIndex) >= 1)
+                   lastIndex = Math.min(maxIndex, lastIndex + 1);
+                itemR = itemScan(g, lastIndex, +1);
+                return (itemR) ? Math.min(maxDelta, itemR.right - scrollR.right) : 0;
+            }
+
+            case Keyboard.PAGE_UP:
+            {
+                firstIndex = firstIndexInView;
+                if (inView(firstIndex) >= 1)
+                   firstIndex = Math.max(0, firstIndex -1);
+                itemR = itemScan(g, firstIndex, -1);
+                return (itemR) ? Math.max(minDelta, itemR.right - scrollR.right) : 0;
+            }
+
+            case Keyboard.PAGE_DOWN:
+            {
+                lastIndex = lastIndexInView;
+                if (inView(lastIndex) >= 1)
+                   lastIndex = Math.min(maxIndex, lastIndex + 1);
+                itemR = itemScan(g, lastIndex, +1);
+                return (itemR) ? Math.min(maxDelta, itemR.left - scrollR.x) : 0;
+            }
+
+            default:
+                return super.verticalScrollPositionDelta(unit);
+        }
+    }

     public function variableColumnWidthMeasure(layoutTarget:GroupBase):void
     {


Changed the parseKeyPairs function to now account for the possibility of extra spaces or tabs after commas when parsing the data for the EXT-X-MEDIA tag.

--- HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestPlaylist.as
+++ HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestPlaylist.as
@@ -39,6 +39,13 @@
 			var endIndex:int = firstCommaIndex > -1 ? firstCommaIndex : input.length + 1;

 			var key:String = input.substring( 0, firstEqualSignIndex );
+
+			//We need to check and see if there are any spaces or tabs after the comma
+			while(key.charAt(0) == " " || key.charAt(0) == "\t")
+			{
+				key = key.substring(1);//If we find an invalid character, move the string up one index
+			}
+
 			var value:String;

 			if ( firstEqualSignIndex == -1 )


Transferred from the Adobe Open Source Subversion Repository

Revision: 17970
Author:   egeorgie@adobe.com
Date:     2010-09-30T21:32:24.300370Z

Log Message:
-----------
Fix SDK-27642 Unnecessary Measure for Mobile Programmatic Skins

In this change:
- introduce new protected APIs in MobileSkin, MobileItemRenderer for resizing and positioning elements.
- update Mobile skin code to use new APIs instead of setting explicitly x, y, width, height
- update FXG assetes to make elements pixel aligned
- update Mobile skin code to assume FXG assest are always pixel aligned

QE notes: Verify skins look as expected; mobile item renderers layout as expected
Doc notes: None.
Bugs: SDK-27642
Reviewer: Glenn, Jason S, Jason SJ, Ryan
Tests run: full mobile mustella
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/NavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as
@@ -20,6 +20,7 @@
 import mx.states.State;
 import mx.utils.ColorUtil;

+import spark.core.SpriteVisualElement;
 import spark.skins.mobile.assets.Button_down;
 import spark.skins.mobile.assets.Button_up;
 import spark.skins.mobile.supportClasses.ButtonSkinBase;
@@ -166,9 +167,8 @@
      */
     protected function layoutBorder(bgImg:DisplayObject, unscaledWidth:Number, unscaledHeight:Number):void
     {
-        bgImg.x = bgImg.y = 0.5;
-        bgImg.width = unscaledWidth;
-        bgImg.height = unscaledHeight;
+        resizePart(bgImg, unscaledWidth, unscaledHeight);
+        positionPart(bgImg, 0, 0);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 11995
Author:   doug.lee@ssbbartgroup.com
Date:     2009-11-19T18:50:30.831767Z

Log Message:
-----------
Updated all AccImpls that use MSAA constants (except TextLayout) to
use the new AccConst references instead of hard-coding hex numbers and
local copies of the constants.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ColorPickerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LabelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DataGridAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextInputAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ComboBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TabBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowedApplicationAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/PanelAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/CheckBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AlertAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccordionHeaderAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateFieldAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SkinnableTextBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/TitleWindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/LinkButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuBarAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/RadioButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ToggleButtonAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TreeAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/accessibility/WindowAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/DateChooserAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/VideoPlayerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/MenuAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/TitleWindowAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as
@@ -15,6 +15,7 @@
 import flash.accessibility.Accessibility;
 import flash.events.Event;
 import mx.accessibility.AccImpl;
+import mx.accessibility.AccConst;
 import mx.core.UIComponent;
 import mx.core.mx_internal;

@@ -38,27 +39,6 @@

     //--------------------------------------------------------------------------
     //
-    //  Class constants
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    private static const STATE_SYSTEM_READONLY:uint = 0x00000040;
-
-    /**
-     *  @private
-     */
-    private static const STATE_SYSTEM_FOCUSABLE:uint = 0x00100000;
-
-    /**
-     *  @private
-     */
-    private static const EVENT_OBJECT_NAMECHANGE:uint = 0x800C;
-
-    //--------------------------------------------------------------------------
-    //
     //  Class methods
     //
     //--------------------------------------------------------------------------
@@ -117,7 +97,7 @@
     {
         super(master);

-        role = 0x29; // ROLE_SYSTEM_STATICTEXT
+        role = AccConst.ROLE_SYSTEM_STATICTEXT;
     }

     //--------------------------------------------------------------------------
@@ -161,9 +141,9 @@
     {
         var accState:uint = getState(childID);

-        accState &= ~STATE_SYSTEM_FOCUSABLE;
+        accState &= ~AccConst.STATE_SYSTEM_FOCUSABLE;

-        accState |= STATE_SYSTEM_READONLY;
+        accState |= AccConst.STATE_SYSTEM_READONLY;

         return accState;
     }
@@ -215,7 +195,7 @@
         {
             case "updateComplete":
             {
-                Accessibility.sendEvent(master, 0, EVENT_OBJECT_NAMECHANGE);
+                Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_NAMECHANGE);
                 Accessibility.updateProperties();
                 break;
             }


Fixed a bug in setting the thumbWidth property of a slider.

--- src/org/openPyro/controls/Slider.as
+++ src/org/openPyro/controls/Slider.as
@@ -22,8 +22,8 @@
 		protected var _thumbButton:Button;
 		protected var _trackSkin:DisplayObject;
 		protected var _isThumbPressed:Boolean = false;
-		protected var _thumbButtonHeight:Number=NaN;
-		protected var _thumbButtonWidth:Number = NaN;
+		protected var _thumbButtonHeight:Number= 20;
+		protected var _thumbButtonWidth:Number = 20;

 		public function Slider(direction:String)
 		{
@@ -43,6 +43,8 @@
 			if(!_thumbButton)
 			{
 				thumbButton = new Button();
+				thumbButton.width = _thumbButtonWidth;
+				thumbButton.height = _thumbButtonHeight;
 			}
 		}

@@ -365,6 +367,10 @@
 			}
 		}

+		public function get thumbButtonWidth():Number{
+			return _thumbButtonWidth;
+		}
+

 	}
 }


Add gestouch extension for miracle

Add gestouch extension for miracle

--- src/com/merlinds/miracle_tool/controllers/PublishCommand.as
+++ src/com/merlinds/miracle_tool/controllers/PublishCommand.as
@@ -110,9 +110,11 @@
 			trace(json);
 			_mesh = new ByteArray();
 			_mesh.writeObject(meshes);
-			_png = PNGEncoder.encode(buffer);
 			_animations = new ByteArray();
 			_animations.writeObject(animations);
+			_animations.position = 0;
+			var test:Object = _animations.readObject();
+			_png = PNGEncoder.encode(buffer);
 		}

 		private function createAnimationOutput(animationVO:AnimationVO, meshPrefix:String):Object {
@@ -147,7 +149,6 @@
 				}
 				data.layers.unshift(layer);
 			}
-			trace(JSON.stringify(data));
 			return data;
 		}


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

checkintests: pass

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

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

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

--- frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/ISOAPDecoder.as
@@ -16,14 +16,11 @@
 import mx.rpc.xml.IXMLDecoder;
 import mx.rpc.xml.SchemaConstants;

+[ExcludeClass]
+
 /**
  * Decodes the SOAP response for a particular operation.
  *
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
  */
 public interface ISOAPDecoder extends IXMLDecoder
 {
@@ -46,11 +43,6 @@
      * this manner, regardless of the number of values returned. Leaving
      * forcePartArrays as false will only create arrays if two or more elements
      * are returned.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get forcePartArrays():Boolean;
     function set forcePartArrays(value:Boolean):void;
@@ -64,11 +56,6 @@
      * Conversely, if a type whiteSpace restriction is set to
      * replace or collapse then that setting is
      * be honored even if ignoreWhitespace is set to false.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get ignoreWhitespace():Boolean;
     function set ignoreWhitespace(value:Boolean):void;
@@ -80,11 +67,6 @@
      * xml specifies that the XML is left as XMLNodes. A
      * value of e4x specifies that the XML will be accessible
      * using ECMAScript for XML (E4X) expressions.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get resultFormat():String;
     function set resultFormat(value:String):void;
@@ -97,11 +79,6 @@
      * xml specifies that the XML is left as XMLNodes. A
      * value of e4x specifies that the XML should be accessible
      * using ECMAScript for XML (E4X) expressions.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get headerFormat():String;
     function set headerFormat(value:String):void;
@@ -116,11 +93,6 @@
      * literal web services is "object". The default for rpc services is "array".
      * The multiplePartsFormat property is applicable only when
      * resultFormat="object" and ignored otherwise.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get multiplePartsFormat():String;
     function set multiplePartsFormat(value:String):void;
@@ -128,11 +100,6 @@
     /**
      * A WSDLOperation defines the SOAP binding styles and specifies how to
      * decode a SOAP result.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get wsdlOperation():WSDLOperation;
     function set wsdlOperation(value:WSDLOperation):void;
@@ -144,16 +111,11 @@
     //--------------------------------------------------------------------------

     /**
-     *  Decodes a SOAP response into a result and headers.
+     * Decodes a SOAP response into a result and headers.
      *
      *  @param response The SOAP response object.
      *
      *  @return A SOAPResult object containing the response.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function decodeResponse(response:*):SOAPResult;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4357
Author:   egreenfi@adobe.com
Date:     2008-12-18T23:52:27.017290Z

Log Message:
-----------
UIComponent now implements ILayoutElement directly

ILayoutElement was moved to mx.core.ILayoutElement, as it is now a core interface required by UIComponent.

Further phases to follow:
1) IVlisualElement to extend ILayoutElement, pending resolution of a compiler bug.
2) remove LayoutElementUIC, pending UIMovieclip implementing ILayoutElement
3) remove LayoutElementFactory, once all IVisualElements implement ILayoutElement directly.
4) remove ITransformable, moving transform properties onto IVisualElement.

Reviewer: Evtim
QA: yes.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxScrollerSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/ILayoutElement.as" copyfrom-rev="4249" action="A">/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/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutElementUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -16,6 +16,7 @@
 import flash.display.DisplayObject;

 import mx.components.baseClasses.GroupBase;
+import mx.core.ILayoutElement;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
@@ -24,7 +25,6 @@
 import mx.events.ItemExistenceChangedEvent;
 import mx.graphics.IGraphicElement;
 import mx.graphics.graphicsClasses.TextGraphicElement;
-import mx.layout.ILayoutElement;
 import mx.layout.LayoutElementFactory;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;


Transferred from the Adobe Open Source Subversion Repository

Revision: 4958
Author:   rfrishbe@adobe.com
Date:     2009-02-13T23:07:46.243121Z

Log Message:
-----------
Change the initialization sequence of FxComponent and Group.  Basically now children (including the skin) should get created at createChildren() time and follow the correct lifecycle pattern.  Unfortunately, this change got mingled in with all my PARB changes, so I'm submitting a bunch of PARB changes for Group, DataGroup, FxContainer, and FxDataContainer, outlined below:

1.     New event classes/names for Group/FxContainer and DataGroup ("elementAdd" and "elementRemove" event of type ElementExistenceEvent for Group/FxContainer and "rendererAdd" and "rendererRemove" event of type RendererExistenceEvent for DataGroup). It was just one event class of ItemExistenceChangedEvent before.
2.     LayoutBase.clipContent->clipAndEnableScrolling (same with IViewport.clipContent and GroupBase.clipContent)
3.     GroupBase.getLayoutELementAt()->getElementAt()
4.     GroupBase.numLayoutElements -> numElements.
5.     LayoutBase.virtualLayout -> useVirtualLayout
6.     ScrollUnit constants are now changed to be uints instead of typed as ScrollUnit.  This means the signature for getHorizontalScrollPositionDelta(unit:ScrollUnit):Number has changed to getHorizontalScrollPositionDelta(scrollUnit:uint):Number (and ditto for getVerticalScrollPositionDelta())
7.  DataGroup.getRendererForItemAt() -> getElementAt()
8.  DataGroup.getItemIndexForRenderer() -> getElementIndex()

Other changes:
 - Change IVisualElement interface so that it's smaller now.  It also extends ILayoutElement now.  The properties removed from IVisualElement are: rotation, rotationX, rotationY, rotationZ, transformX, transformY, offsets, x, y, z, scaleX, scaleY, scaleZ, explicitWidth, explicitMinWidth, explicitMaxWidth, explicitHeight, explicitMinHeight, explicitMaxHeight)
-  Fix in DataGroup so we don’t remove/add elements if we’re gonna do it later anyways.  I also need to do some other work in here around cleaning up of renderers.
- AddItems fix around handling IVisualElementContainers more effeciently
- get mxmlContent now returns a copy of the Array rather than the one we're using internally
- Had to update mustella since there was special case logic for dealing with getLayoutElementAt().  I added this logic for getElementAt(), which replaces that method.

QE Notes: Thanks for changing all the tests and working on the cyclone
Doc Notes: Made some ASDoc changes to some core classes to move the comments into the interfaces.  I did update the comments a bit as well.
Bugs: SDK-18115, SDK-19004
Reviewer: Jason, Glenn, Hans for initialization sequence change and Hans for all PARB changes
tests: checkintests, all mustella tests

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as" copyfrom-rev="4812" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ElementExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/ItemExistenceChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ScrollUnit.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/mustella.swc</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/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -23,10 +23,9 @@
 import mx.core.IVisualElementContainer;
 import mx.core.InvalidatingSprite;
 import mx.core.mx_internal;
-import mx.events.ItemExistenceChangedEvent;
+import mx.events.ElementExistenceEvent;
 import mx.graphics.IGraphicElement;
-import mx.graphics.baseClasses
-.TextGraphicElement;
+import mx.graphics.baseClasses.TextGraphicElement;
 import mx.layout.LayoutElementFactory;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
@@ -39,20 +38,20 @@
 //--------------------------------------

 /**
- *  Dispatched when an item is added to the content holder.
- *  event.relatedObject is the visual item that was added.
+ *  Dispatched when a visual element is added to the content holder.
+ *  event.element is the visual element that was added.
  *
- *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_ADD
+ *  @eventType mx.events.ElementExistenceEvent.ELEMENT_ADD
  */
-[Event(name="itemAdd", type="mx.events.ItemExistenceChangedEvent")]
+[Event(name="elementAdd", type="mx.events.ElementExistenceEvent")]

 /**
- *  Dispatched when an item is removed from the content holder.
- *  event.relatedObject is the visual item that was removed.
+ *  Dispatched when a visual element is removed to the content holder.
+ *  event.element is the visual element that's being removed.
  *
- *  @eventType mx.events.ItemExistenceChangedEvent.ITEM_REMOVE
+ *  @eventType mx.events.ElementExistenceEvent.ELEMENT_REMOVE
  */
-[Event(name="itemRemove", type="mx.events.ItemExistenceChangedEvent")]
+[Event(name="elementRemove", type="mx.events.ElementExistenceEvent")]

 //--------------------------------------
 //  Excluded APIs
@@ -219,14 +218,13 @@

     private var mxmlContentChanged:Boolean = false;
     private var _mxmlContent:Array;
-    private var _oldMxmlContent:Array;

     [ArrayElementType("mx.core.IVisualElement")]
-    /**
-     *  Content for this Group.  Do not modify this array directly.
+
+    /**
+     *  Visual content children for this Group.
      *
-     *
The content can be an Array or a single item.
-     *  The content items should only be IVisualItems.  An
+     *
The content items should only be IVisualItems.  An
      *  mxmlContent Array shouldn't be shared between multiple
      *  Groups as visual elements can only live in one Group at
      *  a time.

@@ -238,39 +236,50 @@
      */
     public function get mxmlContent():Array
     {
-        return _mxmlContent;
-    }
-
+        if (_mxmlContent)
+            return _mxmlContent.concat();
+        else
+            return null;
+    }
+
     /**
      *  @private
      */
     public function set mxmlContent(value:Array):void
     {
-        if (!mxmlContentChanged)
-            _oldMxmlContent = _mxmlContent;
-        _mxmlContent = value;
-        mxmlContentChanged = true;
-        invalidateProperties();
-    }
+        if (createChildrenCalled)
+        {
+            setMxmlContent(value);
+        }
+        else
+        {
+            mxmlContentChanged = true;
+            _mxmlContent = value;
+            // we will validate this in createChildren();
+        }
+    }
+

     /**
      *  Adds the elements in mxmlContent to the Group.
      *  Flex calls this method automatically; you do not call it directly.
      */
-    protected function validateMxmlContent():void
-    {
-        mxmlContentChanged = false;
+    private function setMxmlContent(value:Array):void
+    {
         var i:int;

-        if (_oldMxmlContent != null)
-        {
-            for (i = _oldMxmlContent.length - 1; i >= 0; i--)
-            {
-                elementRemoved(_oldMxmlContent[i], i);
-            }
-        }
-
-        _oldMxmlContent = null;
+        // if there's old content and it's different than what
+        // we're trying to set it to, then let's remove all the old
+        // elements first.
+        if (_mxmlContent != null && _mxmlContent != value)
+        {
+            for (i = _mxmlContent.length - 1; i >= 0; i--)
+            {
+                elementRemoved(_mxmlContent[i], i);
+            }
+        }
+
+        _mxmlContent = value;

         if (_mxmlContent != null)
         {
@@ -284,13 +293,35 @@

     /**
      *  @private
+     *  Whether createChildren() has been called or not.
+     *  We use this in the setter for mxmlContent to know
+     *  whether to validate the value immediately, or just
+     *  wait to let createChildren() do it.
+     */
+    private var createChildrenCalled:Boolean = false;
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        createChildrenCalled = true;
+
+        if (mxmlContentChanged)
+        {
+            mxmlContentChanged = false;
+            setMxmlContent(_mxmlContent);
+        }
+    }
+
+    /**
+     *  @private
      */
     override protected function commitProperties():void
     {
         super.commitProperties();
-
-        if (mxmlContentChanged)
-            validateMxmlContent();

         if (blendModeChanged)
         {
@@ -474,9 +505,9 @@
     //--------------------------------------------------------------------------

     /**
-     *  @inheritDoc
-     */
-    public function get numElements():int
+     *  @private
+     */
+    override public function get numElements():int
     {
         if (_mxmlContent == null)
             return 0;
@@ -485,9 +516,9 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
-    public function getElementAt(index:int):IVisualElement
+    override public function getElementAt(index:int):IVisualElement
     {
         // check for RangeError:
         checkForRangeError(index);
@@ -597,9 +628,9 @@
     }

     /**
-     *  @inheritDoc
+     *  @private
      */
-    public function getElementIndex(element:IVisualElement):int
+    override public function getElementIndex(element:IVisualElement):int
     {
         var index:int = _mxmlContent ? _mxmlContent.indexOf(element) : -1;

@@ -655,36 +686,6 @@
         addElementAt(element2, index1);
         addElementAt(element1, index2);
     }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Layout item iteration
-    //
-    //  Iterators used by Layout objects. For visual items, the layout item
-    //  is the item itself. For data items, the layout item is the item renderer
-    //  instance that is associated with the item.
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    override public function get numLayoutElements():int
-    {
-        return numElements;
-    }
-
-    /**
-     *  @inheritDoc
-     *
-     *  @throws RangeError If the index position does not exist in the child list.
-     */
-    override public function getLayoutElementAt(index:int):ILayoutElement
-    {
-        var element:IVisualElement = getElementAt(index);
-
-        return LayoutElementFactory.getLayoutElementFor(element);
-    }
-

     //--------------------------------------------------------------------------
     //
@@ -742,8 +743,8 @@
             }
         }

-        dispatchEvent(new ItemExistenceChangedEvent(
-                      ItemExistenceChangedEvent.ITEM_ADD, false, false, element, index));
+        dispatchEvent(new ElementExistenceEvent(
+                      ElementExistenceEvent.ELEMENT_ADD, false, false, element, index));

         invalidateSize();
         invalidateDisplayList();
@@ -759,8 +760,8 @@
     {
         var childDO:DisplayObject = element as DisplayObject;

-        dispatchEvent(new ItemExistenceChangedEvent(
-                      ItemExistenceChangedEvent.ITEM_REMOVE, false, false, element, index));
+        dispatchEvent(new ElementExistenceEvent(
+                      ElementExistenceEvent.ELEMENT_REMOVE, false, false, element, index));

         if (element && (element is IGraphicElement))
         {


Remove BehaviourArrayUtils since they are no longer used

--- src/org/flintparticles/common/behaviours/BehaviourArrayUtils.as
+++ src/org/flintparticles/common/behaviours/BehaviourArrayUtils.as
@@ -1,103 +0,0 @@
-/*
- * FLINT PARTICLE SYSTEM
- * .....................
- *
- * Author: Richard Lord
- * Copyright (c) Richard Lord 2008-2010
- * http://flintparticles.org
- *
- *
- * Licence Agreement
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-package org.flintparticles.common.behaviours
-{
-	/**
-	 * A set of utility functions for use with arrays of Behaviours.
-	 *
-	 * @see org.flintparticles.common.behaviours.Behaviour
-	 */
-	public class BehaviourArrayUtils
-	{
-		/**
-		 * Tests whether a behaviour is in the array.
-		 */
-		public static function contains( array:Array, item:Behaviour ):Boolean
-		{
-			return array.indexOf( item ) != -1;
-		}
-
-		public static function containsType( array:Array, type:Class ):Boolean
-		{
-			var len:uint = array.length;
-			for( var i:uint = 0; i < len; ++i )
-			{
-				if( array[i] is type )
-				{
-					return true;
-				}
-			}
-			return false;
-		}
-
-		public static function remove( array:Array, item:Behaviour ):Boolean
-		{
-			var index:int = array.indexOf( item );
-			if( index != -1 )
-			{
-				array.splice( index, 1 );
-				return true;
-			}
-			return false;
-		}
-
-		public static function add( array:Array, item:Behaviour ):uint
-		{
-			var len:uint = array.length;
-			for( var i:uint = 0; i < len; ++i )
-			{
-				if( Behaviour( array[i] ).priority < item.priority )
-				{
-					break;
-				}
-			}
-			array.splice( i, 0, item );
-			return len + 1;
-		}
-
-		public static function removeAt( array:Array, index:uint ):Behaviour
-		{
-			var temp:Behaviour = array[index] as Behaviour;
-			array.splice( index, 1 );
-			return temp;
-		}
-
-		public static function clear( array:Array ):void
-		{
-			array.length = 0;
-		}
-
-		public static function sortArray( array:Array ):void
-		{
-			array.sortOn( "priority", Array.NUMERIC );
-		}
-	}
-}


Material constructor effect argument is now optional

--- src/aerys/minko/render/material/Material.as
+++ src/aerys/minko/render/material/Material.as
@@ -16,7 +16,7 @@
 			setProperty('effect', value);
 		}

-		public function Material(effect : Effect, properties : Object = null, name : String = null)
+		public function Material(effect : Effect = null, properties : Object = null, name : String = null)
 		{
 			super(properties, name, DataProviderUsage.MANAGED);


Clean up.

Clean up.

--- src/com/esri/viewer/managers/ConfigManager.as
+++ src/com/esri/viewer/managers/ConfigManager.as
@@ -1089,6 +1089,30 @@
                 lyrXML.@displaylevels = tiledLyr.displayLevels.join();
             }
         }
+        else if (layer is CSVLayer)
+        {
+            var csvLyr:CSVLayer = layer as CSVLayer;
+            lyrXML = <layer label={label}
+                    type="csv"
+                    visible={csvLyr.visible}
+                    alpha={csvLyr.alpha}
+                    url={csvLyr.url}
+                    longitudefieldname={csvLyr.longitudeFieldName}
+                    latitudefieldname={csvLyr.latitudeFieldName}/>;
+            if (csvLyr.columnDelimiter != ",")
+            {
+                lyrXML.@columndelimiter = csvLyr.columnDelimiter;
+            }
+            if (csvLyr.sourceFields)
+            {
+                var fields:Array = [];
+                for each (var field:Field in csvLyr.sourceFields)
+                {
+                    fields.push(field.name + "|" + field.alias + "|" + field.type);
+                }
+                lyrXML.@sourcefields = fields.join();
+            }
+        }
         else if (layer is FeatureLayer && !(layer is CSVLayer))
         {
             var feaLyr:FeatureLayer = layer as FeatureLayer;
@@ -1112,6 +1136,40 @@
                         iseditable={feaLyr.isEditable}/>;
             }
         }
+        else if (layer is GeoRSSLayer)
+        {
+            var geoRSSLayer:GeoRSSLayer = layer as GeoRSSLayer;
+            lyrXML = <layer label={label}
+                    type="georss"
+                    visible={geoRSSLayer.visible}
+                    alpha={geoRSSLayer.alpha}
+                    url={geoRSSLayer.url}/>;
+            if (geoRSSLayer.serviceURL)
+            {
+                lyrXML.@serviceurl = geoRSSLayer.serviceURL;
+            }
+            if (geoRSSLayer.pointSymbol)
+            {
+                lyrXML.appendChild(getPointSymbolXML(geoRSSLayer.pointSymbol));
+            }
+            if (geoRSSLayer.polylineSymbol)
+            {
+                lyrXML.appendChild(getLineSymbolXML(geoRSSLayer.polylineSymbol));
+            }
+            if (geoRSSLayer.polygonSymbol)
+            {
+                lyrXML.appendChild(getPolygonSymbolXML(geoRSSLayer.polygonSymbol));
+            }
+        }
+        else if (layer is KMLLayer)
+        {
+            var kmlLayer:KMLLayer = layer as KMLLayer;
+            lyrXML = <layer label={label}
+                    type="kml"
+                    visible={kmlLayer.visible}
+                    alpha={kmlLayer.alpha}
+                    url={kmlLayer.url}/>;
+        }
         else if (layer is OpenStreetMapLayer)
         {
             var osmLyr:OpenStreetMapLayer = layer as OpenStreetMapLayer;
@@ -1133,14 +1191,26 @@
                 lyrXML.@displaylevels = veLyr.displayLevels.join();
             }
         }
-        else if (layer is KMLLayer)
-        {
-            var kmlLayer:KMLLayer = layer as KMLLayer;
+        else if (layer is WebTiledLayer)
+        {
+            var webTiledLayer:WebTiledLayer = layer as WebTiledLayer;
             lyrXML = <layer label={label}
-                    type="kml"
-                    visible={kmlLayer.visible}
-                    alpha={kmlLayer.alpha}
-                    url={kmlLayer.url}/>;
+                    type="webtiled"
+                    visible={webTiledLayer.visible}
+                    alpha={webTiledLayer.alpha}
+                    url={webTiledLayer.urlTemplate}/>;
+            if (webTiledLayer.copyright)
+            {
+                lyrXML.@copyright = webTiledLayer.copyright;
+            }
+            if (webTiledLayer.displayLevels)
+            {
+                lyrXML.@displaylevels = webTiledLayer.displayLevels.join();
+            }
+            if (webTiledLayer.subDomains)
+            {
+                lyrXML.@subdomains = webTiledLayer.displayLevels.join();
+            }
         }
         else if (layer is WMSLayer)
         {
@@ -1170,76 +1240,6 @@
                 lyrXML.@visiblelayers = wmsLayer.visibleLayers.toArray().join();
             }
         }
-        else if (layer is CSVLayer)
-        {
-            var csvLyr:CSVLayer = layer as CSVLayer;
-            lyrXML = <layer label={label}
-                    type="csv"
-                    visible={csvLyr.visible}
-                    alpha={csvLyr.alpha}
-                    url={csvLyr.url}
-                    longitudefieldname={csvLyr.longitudeFieldName}
-                    latitudefieldname={csvLyr.latitudeFieldName}/>;
-            if (csvLyr.columnDelimiter != ",")
-            {
-                lyrXML.@columndelimiter = csvLyr.columnDelimiter;
-            }
-            if (csvLyr.sourceFields)
-            {
-                var fields:Array = [];
-                for each (var field:Field in csvLyr.sourceFields)
-                {
-                    fields.push(field.name + "|" + field.alias + "|" + field.type);
-                }
-                lyrXML.@sourcefields = fields.join();
-            }
-        }
-        else if (layer is WebTiledLayer)
-        {
-            var webTiledLayer:WebTiledLayer = layer as WebTiledLayer;
-            lyrXML = <layer label={label}
-                    type="webtiled"
-                    visible={webTiledLayer.visible}
-                    alpha={webTiledLayer.alpha}
-                    url={webTiledLayer.urlTemplate}/>;
-            if (webTiledLayer.copyright)
-            {
-                lyrXML.@copyright = webTiledLayer.copyright;
-            }
-            if (webTiledLayer.displayLevels)
-            {
-                lyrXML.@displaylevels = webTiledLayer.displayLevels.join();
-            }
-            if (webTiledLayer.subDomains)
-            {
-                lyrXML.@subdomains = webTiledLayer.displayLevels.join();
-            }
-        }
-        else if (layer is GeoRSSLayer)
-        {
-            var geoRSSLayer:GeoRSSLayer = layer as GeoRSSLayer;
-            lyrXML = <layer label={label}
-                    type="georss"
-                    visible={geoRSSLayer.visible}
-                    alpha={geoRSSLayer.alpha}
-                    url={geoRSSLayer.url}/>;
-            if (geoRSSLayer.serviceURL)
-            {
-                lyrXML.@serviceurl = geoRSSLayer.serviceURL;
-            }
-            if (geoRSSLayer.pointSymbol)
-            {
-                lyrXML.appendChild(getPointSymbolXML(geoRSSLayer.pointSymbol));
-            }
-            if (geoRSSLayer.polylineSymbol)
-            {
-                lyrXML.appendChild(getLineSymbolXML(geoRSSLayer.polylineSymbol));
-            }
-            if (geoRSSLayer.polygonSymbol)
-            {
-                lyrXML.appendChild(getPolygonSymbolXML(geoRSSLayer.polygonSymbol));
-            }
-        }

         return lyrXML;
     }


remove deprecated effect : Effect argument in Mesh constructor and Mesh.initialize()

--- src/aerys/minko/scene/node/Mesh.as
+++ src/aerys/minko/scene/node/Mesh.as
@@ -199,17 +199,15 @@

 		public function Mesh(geometry	: Geometry	= null,
 							 material	: Material	= null,
-							 effect		: Effect	= null,
 							 ...controllers)
 		{
 			super();

-			initialize(geometry, material, effect, controllers);
+			initialize(geometry, material, controllers);
 		}

 		private function initialize(geometry	: Geometry,
 									material	: Material,
-									effect		: Effect,
 									controllers	: Array) : void
 		{
 			_bindings = new DataBindings(this);


Tweak the Timer implementation: first, schedule repeat expiration based on the current time, not when the timer was supposed to go off. Second, make 5 ms the minimum actual delay used on a timer. Third, Only pop one timer event off the queue in any Thane heartbeat. This last change is somewhere between audacious and questionable; it will definitely help prevent e.g. socket starvation and keep programmers honest. On the other hand it sacrifices some (admittedly bizarre) scenarios where multiple timers ought to fire simultaneously.

--- tamarin-central/thane/as3src/flash/utils/Timer.as
+++ tamarin-central/thane/as3src/flash/utils/Timer.as
@@ -57,7 +57,7 @@
             return;
         }

-        enqueue(new Buddy(this, getTimer() + _delay));
+        scheduleBuddy(new Buddy(this));
     }

     public function stop () :void
@@ -89,8 +89,7 @@
         }

         if (repeatCount == 0 || _currentCount < _repeatCount) {
-            buddy.expiration += _delay;
-            enqueue(buddy);
+            scheduleBuddy(buddy);

         } else {
             dispatchEvent(new TimerEvent(TimerEvent.TIMER_COMPLETE));
@@ -98,9 +97,10 @@
         }
     }

-    private function enqueue (buddy :Buddy) :void
+    private function scheduleBuddy (buddy :Buddy) :void
     {
         _buddy = buddy;
+        _buddy.expiration = getTimer() + Math.max(_delay, 5);
         if (_heap.enqueue(_buddy)) {
             return;
         }
@@ -119,7 +119,10 @@
     {
         var now :int = getTimer();

-        while (_heap.size > 0 && _heap.front.expiration <= now) {
+        // see if we should pop one timer off the queue and expire it; we could pop all the
+        // outstanding ones, but this solution puts the onus on developers to make their event
+        // handlers light-weight, and protects the socket code from starvation
+        if (_heap.size > 0 && _heap.front.expiration <= now) {
             var buddy :Buddy = _heap.dequeue();
             if (buddy.budette != null) {
                 buddy.budette.expire(buddy);
@@ -166,14 +169,14 @@
 }

 import flash.utils.Timer;
+import flash.utils.getTimer;

 class Buddy {
     public var budette :Timer;
     public var expiration :int;

-    public function Buddy (timer :Timer, expiration :int)
+    public function Buddy (timer :Timer)
     {
         this.budette = timer;
-        this.expiration = expiration;
     }
 }


placemarker updates qr code correctly on drag/drop

--- flexEditor/src/org/arisgames/editor/components/PlaceMarker.as
+++ flexEditor/src/org/arisgames/editor/components/PlaceMarker.as
@@ -72,8 +72,7 @@

     public function handleDragEndEvent(event:MapMouseEvent):void
     {
-        trace("Handle Drag End Event called...");
-        trace("Original Latitude: " + placemark.latitude + "; Original Longitude: " + placemark.longitude);
+        trace("PlaceMarker: Handle Drag End Event called...");
         placemark.latitude = event.latLng.lat();
         placemark.longitude = event.latLng.lng();
         trace("Updated Latitude: " + placemark.latitude + "; Updated Longitude: " + placemark.longitude);
@@ -91,6 +90,7 @@
         loc.forceView = placemark.forcedView;
 		loc.quickTravel = placemark.quickTravel;
         loc.error = placemark.errorRange;
+		loc.qrCode = placemark.qrCode;
         trace("location type looked up = '" + loc.type + "'");

         AppServices.getInstance().saveLocation(GameModel.getInstance().game.gameId, loc, new Responder(handleUpdateLocation, handleFault));


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

--- frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
+++ frameworks/projects/framework/src/mx/core/FlexSimpleButton.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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: 8581
Author:   mhorn@adobe.com
Date:     2009-07-15T15:47:47.191332Z

Log Message:
-----------
asdoc edits: bug fix FLEXDOCS-1000

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.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/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>

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

--- frameworks/projects/spark/src/spark/components/RadioButton.as
+++ frameworks/projects/spark/src/spark/components/RadioButton.as
@@ -441,8 +441,8 @@
     /**
      *  @private
      *  automaticRadioButtonGroups is shared with halo radio button groups.
-     *  Gumbo radio button groups are prefixed with _fx to differentiate the
-     *  halo groups which are stored in the same table.
+     *  Spark radio button groups are prefixed with _fx to differentiate the
+     *  Halo groups which are stored in the same table.
      */
     private function get autoGroupIndex():String
     {


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

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

 package
 {


Changed so one one wrong length error is reported even if there is more than one.

--- frameworks/projects/framework/src/mx/validators/DateValidator.as
+++ frameworks/projects/framework/src/mx/validators/DateValidator.as
@@ -387,6 +387,7 @@
 						true, baseField, "wrongLength",
 						validator.wrongLengthError
 						+ (DateValidator._includeFormatInError?" " + inputFormat:"")));
+					return results;
 				}
 				// MM or M format
 				if ((monthRequired && monthPart.length == 2 && dateObj.month.length != 2)
@@ -395,7 +396,8 @@
 					results.push(new ValidationResult(
 						true, baseField, "wrongLength",
 						validator.wrongLengthError
-						+ (DateValidator._includeFormatInError?" " + inputFormat:"")));
+						+ (DateValidator._includeFormatInError?" " + inputFormat:"")));
+					return results;
 				}
 				// YY or YYYY format
 				if ((yearRequired && yearPart.length == 2 && dateObj.year.length != 2)
@@ -405,6 +407,7 @@
 						true, baseField, "wrongLength",
 						validator.wrongLengthError
 						+ (DateValidator._includeFormatInError?" " + inputFormat:"")));
+					return results;
 				}

 				if ((monthRequired && dateObj.month == "") ||


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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

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

Modified Paths:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/HTTPChannel.as
@@ -82,6 +82,12 @@
  *  property in the configuration file must be set to true, or the
  *  pollingEnabled property of the Channel must be set to true.
  *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class HTTPChannel extends PollingChannel
 {
@@ -96,6 +102,12 @@
      *
      *  @param id The id of this Channel.
      *  @param uri The uri for this Channel.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function HTTPChannel(id:String = null, uri:String = null)
     {
@@ -155,6 +167,12 @@

     /**
      *  Reports whether the channel is actively polling.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get polling():Boolean
     {
@@ -170,6 +188,12 @@
      *  with regular outbound messages when an outstanding poll is not in
      *  progress. This allows the server to piggyback data for the client
      *  along with its response to client's message.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get piggybackingEnabled():Boolean
     {
@@ -190,6 +214,12 @@

     /**
      *  Indicates whether this channel is enabled to poll.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get pollingEnabled():Boolean
     {
@@ -216,6 +246,12 @@
      *
      *  @throws ArgumentError If the pollingInterval is assigned a value of 0 or
      *                        less.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function get pollingInterval():Number
     {
@@ -236,6 +272,12 @@

     /**
      *  Returns the protocol for this channel (http).
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override public function get protocol():String
     {
@@ -400,6 +442,12 @@
                     if (smallMessage != null)
                         msgResp.message = smallMessage;
                 }
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 9
+                *  @playerversion AIR 1.1
+                *  @productversion BlazeDS 4
+                *  @productversion LCDS 3
                 */

                 var urlLoader:ChannelRequestLoader;
@@ -513,6 +561,12 @@
             var serverVersion:Number = msg.headers[CommandMessage.MESSAGING_VERSION] as Number;
             handleServerMessagingVersion(serverVersion);
         }
+        *
+        *  @langversion 3.0
+        *  @playerversion Flash 9
+        *  @playerversion AIR 1.1
+        *  @productversion BlazeDS 4
+        *  @productversion LCDS 3
         */

         connectSuccess();
@@ -840,6 +894,12 @@

     /**
      *  The loader associated with this responder.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public var urlLoader:ChannelRequestLoader;


- moved validation cleanup code in UIComponent to finishValidation hook override

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

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -898,11 +898,6 @@
 				m_stylesInvalidated = true;
 			}
 			super.validateElement(forceValidation);
-
-			m_dimensionsChanged = false;
-			m_specifiedDimensionsChanged = false;
-
-			m_stylesInvalidated = false;
 		}
 		/**
 		 * Hook method, executed before the UIObjects' children get validated
@@ -1061,6 +1056,15 @@
 				}
 			}
 			applyDepthSorting();
+		}
+		protected override function finishValidation() : void
+		{
+			super.finishValidation();
+
+			m_dimensionsChanged = false;
+			m_specifiedDimensionsChanged = false;
+
+			m_stylesInvalidated = false;
 		}

 		protected function applyDepthSorting() : void


Update FMSBridge.as

Update FMSBridge.as

--- examples/web/app/classes/server/FMSBridge.as
+++ examples/web/app/classes/server/FMSBridge.as
@@ -26,7 +26,7 @@
 			connection.close();
 		}

-		public function registerUser(token:String, email:String, player:String):void {
+		public function registerUser(token:String, email:String, player:uint):void {
 			connection.call('registerUser', null, token, email, player);
 		}


Performance improvement by reducing the number of strings created during scene setup and reduce memory used

--- src/aerys/minko/render/geometry/stream/format/VertexComponent.as
+++ src/aerys/minko/render/geometry/stream/format/VertexComponent.as
@@ -31,6 +31,7 @@
 		private var _properties			: Vector.<String>;
 		private var _offsets			: Object;
 		private var _vertexComponentId	: String;	// used to avoid array comparison
+		private var _propertiesString	: String;   // Used to avoid creation of strings all the time in toString()

 		public function get numBytes() : uint
 		{
@@ -100,7 +101,10 @@

 		public function toString() : String
 		{
-			return _properties.join(', ');
+			if (!_propertiesString)
+				_propertiesString = _properties.join(', ');
+
+			return _propertiesString;
 		}
 	}
 }


We don't need lightId anymore to create a depth shader.

--- src/aerys/minko/render/material/phong/VarianceShadowMapShader.as
+++ src/aerys/minko/render/material/phong/VarianceShadowMapShader.as
@@ -58,10 +58,9 @@
 			_depthShaderPart = new LinearDepthShaderPart(this);
 		}

-
 		override protected function getVertexPosition() : SFloat
 		{
-			createDepthShaderPart(_lightId);
+			createDepthShaderPart();

 			return _depthShaderPart.getVertexPosition(_lightId, _vertexAnimationPart.getAnimatedVertexPosition(), _face);
 		}
@@ -73,7 +72,7 @@
 		{
 			if (_depthShaderPart == null)
 			{
-				createDepthShaderPart(_lightId);
+				createDepthShaderPart();
 			}

 			var depth	: SFloat	= _depthShaderPart.getPixelColor(_lightId);


Let's track SecurityError events too. Normally if things are set up well
this won't happen, but it did today for folks with a cached crossdomain.xml.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@457 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flash/MediaContainer.as
+++ src/as/com/threerings/flash/MediaContainer.as
@@ -33,7 +33,7 @@

 import flash.events.Event;
 import flash.events.EventDispatcher;
-import flash.events.IEventDispatcher;
+import flash.events.ErrorEvent;
 import flash.events.IOErrorEvent;
 import flash.events.MouseEvent;
 import flash.events.NetStatusEvent;
@@ -493,7 +493,8 @@
     {
         info.addEventListener(Event.COMPLETE, handleComplete);
         info.addEventListener(Event.INIT, handleInit);
-        info.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
+        info.addEventListener(IOErrorEvent.IO_ERROR, handleError);
+        info.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleError);
         info.addEventListener(ProgressEvent.PROGRESS, handleProgress);
     }

@@ -504,14 +505,15 @@
     {
         info.removeEventListener(Event.COMPLETE, handleComplete);
         info.removeEventListener(Event.INIT, handleInit);
-        info.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
+        info.removeEventListener(IOErrorEvent.IO_ERROR, handleError);
+        info.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, handleError);
         info.removeEventListener(ProgressEvent.PROGRESS, handleProgress);
     }

     /**
-     * A callback to receive IO_ERROR events.
-     */
-    protected function handleIOError (event :IOErrorEvent) :void
+     * A callback to receive IO_ERROR and SECURITY_ERROR events.
+     */
+    protected function handleError (event :ErrorEvent) :void
     {
         stoppedLoading();
         setupBrokenImage(-1, -1);


Terminologies.

Terminologies.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@741 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/flex/CommandComboBox.as
+++ src/as/com/threerings/flex/CommandComboBox.as
@@ -36,10 +36,10 @@
 public class CommandComboBox extends ComboBox
 {
     /**
-     * The attribute of the selectedItem object that used as the argument to the
+     * The field of the selectedItem object used as the argument to the
      * command or function. If null, the entire selectedItem is passed as the argument.
      */
-    public var argName :String;
+    public var argField :String;

     /**
      * Create a command combobox.
@@ -47,11 +47,11 @@
      * @param cmdOrFn either a String, which will be the CommandEvent command to dispatch,
      *        or a function, which will be called when changed.
      */
-    public function CommandComboBox (cmdOrFn :* = null, argName :String = "data")
+    public function CommandComboBox (cmdOrFn :* = null, argField :String = "data")
     {
         CommandButton.validateCmd(cmdOrFn);
         _cmdOrFn = cmdOrFn;
-        this.argName = argName;
+        this.argField = argField;

         addEventListener(ListEvent.CHANGE, handleChange);
     }
@@ -73,14 +73,14 @@
     }

     /**
-     * Handy function to lookup an option based by argName and set it as the selected item.
+     * Handy function to lookup an option based on argField and set it as the selected item.
      * This probably only works for Array dataProviders.
      */
     public function setSelectedValue (value :Object) :void
     {
         for (var ii :int = 0; ii < dataProvider.length; ++ii) {
-            var v :Object = (this.argName != null) ?
-                dataProvider[ii][this.argName] : dataProvider[ii];
+            var v :Object = (this.argField != null) ?
+                dataProvider[ii][this.argField] : dataProvider[ii];
             if (v == value) {
                 this.selectedIndex = ii;
                 return;
@@ -92,12 +92,12 @@
     }

     /**
-     * The value that will be passed to the command or function based on argName and the
+     * The value that will be passed to the command or function based on argField and the
      * current selected item.
      */
     public function getSelectedValue () :Object
     {
-        return (this.argName != null) ? this.selectedItem[this.argName] : this.selectedItem;
+        return (this.argField != null) ? this.selectedItem[this.argField] : this.selectedItem;
     }

     protected function handleChange (event :ListEvent) :void