Transferred from the Adobe Open Source Subversion Repository

Revision: 16490
Author:   clucier@adobe.com
Date:     2010-06-08T00:34:15.056989Z

Log Message:
-----------
Fixing builds on Mac to not pop the dock icon and steal focus.
Image/BitmapImage bug fixes.

QE notes: None
Doc notes: None
Bugs: SDK-26616, SDK-26624, SDK-26642
Reviewer: Ryan
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/build.properties</path>

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

--- frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -608,6 +608,7 @@

     private var _source:Object;

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

     /**
@@ -666,9 +667,16 @@
     {
         if (value != _source)
         {
+            // Remove listeners from any previous load instance and clear
+            // our reference to any existing load-event dispatcher. This ensures
+            // for example that we do not receive further load related events
+            // our previous content before we can consider the new source.
+            clearLoadingContent();
+
             _source = value;
             sourceInvalid = true;
             invalidateProperties();
+            dispatchEvent(new Event("sourceChanged"));
         }
     }

@@ -841,9 +849,16 @@
         else
         {
             // Return estimated width/height here as we've yet to fully
-            // realize valid image content.
-            measuredWidth = !isNaN(_preliminaryWidth) ? _preliminaryWidth : measuredWidth;
-            measuredHeight = !isNaN(_preliminaryHeight) ? _preliminaryHeight : measuredHeight;
+            // realize valid image content. If we are loading new content
+            // we keep the old measured width/height, otherwise we fall back
+            // to 0 unless a preliminary width/height is set. This is to avoid
+            // sizing to 0,0 for a frame unnecessarily.
+            var previousWidth:Number = (_source == null || _source == "") ? 0 : measuredWidth;
+            var previousHeight:Number = (_source == null || _source == "") ? 0 : measuredHeight;
+            measuredWidth = !isNaN(_preliminaryWidth) && (measuredWidth == 0) ?
+                _preliminaryWidth : previousWidth;
+            measuredHeight = !isNaN(_preliminaryHeight) && (measuredHeight == 0) ?
+                _preliminaryHeight : previousHeight;
             return;
         }

@@ -1169,6 +1184,9 @@
         _bytesTotal = NaN;
         _trustedSource = true;

+        // Reset content width/height.
+        imageWidth = imageHeight = NaN;
+
         // We'll need to reconsider display object sharing.
         invalidateDisplayObjectSharing();

@@ -1230,11 +1248,7 @@
      *  @private
      */
     mx_internal function loadExternal(url:Object):void
-    {
-        // Remove listeners from any previous load instance and clear
-        // our reference to any existing load-event  dispatcher.
-        clearLoadingContent();
-
+    {
         if (contentLoader)
         {
             // We defer our load request to the configured content loader.
@@ -1417,6 +1431,18 @@
      */
     private function clearLoadingContent():void
     {
+        if (loadingContent is LoaderInfo && LoaderInfo(loadingContent).loader)
+        {
+            try
+            {
+                LoaderInfo(loadingContent).loader.close();
+            }
+            catch (e:Error)
+            {
+                // Ignore
+            }
+        }
+
         removeLoadingListeners();
         loadingContent = null;
     }


Combine sliced frames into a single FLV tag.

If we encounter a sliced h.264 stream, we’ll get multiple NALUs with
the same timestamps. If we present these to Flash’s h.264 decoder in
multiple FLV tags, it treats them as multiple frames and has problems
(partial frame displays, dropped “frames”). We can combine them into a
single FLV tag (based on PTS/DTS) and Flash will happily decode them.

--- HLSPlugin/src/com/kaltura/hls/m2ts/PESProcessor.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/PESProcessor.as
@@ -327,20 +327,35 @@
                     cursor = start;
                 }

-                // Submit previous data.
-                if(lastVideoNALU)
-                {
-                    pendingBuffers.push(lastVideoNALU.clone());
-                }
-
-                // Update NALU state.
-                lastVideoNALU = new NALU();
-                lastVideoNALU.buffer = new ByteArray();
-                lastVideoNALU.pts = pts;
-                lastVideoNALU.dts = dts;
-                lastVideoNALU.type = packet.type;
-                lastVideoNALU.buffer.writeBytes(b, cursor);
-
+                // If it's identical timestamps, accumulate it into the current unit and keep going.
+                if(lastVideoNALU && pts == lastVideoNALU.pts && dts == lastVideoNALU.dts)
+                {
+                    CONFIG::LOGGING
+                    {
+                        logger.debug("Combining " + (start-cursor) + " bytes into previous NALU due to matching DTS/PTS.");
+                    }
+                    lastVideoNALU.buffer.position = lastVideoNALU.buffer.length;
+                    b.position = 0;
+                    lastVideoNALU.buffer.writeBytes(b, cursor, start - cursor);
+                    cursor = start;
+                }
+                else
+                {
+                    // Submit previous data.
+                    if(lastVideoNALU)
+                    {
+                        pendingBuffers.push(lastVideoNALU.clone());
+                    }
+
+                    // Update NALU state.
+                    lastVideoNALU = new NALU();
+                    lastVideoNALU.buffer = new ByteArray();
+                    lastVideoNALU.pts = pts;
+                    lastVideoNALU.dts = dts;
+                    lastVideoNALU.type = packet.type;
+                    lastVideoNALU.buffer.writeBytes(b, cursor);
+
+                }
             }
             else if(types[packet.packetID] == 0x0F)
             {


fixed webgl render color with alpha

fixed webgl render color with alpha

--- src/flash/__native/GLCanvasRenderingContext2D.as
+++ src/flash/__native/GLCanvasRenderingContext2D.as
@@ -116,7 +116,7 @@
 				"uniform sampler2D fs0;"+
 			   "void main(void) {" +
 					"vec4 c=texture2D(fs0,vUV);" +
-					//"c.xyz*=vColor.a;" +
+					"c.xyz*=vColor.a;" +
 					"gl_FragColor = c*vColor;"+
 				"}";
 			bitmapProg = ctx.createProgram();


fix border drawing

fix border drawing

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SingleLineBorderBead.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SingleLineBorderBead.as
@@ -65,6 +65,7 @@
 			_strand = value;
             IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
             IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+            IEventDispatcher(value).addEventListener("sizeChanged", changeHandler);
 		}

 		private function changeHandler(event:Event):void


fix vertical align

fix vertical align

--- frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
+++ frameworks/projects/HTML/as/src/org/apache/flex/html/beads/layouts/HorizontalLayout.as
@@ -145,11 +145,13 @@
                 lastmr = mr;
                 var marginObject:Object = {};
                 verticalMargins[i] = marginObject;
+                var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
+                marginObject.valign = valign;
                 if (!hostSizedToContent)
                 {
                     // if host is sized by parent,
                     // we can position and size children horizontally now
-                    setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h);
+                    setPositionAndHeight(child, top, mt, padding.top, bottom, mb, padding.bottom, h, valign);
                     maxHeight = Math.max(maxHeight, mt + child.height + mb);
                 }
                 else
@@ -167,8 +169,6 @@
                     maxHeight = Math.max(maxHeight, mt + child.height + mb);
                 }
 				xx = child.x + child.width;
-				var valign:* = ValuesManager.valuesImpl.getValue(child, "vertical-align");
-				marginObject.valign = valign;
 			}
             if (hostSizedToContent)
             {
@@ -181,39 +181,9 @@
                     if (child == null || !child.visible) continue;
                     var obj:Object = verticalMargins[i];
                     setPositionAndHeight(child, obj.top, obj.marginTop, padding.top,
-                        obj.bottom, obj.marginBottom, padding.bottom, maxHeight);
-                }
-            }
-			for (i = 0; i < n; i++)
-			{
-				child = contentView.getElementAt(i) as IUIBase;
-                ilc = child as ILayoutChild;
-				if (child == null || !child.visible) continue;
-                obj = verticalMargins[i];
-                if (ilc)
-                {
-                    if (!isNaN(ilc.percentHeight))
-                        ilc.setHeight(contentView.height * ilc.percentHeight / 100, !isNaN(ilc.percentHeight));
-                }
-                if (ilc)
-                {
-    				if (obj.valign == "top")
-                        ilc.setY(obj.marginTop + padding.top);
-    				else if (valign == "bottom")
-                        ilc.setY(maxHeight - child.height - obj.marginBottom);
-    				else // TODO: aharui - baseline
-                        ilc.setY((maxHeight - child.height) / 2);
-                }
-                else
-                {
-                    if (obj.valign == "top")
-                        child.y = obj.marginTop + padding.top;
-                    else if (valign == "bottom")
-                        child.y = maxHeight - child.height - obj.marginBottom;
-                    else // TODO: aharui - baseline
-                        child.y = (maxHeight - child.height) / 2;
-                }
-			}
+                        obj.bottom, obj.marginBottom, padding.bottom, maxHeight, obj.valign);
+                }
+            }

 			// Only return true if the contentView needs to be larger; that new
 			// size is stored in the model.
