Transferred from the Adobe Open Source Subversion Repository

Revision: 2185
Author:   jimurphy@adobe.com
Date:     2008-06-23T20:04:23.150071Z

Log Message:
-----------
Merged 3.0.x revisions [2108,2111,2113,2142,2145,2147,2149-2150,2171,2178,2183] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/templates/html-templates/express-installation-with-history/history/historyFrame.html</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/build.xml</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/modules/swfutils/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/BindingUtils.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/modules/debugger/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/asc/build/java/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/antTasks/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/templates/html-templates/client-side-detection-with-history/history/historyFrame.html</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/Binding.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/types/SOAPArrayType.as</path>
<path kind="file" action="M">/flex/sdk/trunk/templates/html-templates/no-player-detection-with-history/history/historyFrame.html</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -2212,11 +2212,6 @@
         if ((child is UIComponent) && UIComponent(child).isDocument)
             BindingManager.setEnabled(child, true);

-        // Execute bindings to initialize new children and to refresh
-        // existing children.
-        if (child is IDeferredInstantiationUIComponent)
-            IDeferredInstantiationUIComponent(child).executeBindings(true);
-
         return child;
     }

@@ -3678,6 +3673,8 @@
             // executeBindings() depends on the parent being set.
             addChild(DisplayObject(child));

+            child.executeBindings();
+
             if (creationPolicy == ContainerCreationPolicy.QUEUED ||
                 creationPolicy == ContainerCreationPolicy.NONE)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6609
Author:   gruehle@adobe.com
Date:     2009-05-04T22:47:31.285324Z

Log Message:
-----------
Add theme attribute to theme-specific style metadata.

Example of a halo-specific style:
[Style(name="cornerRadius", type="Number", format="Length", inherit="no", theme="halo")]

Example of a spark-specific style:
[Style(name="baseColor", type="uint", format="Color", inherit="yes", theme="spark")]

Style metadata without a theme attribute is theme-agnostic, and works with either spark or halo.

Bugs: SDK-20606

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.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/styles/metadata/FillStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.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/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BarColorStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/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/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/IconColorStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.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/styles/metadata/SelectedFillColorsStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.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/flex4/src/spark/components/SkinnableDataContainer.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/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.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/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -198,7 +198,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes")]
+[Style(name="contentBackgroundColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  The alpha value for the overlay that is placed on top of the
@@ -221,7 +221,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="focusColor", type="uint", format="Color", inherit="yes")]
+[Style(name="focusColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  The name of the horizontal scrollbar style.
@@ -284,7 +284,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Style(name="symbolColor", type="uint", format="Color", inherit="yes")]
+[Style(name="symbolColor", type="uint", format="Color", inherit="yes", theme="spark")]

 [ResourceBundle("core")]


Update abcdump

Update abcdump

--- utils/abcdump.as
+++ utils/abcdump.as
@@ -850,7 +850,7 @@
                n = readU32()
                floats = [float.NaN]
                for (i=1; i < n; i++)
-                   floats[i] = data.readFloat32()
+                   floats[i] = data.readFloat()
                dumpPool("float", floats)

                infoPrint("Cpool floats size "+(data.position-start)+" "+int(100*(data.position-start)/data.length)+" %")
@@ -860,7 +860,7 @@
                var f4:float4 = float4(float.NaN,float.NaN,float.NaN,float.NaN)
                float4s = [f4]
                for (i=1; i < n; i++){
-                   float4s[i] = new float4(data.readFloat32(),data.readFloat32(),data.readFloat32(),data.readFloat32());
+                   float4s[i] = new float4(data.readFloat(),data.readFloat(),data.readFloat(),data.readFloat());
                }
                dumpPool("float4", float4s)


Working on rounding errors in Flow Layout

--- test/laml/layout/FlowLayoutTest.as
+++ test/laml/layout/FlowLayoutTest.as
@@ -226,5 +226,18 @@
 			assertEquals(2, child.widths.length);
 			assertEquals(1, child.heights.length);
 		}
+
+		public function testDistributeMissingPixels():void {
+			removeChild(component.view);
+
+			var xml:XML = <HBox width="400" height="100" x="" y="" xmlns="laml.display">
+							<Component width="50" height="100%" backgroundColor="#ff0000" />
+							<Component width="100%" height="100%" backgroundColor="#00ff00" />
+							<Component width="50" height="100%" backgroundColor="#ff0000" />
+						  </HBox>;
+			box = parser.parseLayoutable(xml);
+			addChild(box.view);
+			box.render();
+		}
 	}
 }


cleanup in item tags

cleanup in item tags

