Incorporated badge into rtmfpcat

Incorporated badge into rtmfpcat

--- rtmfpcat.as
+++ rtmfpcat.as
@@ -50,47 +50,62 @@

         private var proxy_pairs:Array;

+        private var debug_mode:Boolean;
         private var proxy_mode:Boolean;

         /* TextField for debug output. */
         private var output_text:TextField;
+
+        /* Badge for display */
+        private var badge:InternetFreedomBadge;

         private var fac_addr:Object;
         private var relay_addr:Object;

         public function rtmfpcat()
         {
+            proxy_mode = false;
+            debug_mode = false;
+
             // Absolute positioning.
             stage.scaleMode = StageScaleMode.NO_SCALE;
             stage.align = StageAlign.TOP_LEFT;
-
-            output_text = new TextField();
-            output_text.width = stage.stageWidth;
-            output_text.height = stage.stageHeight;
-            output_text.background = true;
-            output_text.backgroundColor = 0x001f0f;
-            output_text.textColor = 0x44cc44;
-            addChild(output_text);
-
-            puts("Starting.");
+
             // Wait until the query string parameters are loaded.
             this.loaderInfo.addEventListener(Event.COMPLETE, loaderinfo_complete);
         }

         public function puts(s:String):void
         {
-            output_text.appendText(s + "\n");
-            output_text.scrollV = output_text.maxScrollV;
+            if (output_text != null) {
+                output_text.appendText(s + "\n");
+                output_text.scrollV = output_text.maxScrollV;
+            }
         }

         private function loaderinfo_complete(e:Event):void
         {
             var fac_spec:String;
             var relay_spec:String;
-
-            puts("Parameters loaded.");
-
+
+            debug_mode = (this.loaderInfo.parameters["debug"] != null)
             proxy_mode = (this.loaderInfo.parameters["proxy"] != null);
+            if (proxy_mode && !debug_mode) {
+                badge = new InternetFreedomBadge(this);
+                badge.display();
+            } else {
+                output_text = new TextField();
+                output_text.width = stage.stageWidth;
+                output_text.height = stage.stageHeight;
+                output_text.background = true;
+                output_text.backgroundColor = 0x001f0f;
+                output_text.textColor = 0x44cc44;
+                addChild(output_text);
+            }
+
+            puts("Starting: parameters loaded.");
+
+            /* TODO: use this to have multiple proxies going at once */
             proxy_pairs = new Array();

             fac_spec = this.loaderInfo.parameters["facilitator"];
@@ -157,6 +172,9 @@
                 if (!proxy_mode) {
                     start_proxy_pair();
                     s_c.send_hello(e.peer);
+                } else if (!debug_mode && badge != null) {
+                    badge.total_proxy_pairs++;
+                    badge.num_proxy_pairs++;
                 }
                 p_p.connect(e.peer, e.stream);
             });
@@ -204,6 +222,9 @@
             p_p.addEventListener(Event.CLOSE, function (e:Event):void {
                 puts("ProxyPair: connection closed.");
                 p_p = null;
+                if (proxy_mode && !debug_mode && badge != null) {
+                    badge.num_proxy_pairs++;
+                }
                 establish_facilitator_connection();
             });
             p_p.listen(s_c.local_stream_name);
@@ -227,3 +248,106 @@
         }
     }
 }
+
+import flash.text.TextField;
+import flash.text.TextFormat;
+
+class InternetFreedomBadge {
+
+    private var ui:rtmfpcat;
+
+    private var _num_proxy_pairs:uint;
+    private var _total_proxy_pairs:uint;
+
+    [Embed(source="badge.png")]
+    private var BadgeImage:Class;
+    private var tot_client_count_tf:TextField;
+    private var tot_client_count_fmt:TextFormat;
+    private var cur_client_count_tf:TextField;
+    private var cur_client_count_fmt:TextFormat;
+
+    public function InternetFreedomBadge(ui:rtmfpcat)
+    {
+        this.ui = ui;
+        _num_proxy_pairs = 0;
+        _total_proxy_pairs = 0;
+
+        /* Setup client counter for badge. */
+        tot_client_count_fmt = new TextFormat();
+        tot_client_count_fmt.color = 0xFFFFFF;
+        tot_client_count_fmt.align = "center";
+        tot_client_count_fmt.font = "courier-new";
+        tot_client_count_fmt.bold = true;
+        tot_client_count_fmt.size = 10;
+        tot_client_count_tf = new TextField();
+        tot_client_count_tf.width = 20;
+        tot_client_count_tf.height = 17;
+        tot_client_count_tf.background = false;
+        tot_client_count_tf.defaultTextFormat = tot_client_count_fmt;
+        tot_client_count_tf.x=47;
+        tot_client_count_tf.y=0;
+
+        cur_client_count_fmt = new TextFormat();
+        cur_client_count_fmt.color = 0xFFFFFF;
+        cur_client_count_fmt.align = "center";
+        cur_client_count_fmt.font = "courier-new";
+        cur_client_count_fmt.bold = true;
+        cur_client_count_fmt.size = 10;
+        cur_client_count_tf = new TextField();
+        cur_client_count_tf.width = 20;
+        cur_client_count_tf.height = 17;
+        cur_client_count_tf.background = false;
+        cur_client_count_tf.defaultTextFormat = cur_client_count_fmt;
+        cur_client_count_tf.x=47;
+        cur_client_count_tf.y=6;
+
+        /* Update the client counter on badge. */
+        update_client_count();
+    }
+
+    public function display():void
+    {
+        ui.addChild(new BadgeImage());
+        /* Tried unsuccessfully to add counter to badge. */
+        /* For now, need two addChilds :( */
+        ui.addChild(tot_client_count_tf);
+        ui.addChild(cur_client_count_tf);
+    }
+
+    public function get num_proxy_pairs():uint
+    {
+        return _num_proxy_pairs;
+    }
+
+    public function set num_proxy_pairs(amount:uint):void
+    {
+        _num_proxy_pairs = amount;
+        update_client_count();
+    }
+
+    public function get total_proxy_pairs():uint
+    {
+        return _total_proxy_pairs;
+    }
+
+    public function set total_proxy_pairs(amount:uint):void
+    {
+        _total_proxy_pairs = amount;
+        /* note: doesn't update, so be sure to update this
+           before you update num_proxy_pairs! */
+    }
+
+    private function update_client_count():void
+    {
+        /* Update total client count. */
+        if (String(total_proxy_pairs).length == 1)
+            tot_client_count_tf.text = "0" + String(total_proxy_pairs);
+        else
+            tot_client_count_tf.text = String(total_proxy_pairs);
+
+        /* Update current client count. */
+        cur_client_count_tf.text = "";
+        for(var i:Number = 0; i < num_proxy_pairs; i++)
+            cur_client_count_tf.appendText(".");
+    }
+}


fixed bug with JSON encoding.

fixed bug with JSON encoding.

Change-Id: I1b8281ec418560d25c61ea9090911de8b976f2e1