@@ -225,53 +195,72 @@
 		}

         private function setPositionAndHeight(child:IUIBase, top:Number, mt:Number, pt:Number,
-                                             bottom:Number, mb:Number, pb:Number, h:Number):void
+                                             bottom:Number, mb:Number, pb:Number, h:Number,
+                                             valign:*):void
         {
             var heightSet:Boolean = false;

             var hh:Number = h;
             var ilc:ILayoutChild = child as ILayoutChild;
-            if (!isNaN(top))
-            {
-                if (ilc)
-                    ilc.setY(top + mt);
-                else
-                    child.y = top + mt;
-                hh -= top + mt;
-            }
-            else
-            {
-                if (ilc)
-                    ilc.setY(mt + pt);
-                else
-                    child.y = mt + pt;
-                hh -= mt + pt;
-            }
-            if (!isNaN(bottom))
-            {
-                if (!isNaN(top))
-                {
-                    if (ilc)
-                        ilc.setHeight(hh - bottom - mb, true);
-                    else
-                    {
-                        child.height = hh - bottom - mb;
-                        heightSet = true;
-                    }
-                }
-                else
-                {
-                    if (ilc)
-                        ilc.setY(h - bottom - mb - child.height);
-                    else
-                        child.y = h - bottom - mb - child.height;
-                }
-            }
             if (ilc)
             {
                 if (!isNaN(ilc.percentHeight))
                     ilc.setHeight(h * ilc.percentHeight / 100, true);
             }
+            if (valign == "top")
+            {
+                if (!isNaN(top))
+                {
+                    if (ilc)
+                        ilc.setY(top + mt);
+                    else
+                        child.y = top + mt;
+                    hh -= top + mt;
+                }
+                else
+                {
+                    if (ilc)
+                        ilc.setY(mt + pt);
+                    else
+                        child.y = mt + pt;
+                    hh -= mt + pt;
+                }
+                if (ilc.isHeightSizedToContent())
+                {
+                    if (!isNaN(bottom))
+                    {
+                        if (!isNaN(top))
+                        {
+                            if (ilc)
+                                ilc.setHeight(hh - bottom - mb, true);
+                            else
+                            {
+                                child.height = hh - bottom - mb;
+                                heightSet = true;
+                            }
+                        }
+                    }
+                }
+            }
+            else if (valign == "bottom")
+            {
+                if (!isNaN(bottom))
+                {
+                    if (ilc)
+                        ilc.setY(h - bottom - mb - child.height);
+                    else
+                        child.y = h - bottom - mb - child.height;
+                }
+                else
+                {
+                    if (ilc)
+                        ilc.setY(h - mb - child.height);
+                    else
+                        child.y = h - mb - child.height;
+                }
+            }
+            else
+                child.y = (h - child.height) / 2;
             if (!heightSet)
                 child.dispatchEvent(new Event("sizeChanged"));
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10075
Author:   rfrishbe@adobe.com
Date:     2009-09-09T01:01:58.077369Z

Log Message:
-----------
Cleanups from the spark text changes and some bug fixes for VideoElement.  Also some PARB changes for UIComponent.

TitleBar: Changing the skin part type from Label to Textbase

UIComponent: skipMeasure()->canSkipMeasurement() to be in line with GraphicElement.  This has been PARB approved.
UIComponent: same with hasComplexLayoutMatrix...this replaces hasDeltaIdentityTransform.  This has been PARB approved.

StyleProtoChain: cleanup around what interfaces to use

TextBase: clean up code that’s no longer needed.

VideoElement: Fixing 4 bugs:
SDK-22824: sourceLastPlayed keeps track of what video file we’ve called play() with last.  This way if a user pauses the video and wants to start it up again at the same point, we can call play(null) on the underlying FLVPlayback videoPlayer.  However, anytime the souce changes, we want to null out sourceLastPlayed.  This was causing a bug when someone set the source to null and then reset it to it’s previous value.

SDK-23034 (GUMBO_PRIORITY): This deals with some FLVPlayback quirks around sizing.  I had put in a fix so we weren’t setting width/height on the underlying videoPlayer too many times, but apparently we need to make sure it always gets called once.  Hopefully when switching to Strobe we can cleanup this logic...I put a FIXME in to do this.

SDK-21947/ SDK-22533 - some video files don’t always send out a metadata event.  I’m not quite sure why this is, but in case this happens, we do a check in the ready handler to see whether we should call invalidateSize() to make sure it gets sized properly.

QE notes:-
Doc notes:-
Bugs: SDK-22824, SDK-23034, SDK-21947, SDK-22533
Reviewer: Glenn, Corey
Tests run: checkintests, Button, GraphicTags, VideoElement, and VideoPlayer (some VideoPlayer were failing, but I think it should be fine)
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -427,8 +427,6 @@
     {
         if (applyLocalProjection && removeLocalProjectionWhenComplete)
         {
-            // FIXME (rfrishbe): need to check for IUIComponent?
-            // as well if checking for IVisualElement?
             var parent:DisplayObject= target.parent as DisplayObject;

             if (parent != null)


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

--- frameworks/projects/advancedgrids/src/mx/collections/SummaryField.as
+++ frameworks/projects/advancedgrids/src/mx/collections/SummaryField.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 mx.collections
 {


TFC-12136
Removing all the PropertyChangeEvent dispatches which have no value set for property and oldValue, and the itemUpdated() calls in collections (which yield the same type of events) when they come after updates to object's public and bindable properties, because that makes the dispatches superfluous. (The ones I'm leaving in are the ones after updating private properties on objects, so after bypassing the bindable getters and setters, e.g. in AbstractEmployeeTimeAllocationGroupTO; and the ones I don't have time to understand why they're there.)

As a result, IMulticurrencyLineItem does not need to extend IEventDispatcher anymore.

NOTES:
-see the comment in this ticket for why it should be pretty safe to do this.
-also made some minor refactoring where appropriate.

--- frameworks/projects/framework/src/mx/collections/ComplexSortField.as
+++ frameworks/projects/framework/src/mx/collections/ComplexSortField.as
@@ -20,6 +20,7 @@
 package mx.collections {
     import mx.utils.ObjectUtil;

+    [Alternative(replacement="spark.collections.ComplexSortField", since="4.15")]
     public class ComplexSortField extends SortField implements IComplexSortField
     {
         private var _nameParts:Array;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/IPropertyChangeNotifier.as
+++ frameworks/projects/framework/src/mx/core/IPropertyChangeNotifier.as
@@ -69,6 +69,11 @@
  *
  *
  *  </pre></code>
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IPropertyChangeNotifier extends IEventDispatcher, IUID
 {


FLEX-34852 FLEX-34853 Due to many bugs which link sorting a ListCollectionView and getItemIndex / removeAll throwing a fatal error (e.g. FLEX-22649, FLEX-34838, FLEX-4705), we're adding these methods at the end of each (applicable) test. NOTE that this way we opened FLEX-34853.

--- frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
+++ frameworks/projects/framework/tests/ListCollectionView_Sort_Tests.as
@@ -22,6 +22,8 @@
     import mx.collections.IList;
     import mx.collections.ListCollectionView;

+    import org.flexunit.assertThat;
+
     import org.flexunit.asserts.assertEquals;

     import mx.collections.Sort;
@@ -58,6 +60,7 @@

             //then
             assertItemsAre([4, 3, 2, 1, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -77,6 +80,7 @@

             //then
             assertItemsAre([5, 4, 3, 2, 1, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -96,6 +100,7 @@

             //then
             assertItemsAre([4, 2, 1, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -115,6 +120,7 @@

             //then
             assertItemsAre([4, 3, 2, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -134,6 +140,7 @@

             //then
             assertItemsAre([100, 4, 3, 2, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -153,6 +160,7 @@

             //then
             assertItemsAre([4, 3, 3, 2, 1, 0]);
+            assertRemoveAll();
         }

         [Test]
@@ -172,6 +180,7 @@

             //then
             assertItemsAre([4, 3, 3, 2, 1, 0]);
+            assertRemoveAll();
         }

@@ -191,6 +200,8 @@

             //then
             assertIndexesAre([4, 3, 2, 1, 0]);
+            assertGetItemIndex(from0To4);
+            assertRemoveAll();
         }

         [Test]
@@ -199,7 +210,8 @@
             //given
             var from0To4:IList = generateVOs(5);
             _sut.addAll(from0To4); //values["name"]: Object0, Object1, Object2, Object3, Object4
-            _sut.addItem(generateOneObject(2, "ABC")); //values["name"]: Object0, Object1, Object2, Object3, Object4, ABC2
+            const abc2:ListCollectionView_Sort_VO = generateOneObject(2, "ABC");
+            _sut.addItem(abc2); //values["name"]: Object0, Object1, Object2, Object3, Object4, ABC2

             const sortByIndexDescending:Sort = new Sort();
             sortByIndexDescending.fields = [new SortField("index", false, true, true), new SortField("name", false, false, false)];
@@ -211,6 +223,13 @@
             //then
             assertIndexesAre([4, 3, 2, 2, 1, 0]);
             assertNamesAre(["Object4", "Object3", "ABC2", "Object2", "Object1", "Object0"]);
+
+            const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+            itemsInSUT.addAll(from0To4);
+            itemsInSUT.addItem(abc2);
+            assertGetItemIndex(itemsInSUT);
+
+            assertRemoveAll();
         }

         [Test]
@@ -226,11 +245,21 @@
             _sut.refresh(); //values["name"]: Object4, Object3, Object2, Object1, Object0

             //when
-            _sut.addItem(generateOneObject(6));
-            _sut.addItem(generateOneObject(3.5));
+            const item6:ListCollectionView_Sort_VO = generateOneObject(6);
+            _sut.addItem(item6);
+            const item3_5:ListCollectionView_Sort_VO = generateOneObject(3.5);
+            _sut.addItem(item3_5);

             //then
             assertIndexesAre([6, 4, 3.5, 3, 2, 1, 0]);
+
+            const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+            itemsInSUT.addAll(from0To4);
+            itemsInSUT.addItem(item6);
+            itemsInSUT.addItem(item3_5);
+            assertGetItemIndex(itemsInSUT);
+
+            assertRemoveAll();
         }

         [Test]
@@ -246,10 +275,17 @@
             _sut.refresh(); //values["name"]: Object4, Object3, Object2, Object1, Object0

             //when
-            _sut.setItemAt(generateOneObject(6), 1);
+            const addedItem:ListCollectionView_Sort_VO = generateOneObject(6);
+            _sut.setItemAt(addedItem, 1);

             //then
             assertIndexesAre([6, 4, 2, 1, 0]);
+            const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
+            itemsInSUT.addAll(from0To4);
+            itemsInSUT.setItemAt(addedItem, 3);
+            assertGetItemIndex(itemsInSUT);
+
+            assertRemoveAll();
         }

         [Test]
@@ -268,7 +304,11 @@

             //then
             assertIndexesAre([0, 1, 2, 3, 4]);
-        }
+            assertGetItemIndex(from4To0);
+
+            assertRemoveAll();
+        }
+

         [Test(description="Testing that changing the properties of the Sort doesn't impact the actual sort order")]
         public function test_sort_fields_on_complex_objects_dont_change_unless_sort_reapplied():void
@@ -287,6 +327,8 @@

             //then
             assertIndexesAre([0, 1, 2, 3, 4]);
+            assertGetItemIndex(from4To0);
+            assertRemoveAll();
         }

         private function assertIndexesAre(indexes:Array):void
@@ -309,8 +351,6 @@
             }
         }

-
-
         private function assertItemsAre(indexes:Array):void
         {
             assertEquals(indexes.length, _sut.length);
@@ -319,6 +359,21 @@
             {
                 assertEquals(indexes[i], _sut.getItemAt(i));
             }
+        }
+
+        private function assertGetItemIndex(items:IList):void
+        {
+            for(var i:int = 0; i < items.length; i++)
+            {
+                var target:ListCollectionView_Sort_VO = items.getItemAt(i) as ListCollectionView_Sort_VO;
+                assertThat("could not find " + target.name, _sut.getItemIndex(target) != -1); //in some bugs, an RTE is thrown here
+            }
+        }
+
+        private function assertRemoveAll():void
+        {
+            _sut.removeAll(); //in some bugs, an RTE is thrown here
+            assertEquals(0, _sut.length);
         }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/SkinnableContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableContainer.as
@@ -39,6 +39,11 @@
  *  component is created.
  *
  *  @eventType mx.events.FlexEvent.CONTENT_CREATION_COMPLETE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="contentCreationComplete", type="mx.events.FlexEvent")]

@@ -47,6 +52,11 @@
  *  event.element is the visual element that was added.
  *
  *  @eventType mx.events.ElementExistenceEvent.ELEMENT_ADD
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="elementAdd", type="mx.events.ElementExistenceEvent")]

@@ -55,6 +65,11 @@
  *  event.element is the visual element that's being removed.
  *
  *  @eventType mx.events.ElementExistenceEvent.ELEMENT_REMOVE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="elementRemove", type="mx.events.ElementExistenceEvent")]