--- flexEditor/src/org/arisgames/editor/view/ItemTagsEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/ItemTagsEditorView.as
@@ -86,6 +86,7 @@
 		public function handleTagClick(evt:MouseEvent):void
 		{
 			trace("ItemTagsEditorView: handleTagClick() called with Selected Index = '" + dg.selectedIndex + "'");
+			if(dg.selectedIndex < 0 || dg.selectedIndex > gameItemTags.length-1) return;
 			if((gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged == "x")
 				AppServices.getInstance().untagItem(GameModel.getInstance().game.gameId, item.itemId, (gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tag_id, new Responder(handleTagItemTag, handleFault));
 			else
@@ -103,12 +104,13 @@
 			else
 			{
 				trace("tagging of ItemTag went well in the database, so now update it from UI datamodel and UI.");
+				if(dg.selectedIndex < 0 || dg.selectedIndex > gameItemTags.length-1) return;
+/*
 				if((gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged == "x")
 					(gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged = "";
 				else
 					(gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged = "x";
-
-				gameItemTagsData.refresh();
+*/
 				this.reloadTheItemTags();
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11532
Author:   jszeto@adobe.com
Date:     2009-11-06T21:32:37.933910Z

Log Message:
-----------
ComboBox user interactions

Added support for an improved user interaction. When the user starts typing in the textInput, ComboBox will now update the textInput with the rest of the matching item. It will then select the non-typed text. When using the navigation keys, the textInput will change to the new highlighted item.

QE notes: Tests need updating to account for new user interaction
Doc notes: We should update the docs to describe the user interaction
Bugs: N/A
Reviewer: Glenn
Tests run: DropDownList, ComboBox
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -28,6 +28,7 @@
 package spark.components
 {

+import flash.accessibility.Accessibility;
 import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
@@ -42,11 +43,10 @@
 import spark.components.supportClasses.ButtonBase;
 import spark.components.supportClasses.DropDownController;
 import spark.components.supportClasses.TextBase;
-import spark.events.IndexChangeEvent;
 import spark.core.NavigationUnit;
 import spark.events.DropDownEvent;
+import spark.events.IndexChangeEvent;
 import spark.utils.LabelUtil;
-import flash.accessibility.Accessibility;

 use namespace mx_internal;

@@ -548,7 +548,7 @@
     /**
      *  @private
      */
-    private var _userProposedSelectedIndex:Number = -1;
+    private var _userProposedSelectedIndex:Number = NO_SELECTION;

     /**
      *  @private
@@ -716,6 +716,28 @@
         }
     }

+    /**
+     *  @private
+     *  Called whenever we need to change the highlighted selection while the dropDown is open
+     *  ComboBox overrides this behavior
+     */
+    mx_internal function changeHighlightedSelection(newIndex:int):void
+    {
+        // Store the selection in userProposedSelectedIndex because we
+        // don't want to update selectedIndex until the dropdown closes
+        itemSelected(userProposedSelectedIndex, false);
+        userProposedSelectedIndex = newIndex;
+        itemSelected(userProposedSelectedIndex, true);
+        ensureIndexIsVisible(userProposedSelectedIndex);
+
+        var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
+        e.oldIndex = caretIndex;
+        setCurrentCaretIndex(userProposedSelectedIndex);
+        e.newIndex = caretIndex;
+        dispatchEvent(e);
+    }
+
+
     //--------------------------------------------------------------------------
     //
     //  Event handlers
@@ -760,60 +782,56 @@
             if (!NavigationUnit.isNavigationUnit(navigationUnit))
                 return;

-            var proposedNewIndex:int = -1;
+            var proposedNewIndex:int = NO_SELECTION;
+            var currentIndex:int;

             if (dropDownController.isOpen)
             {
-                proposedNewIndex = layout.getNavigationDestinationIndex(userProposedSelectedIndex, navigationUnit, arrowKeysWrapFocus);
+                // Normalize the proposed index for getNavigationDestinationIndex
+                currentIndex = userProposedSelectedIndex < NO_SELECTION ? NO_SELECTION : userProposedSelectedIndex;
+                proposedNewIndex = layout.getNavigationDestinationIndex(currentIndex, navigationUnit, arrowKeysWrapFocus);

-                if (proposedNewIndex != -1)
+                if (proposedNewIndex != NO_SELECTION)
                 {
-                    // Store the selection in userProposedSelectedIndex because we
-                    // don't want to update selectedIndex until the dropdown closes
-                    itemSelected(userProposedSelectedIndex, false);
-                    userProposedSelectedIndex = proposedNewIndex;
-                    itemSelected(userProposedSelectedIndex, true);
-                    ensureIndexIsVisible(userProposedSelectedIndex);
-
-                    var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE);
-                    e.oldIndex = caretIndex;
-                    setCurrentCaretIndex(userProposedSelectedIndex);
-                    e.newIndex = caretIndex;
-                    dispatchEvent(e);
-
+                    changeHighlightedSelection(proposedNewIndex);
                     event.preventDefault();
                 }
             }
             else if (dataProvider)
             {
+                // Normalize the proposed index for getNavigationDestinationIndex
+                currentIndex = selectedIndex < NO_SELECTION ? NO_SELECTION : selectedIndex;
+
+                // FIXME (jszeto) : SDK-24036 Add arrowKeysWrapFocus support
+
                 switch (navigationUnit)
                 {
                     case NavigationUnit.UP:
                     {
-                        proposedNewIndex = selectedIndex - 1;
+                        proposedNewIndex = currentIndex - 1;
                         event.preventDefault();
                         break;
                     }

                     case NavigationUnit.DOWN:
                     {
-                        proposedNewIndex = selectedIndex + 1;
+                        proposedNewIndex = currentIndex + 1;
                         event.preventDefault();
                         break;
                     }

                     case NavigationUnit.PAGE_UP:
                     {
-                        proposedNewIndex = selectedIndex == -1 ?
-                                            -1 : Math.max(selectedIndex - PAGE_SIZE, 0);
+                        proposedNewIndex = currentIndex == NO_SELECTION ?
+                            NO_SELECTION : Math.max(currentIndex - PAGE_SIZE, 0);
                         event.preventDefault();
                         break;
                     }

                     case NavigationUnit.PAGE_DOWN:
                     {
-                        proposedNewIndex = selectedIndex == -1 ?
-                                           PAGE_SIZE : (selectedIndex + PAGE_SIZE);
+                        proposedNewIndex = currentIndex == NO_SELECTION ?
+                                           PAGE_SIZE : (currentIndex + PAGE_SIZE);
                         event.preventDefault();
                         break;
                     }
@@ -852,7 +870,7 @@
      */
     override protected function focusOutHandler(event:FocusEvent):void
     {
-        if (event.target == this)
+        if (isOurFocus(DisplayObject(event.target)))
             dropDownController.processFocusOut(event);

         super.focusOutHandler(event);


added error messages

added error messages

--- WeaveJS/src/weavejs/core/ClassRegistryImpl.as
+++ WeaveJS/src/weavejs/core/ClassRegistryImpl.as
@@ -324,6 +324,10 @@
 		 */
 		public function verifyImplementation(theInterface:Class, theImplementation:Class):void
 		{
+			if (!theInterface)
+				throw new Error("interface cannot be " + theInterface);
+			if (!theImplementation)
+				throw new Error("implementation cannot be " + theImplementation);
 			if (!(theImplementation.prototype is theInterface))
 				throw new Error(getClassName(theImplementation) + ' does not implement ' + getClassName(theInterface));
 		}


V2.96a.20100606: Version bump (no other changes)

--- src/SoundManager2.as
+++ src/SoundManager2.as
@@ -36,7 +36,7 @@

   function SoundManager2() {

-    var version = "V2.96a.20100520";
+    var version = "V2.96a.20100606";
     var version_as = "(AS2/Flash 8)";

     /*


fix ShaderPart.localToView

fix ShaderPart.localToView

--- src/aerys/minko/render/shader/part/ShaderPart.as
+++ src/aerys/minko/render/shader/part/ShaderPart.as
@@ -836,7 +836,7 @@

 		protected final function localToView(localSpaceVector : Object) : SFloat
 		{
-			return worldToViewMatrix(localToWorld(localSpaceVector));
+			return worldToView(localToWorld(localSpaceVector));
 		}

 		protected final function worldToLocal(worldSpaceVector : Object) : SFloat


fix Geometry.flipNormals() by using VertexStream.applyTransform() and delete useless Geometry.invertVertexStreamComponent() method

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -902,45 +902,25 @@

 		public function flipNormals(flipTangents : Boolean = true) : Geometry
 		{
-			var numStreams : uint = this.numVertexStreams;
+			var numStreams 	: uint 		= this.numVertexStreams;
+			var m 			: Matrix4x4 = new Matrix4x4();
+
+			m.appendScale(-1, -1, -1);

 			for (var streamId : uint = 0; streamId < numStreams; ++streamId)
 			{
 				var vertexStream	: IVertexStream		= getVertexStream(streamId);
 				var normalsStream 	: VertexStream 		= vertexStream.getStreamByComponent(VertexComponent.NORMAL);
-				var tangentsStream 	: VertexStream 		= vertexStream.getStreamByComponent(VertexComponent.NORMAL);
+				var tangentsStream 	: VertexStream 		= vertexStream.getStreamByComponent(VertexComponent.TANGENT);

 				if (normalsStream != null)
-					invertVertexStreamComponent(normalsStream, VertexComponent.NORMAL);
+					normalsStream.applyTransform(VertexComponent.NORMAL, m, true);

 				if (tangentsStream != null)
-					invertVertexStreamComponent(tangentsStream, VertexComponent.TANGENT);
+					tangentsStream.applyTransform(VertexComponent.TANGENT, m, true);
 			}

 			return this;
-		}
-
-		private function invertVertexStreamComponent(vertexStream : VertexStream, component : VertexComponent) : void
-		{
-			var componentOffset	: uint				= vertexStream.format.getBytesOffsetForComponent(component);
-			var vertexSize		: uint				= vertexStream.format.numBytesPerVertex;
-			var numVertices		: uint				= vertexStream.numVertices;
-			var data			: ByteArray			= vertexStream.lock();
-			var numValues		: uint				= component.numProperties >>> 2;
-			var tmp				: Vector.<Number>	= new Vector.<Number>(numValues);
-
-			for (var i : uint = 0; i < numVertices; ++i)
-			{
-				data.position = i * vertexSize + componentOffset;
-				for (var j : uint = 0; j < numValues; ++j)
-					tmp[j] = data.readFloat();
-
-				data.position = i * vertexSize + componentOffset;
-				for (j = 0; j < numValues; ++j)
-					data.writeFloat(-tmp[j]);
-			}
-
-			vertexStream.unlock();
 		}

 		private function vertexStreamChangedHandler(stream : IVertexStream) : void


Remove usused import

Remove usused import

--- src/aerys/minko/type/animation/Animation.as
+++ src/aerys/minko/type/animation/Animation.as
@@ -7,8 +7,6 @@

 	import flash.utils.getTimer;

-	import org.osmf.elements.DurationElement;
-
 	public class Animation
 	{
 		private var _id				: String;


Change 20100224-maxcarlson-n by maxcarlson@bank on 2010-02-24 11:14:21 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: UPDATED: Conditionalize textfield focus workaround from LPP-7957

Bugs Fixed: LPP-8783 - Text field loses focus when mousing out of canvas and then mousing back in (SWF9)

Technical Reviewer: ptw
QA Reviewer: andre.bargull@udo.edu

Details: Test for lz.embed.browser, and correct case in test for 'Mac'.  Conditionalize workaround to only happen for FF < 3.5 on OS X.

Tests: See LPP-8783.

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

--- WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzMouseKernel.as
@@ -73,7 +73,7 @@
                 // Mouse reentered the app.
                 if (event.buttonDown) __mouseUpOutsideHandler();

-                if (lz.embed.browser.isFirefox && lz.embed.browser.OS == 'mac' && lz.embed.browser.version < 3.5) {
+                if (lz.embed.browser && lz.embed.browser.isFirefox && lz.embed.browser.OS == 'Mac' && lz.embed.browser.version < 3.5) {
                     // TODO [hqm 2009-04] LPP-7957 -- this works
                     // around Firefox bug; if you are making a text
                     // selection, and then drag the mouse outside of


- remove unused file

- remove unused file

--- src/flash/htmlelements/VideoElementVP.as
+++ src/flash/htmlelements/VideoElementVP.as
@@ -1,211 +0,0 @@
-
-package htmlelements
-{
-	import flash.display.Sprite;
-	import flash.events.*;
-	import flash.net.NetConnection;
-	import flash.net.NetStream;
-	import flash.media.Video;
-	import flash.media.SoundTransform;
-	import flash.utils.Timer;
-	import fl.video.*
-
-	import FlashMediaElement;
-	import HtmlMediaEvent;
-
-	public class VideoElement extends Sprite implements IMediaElement
-	{
-		private var _currentUrl:String = "";
-		private var _autoplay:Boolean = true;
-
-		private var _video:VideoPlayer;
-		private var _ncManager:NCManager;
-
-		private var _soundTransform;
-		private var _element:FlashMediaElement;
-		private var _oldVolume:Number = 1;
-
-		// event values
-		private var _duration:Number;
-		private var _framerate:Number;
-		private var _isPaused:Boolean = false;
-		private var _isEnded:Boolean = false;
-		private var _isLoaded:Boolean = false;
-		private var _volume:Number = 1;
-		private var _isMuted:Boolean = false;
-
-		private var _bytesLoaded:Number = 0;
-		private var _bytesTotal:Number = 0;
-		private var _bufferedTime:Number = 0;
-
-
-		private var _timer:Timer;
-
-
-		public function get video():Video {
-			return _video;
-		}
-
-
-		public function VideoElement(element:FlashMediaElement, autoplay:Boolean)
-		{
-			_element = element;
-			_autoplay = autoplay;
-
-			_video = new VideoPlayer();
-			_video.scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO;
-			_video.width = _element.stage.stageWidth;
-			_video.height = _element.stage.stageHeight;
-			_ncManager = _video.ncMgr;
-			addChild(_video);
-
-
-			_video.addEventListener(VideoEvent.READY, videoReadyHandler);
-			_video.addEventListener(MetadataEvent.METADATA_RECEIVED, videoMetadataReceivedHandler);
-			_video.addEventListener(VideoEvent.COMPLETE, videoCompleteHandler);
-			_video.addEventListener(VideoEvent.STATE_CHANGE, videoStateChangeHandler);
-
-
-			_timer = new Timer(200);
-			_timer.addEventListener("timer", timerHandler);
-		}
-
-		private function timerHandler(e:TimerEvent) {
-
-			_bytesLoaded = _video.bytesLoaded;
-			_bytesTotal = _video.bytesTotal;
-
-			sendEvent(HtmlMediaEvent.TIMEUPDATE);
-
-			trace("bytes", _bytesLoaded, _bytesTotal);
-
-			if (_bytesLoaded < _bytesTotal)
-				sendEvent(HtmlMediaEvent.PROGRESS);
-		}
-
-		private function videoReadyHandler(e) {
-			_isLoaded = true;
-			sendEvent(HtmlMediaEvent.LOADED_DATA);
-		}
-
-		private function videoMetadataReceivedHandler(e:MetadataEvent) {
-			_duration = e.info.duration;
-
-			sendEvent(HtmlMediaEvent.LOADED_DATA);
-		}
-
-		private function videoCompleteHandler(e) {
-
-			sendEvent(HtmlMediaEvent.ENDED);
-		}
-
-		private function videoProgressHandler(e) {
-			_bytesLoaded = _video.bytesLoaded;
-			_bytesTotal = _video.bytesTotal;
-			sendEvent(HtmlMediaEvent.PROGRESS);
-		}
-		private function videoStateChangeHandler(e) {
-			//sendEvent(HtmlMediaEvent.PROGRESS);
-		}
-
-
-
-		// interface members
-		public function setSrc(url:String):void {
-			if (_isLoaded) {
-				// stop and restart
-				_video.pause();
-			}
-
-			_currentUrl = url;
-		}
-
-		public function load():void {
-			_video.load(_currentUrl);
-			_isLoaded =false;
-		}
-
-		public function play():void {
-
-			if (_isLoaded) {
-				_video.play();
-				_timer.start();
-				_isPaused = false;
-				_isLoaded = true;
-				sendEvent(HtmlMediaEvent.PLAYING);
-			} else {
-				// error: play() called without a URL
-				_video.play(_currentUrl);
-				_timer.start();
-				_isPaused = false;
-				_isLoaded = true;
-				sendEvent(HtmlMediaEvent.PLAYING);
-			}
-
-		}
-
-		public function pause():void {
-			_video.pause();
-			_isPaused = true;
-			_timer.stop();
-
-			_isPaused = true;
-			sendEvent(HtmlMediaEvent.PAUSED);
-		}
-
-		public function setCurrentTime(pos:Number):void {
-			_video.seek(pos);
-			sendEvent(HtmlMediaEvent.SEEKED);
-		}
-
-		public function setVolume(volume:Number):void {
-			_soundTransform = new SoundTransform(volume);
-			_video.soundTransform = _soundTransform;
-			_volume = volume;
-
-			_isMuted = (_volume == 0);
-
-			sendEvent(HtmlMediaEvent.VOLUMECHANGE);
-		}
-
-
-		public function setMuted(muted:Boolean):void {
-
-			if (_isMuted == muted)
-				return;
-
-			if (muted) {
-				_oldVolume = _video.soundTransform.volume;
-				setVolume(0);
-			} else {
-				setVolume(_oldVolume);
-			}
-
-			_isMuted = muted;
-		}
-
-
-		private function sendEvent(eventName:String) {
-
-			// calculate this to mimic HTML5
-			_bufferedTime = _bytesLoaded / _bytesTotal + _duration;
-
-			// build JSON
-			var values:String =
-							"{duration:" + _duration +
-							",framerate:" + _framerate +
-							",currentTime:" + _video.playheadTime +
-							",muted:" + _isMuted +
-							",paused:" + _isPaused +
-							",ended:" + _isEnded +
-							",volume:" + _volume +
-							",bytesTotal:" + _bytesTotal +
-							",bufferedBytes:" + _bytesLoaded +
-							",bufferedTime:" + _bufferedTime +
-							"}";
-
-			_element.sendEvent(eventName, values);
-		}
-	}
-}
-


Update from Chromeless to normal player to support anntations

--- src/flash/htmlelements/YouTubeElement.as
+++ src/flash/htmlelements/YouTubeElement.as
@@ -110,6 +110,8 @@
 		// calls _connection.connect();
 		// waits for NetConnection.Connect.Success
 		// _stream gets created
+
+		private var _isChromeless:Boolean = false;

 		public function YouTubeElement(element:FlashMediaElement, autoplay:Boolean, preload:String, timerRate:Number, startVolume:Number)
@@ -123,14 +125,22 @@

 			_playerLoader = new Loader();
 			_playerLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, playerLoaderInitHandler);
-			_playerLoader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
-
+
+			// chromeless
+			if (_isChromeless) {
+				_playerLoader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3&controls=1&rel=0&showinfo=0&iv_load_policy=1"));
+			}
+
+
 			_timer = new Timer(timerRate);
 			_timer.addEventListener("timer", timerHandler);
 			_timer.start();
 		}

 		private function playerLoaderInitHandler(event:Event):void {
+
+			trace("yt player init");
+
 			_element.addChild(_playerLoader.content);
 			_element.setControlDepth();
 			_playerLoader.content.addEventListener("onReady", onPlayerReady);
@@ -147,7 +157,7 @@
 			if (initHeight > 0 && initWidth > 0)
 				_player.setSize(initWidth, initHeight);

-			if (_youTubeId != "") {
+			if (_youTubeId != "") { //  && _isChromeless) {
 				if (_autoplay) {
 					player.loadVideoById(_youTubeId);
 				} else {
@@ -287,10 +297,15 @@

 		// interface members
 		public function setSrc(url:String):void {
+			trace("yt setSrc()" + url );
+
 			_currentUrl = url;

 			_youTubeId = getYouTubeId(url);
-
+
+			if (!_playerIsLoaded && !_isChromeless) {
+				_playerLoader.load(new URLRequest("http://www.youtube.com/v/" + _youTubeId + "?version=3&controls=0&rel=0&showinfo=0&iv_load_policy=1"));
+			}
 		}

@@ -298,12 +313,18 @@

 		public function load():void {
 			// do nothing
+			trace("yt load()");

 			if (_playerIsLoaded) {
 				player.loadVideoById(_youTubeId);
 				_timer.start();
-			}
-
+			}  else {
+				/*
+				if (!_isChromless && _youTubeId != "") {
+					_playerLoader.load(new URLRequest("http://www.youtube.com/v/" + _youTubeId + "?version=3&controls=0&rel=0&showinfo=0&iv_load_policy=1"));
+				}
+				*/
+			}
 		}

 		public function play():void {


Use MatrixUtil

Use MatrixUtil

--- runtime/src/main/as/flump/xfl/XflKeyframe.as
+++ runtime/src/main/as/flump/xfl/XflKeyframe.as
@@ -5,6 +5,7 @@

 import flash.geom.Matrix;
 import flash.geom.Point;
+import com.threerings.util.MatrixUtil;

 public class XflKeyframe extends XflComponent
 {
@@ -72,10 +73,9 @@

         x = matrix.tx;
         y = matrix.ty;
-        var py :Point = matrix.deltaTransformPoint(new Point(1, 0));
-        rotation = Math.atan2(py.y, py.x);
-        scaleX = Math.sqrt((matrix.a * matrix.a) + (matrix.b * matrix.b));
-        scaleY = Math.sqrt((matrix.c * matrix.c) + (matrix.d * matrix.d));
+        rotation = MatrixUtil.rotation(matrix);
+        scaleX = MatrixUtil.scaleX(matrix);
+        scaleY = MatrixUtil.scaleY(matrix);
     }

     public function checkSymbols (lib :XflLibrary) :void {


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

--- frameworks/projects/charts/src/mx/charts/chartClasses/DualStyleObject.as
+++ frameworks/projects/charts/src/mx/charts/chartClasses/DualStyleObject.as
@@ -0,0 +1,274 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.charts.chartClasses
+{
+
+import mx.core.IFlexDisplayObject;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+import mx.styles.CSSStyleDeclaration;
+import mx.styles.IStyleClient;
+import mx.styles.StyleManager;
+import mx.styles.StyleProtoChain;
+
+use namespace mx_internal;
+
+/**
+ *  The DualStyleObject class serves as a base class for components that have a need to assign
+ *  class selectors outside of the client developer's control. DualStyleObject instances have two styleName
+ *  properties...the standard styleName, and the additional internalStyleName.  A component can assign
+ *  the internalStyleName property as necessary and leave the styleName property for the client developer
+ *  to assign.
+ *
+ *  @mxml
+ *
Common MXML Syntax Inherited from DualStyleObject

+ *
+ *
Flex components inherit the following properties
+ *  from the DualStyleObject class:

+ *
+ *

+ *  <mx:tagname
+ *    internalStyleName="Style; No default"
+ *  >
+ *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class DualStyleObject extends UIComponent
+{
+    include "../../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function DualStyleObject()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  internalStyleName
+    //----------------------------------
+
+    /**
+     *  @private.
+     */
+    private var _internalStyleName:Object;
+
+    [Inspectable(environment="none")]
+
+    /**
+     *  The name of a class selector this instance inherits values from.
+     *  The internalStyleName property has lower priority than the styleName
+     *  selector.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get internalStyleName():Object
+    {
+        return _internalStyleName;
+    }
+
+    /**
+     *  @private
+     */
+    public function set internalStyleName(v:Object):void
+    {
+        if (_internalStyleName == v)
+            return;
+
+        _internalStyleName = v;
+
+        // If inheritingStyles is undefined, then this object is being
+        // initialized and we haven't yet generated the proto chain.
+        // To avoid redundant work, don't bother to create the proto chain here.
+        if (inheritingStyles != StyleProtoChain.STYLE_UNINITIALIZED)
+        {
+            regenerateStyleCache(true);
+
+            initThemeColor();
+
+            styleChanged("internalStyleName");
+
+            // Just to be sure we catch the weird things that happen
+            // when styleName changes, we'll invalidate that too.
+            styleChanged("styleName");
+
+            notifyStyleChangeInChildren("styleName", true);
+        }
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override mx_internal function initProtoChain():void
+    {
+        var classSelector:CSSStyleDeclaration;
+        var internalClassSelector:CSSStyleDeclaration;
+
+        if (styleName)
+        {
+            if (styleName is CSSStyleDeclaration)
+            {
+                // Get the style sheet referenced by the styleName property
+                classSelector = CSSStyleDeclaration(styleName);
+            }
+            else if (styleName is IFlexDisplayObject)
+            {
+                // If the styleName property is a UIComponent, then there's a
+                // special search path for that case.
+                StyleProtoChain.initProtoChainForUIComponentStyleName(this);
+                return;
+            }
+            else if (styleName is String)
+            {
+                // Get the style sheet referenced by the styleName property
+                classSelector =
+                    styleManager.getStyleDeclaration("." + styleName);
+            }
+        }
+
+        if (internalStyleName)
+        {
+            if (internalStyleName is CSSStyleDeclaration)
+            {
+                // Get the style sheet referenced by the styleName property
+                internalClassSelector = CSSStyleDeclaration(internalStyleName);
+            }
+            else if (internalStyleName is IFlexDisplayObject)
+            {
+                // If the styleName property is a UIComponent, then there's a
+                // special search path for that case.
+                StyleProtoChain.initProtoChainForUIComponentStyleName(this);
+                return;
+            }
+            else if (internalStyleName is String)
+            {
+                // Get the style sheet referenced by the styleName property
+                internalClassSelector =
+                    styleManager.getStyleDeclaration("." + internalStyleName);
+            }
+        }
+
+        // To build the proto chain, we start at the end and work forward.
+        // Referring to the list at the top of this function, we'll start by
+        // getting the tail of the proto chain, which is:
+        //  - for non-inheriting styles, the global style sheet
+        //  - for inheriting styles, my parent's style object
+        var nonInheritChain:Object = styleManager.stylesRoot;
+
+        if (nonInheritChain.effects)
+            registerEffects(nonInheritChain.effects);
+
+        var p:IStyleClient = parent as IStyleClient;
+        if (p)
+        {
+            var inheritChain:Object = p.inheritingStyles;
+            if (inheritChain == StyleProtoChain.STYLE_UNINITIALIZED)
+                inheritChain = nonInheritChain;
+        }
+        else
+        {
+            inheritChain = styleManager.stylesRoot;
+        }
+
+        // Working backwards up the list, the next element in the
+        // search path is the type selector
+        var typeSelectors:Array /* of CSSStyleDeclaration */ = getClassStyleDeclarations();
+        var n:int = typeSelectors.length;
+        for (var i:int = 0; i < n; i++)
+        {
+            var typeSelector:CSSStyleDeclaration = typeSelectors[i];
+
+            inheritChain =
+                typeSelector.addStyleToProtoChain(inheritChain, this);
+
+            nonInheritChain =
+                typeSelector.addStyleToProtoChain(nonInheritChain, this);
+
+            if (typeSelector.effects)
+                registerEffects(typeSelector.effects);
+
+        }
+
+        // Next is the class selector
+        if (internalClassSelector)
+        {
+            inheritChain =
+                internalClassSelector.addStyleToProtoChain(inheritChain, this);
+
+            nonInheritChain =
+                internalClassSelector.addStyleToProtoChain(nonInheritChain,
+                                                           this);
+
+            if (internalClassSelector.effects)
+                registerEffects(internalClassSelector.effects);
+        }
+
+        // Next is the class selector
+        if (classSelector)
+        {
+            inheritChain =
+                classSelector.addStyleToProtoChain(inheritChain, this);
+
+            nonInheritChain =
+                classSelector.addStyleToProtoChain(nonInheritChain, this);
+
+            if (classSelector.effects)
+                registerEffects(classSelector.effects);
+        }
+
+        // Finally, we'll add the in-line styles
+        // to the head of the proto chain.
+        inheritingStyles =
+            styleDeclaration ?
+            styleDeclaration.addStyleToProtoChain(inheritChain, this) :
+            inheritChain;
+
+        nonInheritingStyles =
+            styleDeclaration ?
+            styleDeclaration.addStyleToProtoChain(nonInheritChain, this) :
+            nonInheritChain;
+
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7889
Author:   dsubrama@adobe.com
Date:     2009-06-16T20:01:19.393557Z

Log Message:
-----------
First batch of PARB changes to List, ListBase, ItemRenderer and IItemRenderer as documented here: https://zerowing.corp.adobe.com/display/flex/PARB_RENAME_LIST

QA: Yes
Docs: Yes
Checkintests: Pass

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/skins/spark/DefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</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/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/IndexChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -681,7 +681,7 @@
      *  Updates the renderer for use/re-use. When a renderer is first
      *  created, or when it is recycled because of virtualization, this
      *  SkinnableDataContainer gets the chance to come in and set the
-     *  renderer's labelText property as well as the
+     *  renderer's label property as well as the
      *  owner property. This is how, from a renderer, one
      *  can access the parent component "owning" the renderer. In cases
      *  like Lists and SkinnableDataContainers, the owner property points
@@ -701,7 +701,7 @@
         renderer.owner = this;

         if (renderer is IItemRenderer)
-            IItemRenderer(renderer).labelText = itemToLabel(IItemRenderer(renderer).data);
+            IItemRenderer(renderer).label = itemToLabel(IItemRenderer(renderer).data);
     }

     //--------------------------------------------------------------------------


use getTimer() to avoid object creation

use getTimer() to avoid object creation

--- src/org/mangui/hls/loader/FragmentLoader.as
+++ src/org/mangui/hls/loader/FragmentLoader.as
@@ -2,6 +2,7 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  package org.mangui.hls.loader {
+    import flash.utils.getTimer;
     import org.mangui.hls.controller.AudioTrackController;
     import org.mangui.hls.controller.AutoLevelController;
     import org.mangui.hls.HLSSettings;
@@ -218,7 +219,7 @@
                 // if key loading failed
                 case  LOADING_KEY_IO_ERROR:
                     // compare current date and next retry date.
-                    if (new Date().valueOf() >= _key_load_error_date) {
+                    if (getTimer() >= _key_load_error_date) {
                         /* try to reload the key ...
                         calling _loadfragment will also reload key */
                         _loadfragment(_frag_current);
@@ -228,7 +229,7 @@
                 // if fragment loading failed
                 case LOADING_FRAGMENT_IO_ERROR:
                     // compare current date and next retry date.
-                    if (new Date().valueOf() >= _frag_load_error_date) {
+                    if (getTimer() >= _frag_load_error_date) {
                         /* try to reload the key ...
                         calling _loadfragment will also reload key */
                         _loadfragment(_frag_current);
@@ -294,7 +295,7 @@
             }
             if (HLSSettings.keyLoadMaxRetry == -1 || _key_retry_count < HLSSettings.keyLoadMaxRetry) {
                 _loading_state = LOADING_KEY_IO_ERROR;
-                _key_load_error_date = new Date().valueOf() + _key_retry_timeout;
+                _key_load_error_date = getTimer() + _key_retry_timeout;
                 CONFIG::LOGGING {
                     Log.warn("retry key load in " + _key_retry_timeout + " ms, count=" + _key_retry_count);
                 }
@@ -325,7 +326,7 @@
             }
             if (HLSSettings.fragmentLoadMaxRetry == -1 || _frag_retry_count < HLSSettings.fragmentLoadMaxRetry) {
                 _loading_state = LOADING_FRAGMENT_IO_ERROR;
-                _frag_load_error_date = new Date().valueOf() + _frag_retry_timeout;
+                _frag_load_error_date = getTimer() + _frag_retry_timeout;
                 CONFIG::LOGGING {
                     Log.warn("retry fragment load in " + _frag_retry_timeout + " ms, count=" + _frag_retry_count);
                 }
@@ -352,11 +353,11 @@
                 fragData.pts_min_audio = fragData.pts_min_video = fragData.tags_pts_min_audio = fragData.tags_pts_min_video = Number.POSITIVE_INFINITY;
                 fragData.pts_max_audio = fragData.pts_max_video = fragData.tags_pts_max_audio = fragData.tags_pts_max_video = Number.NEGATIVE_INFINITY;
                 var fragMetrics : FragmentMetrics = _frag_current.metrics;
-                fragMetrics.loading_begin_time = new Date().valueOf();
+                fragMetrics.loading_begin_time = getTimer();

                 // decrypt data if needed
                 if (_frag_current.decrypt_url != null) {
-                    fragMetrics.decryption_begin_time = new Date().valueOf();
+                    fragMetrics.decryption_begin_time = getTimer();
                     fragData.decryptAES = new AES(_hls.stage, _keymap[_frag_current.decrypt_url], _frag_current.decrypt_iv, _fragDecryptProgressHandler, _fragDecryptCompleteHandler);
                     CONFIG::LOGGING {
                         Log.debug("init AES context:" + fragData.decryptAES);
@@ -398,7 +399,7 @@
                 Log.debug("loading completed");
             }
             var fragMetrics : FragmentMetrics = _frag_current.metrics;
-            fragMetrics.loading_end_time = new Date().valueOf();
+            fragMetrics.loading_end_time = getTimer();
             fragMetrics.size = fragData.bytesLoaded;

             var _loading_duration : uint = fragMetrics.loading_end_time - fragMetrics.loading_request_time;
@@ -417,7 +418,7 @@
             var fragData : FragmentData = _frag_current.data;
             var fragMetrics : FragmentMetrics = _frag_current.metrics;
             if (isNaN(fragMetrics.parsing_begin_time)) {
-                fragMetrics.parsing_begin_time = new Date().valueOf();
+                fragMetrics.parsing_begin_time = getTimer();
             }
             var bytes : ByteArray = fragData.bytes;
             if (_frag_current.byterange_start_offset != -1) {
@@ -453,7 +454,7 @@

             if (fragData.decryptAES) {
                 var fragMetrics : FragmentMetrics = _frag_current.metrics;
-                fragMetrics.decryption_end_time = new Date().valueOf();
+                fragMetrics.decryption_end_time = getTimer();
                 var decrypt_duration : Number = fragMetrics.decryption_end_time - fragMetrics.decryption_begin_time;
                 CONFIG::LOGGING {
                     Log.debug("Decrypted     duration/length/speed:" + decrypt_duration + "/" + fragData.bytesLoaded + "/" + ((8000 * fragData.bytesLoaded / decrypt_duration) / 1024).toFixed(0) + " kb/s");
@@ -705,7 +706,7 @@
             if (_hasDiscontinuity || _switchlevel) {
                 _demux = null;
             }
-            frag.metrics.loading_request_time = new Date().valueOf();
+            frag.metrics.loading_request_time = getTimer();
             _frag_current = frag;
             if (frag.decrypt_url != null) {
                 if (_keymap[frag.decrypt_url] == undefined) {
@@ -874,7 +875,7 @@
                     }
                     // provide tags to HLSNetStream
                     _tags_callback(_level, _frag_current.continuity, _frag_current.seqnum, !fragData.video_found, fragData.video_width, fragData.video_height, _frag_current.tag_list, fragData.tags, fragData.tag_pts_min, fragData.tag_pts_max, _hasDiscontinuity, min_offset, _frag_current.program_date + fragData.tag_pts_start_offset);
-                    var processing_duration : Number = (new Date().valueOf() - _frag_current.metrics.loading_request_time);
+                    var processing_duration : Number = (getTimer() - _frag_current.metrics.loading_request_time);
                     var bandwidth : Number = Math.round(fragData.bytesLoaded * 8000 / processing_duration);
                     var tagsMetrics : HLSLoadMetrics = new HLSLoadMetrics(_level, bandwidth, fragData.tag_pts_end_offset, processing_duration);
                     _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, tagsMetrics));
@@ -926,7 +927,7 @@

             // Calculate bandwidth
             var fragMetrics : FragmentMetrics = _frag_current.metrics;
-            fragMetrics.parsing_end_time = new Date().valueOf();
+            fragMetrics.parsing_end_time = getTimer();
             CONFIG::LOGGING {
                 Log.debug("Total Process duration/length/bw:" + fragMetrics.processing_duration + "/" + fragMetrics.size + "/" + (fragMetrics.bandwidth / 1024).toFixed(0) + " kb/s");
             }


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

--- frameworks/projects/framework/src/mx/graphics/IFill.as
+++ frameworks/projects/framework/src/mx/graphics/IFill.as
@@ -21,6 +21,11 @@
  *
  *  @see mx.graphics.LinearGradient
  *  @see mx.graphics.RadialGradient
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IFill
 {
@@ -42,6 +47,11 @@
 	 *  If the dimensions of the Rectangle are smaller than the dimensions
 	 *  of the target, the fill expands to fill the entire
 	 *  target.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function begin(target:Graphics, rc:Rectangle):void;

@@ -49,6 +59,11 @@
 	 *  Ends the fill.
 	 *
 	 *  @param target The Graphics object that is being filled.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	function end(target:Graphics):void;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 3672
Author:   clucier@adobe.com
Date:     2008-10-15T23:54:51.581066Z

Log Message:
-----------
Removing the commonly used getUnqualifiedClassName out of the less commonly used utility class to reduce SWF size for the general case.
Reviewer: Gordon
QE: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OrderedObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/NameUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11170
Author:   rfrishbe@adobe.com
Date:     2009-10-26T23:15:30.879444Z

Log Message:
-----------
ItemRenderer changes.  Fixing some bugs with the autoDrawBackground flag.  Also making some PARB changes:

1.  IItemRenderer.index -> itemIndex (affects DefaultItemRenderer, ItemRenderer, and ButtonBarButton).
2.  GroupBase.renderBackgroundFill() (protected method) -> drawBackground() (mx_internal method)
3.  ItemRenderer.handleBackgroundFill -> autoDrawBackground
4.  Removed contentBackgroundColor from ItemRenderer

Also, DefaultItemRenderer is now no longer an MXML file, but it is an AS-only class that extends UIComponent.

QE notes: -
Doc notes: Yes - Can you please look at the ASDocs for DefaultItemRenderer.as and the autoDrawBackground flag on ItemRenderer
Bugs: -
Reviewer: Deepa
Tests run: checkintests, Mustella List, DataGroup, DropDownList
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml" copyfrom-rev="11100" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.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/components/DataGroup.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -1298,7 +1298,7 @@
         // Handle the fixup of selection
         var newIndex:int
         if (event.currentTarget is IItemRenderer)
-            newIndex = IItemRenderer(event.currentTarget).index;
+            newIndex = IItemRenderer(event.currentTarget).itemIndex;
         else
             newIndex = dataGroup.getElementIndex(event.currentTarget as IVisualElement);


Changed Draw.circle() to Draw.circlePlus() and coded a new Draw.circle() using a pixelated algorithm.

--- net/flashpunk/utils/Draw.as
+++ net/flashpunk/utils/Draw.as
@@ -55,7 +55,7 @@
 		 */
 		public static function line(x1:int, y1:int, x2:int, y2:int, color:uint = 0xFFFFFF):void
 		{
-			if (color < 0xFF000000) color = 0xFF000000 | color;
+			if (color >= 0xFF000000) color &= 0xFFFFFF;

 			// get the drawing positions
 			x1 -= _camera.x;
@@ -123,7 +123,6 @@
 					}
 				}
 				screen.setPixel32(x2, y2, color);
-				return;
 			}
 			else
 			{
@@ -141,7 +140,6 @@
 					}
 				}
 				screen.setPixel32(x2, y2, color);
-				return;
 			}
 		}

@@ -191,19 +189,72 @@
 		}

 		/**
-		 * Draws a filled circle.
+		 * Draws a non-filled, pixelated circle.
+		 * @param	x			Center x position.
+		 * @param	y			Center y position.
+		 * @param	radius		Radius of the circle.
+		 * @param	color		Color of the circle.
+		 */
+		public static function circle(x:int, y:int, radius:int, color:uint = 0xFFFFFF):void
+		{
+			if (color < 0xFF000000) color = 0xFF000000 | color;
+			x -= _camera.x;
+			y -= _camera.y;
+			var f:int = 1 - radius,
+				fx:int = 1,
+				fy:int = -2 * radius,
+				xx:int = 0,
+				yy:int = radius;
+			_target.setPixel(x, y + radius, color);
+			_target.setPixel(x, y - radius, color);
+			_target.setPixel(x + radius, y, color);
+			_target.setPixel(x - radius, y, color);
+			while (xx < yy)
+			{
+				if (f >= 0)
+				{
+					yy --;
+					fy += 2;
+					f += fy;
+				}
+				xx ++;
+				fx += 2;
+				f += fx;
+				_target.setPixel(x + xx, y + yy, color);
+				_target.setPixel(x - xx, y + yy, color);
+				_target.setPixel(x + xx, y - yy, color);
+				_target.setPixel(x - xx, y - yy, color);
+				_target.setPixel(x + yy, y + xx, color);
+				_target.setPixel(x - yy, y + xx, color);
+				_target.setPixel(x + yy, y - xx, color);
+				_target.setPixel(x - yy, y - xx, color);
+			}
+		}
+
+		/**
+		 * Draws a circle to the screen.
 		 * @param	x			X position of the circle's center.
 		 * @param	y			Y position of the circle's center.
 		 * @param	radius		Radius of the circle.
 		 * @param	color		Color of the circle.
 		 * @param	alpha		Alpha of the circle.
-		 */
-		public static function circle(x:int, y:int, radius:Number, color:uint = 0x000000, alpha:Number = 1):void
-		{
-			_graphics.clear();
-			_graphics.beginFill(color & 0xFFFFFF, alpha);
-			_graphics.drawCircle(x - _camera.x, y - _camera.y, radius);
-			_graphics.endFill();
+		 * @param	fill		If the circle should be filled with the color (true) or just an outline (false).
+		 * @param	thick		How thick the outline should be (only applicable when fill = false).
+		 */
+		public static function circlePlus(x:int, y:int, radius:Number, color:uint = 0xFFFFFF, alpha:Number = 1, fill:Boolean = true, thick:int = 1):void
+		{
+			_graphics.clear();
+			if (fill)
+			{
+				_graphics.beginFill(color & 0xFFFFFF, alpha);
+				_graphics.drawCircle(x - _camera.x, y - _camera.y, radius);
+				_graphics.endFill();
+			}
+			else
+			{
+				_graphics.lineStyle(thick, color & 0xFFFFFF, alpha);
+				_graphics.drawCircle(x - _camera.x, y - _camera.y, radius);
+			}
 			_target.draw(FP.sprite, null, null, blend);
 		}


added support for sortOn() Array params and updated doc

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -581,7 +581,12 @@
 		/**
 		 * Sorts an Array (or Vector) of items in place using properties, lookup tables, or replacer functions.
 		 * @param array An Array (or Vector) to sort.
-		 * @param params One of several formats: A property name, lookup table, replacer function, or an Array of such parameters to sort on multiple values.
+		 * @param params Specifies how to get values used to sort items in the array.
+		 *               This can either be an Array of params or a single param, each of which can be one of the following:

+		 *               Array or Vector: values are looked up based on index (Such an Array must be nested in a params array rather than given alone as a single param)

+		 *               Object or Dictionary: values are looked up using items in the array as keys

+		 *               Property name: values are taken from items in the array using a property name

+		 *               Replacer function: array items are passed through this function to get values

 		 * @param sortDirections Specifies sort direction(s) (1 or -1) corresponding to the params.
 		 * @param inPlace Set this to true to modify the original Array (or Vector) in place or false to return a new, sorted copy.
 		 * @param returnSortedIndexArray Set this to true to return a new Array of sorted indices.
@@ -597,7 +602,7 @@
 			var param:*;
 			var sortDirection:int;
 			var i:int;
-			if (params is Array)
+			if (params != array && params is Array)
 			{
 				var fields:Array = new Array(params.length);
 				var fieldOptions:Array = new Array(params.length);
@@ -614,9 +619,9 @@
 					sortDirection = sortDirections && sortDirections[p] < 0 ? Array.DESCENDING : 0;

 					i = array.length;
-					if (param === array)
+					if (param is Array || param is Vector)
 						while (i--)
-							values[i][p] = array[i];
+							values[i][p] = param[i];
 					else if (param is Function)
 						while (i--)
 							values[i][p] = param(array[i]);
@@ -639,7 +644,10 @@
 				sortDirection = sortDirections < 0 ? Array.DESCENDING : 0;

 				i = array.length;
-				if (param is Function)
+				if (param === array || param is Vector)
+					while (i--)
+						values[i] = param[i];
+				else if (param is Function)
 					while (i--)
 						values[i] = param(array[i]);
 				else if (typeof param === 'object')


requestObjectCopy() now works with async classes

--- WeaveJS/src/weavejs/core/LinkableHashMap.as
+++ WeaveJS/src/weavejs/core/LinkableHashMap.as
@@ -222,8 +222,9 @@
 			//  if the name refers to the same object, remove the existing object so it can be replaced with a new one.
 			if (name == getName(objectToCopy))
 				removeObject(name);
-			var object:ILinkableObject = requestObject(name, classDef, false);
-			if (object != null)
+			requestObject(name, classDef, false);
+			var object:ILinkableObject = getObject(name);
+			if (classDef == LinkablePlaceholder.getClass(object))
 				Weave.setState(object, sessionState);
 			resumeCallbacks();


Temporarily turn off masking so that everyone can enjoy playing with p15n.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@4447 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/MediaContainer.as
+++ src/as/com/threerings/util/MediaContainer.as
@@ -1,5 +1,6 @@
 package com.threerings.util {

+//import flash.display.Bitmap;
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
 import flash.display.Loader;
@@ -316,7 +317,7 @@
      */
     protected function getContext (url :String) :LoaderContext
     {
-        // We allow content to share but not overwrite our classes
+//        // We allow content to share but not overwrite our classes
 //        return new LoaderContext(true,
 //            new ApplicationDomain(ApplicationDomain.currentDomain),
 //            SecurityDomain.currentDomain);
@@ -400,6 +401,19 @@

         updateContentDimensions(info.width, info.height);
         updateLoadingProgress(1, 1);
+
+//        // Bitmap smoothing
+//        if (_media is Loader) {
+//            var l :Loader = Loader(_media);
+//            try {
+//                if (l.content is Bitmap) {
+//                    Bitmap(l.content).smoothing = true;
+//                    trace("--- made bitmap smooth");
+//                }
+//            } catch (er :Error) {
+//                trace("--- error bitmap smooth");
+//            }
+//        }
     }

     /**
@@ -415,21 +429,21 @@
      */
     protected function configureMask (ww :int, hh :int) :void
     {
-        var mask :Shape;
-        if (_media.mask != null) {
-            mask = (_media.mask as Shape);
-
-        } else {
-            mask = new Shape();
-            // the mask must be added to the display list (which is wacky)
-            rawChildren.addChild(mask);
-            _media.mask = mask;
-        }
-
-        mask.graphics.clear();
-        mask.graphics.beginFill(0xFFFFFF);
-        mask.graphics.drawRect(0, 0, ww, hh);
-        mask.graphics.endFill();
+//        var mask :Shape;
+//        if (_media.mask != null) {
+//            mask = (_media.mask as Shape);
+//
+//        } else {
+//            mask = new Shape();
+//            // the mask must be added to the display list (which is wacky)
+//            rawChildren.addChild(mask);
+//            _media.mask = mask;
+//        }
+//
+//        mask.graphics.clear();
+//        mask.graphics.beginFill(0xFFFFFF);
+//        mask.graphics.drawRect(0, 0, ww, hh);
+//        mask.graphics.endFill();
     }

     /**


Compound message doesn't need a count.

Compound message doesn't need a count.

git-svn-id: 41360ad359616a519dfba9f2f48af1afe653c9f7@39 be230a1c-449f-4488-b524-6273046f66f0

--- src/as/client/ClientApp.as
+++ src/as/client/ClientApp.as
@@ -292,7 +292,7 @@
                 break;

             case COMPOUND_MSG:
-                for (var count :int = bytes.readInt(); count >= 0; count--) {
+                while (bytes.bytesAvailable > 0) {
                     decodeMessage(bytes);
                 }
                 break;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

--- frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as
+++ frameworks/projects/spark/src/spark/components/mediaClasses/DynamicStreamingVideoItem.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.components.mediaClasses


Fixed ASDOC error

Fixed ASDOC error

--- WeaveAPI/src/weave/core/ClassRegistryImpl.as
+++ WeaveAPI/src/weave/core/ClassRegistryImpl.as
@@ -46,22 +46,22 @@
 		private var MX_Singleton:Object;

 		/**
-		 * interface Class -> singleton implementation instance.
+		 * interface Class -> singleton implementation instance.
 		 */
 		public const singletonInstances:Dictionary = new Dictionary();

 		/**
-		 * interface Class -> implementation Class
+		 * interface Class -> implementation Class
 		 */
 		public const singletonImplementations:Dictionary = new Dictionary();

 		/**
-		 * interface Class -> Array<implementation Class>
+		 * interface Class -> Array<implementation Class>
 		 */
 		public const implementations:Dictionary = new Dictionary();

 		/**
-		 * implementation Class -> String
+		 * implementation Class -> String
 		 */
 		public const displayNames:Dictionary = new Dictionary();


Transferred from the Adobe Open Source Subversion Repository

Revision: 9206
Author:   dloverin@adobe.com
Date:     2009-08-10T18:39:33.826984Z

Log Message:
-----------
Merge 3.4 changes 9109, 8949.

Also fixed a bug in the generated code for IFlexModuleFactory.allowInsecureDomain() and cleanup up SystemManager by removing unused variables rslSizes and lastSystemManager.

QE notes: None.
Doc notes: None.
Bugs: SDK-16050, SDK-22556
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/CompcPreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -42,6 +42,7 @@
 import mx.core.IChildList;
 import mx.core.IFlexDisplayObject;
 import mx.core.IFlexModule;
+import mx.core.IFlexModuleFactory;
 import mx.core.IUIComponent;
 import mx.core.Singleton;
 import mx.core.IWindow;
@@ -467,6 +468,26 @@
      */
     private var _popUpChildren:WindowedSystemChildrenList;

+    //----------------------------------
+    //  preloadedRSLs
+    //----------------------------------
+
+    /**
+     *  @private
+     *
+     *  This is a stub to satisfy the IFlexModuleFactory interface.
+     *
+     *  The RSLs loaded by this system manager before the application
+     *  starts. RSLs loaded by the application are not included in this list.
+     *
+     *  Information about preloadedRSLs is stored in a Dictionary. The key is
+     *  the RSL's LoaderInfo. The value is the url the RSL was loaded from.
+     */
+    public function  get preloadedRSLs():Dictionary
+    {
+        return null;
+    }
+
     /**
      *  @inheritDoc
      *
@@ -1308,7 +1329,32 @@
 		dispatchEvent(dynamicEvent);
     }

-
+    /**
+     *  @private
+     *
+     *  This is a stub to satisfy the IFlexModuleFactory interface.
+     *
+     *  Calls Security.allowDomain() for the SWF associated with this SystemManager
+     *  plus all the SWFs assocatiated with RSLs preloaded by this SystemManager.
+     *
+     */
+    public function allowDomain(... domains):void
+    {
+    }
+
+    /**
+     *  @private
+     *
+     *  This is a stub to satisfy the IFlexModuleFactory interface.
+     *
+     *  Calls Security.allowInsecureDomain() for the SWF associated with this SystemManager
+     *  plus all the SWFs assocatiated with RSLs preloaded by this SystemManager.
+     *
+     */
+    public function allowInsecureDomain(... domains):void
+    {
+    }
+
     /**
      *  Returns true if the given DisplayObject is the
      *  top-level window.


Transferred from the Adobe Open Source Subversion Repository

Revision: 21680
Author:   jszeto@adobe.com
Date:     2011-07-21T21:56:22.533455Z

Log Message:
-----------
Item Snapping, SpinnerList and DateSpinner Initial checkin

Merging in changes from sandbox development branch

SpinnerList and DateSpinner are in usable states, but there is still unimplemented functionality.

QE notes: none
Doc notes: none
Bugs: none
Reviewer: Tom Kraikit, Eric Day, Jason Szeto
Tests run: checkintests, full cyclone
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateAndTimeRangeList.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.settings/org.eclipse.core.resources.prefs</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListScrollerSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/ScrollSnappingMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalendarDate.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSelectorDisplayMode.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.settings</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/DateSpinnerTest-app.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/effects/ThrowEffect.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerBackground.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/views</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/layouts/VerticalSpinnerLayout.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.flexProperties</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/libs</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SpinnerListContainerSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/bundles/en_US/components.properties</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollHelper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/TabbedViewNavigatorButtonBarFirstButton_down.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerList.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/DateSpinnerTest.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/blackberry-tablet.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/src/views/DateSpinnerTestHomeView.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/DateSpinner.as</path>
<path kind="dir" action="M">/private/flex/sdk/branches/4.y</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SpinnerListItemRenderer.as</path>
<path kind="dir" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/.settings</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerSelectionIndicator.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/development/eclipse/flex/DateSpinnerTest/.project</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/SpinnerListContainerShadow.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/SpinnerListContainerShadow.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/DateSpinnerSkin.as
@@ -0,0 +1,115 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2011 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+package spark.skins.mobile
+{
+import mx.core.ClassFactory;
+import mx.core.IFactory;
+import mx.core.IVisualElementContainer;
+
+import spark.components.DateSpinner;
+import spark.components.SpinnerList;
+import spark.components.SpinnerListContainer;
+import spark.skins.mobile.supportClasses.MobileSkin;
+
+/**
+ *  ActionScript-based skin for the DateSpinner in mobile applications.
+ *
+ *  @langversion 3.0
+ *  @playerversion AIR 3
+ *  @productversion Flex 4.5.2
+ *
+ */
+public class DateSpinnerSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Constructor
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public function DateSpinnerSkin()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Skin parts
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Factory for creating dateItem list parts
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var dateItemList:IFactory;
+
+    /**
+     *  Skin part; container of dateItem list(s)
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var listContainer:IVisualElementContainer;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+    public var hostComponent:DateSpinner;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+
+    override protected function createChildren():void
+    {
+        listContainer = new SpinnerListContainer();
+
+        addChild(SpinnerListContainer(listContainer));
+
+        dateItemList = new ClassFactory(SpinnerList);
+    }
+
+    override protected function measure():void
+    {
+        measuredWidth = SpinnerListContainer(listContainer).getPreferredBoundsWidth();
+        measuredHeight = SpinnerListContainer(listContainer).getPreferredBoundsHeight();
+        measuredMinWidth = SpinnerListContainer(listContainer).getMinBoundsWidth();
+        measuredMinHeight = SpinnerListContainer(listContainer).getMinBoundsHeight();
+    }
+
+    override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        super.layoutContents(unscaledWidth, unscaledHeight);
+
+        setElementSize(listContainer, unscaledWidth, unscaledHeight);
+        setElementPosition(listContainer, 0, 0);
+    }
+
+}
+}


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

--- frameworks/projects/rpc/src/mx/messaging/management/MBeanParameterInfo.as
+++ frameworks/projects/rpc/src/mx/messaging/management/MBeanParameterInfo.as
@@ -18,11 +18,23 @@

 /**
  * Client representation of metadata for a MBean operation parameter.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class MBeanParameterInfo extends MBeanFeatureInfo
 {
     /**
      *  Creates a new instance of an empty MBeanParameterInfo.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
 	public function MBeanParameterInfo()
 	{
@@ -31,6 +43,12 @@

 	/**
 	 * The data type of the operation parameter.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion BlazeDS 4
+	 *  @productversion LCDS 3
 	 */
 	public var type:String;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3719
Author:   dsubrama@adobe.com
Date:     2008-10-17T20:09:28.761478Z

Log Message:
-----------
Fix for SDK-17359. I also fixed an issue where if requiresSelection is set to true, and you remove the first item, the new first item doesn't appear selected.

Checkintests: Pass
QA: Yes
Reviewer: Glenn

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -490,9 +490,20 @@
         if (index == selectedIndex)
         {
             if (requiresSelection && dataProvider && dataProvider.length > 0)
-                selectedIndex = 0;
+            {
+            	if (index == 0)
+            	{
+            		//We can't just set selectedIndex to 0 directly
+            		//since the previous value was 0 and the new value is
+            		//0, so the setter will return early.
+            		_proposedSelectedIndex = 0;
+            		invalidateProperties();
+            	}
+            	else
+            		selectedIndex = 0;
+            }
             else
-                selectedIndex = -1;
+            	adjustSelectedIndex(-1);
         }
         else if (index < selectedIndex)
         {