--- WeaveCore/src/weave/core/WeaveXMLEncoder.as
+++ WeaveCore/src/weave/core/WeaveXMLEncoder.as
@@ -207,13 +207,15 @@

 		private function encodeJSON(obj:Object, qname:QName, parentNode:XMLNode):XMLNode
 		{
-			var str:String;
+			var str:String = null;
+
 			var json:Object = ClassUtils.getClassDefinition('JSON');
-			if (!json)
+			if (json)
 				str = json.stringify(obj, null, 2);
 			else if (ExternalInterface.available)
 				str = ExternalInterface.call('JSON.stringify', obj, null, 2);
-			else
+
+			if (str == null)
 				return null;

 			var node:XMLNode = super.encodeValue(str, qname, parentNode);


Backed out previous change that was adversely affecting the SWF version.

--- frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
+++ frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as
@@ -138,23 +138,19 @@
 			{
 				super.updateRenderer();

-				var color:uint = ValuesManager.valuesImpl.getValue(this, "background-color", "selected");
-
 				background.graphics.clear();
-				background.graphics.beginFill(color, (down||selected||hovered)?1:0);
+				background.graphics.beginFill(useColor, (down||selected||hovered)?1:0);
 				background.graphics.drawRect(0, 0, width, height);
 				background.graphics.endFill();
 			}
 			COMPILE::JS
 			{
-				if (selected) {
-					element.className = element.className + " selected";
-				}
-				else {
-					if (element.className.endsWith(" selected")) {
-						element.className = element.className.replace(" selected", "");
-					}
-				}
+				if (selected)
+					element.style.backgroundColor = '#9C9C9C';
+				else if (hovered)
+					element.style.backgroundColor = '#ECECEC';
+				else
+					element.style.backgroundColor = null;
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19404
Author:   mhorn@adobe.com
Date:     2010-12-15T21:02:08.063110Z

Log Message:
-----------
Temporary ASDoc updates for bug fix SDK-28907

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as

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

--- frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
+++ frameworks/projects/mobilecomponents/src/spark/styles/metadata/StyleableTextFieldTextStyles.as
@@ -149,6 +149,7 @@

 /**
  *  Offset of first line of text from the left side of the container, in pixels.
+ *  This property cannot be a negative number when used with the mobile theme.
  *
  *  @default 0
  *


Fixed bug where WeaveDataSource wasn't using the title metadata.

Change-Id: Ifda5c71754f5e832228deed21ff36b7cf4b75eb2

--- WeaveData/src/weave/data/DataSources/WeaveDataSource.as
+++ WeaveData/src/weave/data/DataSources/WeaveDataSource.as
@@ -303,11 +303,13 @@
 				for (var i:int = 0; i < result.columnMetadata.length; i++)
 				{
 					var metadata:Object = result.columnMetadata[i];
+					// fill in title if missing
+					if ((metadata['title'] || '') == '')
+						metadata['title'] = metadata['name'];
 					var node:XML = <attribute/>;
 					for (var property:String in metadata)
 						if (metadata[property] != null && metadata[property] != '')
 							node['@'+property] = metadata[property];
-					node.@title = node.@name;
 					hierarchyNode.appendChild(node);
 				}
 			}


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

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


removed comment which was out of date

removed comment which was out of date

git-svn-id: 9278a788294a4258aac04586390fc35fb4a5f335@7072 a9308255-753e-0410-a2e9-80b3fbc4fff6

--- FlexUnit4/src/org/flexunit/runner/notification/async/XMLListener.as
+++ FlexUnit4/src/org/flexunit/runner/notification/async/XMLListener.as
@@ -25,16 +25,6 @@
  * @author     Jeff Tapper <jtapper@digitalprimates.net>
  * @version
  **/
-/**
- * notes
- *
- * currently, im printing all successes, then all failures, then all ignores.
- * may make more sense to return them in order.
- * since we need to return the total number of tests in the first result, but we can't know that until
- * all the tests are complete, we probably need to keep an array of all the results in order as they come back,
- * and when the tests are done, loop over the array and send the messages.
- *
- * */

 package org.flexunit.runner.notification.async
 {


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

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

 package mx.containers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5319
Author:   jimurphy@adobe.com
Date:     2009-03-16T15:07:19.469668Z

Log Message:
-----------
Merge 3.x revisions 5186-5187,5210,5229,5298 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/RectangularBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/SchemaManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/SchemaManager.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/SchemaManager.as
@@ -136,7 +136,7 @@

         // We keep track of the initial scope for reset()
         if (schemaStack.length == 1)
-            initialScope = schemaStack[0];
+            initialScope = schemaStack[0] as Array;
     }

     /**
@@ -185,7 +185,24 @@
     public function getNamedDefinition(name:QName, ...componentTypes:Array):XML
     {
         var schemas:Array = currentScope();
-
+        var definition:XML = findDefinition(schemas, name, componentTypes);
+
+        // If we cannot find the definition in the current scope, try from
+        // the initial scope.
+        if (definition == null && schemas != initialScope)
+        {
+            definition = findDefinition(initialScope, name, componentTypes);
+        }
+
+        return definition;
+    }
+
+    /**
+     * @private
+     * Look for the definition of the QName in the schemas provided.
+     */
+    private function findDefinition(schemas:Array, name:QName, componentTypes:Array):XML
+    {
         for (var s:int = 0; s < schemas.length; s++)
         {
             var schema:Schema = schemas[s];
@@ -200,8 +217,7 @@
         }

         return null;
-    }
-
+    }

     /**
      * Locate a schema for the given namespace and push it to a
@@ -516,11 +532,11 @@
      *  @productversion Flex 3
      */
     private var schemaStack:Array;
-    private var initialScope:*;
+    private var initialScope:Array;
     private var _namespaces:Object;
     private var _schemaMarshaller:SchemaMarshaller;
     private var _schemaConstants:SchemaConstants;
     private var _schemaDatatypes:SchemaDatatypes;
 }

-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11093
Author:   dsubrama@adobe.com
Date:     2009-10-22T23:25:43.839563Z

Log Message:
-----------
Fix for http://bugs.adobe.com/jira/browse/SDK-23769 - now, we correctly instantiate the advanced blend mode wrappers.