@@ -64,26 +79,51 @@

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

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

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

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

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

@@ -101,6 +141,11 @@
  *  visual content.
  *
  *  @see FxDataContainer
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class FxContainer extends FxContainerBase
        implements IDeferredContentOwner, IViewport, IVisualElementContainer
@@ -146,6 +191,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function FxContainer()
     {
@@ -165,6 +215,11 @@
     /**
      *  A required skin part that defines the Group where the content
      *  children get pushed into and laid out.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public var contentGroup:Group;

@@ -230,6 +285,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get creationPolicy():String
     {
@@ -261,6 +321,11 @@

     /**
      *  @copy mx.components.baseClasses.GroupBase#autoLayout
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get autoLayout():Boolean
     {
@@ -295,6 +360,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get clipAndEnableScrolling():Boolean
     {
@@ -327,6 +397,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get contentWidth():Number
     {
@@ -342,6 +417,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get contentHeight():Number
     {
@@ -356,6 +436,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get horizontalScrollPosition():Number
     {
@@ -385,6 +470,11 @@

     /**
      *  @copy mx.components.baseClasses.GroupBase#layout
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get layout():LayoutBase
     {
@@ -419,6 +509,11 @@

     /**
      *  @copy mx.components.Group#mxmlContent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function set mxmlContent(value:Array):void
     {
@@ -452,6 +547,11 @@
     /**
      *  A factory object that creates the initial value for the
      *  content property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function set mxmlContentFactory(value:IDeferredInstance):void
     {
@@ -470,6 +570,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get verticalScrollPosition():Number
     {
@@ -501,6 +606,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get numElements():int
     {
@@ -509,6 +619,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getElementAt(index:int):IVisualElement
     {
@@ -518,6 +633,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getElementIndex(element:IVisualElement):int
     {
@@ -526,6 +646,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function addElement(element:IVisualElement):IVisualElement
     {
@@ -534,6 +659,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function addElementAt(element:IVisualElement, index:int):IVisualElement
     {
@@ -542,6 +672,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function removeElement(element:IVisualElement):IVisualElement
     {
@@ -550,6 +685,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function removeElementAt(index:int):IVisualElement
     {
@@ -558,6 +698,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function setElementIndex(element:IVisualElement, index:int):void
     {
@@ -566,6 +711,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function swapElements(element1:IVisualElement, element2:IVisualElement):void
     {
@@ -574,6 +724,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function swapElementsAt(index1:int, index2:int):void
     {
@@ -586,6 +741,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getHorizontalScrollPositionDelta(scrollUnit:uint):Number
     {
@@ -595,6 +755,11 @@

     /**
      *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function getVerticalScrollPositionDelta(scrollUnit:uint):Number
     {
@@ -610,6 +775,11 @@

     /**
      *  Create our content, if the creationPolicy is != "none".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override protected function createChildren():void
     {
@@ -627,6 +797,11 @@
      *  This method pushes the content, layout, itemRenderer, and
      *  itemRendererFunction properties down to the contentGroup
      *  skin part.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override protected function partAdded(partName:String, instance:Object):void
     {
@@ -718,6 +893,11 @@

     /**
      *  Called when a skin part is removed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override protected function partRemoved(partName:String, instance:Object):void
     {
@@ -826,6 +1006,11 @@
      *  "all", this function is called automatically by the Flex framework.
      *  When creationPolicy="none", this method must be called to initialize
      *  the content property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function createDeferredContent():void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18674
Author:   cframpto@adobe.com
Date:     2010-11-17T20:45:54.108853Z

Log Message:
-----------
When selecting cell(s), don't allow a cell in a column which has visible=false be selected.  If a cell range is selected that spans columns that aren't visible, internally, the cell range will be broken up into regions that contain only the visible columns.  If a column becomes invisible, and either the anchorColumnIndex or the caretColumnIndex were set to that column, reinitialize to the first visible column, or -1 if there aren't any.  Fix up how the old caret position is saved so the CARET_CHANGE event will have the correct values.

QE notes: caret tests that were excluded need to be updated
Doc notes:
Bugs: SDK-28540
Reviewer: Hans, Kevin
Tests run: many cyclones
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/events/GridSelectionEventKind.as
+++ frameworks/projects/spark/src/spark/events/GridSelectionEventKind.as
@@ -95,13 +95,6 @@
      */
     public static const SET_ROWS:String = "setRows";

-    /*
-    public static const SET_COLUMN:String = "setColumn";
-    public static const ADD_COLUMN:String = "addColumn";
-    public static const REMOVE_COLUMN:String = "removeColumn";
-    public static const SET_COLUMNS:String = "setColumns";
-    */
-
     /**
      *  Indicates that the current selection should be set to this cell.
      *


The password length requirements have changed.  Resetting this test to not rely on the specific numbers.

--- targets/actionscript/source/PlayFabApiTests.as
+++ targets/actionscript/source/PlayFabApiTests.as
@@ -166,7 +166,7 @@

             // Find and verify each expected error detail message
             var expectedEmailMsg:String = "Email address is not valid.";
-            var expectedPasswordMsg:String = "Password must be between 6 and 30 characters.";
+            var expectedPasswordMsg:String = "Password must be between";
             var foundEmailMsg:Boolean = false;
             var foundPasswordMsg:Boolean = false;
             var allMessages:String = "";


Remove dead code. r=Armando

Remove dead code. r=Armando

--- src/org/jivesoftware/xiff/core/XMPPConnection.as
+++ src/org/jivesoftware/xiff/core/XMPPConnection.as
@@ -202,8 +202,6 @@
 		 */
 		protected var _expireTagSearch:Boolean;

-		protected static var _openConnections:Array = [];
-
 		public function XMPPConnection()
 		{

@@ -607,25 +605,12 @@

 		protected function set active(flag:Boolean):void
 		{
-			if(flag)
-			{
-				_openConnections.push(this);
-			}
-			else
-			{
-				_openConnections.splice(_openConnections.indexOf(this), 1);
-			}
 			_active = flag;
 		}

 		protected function get active():Boolean
 		{
 			return _active;
-		}
-
-		public static function get openConnections():Array
-		{
-			return _openConnections;
 		}

 		/**


Fix update of a tree root transform matrix.

--- src/aerys/minko/scene/controller/TransformController.as
+++ src/aerys/minko/scene/controller/TransformController.as
@@ -67,9 +67,22 @@

 		private function updateLocalToWorld(nodeId : uint = 0) : void
 		{
-			var numNodes 		: uint 	= _transforms.length;
-			var childrenOffset	: uint	= 1;
-
+			var numNodes 			: uint 			= _transforms.length;
+			var childrenOffset		: uint			= 1;
+			var rootLocalToWorld	: Matrix4x4		= _localToWorldTransforms[nodeId];
+			var rootTransform		: Matrix4x4		= _transforms[nodeId];
+			var root				: ISceneNode	= _idToNode[childId];
+
+			if (rootTransform._hasChanged)
+			{
+				rootLocalToWorld.copyFrom(rootTransform);
+
+				if (nodeId != 0)
+					rootLocalToWorld.append(_transforms[_parentId]);
+
+				root.localToWorldTransformChanged.execute(root, rootLocalToWorld);
+			}
+
 			for (; nodeId < numNodes; ++nodeId)
 			{
 				var localToWorld 	: Matrix4x4	= _localToWorldTransforms[nodeId];


Changed core.log to make logger configuration a one-time operation instead of it being repeated each time log is invoked

--- core/log.as
+++ core/log.as
@@ -1,17 +1,30 @@
 package
 {
 	import flash.display.BitmapData;
-	import flash.utils.getDefinitionByName;
 	public function log(...rest):void
 	{
-		try
-		{
-			var logger:Class = getDefinitionByName('com.nesium.logging.TrazzleLogger') as Class;
-			if (rest.length == 1 && rest[0] is BitmapData)
-				logger['instance']().logBitmapData(rest[0]);
-			else
-				logger['instance']().log(rest.toString());
+		if (!initialized)
+			initLogger();
+		if (!logger)
+			return;
+		if (rest.length == 1 && rest[0] is BitmapData)
+			logger.logBitmapData(rest[0]);
+		else
+			logger.log(rest.toString());
 		}
-		catch (e:Error) {}
+}
+
+var logger : Object;
+var initialized : Boolean;
+
+import flash.utils.getDefinitionByName;
+function initLogger() : void
+{
+	initialized = true;
+	try
+	{
+		var loggerClass:Class = getDefinitionByName('com.nesium.logging.TrazzleLogger') as Class;
+		logger = loggerClass['instance']();
 	}
+	catch (e:Error) {}
 }


fixed bug handling undefined param in Weave.id()

--- WeaveJS/src/Weave.as
+++ WeaveJS/src/Weave.as
@@ -743,7 +743,7 @@
 		public static function id(arg:* = undefined):*
 		{
 			var type:String = typeof(arg);
-			if (arguments.length == 0 || (type != 'object' && type != 'function'))
+			if (arguments.length == 0 || type == 'string' || type == 'number')
 				return DebugUtils.debugLookup(arg);
 			return DebugUtils.debugId(arg);
 		}


Fixing a bug when trying to read from an already closed socket.

--- AS3WebSocket/src/com/worlize/websocket/WebSocket.as
+++ AS3WebSocket/src/com/worlize/websocket/WebSocket.as
@@ -399,7 +399,7 @@

 			// addData returns true if the frame is complete, and false
 			// if more data is needed.
-			while (currentFrame.addData(socket, fragmentationOpcode, config) && !fatalError) {
+			while (socket.connected && currentFrame.addData(socket, fragmentationOpcode, config) && !fatalError) {
 				if (currentFrame.protocolError) {
 					drop(WebSocketCloseStatus.PROTOCOL_ERROR, currentFrame.dropReason);
 					return;


Pulled static isTest method out of TestIterator

--- as3/src/asunit4/framework/TestIterator.as
+++ as3/src/asunit4/framework/TestIterator.as
@@ -152,15 +152,6 @@
             return getTestMethods(test).length;
         }

-        // Let's move this out of static - it's only used by SuiteIterator...
-        // maybe we can defer the check until after we already create
-        // a test iterator.
-        public static function isTest(TestClass:Class):Boolean {
-            var instance:* = new TestClass();
-            var iterator:Iterator = new TestIterator(instance);
-            return (iterator.length > 0);
-        }
-
         public function hasNext():Boolean {
             if (!testMethods) return false;


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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/ListAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/ListAutomationImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      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: 18793
Author:   deeptika@adobe.com
Date:     2010-11-23T06:27:26.825982Z

Log Message:
-----------
Removing unwanted scrolling related code

QE notes:
Doc notes:
Bugs: SDK-28645 (Incremental compilation fails in Hero SDK when mx:Legend is present)
Reviewer:
Tests run:
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/build_framework.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/charts/src/mx/charts/Legend.as</path>

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

--- frameworks/projects/charts/src/mx/charts/Legend.as
+++ frameworks/projects/charts/src/mx/charts/Legend.as
@@ -221,31 +221,7 @@
 	 *  @productversion Flex 3
 	 */
 	[Event(name="dataChange", type="mx.events.FlexEvent")]
-
-	/**
-	 *  Dispatched when the user manually scrolls the container.
-	 *
-	 *
The event is dispatched when the scroll position is changed using
-	 *  either the mouse (e.g. clicking on the scrollbar's "down" button)
-	 *  or the keyboard (e.g., clicking on the down-arrow key).
-	 *  However, this event is not dispatched if the scroll position
-	 *  is changed programatically (e.g., setting the value of the
-	 *  horizontalScrollPosition property).
-	 *  The viewChanged event is delivered whenever the
-	 *  scroll position is changed, either manually or programatically.

-	 *
-	 *
At the time when this event is dispatched, the scrollbar has
-	 *  been updated to the new position, but the container's child objects
-	 *  have not been shifted to reflect the new scroll position.

-	 *
-	 *  @eventType mx.events.ScrollEvent.SCROLL
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Event(name="scroll", type="mx.events.ScrollEvent")]
+

 	//--------------------------------------
 	//  Styles
@@ -430,18 +406,6 @@
 	[Style(name="horizontalAlign", type="String", enumeration="left,center,right", inherit="no")]

 	/**
-	 *  The name of the horizontal scrollbar style.
-	 *
-	 *  @default undefined
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="horizontalScrollBarStyleName", type="String", inherit="no")]
-
-	/**
 	 *  Specifies the label placement of the legend element.
 	 *  Valid values are "top", "bottom",
 	 *  "right", and "left".
@@ -541,18 +505,6 @@
 	 *  @productversion Flex 3
 	 */
 	[Style(name="verticalAlign", type="String", enumeration="bottom,middle,top", inherit="no")]
-
-	/**
-	 *  The name of the vertical scrollbar style.
-	 *
-	 *  @default undefined
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	[Style(name="verticalScrollBarStyleName", type="String", inherit="no")]

 	[ResourceBundle("core")]

@@ -611,15 +563,9 @@
 	 *    creationPolicy="auto|all|queued|none"
 	 *    dataProvider="No default"
 	 *    direction="horizontal|vertical"
-	 *    horizontalLineScrollSize="5"
-	 *    horizontalPageScrollSize="0"
-	 *    horizontalScrollBar="null"
 	 *    horizontalScrollPosition="0"
 	 *    legendItemClass="No default"
-	 *    verticalLineScrollSize="5"
-	 *    verticalPageScrollSize="0"
-	 *    verticalScrollBar="null"
-	 *    verticalScrollPosition="0"	 *
+	 *    verticalScrollPosition="0"
 	 *
 	 *    Styles
 	 *    backgroundAlpha="1.0"
@@ -650,7 +596,6 @@
 	 *    fontWeight="normal"
 	 *    horizontalAlign="left|center|right"
 	 *    horizontalGap="8"
-	 *    horizontalScrollBarStyleName="undefined"
 	 *    labelPlacement="right|left|top|bottom"
 	 *    markerHeight="15"
 	 *    markerWidth="10"
@@ -666,7 +611,6 @@
 	 *    textIndent="0"
 	 *    verticalAlign="top|middle|bottom"
 	 *    verticalGap="6"
-	 *    verticalScrollBarStyleName="undefined"
 	 *
 	 *    Events
 	 *    childAdd="No default"
@@ -678,7 +622,6 @@
 	 *    itemMouseOut="Event; no default"
 	 *    itemMouseOver="Event; no default"
 	 *    itemMouseUp="Event; no default"
-     *    scroll="No default"
 	 *  />
 	 *

 	 *
@@ -916,7 +859,6 @@
 		 *  @private
 		 *  Flags that remember what work to do during the next updateDisplayList().
 		 */
-		private var scrollPropertiesChanged:Boolean = false;
 		private var scrollPositionChanged:Boolean = true;
 		private var horizontalScrollPositionPending:Number;
 		private var verticalScrollPositionPending:Number;
@@ -1286,12 +1228,6 @@
 		override public function set enabled(value:Boolean):void
 		{
 			super.enabled = value;
-
-			// Scrollbars must be enabled/disabled when this container is.
-			/*if (horizontalScrollBar)
-				horizontalScrollBar.enabled = value;
-			if (verticalScrollBar)
-				verticalScrollBar.enabled = value;*/

 			invalidateProperties();

@@ -2026,131 +1962,6 @@
 		{
 			return _firstChildIndex;
 		}
-
-		//----------------------------------
-		//  horizontalLineScrollSize
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  Storage for the horizontalLineScrollSize property.
-		 */
-		private var _horizontalLineScrollSize:Number = 5;
-
-		[Bindable("horizontalLineScrollSizeChanged")]
-		[Inspectable(defaultValue="5")]
-
-		/**
-		 *  Number of pixels to move when the left- or right-arrow
-		 *  button in the horizontal scroll bar is pressed.
-		 *
-		 *  @default 5
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function get horizontalLineScrollSize():Number
-		{
-			return _horizontalLineScrollSize;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set horizontalLineScrollSize(value:Number):void
-		{
-			scrollPropertiesChanged = true;
-
-			_horizontalLineScrollSize = value;
-
-			invalidateDisplayList();
-
-			dispatchEvent(new Event("horizontalLineScrollSizeChanged"));
-		}
-
-		//----------------------------------
-		//  horizontalPageScrollSize
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  Storage for the horizontalPageScrollSize property.
-		 */
-		private var _horizontalPageScrollSize:Number = 0;
-
-		[Bindable("horizontalPageScrollSizeChanged")]
-		[Inspectable(defaultValue="0")]
-
-		/**
-		 *  Number of pixels to move when the track in the
-		 *  horizontal scroll bar is pressed.
-		 *  A value of 0 means that the page size
-		 *  will be calculated to be a full screen.
-		 *
-		 *  @default 0
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function get horizontalPageScrollSize():Number
-		{
-			return _horizontalPageScrollSize;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set horizontalPageScrollSize(value:Number):void
-		{
-			scrollPropertiesChanged = true;
-
-			_horizontalPageScrollSize = value;
-
-			invalidateDisplayList();
-
-			dispatchEvent(new Event("horizontalPageScrollSizeChanged"));
-		}
-
-		//----------------------------------
-		//  horizontalScrollBar
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  The horizontal scrollbar (null if not present).
-		 */
-		//private var _horizontalScrollBar:ScrollBar;
-
-		/**
-		 *  The horizontal scrollbar used in this container.
-		 *  This property is null if no horizontal scroll bar
-		 *  is currently displayed.
-		 *  In general you do not access this property directly.
-		 *  Manipulation of the horizontalScrollPolicy
-		 *  and horizontalScrollPosition
-		 *  properties should provide sufficient control over the scroll bar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-	/*	public function get horizontalScrollBar():ScrollBar
-		{
-			return null;
-		}
-
-		/**
-		 *  @private
-		 */
-		/*public function set horizontalScrollBar(value:ScrollBar):void
-		{
-			_horizontalScrollBar = value;
-		}*/

 		//----------------------------------
 		//  horizontalScrollPosition
@@ -2549,132 +2360,6 @@
 			// Containers, by default, always use padding.
 			return true;
 		}
-
-		//----------------------------------
-		//  verticalLineScrollSize
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  Storage for the verticalLineScrollSize property.
-		 */
-		private var _verticalLineScrollSize:Number = 5;
-
-		[Bindable("verticalLineScrollSizeChanged")]
-		[Inspectable(defaultValue="5")]
-
-		/**
-		 *  Number of pixels to scroll when the up- or down-arrow
-		 *  button in the vertical scroll bar is pressed,
-		 *  or when you scroll by using the mouse wheel.
-		 *
-		 *  @default 5
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function get verticalLineScrollSize():Number
-		{
-			return _verticalLineScrollSize;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set verticalLineScrollSize(value:Number):void
-		{
-			scrollPropertiesChanged = true;
-
-			_verticalLineScrollSize = value;
-
-			invalidateDisplayList();
-
-			dispatchEvent(new Event("verticalLineScrollSizeChanged"));
-		}
-
-		//----------------------------------
-		//  verticalPageScrollSize
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  Storage for the verticalPageScrollSize property.
-		 */
-		private var _verticalPageScrollSize:Number = 0;
-
-		[Bindable("verticalPageScrollSizeChanged")]
-		[Inspectable(defaultValue="0")]
-
-		/**
-		 *  Number of pixels to scroll when the track
-		 *  in the vertical scroll bar is pressed.
-		 *  A value of 0 means that the page size
-		 *  will be calculated to be a full screen.
-		 *
-		 *  @default 0
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		public function get verticalPageScrollSize():Number
-		{
-			return _verticalPageScrollSize;
-		}
-
-		/**
-		 *  @private
-		 */
-		public function set verticalPageScrollSize(value:Number):void
-		{
-			scrollPropertiesChanged = true;
-
-			_verticalPageScrollSize = value;
-
-			invalidateDisplayList();
-
-			dispatchEvent(new Event("verticalPageScrollSizeChanged"));
-		}
-
-		//----------------------------------
-		//  verticalScrollBar
-		//----------------------------------
-
-		/**
-		 *  @private
-		 *  The vertical scrollbar (null if not present).
-		 */
-		//private var _verticalScrollBar:ScrollBar;
-
-		/**
-		 *  The vertical scrollbar used in this container.
-		 *  This property is null if no vertical scroll bar
-		 *  is currently displayed.
-		 *  In general you do not access this property directly.
-		 *  Manipulation of the verticalScrollPolicy
-		 *  and verticalScrollPosition
-		 *  properties should provide sufficient control over the scroll bar.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Flex 3
-		 */
-		/*public function get verticalScrollBar():ScrollBar
-		{
-			return _verticalScrollBar;
-		}
-
-		/**
-		 *  @private
-		 */
-		/*public function set verticalScrollBar(value:ScrollBar):void
-		{
-			_verticalScrollBar = value;
-		}*/

 		//----------------------------------
 		//  verticalScrollPosition
@@ -4063,24 +3748,7 @@

 				scrollPositionChanged = false;
 			}
-
-			if (scrollPropertiesChanged)
-			{
-				/*if (horizontalScrollBar)
-				{
-					horizontalScrollBar.lineScrollSize = horizontalLineScrollSize;
-					horizontalScrollBar.pageScrollSize = horizontalPageScrollSize;
-				}
-
-				if (verticalScrollBar)
-				{
-					verticalScrollBar.lineScrollSize = verticalLineScrollSize;
-					verticalScrollBar.pageScrollSize = verticalPageScrollSize;
-				}*/
-
-				scrollPropertiesChanged = false;
-			}
-
+
 			if (contentPane && contentPane.scrollRect)
 			{
 				// Draw content pane
@@ -4365,28 +4033,6 @@
 			{
 				invalidateViewMetricsAndPadding();
 			}
-
-			if (allStyles || styleProp == "horizontalScrollBarStyleName")
-			{
-				/*if (horizontalScrollBar && horizontalScrollBar is ISimpleStyleClient)
-				{
-					var horizontalScrollBarStyleName:String =
-						getStyle("horizontalScrollBarStyleName");
-					ISimpleStyleClient(horizontalScrollBar).styleName =
-						horizontalScrollBarStyleName;
-				}*/
-			}
-
-			if (allStyles || styleProp == "verticalScrollBarStyleName")
-			{
-				/*if (verticalScrollBar && verticalScrollBar is ISimpleStyleClient)
-				{
-					var verticalScrollBarStyleName:String =
-						getStyle("verticalScrollBarStyleName");
-					ISimpleStyleClient(verticalScrollBar).styleName =
-						verticalScrollBarStyleName;
-				}*/
-			}
 		}

 		/**
@@ -5721,13 +5367,6 @@
 				changed = true;
 			}

-			// Set the position of the horizontal scrollbar's thumb.
-			/*if (horizontalScrollBar &&
-				horizontalScrollBar.scrollPosition != _horizontalScrollPosition)
-			{
-				horizontalScrollBar.scrollPosition = _horizontalScrollPosition;
-			}*/
-
 			// Clamp verticalScrollPosition to the range
 			// 0 through maxVerticalScrollPosition.
 			// If verticalScrollBar doesn't exist,
@@ -5742,13 +5381,6 @@
 				_verticalScrollPosition = maxVerticalScrollPosition;
 				changed = true;
 			}
-
-			// Set the position of the vertical scrollbar's thumb.
-			/*if (verticalScrollBar &&
-				verticalScrollBar.scrollPosition != _verticalScrollPosition)
-			{
-				verticalScrollBar.scrollPosition = _verticalScrollPosition;
-			}*/

 			return changed;
 		}
@@ -5833,13 +5465,7 @@
 			{
 				x += _horizontalScrollPosition;

-				/*if (horizontalScrollBar)
-					w = viewableWidth;*/
-
 				y += _verticalScrollPosition;
-
-				/*if (verticalScrollBar)
-					h = viewableHeight;*/
 			}
 			else
 			{
@@ -5875,22 +5501,6 @@

 		/**
 		 *  @private
-		 */
-		private function dispatchScrollEvent(direction:String,
-											 oldPosition:Number,
-											 newPosition:Number,
-											 detail:String):void
-		{
-			/*var event:ScrollEvent = new ScrollEvent(ScrollEvent.SCROLL);
-			event.direction = direction;
-			event.position = newPosition;
-			event.delta = newPosition - oldPosition;
-			event.detail = detail;
-			dispatchEvent(event);*/
-		}
-
-		/**
-		 *  @private
 		 *  Used by a child component to force clipping during a Move effect
 		 */
 		private var _forceClippingCount:int;
@@ -5967,115 +5577,8 @@
 			// If the KeyBoardEvent can be canceled and a descendant has done so,
 			// don't process it at all.
 			if (event.isDefaultPrevented())
-				return;
-
-			var direction:String;
-			var oldPos:Number;
-
-			/*if (verticalScrollBar)
-			{
-				direction = ScrollEventDirection.VERTICAL;
-				oldPos = verticalScrollPosition;
-
-				switch (event.keyCode)
-				{
-					case Keyboard.DOWN:
-					{
-						verticalScrollPosition += verticalLineScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.LINE_DOWN);
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.UP:
-					{
-						verticalScrollPosition -= verticalLineScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.LINE_UP);
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.PAGE_UP:
-					{
-						verticalScrollPosition -= verticalPageScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.PAGE_UP);
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.PAGE_DOWN:
-					{
-						verticalScrollPosition += verticalPageScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.PAGE_DOWN);
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.HOME:
-					{
-						verticalScrollPosition =
-							verticalScrollBar.minScrollPosition;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.AT_TOP);
-
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.END:
-					{
-						verticalScrollPosition =
-							verticalScrollBar.maxScrollPosition;
-						dispatchScrollEvent(direction, oldPos,
-							verticalScrollPosition,
-							ScrollEventDetail.AT_BOTTOM);
-						event.stopPropagation();
-						break;
-					}
-				}
-			}*/
-
-			/*if (horizontalScrollBar)
-			{
-				direction = ScrollEventDirection.HORIZONTAL;
-				oldPos = horizontalScrollPosition;
-
-				// If rtl layout, need to swap LEFT and RIGHT so correct action
-				// is done.
-				var keyCode:uint = mapKeycodeForLayoutDirection(event);
-
-				switch (keyCode)
-				{
-					case Keyboard.LEFT:
-					{
-						horizontalScrollPosition -= horizontalLineScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							horizontalScrollPosition,
-							ScrollEventDetail.LINE_LEFT);
-						event.stopPropagation();
-						break;
-					}
-
-					case Keyboard.RIGHT:
-					{
-						horizontalScrollPosition += horizontalLineScrollSize;
-						dispatchScrollEvent(direction, oldPos,
-							horizontalScrollPosition,
-							ScrollEventDetail.LINE_RIGHT);
-						event.stopPropagation();
-						break;
-					}
-				}
-			}*/
+				return;
+
 		}

 		//--------------------------------------------------------------------------