QE notes: Yes, regress
Doc notes: No
Bugs: SDK-23769
Reviewer: Evtim
Tests run: Checkintests
Is noteworthy for integration: Yes - now all the advanced blendModes will render correctly

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/Group.as</path>

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -769,21 +769,45 @@
 			switch(_blendMode)
 			{
 				case "color":
-					super.blendShader = new ColorShader();
-				case "colordodge":
-					super.blendShader = new ColorDodgeShader();
-				case "colorburn":
-					super.blendShader = new ColorBurnShader();
-				case "exclusion":
+				{
+					super.blendShader = new ColorShader();
+					break;
+				}
+				case "colordodge":
+				{
+					super.blendShader = new ColorDodgeShader();
+					break;
+				}
+				case "colorburn":
+				{
+					super.blendShader = new ColorBurnShader();
+					break;
+				}
+				case "exclusion":
+				{
 					super.blendShader = new ExclusionShader();
-				case "hue":
-					super.blendShader = new HueShader();
+					break;
+				}
+				case "hue":
+				{
+					super.blendShader = new HueShader();
+					break;
+				}
 				case "luminosity":
-					super.blendShader = new LuminosityShader();
+				{
+					super.blendShader = new LuminosityShader();
+					break;
+				}
 				case "saturation":
-					super.blendShader = new SaturationShader();
+				{
+					super.blendShader = new SaturationShader();
+					break;
+				}
 				case "softlight":
-					super.blendShader = new SoftLightShader();
+				{
+					super.blendShader = new SoftLightShader();
+					break;
+				}
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 2644
Author:   egeorgie@adobe.com
Date:     2008-07-28T23:58:09.872940Z

Log Message:
-----------
First pass at unifying layout APIs between UIComponent and GraphicElement, more to come with additional check-ins.

reviewed by Ryan, Glenn, Gordon, Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -90,10 +90,10 @@
 		var w:Number;
 		var h:Number;

-		if (drawWidth != 0 && drawHeight != 0)
+		if (!isNaN(explicitWidth) && !isNaN(explicitHeight))
 		{
-			w = drawWidth;
-			h = drawHeight;
+			w = explicitWidth;
+			h = explicitHeight;
 		}
 		else
 		{
@@ -117,11 +117,15 @@
 	/**
 	 *  @private
 	 */
-	override public function draw(g:Graphics):void
-	{
-		super.draw(g);
-
-		compose(drawWidth, drawHeight);
+	/**
+	 *  @inheritDoc
+	 */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+	{
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		compose(unscaledWidth, unscaledHeight);

 		applyDisplayObjectProperties();
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6101
Author:   pdehaan@adobe.com
Date:     2009-04-09T21:55:22.742795Z

Log Message:
-----------
Added simple Spark Panel example

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/spark/components/examples/PanelExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Panel.as</path>

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

--- frameworks/projects/spark/src/spark/components/Panel.as
+++ frameworks/projects/spark/src/spark/components/Panel.as
@@ -17,7 +17,9 @@
 [IconFile("Panel.png")]

 /**
- *  The Panel class is container whose skin usually contains a title
+ *  The Panel class is container whose skin usually contains a title.
+ *
+ *  @includeExample examples/PanelExample.mxml
  *
  *  @see SkinnableContainer
  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 22448
Author:   build@adobe.com
Date:     2011-09-08T19:26:12.465737Z

Log Message:
-----------
Version update to 4.6.0

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airspark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_air/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/flex-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark_dmv/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/rpc/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_dmv/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/build.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/modules/compiler/src/java/flex2/tools/VersionInfo.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airframework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/advancedgrids/src/mx/core/Version.as</path>

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

--- frameworks/projects/spark_dmv/src/spark/core/Version.as
+++ frameworks/projects/spark_dmv/src/spark/core/Version.as
@@ -15,4 +15,4 @@
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.5.2.0";
+mx_internal static const VERSION:String = "4.6.0.0";


Improved error display

Improved error display

Change-Id: I70f9e81da8fca3d9b13f4b0b0bfcdc3a957859c2

--- WeaveData/src/weave/services/JsonCache.as
+++ WeaveData/src/weave/services/JsonCache.as
@@ -71,7 +71,7 @@
 			{
 				response = (event as FaultEvent).fault.content;
 				if (response)
-					reportError("Request failed: " + url + "; response=" + Compiler.stringify(response));
+					reportError("Request failed: " + url + "; " + response);
 				else
 					reportError(event);
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

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

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17331
Author:   jasonsj@adobe.com
Date:     2010-08-16T17:37:24.374535Z

Log Message:
-----------
Added DiscouragedForProfile metadata for use with FB mobile projects.

QE notes: DiscouragedForProfile features should now be visible in FB
Doc notes: ASDoc content omitted for DiscouragedForProfile where the boilerplate comment is desired
Bugs:
Reviewer: gruehle
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TitleWindow.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/BorderContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/FormHeading.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/TabBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Form.as</path>

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

--- frameworks/projects/spark/src/spark/components/ComboBox.as
+++ frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -96,7 +96,16 @@
 //--------------------------------------

 [AccessibilityClass(implementation="spark.accessibility.ComboBoxAccImpl")]
+
 [IconFile("ComboBox.png")]
+
+/**
+ * Because this component does not define a skin for the mobile theme, Adobe
+ * recommends that you not use it in a mobile application. Alternatively, you
+ * can define your own mobile skin for the component. For more information,
+ * see Spark Skinning.
+ */
+[DiscouragedForProfile("mobileDevice")]

 /**
  *  The ComboBox control is a child class of the DropDownListBase control.


Transferred from the Adobe Open Source Subversion Repository

Revision: 6183
Author:   cframpto@adobe.com
Date:     2009-04-21T17:34:47.501694Z

Log Message:
-----------
- Fix truncation. The measured resource indicator is width dependent so if it's cached it needs to be tossed if either the truncation indicator string changes or the width of the SimpleText changes.
- Fix measuredOneLine variable.  If it's SimpleText need to know if all the lines have been composed since simple text stops composing lines when it runs out of text or as soon as the next line completely falls outside of the bounds.
- Add missing config param to call to TextFilter.getImporter().  It was meant to be used.
- In RichText, the last one set, either text, or content, should take precedence.  Remove code which gave content precedence.

QE Notes:
Doc Notes:
Bugs:
Reviewers: Gordon needs to review all of RichText/SimpleText when all the functionality is implemented

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -225,14 +225,6 @@

     /**
      *  @private
-     *  If content is explicitly set, it will take precedence over text, if it
-     *  is set as well.  Once content is set, it can be set to null and then text
-     *  can be set.
-     */
-    private var contentSet:Boolean = false;
-
-    /**
-     *  @private
      *  This flag is set to true if the 'text' needs to be extracted
      *  from the 'content'.
      */
@@ -305,13 +297,10 @@
         // Setting 'text' temporarily causes 'content' to become null.
         // Later, after the 'text' has been committed into the TextFlow,
         // getting 'content' will return the TextFlow.
-        if (!contentSet)
-        {
-            _content = null;
-            contentChanged = false;
-
-            super.text = value;
-        }
+        _content = null;
+        contentChanged = false;
+
+        super.text = value;
     }

     //--------------------------------------------------------------------------
@@ -388,10 +377,6 @@

             _content = value;

-            // True, if content is non-null.  Once content is set, if then set
-            // to null, text can be set.
-            contentSet = _content;
-
             invalidateTextLines("content");
             invalidateSize();
             invalidateDisplayList();
@@ -445,13 +430,12 @@
      */
     override protected function invalidateTextLines(cause:String):void
     {
+        super.invalidateTextLines(cause);
+
         if (cause == "text")
             textChanged = true;
         else if (cause == "content")
             contentChanged = true;
-
-        mx_internal::bounds.width = NaN;
-        mx_internal::bounds.height = NaN;
     }

     //--------------------------------------------------------------------------
@@ -710,7 +694,7 @@
     private function importToFlow(source:Object, format:String,
                                   config:Configuration = null):TextFlow
     {
-        var importer:ITextImporter = TextFilter.getImporter(format);
+        var importer:ITextImporter = TextFilter.getImporter(format, config);

         // Throw import errors rather than return a null textFlow.
         // Alternatively, the error strings are in the Vector, importer.errors.
@@ -721,9 +705,10 @@

     /**
      *  @private
+     *  Returns true to indicate all lines were composed.
      */
     override protected function composeTextLines(width:Number = NaN,
-												 height:Number = NaN):void
+												 height:Number = NaN):Boolean
     {
         super.composeTextLines(width, height);

@@ -770,6 +755,9 @@
         // Listen for "damage" events in case the textFlow is
         // modified programatically.
         textFlow.addEventListener(DamageEvent.DAMAGE, textFlow_damageHandler);
+
+        // Created all lines.
+        return true;
     }

 	/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5573
Author:   jimurphy@adobe.com
Date:     2009-03-26T15:11:59.159776Z

Log Message:
-----------
-more updated package and class names that were missed in the first pass
-remove the mx folder

qa: probably
doc: this updated more asdoc comments so you may want to make sure that this pass made the correct updates
checkintests: pass

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/flex4/src/spark/components/DataGroup.as</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/layout/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.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/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx</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/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.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/flex4/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.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/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.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/flex4/src/spark/effects/AnimateTransform.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/VScrollBar.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/effects/AnimateTransformRotate3D.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/effects/supportClasses/WipeInstance.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/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/components/TextArea.as
+++ frameworks/projects/spark/src/spark/components/TextArea.as
@@ -24,7 +24,7 @@
 //--------------------------------------

 /**
- *  @copy mx.components.baseClasses.GroupBase#symbolColor
+ *  @copy spark.components.supportClasses.GroupBase#symbolColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


remove incorrect import

remove incorrect import

--- WeaveJS/src/weavejs/data/column/ReferencedColumn.as
+++ WeaveJS/src/weavejs/data/column/ReferencedColumn.as
@@ -15,8 +15,6 @@

 package weavejs.data.column
 {
-	import weave.api.data.IWeaveTreeNode;
-
 	import weavejs.WeaveAPI;
 	import weavejs.api.core.ILinkableHashMap;
 	import weavejs.api.data.IAttributeColumn;


conversations load correct npc

conversations load correct npc

--- flexEditor/src/org/arisgames/editor/view/ItemEditorCharacterView.as
+++ flexEditor/src/org/arisgames/editor/view/ItemEditorCharacterView.as
@@ -105,8 +105,8 @@
 		trace("ItemEditorCharaterView: reloadTheConversations() called");

 		if (objectPaletteItem != null) {
-			trace("ItemEditorCharaterView: Starting reloadTheConversations() with NpcID:" + objectPaletteItem.id);
-			AppServices.getInstance().getConversationsForNpc(GameModel.getInstance().game.gameId, objectPaletteItem.id, new Responder(handleLoadConversations, handleFault));
+			trace("ItemEditorCharaterView: Starting reloadTheConversations() with NpcID:" + objectPaletteItem.objectId);
+			AppServices.getInstance().getConversationsForNpc(GameModel.getInstance().game.gameId, objectPaletteItem.objectId, new Responder(handleLoadConversations, handleFault));
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8023
Author:   aharui@adobe.com
Date:     2009-06-19T23:37:02.437061Z

Log Message:
-----------
Frame1 cleanup part 2 (final part AFAIK).  MarshallPLan (now MarshallingSupport) is now opt-in.  All SWFs using Marshalling must use -includes=mx.managers.systemClasses.MarshallingSupport on the command line.

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Joan cyclone
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<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/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as" copyfrom-rev="7988" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as
+++ frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as
@@ -27,7 +27,7 @@
 import mx.utils.NameUtil;
 import mx.utils.SecurityUtil;
 import mx.events.SWFBridgeRequest;
-import mx.managers.systemClasses.MarshallPlan;
+import mx.managers.systemClasses.MarshallingSupport;
 import mx.managers.systemClasses.ChildManager;

 use namespace mx_internal;
@@ -68,7 +68,7 @@

         _systemManager = systemManager;

-		mp = MarshallPlan(systemManager.getImplementation("mx.managers::IMarshalSystemManager"));
+		mp = MarshallingSupport(systemManager.getImplementation("mx.managers::IMarshalSystemManager"));

         // We are a proxy for a popup - we are the hightest system manager.
         topLevel = true;
@@ -83,7 +83,7 @@
         childManager = new ChildManager(this);
     }

-	private var mp:MarshallPlan;
+	private var mp:MarshallingSupport;

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 13173
Author:   gosmith@adobe.com
Date:     2009-12-23T00:22:15.529877Z

Log Message:
-----------
Added ASDoc for the Spark SpinnerAccImpl, NumericStepperAccImpl, and SliderBaseAccImpl, based on the opensource specs. Also made minor edits to ASDoc in other Spark acc impl classes.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as
@@ -30,8 +30,98 @@
 [ResourceBundle("components")]

 /**
- *  SpinnerAccImpl is a subclass of AccessibilityImplementation
- *  which implements accessibility for the Spinner class.
+ *  SpinnerAccImpl is the accessibility implementation class
+ *  for spark.components.Spinner.
+ *
+ *
When a Spark Spinner is created,
+ *  its accessibilityImplementation property
+ *  is set to an instance of this class.
+ *  The Flash Player then uses this class to allow MSAA clients
+ *  such as screen readers to see and manipulate the Spinner.
+ *  See the mx.accessibility.AccImpl and
+ *  flash.accessibility.AccessibilityImplementation classes
+ *  for background information about accessibility implementation
+ *  classes and MSAA.

+ *
+ *
Children

+ *
+ *
A Spinner has 2 MSAA children,
+ *  which are its increment and decrement buttons.

+ *
+ *
Role

+ *
+ *
The MSAA Role of a Spinner is ROLE_SYSTEM_SPINBUTTON.

+ *
+ *
The Role of each child button is ROLE_SYSTEM_PUSHBUTTON.

+ *
+ *
Name

+ *
+ *
The MSAA Name of a Spinner is, by default, an empty string.
+ *  When wrapped in a FormItem element, the Name is the FormItem's label.
+ *  To override this behavior,
+ *  set the Spinner's accessibilityName property.

+ *
+ *
The Name of each child button comes from a locale-dependent resource.
+ *  For the en_US locale, the names are "More" and "Less".

+ *
+ *
When the Name of the Spinner or one of its child button changes,
+ *  a Spinner dispatches the MSAA event EVENT_OBJECT_NAMECHANGE
+ *  with the proper childID for the button or 0 for itself.

+ *
+ *
Description

+ *
+ *
The MSAA Description of a Spinner is, by default, an empty string,
+ *  but you can set the Spinner's accessibilityDescription
+ *  property.

+ *
+ *
The Description of each child button is the empty string.

+ *
+ *
State

+ *
+ *
The MSAA State of a Spinner is a combination of:
+ *

+ *
STATE_SYSTEM_UNAVAILABLE (when enabled is false)

+ *
STATE_SYSTEM_FOCUSABLE (when enabled is true)

+ *
STATE_SYSTEM_FOCUSED
+ *    (when enabled is true and the Spinner has focus)

+ *

+ *
+ *
When the State of the Spinner or one of its child buttons changes,
+ *  a Spinner dispatches the MSAA event EVENT_OBJECT_STATECHANGE
+ *  with the proper childID for the button or 0 for itself.

+ *
+ *
Value

+ *
+ *
The MSAA Value of a Spinner is the value
+ *  currently held by the Spinner.

+ *
+ *
The child buttons do not have MSAA values.

+ *
+ *
When the Value of the Spinner changes,
+ *  a Spinner dispatches the MSAA event EVENT_OBJECT_VALUECHANGE.

+ *
+ *
Location

+ *
+ *
The MSAA Location of a Spinner, or one of its child buttons,
+ *  is its bounding rectangle.

+ *
+ *
Default Action

+ *
+ *
A Spinner does not have an MSAA DefaultAction.

+ *
+ *
The DefaultAction of each child button is "Press".

+ *
+ *
Performing the default action of one of the child buttons
+ *  will increment or decrement the value.

+ *
+ *
Focus

+ *
+ *
A Spinner accepts focus.
+ *  When it does so, it dispatches the MSAA event EVENT_OBJECT_FOCUS event.

+ *
+ *
Selection

+ *
+ *
A Spinner does not support selection in the MSAA sense.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Removed unnecessary cast. DisplayObject.parent is already DisplayObjectContainer.

--- src/org/robotlegs/mvcs/Mediator.as
+++ src/org/robotlegs/mvcs/Mediator.as
@@ -146,7 +146,7 @@
 			var parent:DisplayObjectContainer;
 			var parentMediator:IMediator;
 			var parentProvider:IPropertyProvider;
-			while ((parent = viewDo.parent as DisplayObjectContainer))
+			while ((parent = viewDo.parent))
 			{
 				if ((parentMediator = mediatorFactory.retrieveMediator(parent)))
 				{
@@ -269,4 +269,4 @@
 			onRegister();
 		}
 	}
-}+}


- fixed a bug, where a tooltip would be created way too often

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

--- src/reprise/core/TooltipManager.as
+++ src/reprise/core/TooltipManager.as
@@ -179,7 +179,7 @@
 		{
 			var cssClassName:String = renderer == null ? 'default' : renderer;

-			if (m_tooltip == null || cssClassName != m_tooltip.cssClasses)
+			if (m_tooltip == null || !m_tooltip.hasCSSClass(cssClassName))
 			{
 				removeTooltip();
 				m_tooltip = m_rootView.uiRendererFactory().tooltipRendererById(renderer);
@@ -194,7 +194,7 @@
 			m_tooltip.setTooltipDataProvider(tooltipDataProvider);
 			m_tooltip.setMousedElement(mousedElement);
 			m_tooltip.setMousedComponent(findComponentForMousedElement(mousedElement));
-			m_tooltip.cssClasses = cssClassName;
+			m_tooltip.addCSSClass(cssClassName);
 			m_tooltip.setData(data);
 			m_tooltip.forceRedraw();
 			updateTooltipPosition();
@@ -266,7 +266,6 @@

 		protected function mousedElement_tooltipDataChanged(e:DisplayEvent):void
 		{
-			log("e: " + (e));
 			updateTooltipForElement(m_lastMousedElement);
 		}
 	}


Slight speed improvement in removeDuplicatesFromSortedArray()

Change-Id: Id3900a4b5afde164807e3b25c9954d75c8f23c95

--- WeaveData/src/weave/utils/VectorUtils.as
+++ WeaveData/src/weave/utils/VectorUtils.as
@@ -130,8 +130,8 @@

         /**
          * If there are any properties of the hashMap, return false; else, return true.
-         * @param  hashMap The Object to test for emptiness.
-         * @return        A boolean which is true if the Object is empty, false if it has at least one property.
+         * @param hashMap The Object to test for emptiness.
+         * @return A boolean which is true if the Object is empty, false if it has at least one property.
          */
         public static function isEmpty(hashMap:Object):Boolean
         {
@@ -144,19 +144,14 @@
 		 * Efficiently removes duplicate adjacent items in a pre-sorted Array (or Vector).
 		 * @param vector The sorted Array (or Vector)
 		 */
-		public static function removeDuplicatesFromSortedArray(vector:*):void
-		{
-			var iEnd:int = vector.length;
-			var iPrevWrite:int = 0; // always keep first item
-			var iRead:int = 1; // start by reading second item
-			for (; iRead < iEnd; iRead++) // increment iRead unconditionally
-			{
-				// only copy current item if it is different from the previous
-				if (vector[iPrevWrite] != vector[iRead])
-					vector[++iPrevWrite] = vector[iRead];
-			}
-			if (iEnd > 0)
-				vector.length = iPrevWrite + 1;
+		public static function removeDuplicatesFromSortedArray(sorted:*):void
+		{
+			var i:int = 0;
+			var prev:* = sorted[0] === undefined ? null : undefined;
+			for each (var item:* in sorted)
+				if (item !== prev)
+					sorted[i++] = prev = item;
+			sorted.length = i;
 		}
 		/**
 		 * randomizes the order of the elements in the vector in O(n) time by modifying the given array.
@@ -361,20 +356,20 @@

 		/**
 		 * Performs a binary search on a sorted array with no duplicate values.
-		 * @param array Array or Vector of Numbers
+		 * @param sortedUniqueValues Array or Vector of Numbers or Strings
 		 * @param compare A compare function
 		 * @param exactMatchOnly If true, searches for exact match. If false, searches for insertion point.
 		 * @return The index of the matching value or insertion point.
 		 */
-		public static function binarySearch(array:*, item:*, exactMatchOnly:Boolean, compare:Function = null):int
+		public static function binarySearch(sortedUniqueValues:*, item:*, exactMatchOnly:Boolean, compare:Function = null):int
 		{
 			var i:int = 0,
 				imin:int = 0,
-				imax:int = array.length - 1;
+				imax:int = sortedUniqueValues.length - 1;
 			while (imin <= imax)
 			{
 				i = (imin + imax) / 2;
-				var a:* = array[i];
+				var a:* = sortedUniqueValues[i];
 				var c:int = compare != null ? compare(item, a) : (item < a ? -1 : (item > a ? 1 : 0));
 				if (c < 0)
 					imax = i - 1;


Added Compiler.bind() and added support for qualified class names in
'is' operator.

Change-Id: I1440e0ac88f4adbcce8f7eb4df59eb9b62197b63

--- WeaveCore/src/weave/compiler/Compiler.as
+++ WeaveCore/src/weave/compiler/Compiler.as
@@ -339,6 +339,17 @@
 			return libraries.concat(); // make a copy
 		}

+		/**
+		 * Provides functionality equivalent to ECMAScript's Function.prototype.bind().
+		 */
+		public static function bind(func:Function, that:*, ...args):Function
+		{
+			if (args.length)
+				return function():*{ return func.apply(that, args.concat(arguments)); };
+			else
+				return function():*{ return func.apply(that, arguments); };
+		}
+
 		/**
 		 * This function will initialize the operators and constants.
 		 */
@@ -525,7 +536,12 @@
 			pureOperators['void'] = function(..._):void { };
 			pureOperators['typeof'] = function(value:*):* { return typeof(value); };
 			pureOperators['as'] = function(a:*, b:*):Object { return a as b; };
-			pureOperators['is'] = pureOperators['instanceof'] = function(a:*, b:*):Boolean { return a is b; };
+			pureOperators['is'] = pureOperators['instanceof'] = function(a:*, classOrQName:*):Boolean {
+				var classDef:Class = classOrQName as Class;
+				if (!classDef && classOrQName)
+					classDef = getDefinitionByName(String(classOrQName)) as Class;
+				return a is classDef;
+			};
 			// assignment operators -- first arg is host object, last arg is new value, remaining args are a chain of property names
 			assignmentOperators['=']    = function(o:*, ...a):* { for (var i:int = 0; i < a.length - 2; i++) o = o[a[i]]; return o[a[i]] =    a[i + 1]; };
 			assignmentOperators['+=']   = function(o:*, ...a):* { for (var i:int = 0; i < a.length - 2; i++) o = o[a[i]]; return o[a[i]] +=   a[i + 1]; };


null pointer ref bug fixed

null pointer ref bug fixed

--- Arguments/src/Model/AGORAMapModel.as
+++ Arguments/src/Model/AGORAMapModel.as
@@ -210,7 +210,8 @@
 			}

 			//push it to the model
-			//panelListHash[statementModel.ID] = statementModel;
+			panelListHash[statementModel.ID] = statementModel;
+			newPanels.addItem(statementModel);

 			//raise event
 			dispatchEvent(new AGORAEvent(AGORAEvent.FIRST_CLAIM_ADDED, null, statementModel));
@@ -224,7 +225,6 @@
 		protected function onLoadMapModelResult(event:ResultEvent):void{
 			trace('map loaded');
 			var map:Object = event.result.map;
-
 			try{
 				//update timestamp
 				timestamp = map.timestamp;
@@ -260,7 +260,6 @@

 				//add new elements to Model
 				for each(var node:StatementModel in nodeHash){
-					trace(panelListHash.hasOwnProperty(node.ID));
 					if(!panelListHash.hasOwnProperty(node.ID)){
 						newPanels.addItem(node);
 						panelListHash[node.ID] = node;
@@ -271,10 +270,13 @@
 					newConnections.addItem(connection);
 					connectionListHash[connection.ID] = connection;
 				}
+
 				dispatchEvent(new AGORAEvent(AGORAEvent.MAP_LOADED));

+
 			}
 			catch(error:Error){
+				trace(error.message);
 				trace("Error in reading update to Map");
 				dispatchEvent(new AGORAEvent(AGORAEvent.MAP_LOADING_FAILED));
 			}
@@ -505,6 +507,7 @@
 					}
 				}
 				else{
+					obj = map.textbox;
 					result = processTextbox(obj, textboxHash);
 					if(!result){
 						return false;


Small change to allow wildcard types

Small change to allow wildcard types

--- as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
@@ -126,7 +126,7 @@
         {
             var result:Boolean;

-            if (type == null || type == "")
+            if (type == null || type == "" || type == "*")
                 return false;

             if (type is String)
@@ -150,7 +150,7 @@
         {
             var result:Boolean;

-            if (type == null || type == "")
+            if (type == null || type == "" || type == "*")
                 return false;

             if (type is String)


before_filter refactored

before_filter refactored

--- vendor/ras3r/ras3r/ReactionController.as
+++ vendor/ras3r/ras3r/ReactionController.as
@@ -12,12 +12,16 @@

 	public class ReactionController extends Sprite
 	{
-		// >>> PUBLIC PROPERTIES
+		// >>> STATIC PROPERTIES
 		static public var asset_host:String = '';
 		static public var container:DisplayObjectContainer; // ONLY for addChild

+		static private var before_filters:Dictionary = new Dictionary;
+

 		// >>> PROTECTED PROPERTIES
+		protected var content:*;
+		protected var layout:*;
 		protected var params:Hash;

@@ -60,11 +64,15 @@
 			return _bounds;
 		}

-		protected var content:*;
-		protected var layout:*;
-

 		// >>> STATIC PUBLIC METHODS
+		static public function append_before_filter (c:Class, name:String) :void
+		{
+/*			Logger.info('append_before_filter: ' + c + '#' + name);*/
+			before_filters[c] ||= new Array;
+			before_filters[c].push(name);
+		}
+
 		static public function controller (name:String) :*
 		{
 			var className:String = 'controllers.' + Inflector.camelize(name) + 'Controller';
@@ -72,6 +80,18 @@
 			var c:ReactionController = new klass();
 			container.addChild(c);
 			return c;
+		}
+
+		// For use ONLY in ReactionController subclasses for static init:
+		// extend(prototype.constructor)
+		static public function extend (c:Class) :void
+		{
+			// define before_filter method
+			c['before_filter'] = function (...args) :*
+			{
+				args.unshift(c);
+				return ReactionController.append_before_filter.apply(null, args);
+			};
 		}

 		//static public function redirect_to (o:Object) :void
@@ -137,42 +157,42 @@
 			return Inflector.underscore(Inflector.demodulize(getQualifiedClassName(this).replace('Controller', '')));
 		}

+		public function get_url () :void
+		{
+			if (! params.target) params.target = '_blank';
+			redirect_to_url(params.url, params.target);
+		}
+
+		public function process (action_name:String, params:Hash) :void
+		{
+			this.params = params;
+
+			var action:Function;
+			// if action method defined
+			if (hasOwnProperty(action_name))
+			{
+				action = this[action_name]
+			}
+			// else attempt to render view named action_view
+			else
+			{
+				action = function () :void
+				{
+					render(action_name);
+				};
+			}
+
+			if (apply_before_filters(action))
+			{
+				action();
+			}
+		}
+
 		// EXPERIMENTAL!!!
 		// remove this controller and its children from the display list
 		public function remove_from_display_list () :void
 		{
 			if (parent) parent.removeChild(this);
-		}
-
-		public function get_url () :void
-		{
-			if (! params.target) params.target = '_blank';
-			redirect_to_url(params.url, params.target);
-		}
-
-		public function process (action_name:String, params:Hash) :void
-		{
-			this.params = params;
-
-			var action:Function;
-			// if action method defined
-			if (hasOwnProperty(action_name))
-			{
-				action = this[action_name]
-			}
-			// else attempt to render view named action_view
-			else
-			{
-				action = function () :void
-				{
-					render(action_name);
-				};
-			}
-
-			if (before_filter(action))
-			{
-				action();
-			}
 		}

@@ -276,11 +296,6 @@

 		// >>> PROTECTED METHODS
-		protected function before_filter (f:Function) :Boolean
-		{
-			return true;
-		}
-
 		private function new_view (template:String, options:Hash) :*
 		{
 			var after_hide:String = (options.hide ? options.remove('hide') : 'hide_view');
@@ -352,6 +367,22 @@
 		// >>> PRIVATE METHODS
 		// replaces default context menu with custom, empty menu
 		// add items to menu with new_context_menu_item()
+		private function apply_before_filters (f:Function) :Boolean
+		{
+			var ok:Boolean = true;
+			for (var c:* in before_filters)
+			{
+				if (! (this is c)) continue;
+				for (var i:uint = 0; i < before_filters[c].length; i++)
+				{
+					ok = this[before_filters[c][i]](f);
+					if (! ok) break;
+				}
+				if (! ok) break;
+			}
+			return ok;
+		}
+
 		private function create_context_menu () :void
 		{
 			contextMenu = new ContextMenu();


reusing same window name to avoid massive slowdown after several calls to export()

--- WeaveUI/src/weave/menus/ExportMenu.as
+++ WeaveUI/src/weave/menus/ExportMenu.as
@@ -48,7 +48,7 @@
 			});
 		}

-		private static var lastHtml5WindowName:String;
+		private static const windowName:String = ExternalTool.generateWindowName();

 		public static function get shown():Boolean
 		{
@@ -59,11 +59,11 @@
 		{
 			return {
 				WEAVE_EXTERNAL_TOOLS: ExternalTool.WEAVE_EXTERNAL_TOOLS,
-				'windowName': lastHtml5WindowName,
+				'windowName': windowName,
 				'catch': catchErrors && function():*{}
 			};
-		}
-
+		}
+
 		public static function get exported():Boolean
 		{
 			return JavaScript.exec(
@@ -77,13 +77,13 @@

 		public static function export():void
 		{
-			if (lastHtml5WindowName)
-				JavaScript.exec(
-					jsVars(true),
-					'var obj = window[WEAVE_EXTERNAL_TOOLS][windowName];',
-					'obj.window.close();'
-				);
-			ExternalTool.launch(WeaveAPI.globalHashMap, url, lastHtml5WindowName = ExternalTool.generateWindowName());
+			// clear all old window pointers because it gets very slow otherwise
+			JavaScript.exec(
+				jsVars(true),
+				'window[WEAVE_EXTERNAL_TOOLS][windowName].window.close();'
+			);
+
+			ExternalTool.launch(WeaveAPI.globalHashMap, url, windowName);
 		}

 		public static function disableScripts(exportUrl:String = null):void


Remove background of buffering indicator.

--- skin-src/goplayer/BufferingIndicator.as
+++ skin-src/goplayer/BufferingIndicator.as
@@ -19,7 +19,6 @@
       mouseEnabled = false
       mouseChildren = false

-      addChild(new Background(0x000000, 0.5))
       addChild(canvas)

       addEventListener(Event.ENTER_FRAME, handleEnterFrame)


Only update buffering indicator when it has dimensions.

--- skin-src/goplayer/BufferingIndicator.as
+++ skin-src/goplayer/BufferingIndicator.as
@@ -26,6 +26,12 @@
     }

     private function handleEnterFrame(event : Event) : void
+    {
+      if (dimensions != null)
+        $handleEnterFrame()
+    }
+
+    private function $handleEnterFrame() : void
     {
       elapsedTime = Duration.milliseconds(getTimer())


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.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/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.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/effects/supportClasses/FadeInstance.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/supportClasses/ScrollBar.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/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.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/flex4/src/spark/effects/AnimateTransform.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/styles/StyleManager.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/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<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/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</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/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<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/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.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/flex4/src/spark/effects/supportClasses/AddActionInstance.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/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.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/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.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/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/mx/src/mx/core/Container.as
+++ frameworks/projects/mx/src/mx/core/Container.as
@@ -3117,7 +3117,7 @@
             if ("addToCreationQueue" in mainApp)
                 mainApp.addToCreationQueue(this, creationIndex, null, this);
             else
-                // TODO: Clarify error message and add to resource manager
+                // FIXME (clucier): Clarify error message and add to resource manager
                 throw new Error("addToCreationQueue called but method does not exist within application");
         }
         else if (recursionFlag)
@@ -5459,7 +5459,7 @@
     {
         // If a text field currently has focus, it is handling all arrow keys.
         // We shouldn't also scroll this Container.
-        // ToDo: replace with universal scrolling scheme that provides same
+        // FIXME (cframpto): replace with universal scrolling scheme that provides same
         // experience as browser.
         var focusObj:Object = getFocus();
         if ((focusObj is TextField) ||


Fix for manifest parser losing query strings.

--- HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestParser.as
+++ HLSPlugin/src/com/kaltura/hls/manifest/HLSManifestParser.as
@@ -193,10 +193,11 @@
 			timestamp = getTimer();

 			fullUrl = _fullUrl;
-			if(_fullUrl.indexOf("?") >= 0){
-				_fullUrl = _fullUrl.slice(0, _fullUrl.indexOf("?"));
-			}
-			baseUrl = _fullUrl.substring(0, _fullUrl.lastIndexOf("/") + 1);
+			// Do not strip query parameters on manifest - this breaks some manifests!
+			//if(fullUrl.indexOf("?") >= 0){
+			//	fullUrl = fullUrl.slice(0, fullUrl.indexOf("?"));
+			//}
+			baseUrl = fullUrl.substring(0, fullUrl.lastIndexOf("/") + 1);
 			//logger.debug("BASE URL " + baseUrl);

 			// Normalize line endings.


- removed png encoder dependency, moved image encoding to trazzle, thus increased performance

--- lib/com/nesium/logging/TrazzleLogger.as
+++ lib/com/nesium/logging/TrazzleLogger.as
@@ -9,14 +9,13 @@
 	import flash.events.Event;
 	import flash.events.EventDispatcher;
 	import flash.events.TimerEvent;
+	import flash.geom.Rectangle;
 	import flash.net.registerClassAlias;
 	import flash.system.System;
 	import flash.utils.ByteArray;
 	import flash.utils.describeType;
 	import flash.utils.getTimer;
 	import flash.utils.Timer;
-
-	import mx.graphics.codec.PNGEncoder;

@@ -95,8 +94,8 @@
 				throwNotInitedError();
 				return;
 			}
-			g_gateway.invokeRemoteService('LoggingService', 'logPNG_width_height',
-				new PNGEncoder().encode(bmp), bmp.width, bmp.height);
+			g_gateway.invokeRemoteService('LoggingService', 'logBMP_width_height',
+				bmp.getPixels(new Rectangle(0, 0, bmp.width, bmp.height)), bmp.width, bmp.height);
 		}

 		public function addI18NKeyToFile(key:String, file:String):void


added setCoords() and getCoords()

added setCoords() and getCoords()

--- WeaveJS/src/weavejs/geom/Bounds2D.as
+++ WeaveJS/src/weavejs/geom/Bounds2D.as
@@ -75,7 +75,7 @@
 		public function setYMax(value:Number):void
 		{
 			yMax = value;
-		}
+		}

 		/**
 		 * This function copies the bounds from another Bounds2D object.
@@ -185,7 +185,26 @@
 			this.yMin = yMin;
 			this.xMax = xMax;
 			this.yMax = yMax;
-		}
+		}
+
+		/**
+		 * @param xMin_yMin_xMax_yMax An Array of four Numbers like [xMin, yMin, xMax, yMax]
+		 */
+		public function setCoords(xMin_yMin_xMax_yMax:/*/[number, number, number, number]/*/Array):void
+		{
+			this.xMin = xMin_yMin_xMax_yMax[0];
+			this.yMin = xMin_yMin_xMax_yMax[0];
+			this.xMax = xMin_yMin_xMax_yMax[0];
+			this.yMax = xMin_yMin_xMax_yMax[0];
+		}
+
+		/**
+		 * @return [xMin, yMin, xMax, yMax]
+		 */
+		public function getCoords():/*/[number, number, number, number]/*/Array
+		{
+			return [xMin, yMin, xMax, yMax];
+		}

 		/**
 		 * This function sets the bounds coordinates using x, y, width and height values.


Transferred from the Adobe Open Source Subversion Repository

Revision: 15110
Author:   smgilson@adobe.com
Date:     2010-03-29T17:39:22.331114Z

Log Message:
-----------
merge 15109: Fix ASDoc typo for FLEXDOCS-1263

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: FLEXDOCS-1263
Is noteworthy for integration:

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SliderEvent.as

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

--- frameworks/projects/mx/src/mx/events/SliderEvent.as
+++ frameworks/projects/mx/src/mx/events/SliderEvent.as
@@ -65,7 +65,7 @@
      *       whose position has changed.

      *
triggerEvent	Contains a value indicating the
      *       type of input action. The value is an event object of type flash.events.MouseEvent
-     *       or flash.events.KeyBoardEvent.

+     *       or flash.events.KeyboardEvent.

      *
value	The new value of the slider.

      *

      *
@@ -103,7 +103,7 @@
      *       whose position has changed.

      *
triggerEvent	Contains a value indicating the
      *       type of input action. The value is an event object of type flash.events.MouseEvent
-     *       or flash.events.KeyBoardEvent.

+     *       or flash.events.KeyboardEvent.

      *
value	The new value of the slider.

      *

      *
@@ -141,7 +141,7 @@
      *       whose position has changed.

      *
triggerEvent	Contains a value indicating the
      *       type of input action. The value is an event object of type flash.events.MouseEvent
-     *       or flash.events.KeyBoardEvent.

+     *       or flash.events.KeyboardEvent.

      *
value	The new value of the slider.

      *

      *
@@ -179,7 +179,7 @@
      *       whose position has changed.

      *
triggerEvent	Contains a value indicating the
      *       type of input action. The value is an event object of type flash.events.MouseEvent
-     *       or flash.events.KeyBoardEvent.

+     *       or flash.events.KeyboardEvent.

      *
value	The new value of the slider.

      *

      *
@@ -216,7 +216,7 @@
      *
      *  @param triggerEvent The type of input action.
      *  The value is an object of type flash.events.MouseEvent
-     *  or flash.events.KeyBoardEvent.
+     *  or flash.events.KeyboardEvent.
      *
      *  @param clickTarget Whether the slider track or a slider thumb was pressed.
      *
@@ -305,10 +305,10 @@
     /**
      *  Indicates the type of input action.
      *  The value is an event object of type flash.events.MouseEvent
-     *  or flash.events.KeyBoardEvent.
+     *  or flash.events.KeyboardEvent.
      *
      *  @see flash.events.MouseEvent
-     *  @see flash.events.KeyBoardEvent
+     *  @see flash.events.KeyboardEvent
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 10886
Author:   smgilson@adobe.com
Date:     2009-10-06T11:43:06.400829Z

Log Message:
-----------
Fix truncated sentence in ASDoc comment

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

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/CallResponder.as

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

--- frameworks/projects/rpc/src/mx/rpc/CallResponder.as
+++ frameworks/projects/rpc/src/mx/rpc/CallResponder.as
@@ -74,9 +74,9 @@

     [Bindable]
     /**
-     * Each CallResponder monitors dispatches result and fault events received
-     * from a single token.  This property value specifies that token.  You typically
-     * set this to the
+     *  Each CallResponder dispatches result and fault events received
+     *  from a single token.  This property value specifies that token.  You typically
+     *  set this property to the AsyncToken object returned by the service.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 3925
Author:   jimurphy@adobe.com
Date:     2008-10-28T15:28:25.006190Z

Log Message:
-----------
Merged gumbo_alpha revisions 3857-3860,3870,3872,3874-3876,3881,3884,3886,3889,3891,3893,3895,3908,3912 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxRotateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxFadeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/CubicBezierSegment.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxVSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/LineSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxFadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxListExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxMoveEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateColorEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxAnimateEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxCheckBoxExample.mxml</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flash/css/StyleDeclaration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/gumbo_alpha/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml" copyfrom-rev="3895" action="A">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/GroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/QuadraticBezierSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxNumericStepperExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/effects/examples/FxResizeEffectExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxResize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxSpinnerExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/PropertyValuesHolder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/textLayout_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/TextViewExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxHSliderExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleDef.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Fade.as
+++ frameworks/projects/spark/src/spark/effects/Fade.as
@@ -15,6 +15,10 @@

 import mx.effects.IEffectInstance;

+/**
+ *
+ *  @includeExample examples/FxFadeEffectExample.mxml
+ */
 public class FxFade extends FxAnimate
 {
     public function FxFade(target:Object=null)


now using actual key inclusion testing in EquationColumn.containsKey()

--- WeaveData/src/weave/data/AttributeColumns/EquationColumn.as
+++ WeaveData/src/weave/data/AttributeColumns/EquationColumn.as
@@ -90,6 +90,7 @@
 		 * This is all the keys in all the variables columns
 		 */
 		private var _allKeys:Array = null;
+		private var _allKeysLookup:Dictionary;
 		private var _allKeysTriggerCount:uint = 0;
 		/**
 		 * This is a cache of metadata values derived from the metadata session state.
@@ -256,6 +257,7 @@
 			if (_allKeysTriggerCount != variables.triggerCounter)
 			{
 				_allKeys = null;
+				_allKeysLookup = new Dictionary(true);
 				_allKeysTriggerCount = variables.triggerCounter; // prevent infinite recursion

 				var variableColumns:Array = variables.getObjects(IKeySet);
@@ -267,6 +269,7 @@
 					var keyType:String = this.getMetadata(ColumnMetadata.KEY_TYPE);
 					_allKeys = _allKeys.filter(new KeyFilterFunction(keyType).filter);
 				}
+				VectorUtils.fillKeys(_allKeysLookup, _allKeys);
 			}
 			return _allKeys || [];
 		}
@@ -277,7 +280,7 @@
 		 */
 		override public function containsKey(key:IQualifiedKey):Boolean
 		{
-			return !StandardLib.isUndefined(getValueFromKey(key));
+			return keys && _allKeysLookup[key];
 		}

 		private function variableGetter(name:String):*


XIFF-89: XEP-0308: Last Message Correction - Experimental. Properties for Message class.

--- src/org/igniterealtime/xiff/data/Message.as
+++ src/org/igniterealtime/xiff/data/Message.as
@@ -164,6 +164,13 @@
 		 */
 		public static const NS_ATTENTION:String = "urn:xmpp:attention:0";

+		/**
+		 * The namespace used in the XEP-0308: Last Message Correction.
+		 *
+		 * @see http://xmpp.org/extensions/xep-0308.html
+		 */
+		public static const NS_CORRECTION:String = "urn:xmpp:message-correct:0";
+

 		private static var isMessageStaticCalled:Boolean = MessageStaticConstructor();
 		private static var staticConstructorDependency:Array = [ XMPPStanza, XHTMLExtension, ExtensionClassRegistry ];
@@ -466,5 +473,41 @@
 				delete xml.attention;
 			}
 		}
+
+		/**
+		 * When sending a message, people often introduce typing errors and send a follow-up message to correct them.
+		 * This property allows the sending client to flag the second message as correcting the first.
+		 *
+		 * @see http://xmpp.org/extensions/xep-0308.html
+		 */
+		public function get correction():String
+		{
+			return getField("replace");
+		}
+		public function set correction( value:String ):void
+		{
+			if (value)
+			{
+				xml.replace.@xmlns = Message.NS_CORRECTION;
+			}
+			else
+			{
+				delete xml.replace;
+			}
+		}
+
+		/**
+		 * Message ID of the message that is to be corrected.
+		 *
+		 * @see http://xmpp.org/extensions/xep-0308.html
+		 */
+		public function get correctionId():String
+		{
+			return getChildAttribute("replace", "id");
+		}
+		public function set correctionId( value:String ):void
+		{
+			setChildAttribute("replace", "id", value);
+		}
 	}
 }


Fixing previous fix. Currently using http://xmpp.org/extensions/xep-0091.html which has been deprecated in favor of http://xmpp.org/extensions/xep-0203.html.

--- src/org/igniterealtime/xiff/data/Message.as
+++ src/org/igniterealtime/xiff/data/Message.as
@@ -126,6 +126,7 @@
 							break;

 						case "x":
+							// http://xmpp.org/extensions/xep-0091.html
 							if (children[i].attributes.xmlns == "jabber:x:delay")
 							{
 								myTimeStampNode = children[i];
@@ -138,6 +139,11 @@
 							}
 							break;

+						case "delay":
+							// http://xmpp.org/extensions/xep-0203.html
+							trace("Message used 'delay' as defined in XEP-0203.");
+							break;
+
 						case ChatState.ACTIVE :
 						case ChatState.COMPOSING :
 						case ChatState.GONE :
@@ -236,24 +242,29 @@
 		{
 			myThreadNode = replaceTextNode(getNode(), myThreadNode, "thread", value);
 		}
+
 		/**
 		 * Time of the message in case of a delay. Used only for messages
 		 * which were sent while user was offline.
+		 *
CCYY-MM-DDThh:mm:ss[.sss]TZD

 		 * @see http://xmpp.org/extensions/xep-0203.html
+		 * @see http://xmpp.org/extensions/xep-0091.html
 		 */
 		public function get time():Date
 		{
 			if(myTimeStampNode == null) return null;
 			var stamp:String = myTimeStampNode.attributes.stamp;

-			// CCYY-MM-DDThh:mm:ssZ
+			trace("myTimeStampNode: " + myTimeStampNode.toString());
+			// XEP-0203: Delayed Delivery - CCYY-MM-DDThh:mm:ssZ
+			// XEP-0091: Legacy Delayed Delivery - CCYYMMDDThh:mm:ss
 			var value:Date = new Date();
 			value.setUTCFullYear(stamp.substr(0, 4));
-			value.setUTCMonth(parseInt(stamp.substr(5, 2)) - 1);
-			value.setUTCDate(stamp.substr(8, 2));
-			value.setUTCHours(stamp.substr(11, 2));
-			value.setUTCMinutes(stamp.substr(14, 2));
-			value.setUTCSeconds(stamp.substr(17, 2));
+			value.setUTCMonth(parseInt(stamp.substr(4, 2)) - 1);
+			value.setUTCDate(stamp.substr(6, 2));
+			value.setUTCHours(stamp.substr(9, 2));
+			value.setUTCMinutes(stamp.substr(12, 2));
+			value.setUTCSeconds(stamp.substr(15, 2));
 			return value;
 		}
 		public function set time( value:Date ): void


Change 20080730-maxcarlson-9 by maxcarlson@Roboto on 2008-07-30 13:56:54 PDT
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Only load the last available frame in swf9

Bugs Fixed: LPP-6727 - Window resize gripper logic busted

Technical Reviewer: ptw
QA Reviewer: promanik

Details: Limit the frame number to the number of available frames, and set to default of 1 otherwise.

Tests: See LPP-6727

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

--- WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
@@ -530,7 +530,7 @@
           o Plays a multiframe resource starting at the specified framenumber
           o Plays from the current frame if framenumber is null
       */
-      public function play( framenumber:*, rel=null ):void {
+      public function play( framenumber:Number = 1,  rel:Boolean = false ):void {
           // TODO [hqm 2008-04] what to do about playing movies?
           stop(framenumber);
       }
@@ -540,17 +540,21 @@
           o Stops a multiframe resource at the specified framenumber
           o Stops at the current frame if framenumber is null
       */
-      public function stop( fn:*, rel:* = null ):void {
-          // So frames are one based, not zero based?
+      public function stop( fn:Number = 1, rel:Boolean = false ):void {
+          if (this.resource == null) {
+              return;
+          }
+          var resinfo = LzResourceLibrary[this.resource];
+
+          // Frames are one based not zero based
+          var frames = resinfo.frames;
+          if (fn > frames.length) {
+            fn = frames.length
+          }
           this.frame = fn;
           var framenumber = fn - 1;
-          if (this.resource == null) {
-              return;
-          }
-          var resinfo = LzResourceLibrary[this.resource];
-          var frames = resinfo.frames;
+
           var assetclass;
-
           // single frame resources get an entry in LzResourceLibrary which has
           // 'assetclass' pointing to the resource Class object.
           if (resinfo.assetclass is Class) {
@@ -559,6 +563,8 @@
               // Multiframe resources have an array of Class objects in frames[]
               assetclass = frames[framenumber];
           }
+
+          if (! assetclass) return;
           if (this.resourceCache == null) {
               this.resourceCache = [];
           }


Disability Options is disabled.

Disability Options is disabled.

--- WeaveClient/src/weave/VisApplication.as
+++ WeaveClient/src/weave/VisApplication.as
@@ -742,8 +742,9 @@
 				createToolMenuItem(Weave.properties.showProbeToolTipEditor, lang("Probe Info Editor"), DraggablePanel.openStaticInstance, [ProbeToolTipEditor]);
 				createToolMenuItem(Weave.properties.showProbeWindow, lang("Probe Info Window"), createGlobalObject, [ProbeToolTipWindow, "ProbeToolTipWindow"]);
 				createToolMenuItem(Weave.properties.showEquationEditor, lang("Equation Editor"), DraggablePanel.openStaticInstance, [EquationEditor]);
-				createToolMenuItem(Weave.properties.showCollaborationEditor, lang("Collaboration Settings"), DraggablePanel.openStaticInstance, [CollaborationEditor]);
-				createToolMenuItem(Weave.properties.showDisabilityOptions, "Disability Options", DraggablePanel.openStaticInstance, [DisabilityOptions]);
+				createToolMenuItem(Weave.properties.showCollaborationEditor, lang("Collaboration Settings"), DraggablePanel.openStaticInstance, [CollaborationEditor]);
+				if(getFlashVarEditable())
+					createToolMenuItem(Weave.properties.showDisabilityOptions, "Disability Options", DraggablePanel.openStaticInstance, [DisabilityOptions]);