@@ -6092,30 +5595,6 @@
 		{
 			// If this Container has a vertical scrollbar, then handle the event
 			// and prevent further bubbling
-			/*if (verticalScrollBar && !event.isDefaultPrevented())
-			{
-				var scrollDirection:int = event.delta <= 0 ? 1 : -1;
-
-				var lineScrollSize:int = verticalScrollBar ?
-					verticalScrollBar.lineScrollSize :
-					1;
-
-				// Make sure we scroll by at least one line
-				var scrollAmount:Number =
-					Math.max(Math.abs(event.delta), lineScrollSize);
-
-				// Multiply by 3 to make scrolling a little faster
-				var oldPosition:Number = verticalScrollPosition;
-				verticalScrollPosition += 3 * scrollAmount * scrollDirection;
-
-				dispatchScrollEvent(ScrollEventDirection.VERTICAL,
-					oldPosition, verticalScrollPosition,
-					event.delta <= 0 ?
-					ScrollEventDetail.LINE_UP :
-					ScrollEventDetail.LINE_DOWN);
-
-				event.preventDefault();
-			}*/
 		}

 		/**
@@ -6137,17 +5616,6 @@
 					horizontalScrollPositionPending = 0;
 				else if (horizontalScrollPositionPending > maxHorizontalScrollPosition)
 					horizontalScrollPositionPending = maxHorizontalScrollPosition;
-
-				// Set the position of the horizontal scrollbar's thumb.
-				/*if (horizontalScrollBar &&
-					horizontalScrollBar.scrollPosition !=
-					horizontalScrollPositionPending)
-				{
-					_horizontalScrollPosition = horizontalScrollPositionPending;
-					horizontalScrollBar.scrollPosition =
-						horizontalScrollPositionPending;
-					needToScrollChildren = true;
-				}*/

 				horizontalScrollPositionPending = NaN;
 			}
@@ -6161,14 +5629,6 @@
 				else if (verticalScrollPositionPending > maxVerticalScrollPosition)
 					verticalScrollPositionPending = maxVerticalScrollPosition;

-				// Set the position of the vertical scrollbar's thumb.
-				/*if (verticalScrollBar && verticalScrollBar.scrollPosition != verticalScrollPositionPending)
-				{
-					_verticalScrollPosition = verticalScrollPositionPending;
-					verticalScrollBar.scrollPosition = verticalScrollPositionPending;
-					needToScrollChildren = true;
-				}*/
-
 				verticalScrollPositionPending = NaN;
 			}

@@ -6184,46 +5644,6 @@
 			numChildrenCreated--;
 			if (numChildrenCreated <= 0)
 				dispatchEvent(new FlexEvent("childrenCreationComplete"));
-		}
-
-		/**
-		 *  @private
-		 *  This method is called if the user interactively moves
-		 *  the horizontal scrollbar thumb.
-		 */
-		private function horizontalScrollBar_scrollHandler(event:Event):void
-		{
-			// TextField.scroll bubbles so you might see it here
-			/*if (event is ScrollEvent)
-			{
-				var oldPos:Number = horizontalScrollPosition;
-				horizontalScrollPosition = horizontalScrollBar.scrollPosition;
-
-				dispatchScrollEvent(ScrollEventDirection.HORIZONTAL,
-					oldPos,
-					horizontalScrollPosition,
-					ScrollEvent(event).detail);
-			}*/
-		}
-
-		/**
-		 *  @private
-		 *  This method is called if the user interactively moves
-		 *  the vertical scrollbar thumb.
-		 */
-		private function verticalScrollBar_scrollHandler(event:Event):void
-		{
-			// TextField.scroll bubbles so you might see it here
-			/*if (event is ScrollEvent)
-			{
-				var oldPos:Number = verticalScrollPosition;
-				verticalScrollPosition = verticalScrollBar.scrollPosition;
-
-				dispatchScrollEvent(ScrollEventDirection.VERTICAL,
-					oldPos,
-					verticalScrollPosition,
-					ScrollEvent(event).detail);
-			}*/
 		}

 		/**


Revert "don't use undefined here"

Revert "don't use undefined here"

This reverts commit 6764755dbf57df339a927ff93dfd0d7c88cfc36a.

--- externs/GCL/src/main/flex/goog/events/EventType.as
+++ externs/GCL/src/main/flex/goog/events/EventType.as
@@ -125,7 +125,7 @@
      *
      * @see [eventtype]
      */
-    public static const ANIMATIONITERATION:String = 'animationiteration';
+    public static const ANIMATIONITERATION:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.
@@ -174,7 +174,7 @@
      *
      * @see [eventtype]
      */
-    public static const ANIMATIONSTART:String = 'animationstart';
+    public static const ANIMATIONSTART:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.
@@ -216,7 +216,7 @@
      *
      * @see [eventtype]
      */
-    public static const TRANSITIONEND:String = 'transitionend';
+    public static const TRANSITIONEND:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.
@@ -482,7 +482,7 @@
      *
      * @see [eventtype]
      */
-    public static const FOCUSIN:String = 'focus';
+    public static const FOCUSIN:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.
@@ -538,7 +538,7 @@
      *
      * @see [eventtype]
      */
-    public static const FOCUSOUT:String = 'blur';
+    public static const FOCUSOUT:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.
@@ -832,7 +832,7 @@
      *
      * @see [eventtype]
      */
-    public static const ANIMATIONEND:String = 'animationend';
+    public static const ANIMATIONEND:String = undefined /* TODO type not set */;

     /**
      * Generated doc for missing field JSDoc.


Transferred from the Adobe Open Source Subversion Repository

Revision: 5770
Author:   gruehle@adobe.com
Date:     2009-03-30T20:58:54.529722Z

Log Message:
-----------
Add [Alternative] metadata to the Halo components that have a Gumbo replacement.

Bugs: SDK-20190
QA notes: none
Doc notes: Additional ASDoc comments added for many of the classes. These should all be reviewed.
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TileList.as</path>
<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/framework/src/mx/controls/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Zoom.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Cubic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/RemoveChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/TweenEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeRight.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quartic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeLeft.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quintic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quadratic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.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/framework/src/mx/effects/AddChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/SetPropertyAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Blur.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Move.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/framework/src/mx/controls/HorizontalList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -459,6 +459,8 @@
 [DefaultTriggerEvent("change")]

 [IconFile("ComboBox.png")]
+
+[Alternative(replacement="spark.components.DropDownList", since="4.0")]

 /**
  *  The ComboBox control contains a drop-down list


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

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

 package mx.utils
 {


Send message to mastermind when removing a fuse from a slot.


update version 3.9.0

update version 3.9.0

--- kdp3Lib/src/com/kaltura/kdpfl/ApplicationFacade.as
+++ kdp3Lib/src/com/kaltura/kdpfl/ApplicationFacade.as
@@ -32,7 +32,7 @@
 		/**
 		 * The current version of the KDP.
 		 */
-		public var kdpVersion : String = "v3.9.1";
+		public var kdpVersion : String = "v3.9.0";

 		/**


Better error handling in the flash player

--- src/actionscript/Player.as
+++ src/actionscript/Player.as
@@ -120,13 +120,21 @@
     private function netStatusHandler(e: NetStatusEvent): void {
       switch (e.info.code) {
         case "NetConnection.Connect.Success":
-          connectStream(); break;
+          connectStream();
+          break;
+        case "NetStream.Play.Stop":
+          if (loop) {
+            stream.seek(0);
+          }
+          break;
         case "NetConnection.Connect.Failed":
-          throwError(e.info.code, e.info.description); break;
-        case "NetStream.Play.Stop":
-          if (loop) stream.seek(0); break;
+        case "NetStream.Play.StreamNotFound":
+          throwError(e.info.code, e.info.description);
+          break;
         default:
-          if (e.info.level == "error") throwError(e.info.code, e.info.description);
+          if (e.info.level == "error") {
+            throwError(e.info.code, e.info.description);
+          }
       }
     }


Enabled JQueryCaller fallback feature.

Enabled JQueryCaller fallback feature.

Change-Id: I0ed982aa22f47ec7e38a0ae60185b738534419aa

--- WeaveData/src/weave/services/URLRequestUtils.as
+++ WeaveData/src/weave/services/URLRequestUtils.as
@@ -298,6 +298,7 @@
 import flash.events.IOErrorEvent;
 import flash.events.ProgressEvent;
 import flash.events.SecurityErrorEvent;
+import flash.external.ExternalInterface;
 import flash.net.URLLoader;
 import flash.net.URLRequest;
 import flash.utils.ByteArray;
@@ -316,6 +317,7 @@
 import weave.api.services.IURLRequestToken;
 import weave.compiler.StandardLib;
 import weave.services.URLRequestUtils;
+import weave.services.jquery.JQueryCaller;

 internal class CustomURLLoader extends URLLoader
 {
@@ -518,7 +520,7 @@
 	private function handleSecurityError(event:SecurityErrorEvent):void
 	{
 		fixErrorMessage(event);
-		if (false)
+		if (ExternalInterface.available)
 		{
 			// call the JQueryCaller to use JQuery to try to download a file that we had a security error
 			// on - this is to get around the Flash player's security restrictions for downloading files
@@ -526,7 +528,7 @@
 			/** NOTE: this will not work for anything other than text data - it can be used to access data
 			 *        in formats such as XML from a server that does not have a crossdomain.xml that is
 			 *        permissive, this will NOT work for binary data such as images **/
-			//JQueryCaller.getFileFromURL(_urlRequest.url, _asyncToken);
+			JQueryCaller.getFileFromURL(_urlRequest.url, _asyncToken);
 		}
 		else
 		{


Traces: zero padding

Traces: zero padding

--- application/src/im/siver/logger/controllers/TraceController.as
+++ application/src/im/siver/logger/controllers/TraceController.as
@@ -205,11 +205,7 @@

                     // Format the properties
                     date = data["date"];
-                    hours = (date.getHours() < 10) ? "0" + date.getHours().toString() : date.getHours().toString();
-                    minutes = (date.getMinutes() < 10) ? "0" + date.getMinutes().toString() : date.getMinutes().toString();
-                    seconds = (date.getSeconds() < 10) ? "0" + date.getSeconds().toString() : date.getSeconds().toString();
-                    miliseconds = date.getMilliseconds().toString();
-                    time = hours + ":" + minutes + ":" + seconds + "." + miliseconds;
+                    time = zeroPad(date.getHours(), 2) + ":" + zeroPad(date.getMinutes(), 2) + ":" + zeroPad(date.getSeconds(), 2) + "." + zeroPad(date.getMilliseconds(), 3);
                     memory = Math.round(data["memory"] / 1024) + " Kb";

                     // Create the trace object
@@ -229,7 +225,7 @@
                     // Clean target
                     if (data['target'].indexOf('object') != -1) {
                         traceItem.target = String(data['target']).replace('object ', '');
-                    }else{
+                    } else {
                         traceItem.target = data["target"];
                     }

@@ -288,5 +284,13 @@
                     break;
             }
         }
+
+        private function zeroPad(value:int, length:int, pad:String = '0'):String {
+            var result:String = String(value);
+            while (result.length < length) {
+                result = pad + result;
+            }
+            return result;
+        }
     }
 }


WebSocketDataSource improvements Fixed performance issue resulting from use of refreshAllProxyColumns. Added support for messages containing arrays of records.

--- WeaveASJS/src/weavejs/data/source/WebSocketDataSource.as
+++ WeaveASJS/src/weavejs/data/source/WebSocketDataSource.as
@@ -61,6 +61,11 @@
 		//public const selectionFeedback:LinkableBoolean = Weave.linkableChild(this, LinkableBoolean);
 		public const url:LinkableString = Weave.linkableChild(this, LinkableString, onUrlChange);

+		override protected function initialize(forceRefresh:Boolean = false):void
+		{
+			// recalculate all columns previously requested because CSV data may have changed.
+			super.initialize(true);
+		}

 		private function onSelectionFilterChange():void
 		{
@@ -115,11 +120,8 @@
 			_socket = null;
 		}

-		private function onMessage(event:/*/MessageEvent/*/Object):void
-		{
-			var str:String = event.data;
-			var record:Object = JSON.parse(str);
-
+		private function addRecord(record:Object):void
+		{
 			if ((records.length == keepLast.value) && (keepLast.value > 0))
 			{
 				records.shift();
@@ -132,8 +134,23 @@
 			{
 				propertyNames.add(key);
 			}
-
-			refreshAllProxyColumns();
+		}
+
+		private function onMessage(event:/*/MessageEvent/*/Object):void
+		{
+			var str:String = event.data;
+			var message:Object = JSON.parse(str);
+
+			if (message is Array)
+			{
+				message.forEach(addRecord);
+			}
+			else
+			{
+				addRecord(message);
+			}
+
+			Weave.getCallbacks(this).triggerCallbacks();
 		}

 		public function getPropertyNames():Array/*/<string>/*/


More broken filtering work

More broken filtering work

--- WeaveData/src/weave/data/DataSources/CensusDataSource.as
+++ WeaveData/src/weave/data/DataSources/CensusDataSource.as
@@ -127,6 +127,7 @@

 		public function createDataSetNode(data:Object):ColumnTreeNode
 		{
+			var _ds = this._ds;
 			return new ColumnTreeNode({
 				dataSource: this,
 				data: data,
@@ -186,7 +187,7 @@
 		public function createGeographyForNodes(node:ColumnTreeNode):Array
 		{
 			var children:Array = [];
-
+			var _ds = this._ds;
 			api.getGeographies(node.data[DATASET]).then(
 				function (result:Object):void
 				{
@@ -214,6 +215,7 @@
 		{

 			var children:Array = [];
+			var _ds = this._ds;
 			api.getGeographies(node.data[DATASET]).then(
 				function (result:Object):void
 				{


LinkableVariable now properly checks differences in non-primitives when sessionStateType is set.

--- WeaveCore/src/weave/core/LinkableVariable.as
+++ WeaveCore/src/weave/core/LinkableVariable.as
@@ -24,8 +24,8 @@
 	import mx.utils.ObjectUtil;

 	import weave.api.WeaveAPI;
+	import weave.api.core.ILinkableVariable;
 	import weave.api.reportError;
-	import weave.api.core.ILinkableVariable;
 	import weave.compiler.StandardLib;

 	/**
@@ -48,14 +48,18 @@
 		{
 			// not supporting XML directly
 			if (sessionStateType == _XML_CLASS)
-			{
-				reportError("XML is not supported directly as a session state primitive type. Using String instead.");
-				_sessionStateType = String;
-			}
-			else if (sessionStateType != Object)
+				throw new Error("XML is not supported directly as a session state primitive type. Using String instead.");
+
+			if (sessionStateType != Object)
 			{
 				_sessionStateType = sessionStateType;
-			}
+				_primitiveType = _sessionStateType == String
+					|| _sessionStateType == Number
+					|| _sessionStateType == Boolean
+					|| _sessionStateType == int
+					|| _sessionStateType == uint;
+			}
+
 			_verifier = verifier;

 			if (!sessionStateEquals(defaultValue))
@@ -87,23 +91,22 @@
 		 */
 		protected function sessionStateEquals(otherSessionState:*):Boolean
 		{
-			if (_sessionStateType == null) // if no type restriction...
-			{
-				var equal:Boolean = StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
-
-				// BEGIN TEMPORARY SOLUTION
-				// special case if both are dynamic objects and pointers are equal - always assume they have been modified
-				// this is a temporary solution until detectChanges() is added
-				// (private copy of session state needs to be stored for comparison to public session state)
-				if (equal && _sessionState !== null && typeof(_sessionState) == 'object' && _sessionState === otherSessionState)
-				{
-					return false;
-				}
-				// END TEMPORARY SOLUTION
-
-				return equal;
-			}
-			return _sessionState == otherSessionState;
+			if (_primitiveType)
+				return _sessionState == otherSessionState;
+
+			var equal:Boolean = StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
+
+			// BEGIN TEMPORARY SOLUTION
+			// special case if both are dynamic objects and pointers are equal - always assume they have been modified
+			// this is a temporary solution until detectChanges() is added
+			// (private copy of session state needs to be stored for comparison to public session state)
+			if (equal && _sessionState !== null && typeof(_sessionState) == 'object' && _sessionState === otherSessionState)
+			{
+				return false;
+			}
+			// END TEMPORARY SOLUTION
+
+			return equal;
 		}

 		/**
@@ -129,6 +132,8 @@
 		{
 			return _verifier == null || _verifier(value);
 		}
+
+		protected var _primitiveType:Boolean = false;

 		protected var _sessionStateType:Class = null;
 		public function getSessionStateType():Class