Transferred from the Adobe Open Source Subversion Repository

Revision: 6413
Author:   dsubrama@adobe.com
Date:     2009-04-30T05:57:33.006779Z

Log Message:
-----------
And multiple selection is now hookedup to keyboard navigation. Also cleaned up some ASDoc comments.

QA: Yes
Checkintests/List Mustella tests: Pass

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -158,7 +158,8 @@

     /**
      *  Boolean flag controlling whether multiple selection
-     *  is enabled or not.
+     *  is enabled or not. When switched dynamically, selection
+     *  is cleared.
      *
      *  @default false
      *
@@ -235,13 +236,13 @@
      */
     override public function get selectedItem():*
     {
-        if (!allowMultipleSelection)
+        if (!allowMultipleSelection || !_selectedIndices)
             return super.selectedItem;

         if (_selectedIndices && _selectedIndices.length > 0)
             return dataProvider.getItemAt(_selectedIndices[0]);

-        return NO_SELECTION;
+        return undefined;
     }

     /**
@@ -684,8 +685,9 @@
             return;

         var spDelta:Point = layout.getScrollPositionDeltaToElement(index);
+
         if (spDelta)
-        {
+        {
             horizontalScrollPosition += spDelta.x;
             verticalScrollPosition += spDelta.y;
         }
@@ -702,16 +704,51 @@

         if (dataProvider)
         {
-            //Delegate to the layout to tell us what the next item is we shoudl select.
-	        var proposedSelectedIndex:int = layout.nextItemIndex(event.keyCode, selectedIndex, dataProvider.length - 1);
+            var currentIndex:Number;
+            if (allowMultipleSelection && selectedIndices && selectedIndices.length > 0)
+            {
+                currentIndex = selectedIndices[selectedIndices.length - 1];
+            }
+            else currentIndex = selectedIndex;
+
+	        //Delegate to the layout to tell us what the next item is we should select.
+	        var proposedSelectedIndex:int = layout.nextItemIndex(event.keyCode, currentIndex, dataProvider.length - 1);
+
 	        // Note that the KeyboardEvent is canceled even if the selectedIndex doesn't
             // change because we don't want another component to start handling these
             // events when the selectedIndex reaches a limit.
             if (proposedSelectedIndex != -1)
             {
                 event.preventDefault();
-                selectedIndex = proposedSelectedIndex;
-                ensureItemIsVisible(selectedIndex);
+                if (allowMultipleSelection && event.shiftKey && selectedIndices)
+                {
+                    var newInterval:Array = [];
+                    var i:int;
+                    //contiguous multi-selection action - create the new selection
+                    //interval
+                    if (selectedIndex <= proposedSelectedIndex)
+                    {
+                        for (i = selectedIndex; i <= proposedSelectedIndex; i++)
+                        {
+                            newInterval.push(i);
+                        }
+                    }
+                    else
+                    {
+                        for (i = selectedIndex; i >= proposedSelectedIndex; i--)
+                        {
+                            newInterval.push(i);
+                        }
+                    }
+                    selectedIndices = newInterval;
+                    ensureItemIsVisible(proposedSelectedIndex);
+                }
+                else
+                {
+                    //simple new selection
+                    selectedIndex = proposedSelectedIndex;
+                    ensureItemIsVisible(proposedSelectedIndex);
+                }
             }
 		}
     }


update

update

--- src/model/JSFLProxy.as
+++ src/model/JSFLProxy.as
@@ -377,7 +377,7 @@
 		/**
 		 * Get armature data by name
 		 */
-		public function generateArmature(armatureName:String, mergeLayersInFolder:Boolean):void
+		public function generateArmature(armatureName:String, mergeLayersInFolder:Boolean = false):void
 		{
 			runJSFLMethod(GENERATE_ARMATURE, "dragonBones.generateArmature", armatureName, false, true, mergeLayersInFolder);
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18543
Author:   rfrishbe@adobe.com
Date:     2010-11-11T21:39:53.401769Z

Log Message:
-----------
Making some PARB changes around down state support and InteractionStateDetector.  ItemRendererInteractionStateDetector has been renamed to InteractionStateDetector.  down state is now applicable in mouse interactionMode.  downColor defaults to undefined, and is only set in the mobiletheme--this way it won't break the mouse interaction case.

Fixing up ItemRenderer transitions.  Added a new method, invalidateRendererState().  We now don't transition immediately to the state when the selected, hovered, etc.. properties get set, but we wait until validation.

QE notes:
Doc notes:
Bugs: SDK-28482
Reviewer: Eric Day, Glenn
Tests run: checkintests, mustella DataGroup, List, ListDND
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as" copyfrom-rev="18476" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRendererInteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionState.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/spark/skins/wireframe/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/defaults.css</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -34,7 +34,7 @@
 import spark.components.gridClasses.CellPosition; CellPosition;
 import spark.components.gridClasses.CellRegion; CellRegion;
 import spark.components.supportClasses.ListItemDragProxy; ListItemDragProxy;
-import spark.components.supportClasses.ItemRendererInteractionStateDetector; ItemRendererInteractionStateDetector;
+import spark.components.supportClasses.InteractionStateDetector; InteractionStateDetector;
 import spark.skins.spark.ApplicationSkin; ApplicationSkin;
 import spark.skins.spark.BorderContainerSkin; BorderContainerSkin;
 import spark.skins.spark.ButtonSkin; ButtonSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 1994
Author:   jimurphy@adobe.com
Date:     2008-06-09T14:09:05.185095Z

Log Message:
-----------
Merge 3.0.x revisions [1990-1991] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/HexEncoder.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/Base64Encoder.as</path>

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

--- frameworks/projects/rpc/src/mx/utils/HexEncoder.as
+++ frameworks/projects/rpc/src/mx/utils/HexEncoder.as
@@ -147,7 +147,7 @@
      *
      * @private
      */
-    private static const MAX_BUFFER_SIZE:uint = 65535;
+    public static const MAX_BUFFER_SIZE:uint = 32767;

     /*
         '0', '1', '2', '3', '4', '5', '6', '7',


Transferred from the Adobe Open Source Subversion Repository

Revision: 19071
Author:   chiedozi@adobe.com
Date:     2010-12-06T19:46:53.338186Z

Log Message:
-----------
ViewMenu skinpart added to TabbedViewNavigatorApplicationSkin

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
@@ -11,8 +11,12 @@

 package spark.skins.mobile
 {
+import mx.core.ClassFactory;
+import mx.core.IFactory;
+
+import spark.components.TabbedViewNavigator;
 import spark.components.TabbedViewNavigatorApplication;
-import spark.components.TabbedViewNavigator;
+import spark.components.ViewMenu;
 import spark.skins.mobile.supportClasses.MobileSkin;

 /**
@@ -43,6 +47,8 @@
     public function TabbedViewNavigatorApplicationSkin()
     {
         super();
+
+		viewMenu = new ClassFactory(ViewMenu);
     }

     //--------------------------------------------------------------------------
@@ -60,6 +66,17 @@
      *  @productversion Flex 4.5
      */
     public var navigator:TabbedViewNavigator;
+
+
+	/**
+	 *  Creates an action menu from this factory when the menu button is pressed
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+	 */
+	public var viewMenu:IFactory;

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBaseContentHolder.as
+++ frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBaseContentHolder.as
@@ -0,0 +1,302 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.listClasses
+{
+
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+import flash.display.Shape;
+import flash.display.Sprite;
+import mx.core.FlexShape;
+import mx.core.UIComponent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+include "../../styles/metadata/PaddingStyles.as"
+
+/**
+ *  Background color of the component.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+[Style(name="backgroundColor", type="uint", format="Color", inherit="no")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  The AdvancedListBaseContentHolder is the container within a list component
+ *  of all of the item renderers and editors.
+ *  It is used to mask off areas of the renderers that extend outside
+ *  the component and to block certain styles from propagating
+ *  down into the renderers so that the renderers have no background
+ *  so the highlights and alternating row colors can show through.
+ */
+public class AdvancedListBaseContentHolder extends UIComponent
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function AdvancedListBaseContentHolder(parentList:AdvancedListBase)
+	{
+		super();
+
+		this.parentList = parentList;
+
+		setStyle("backgroundColor", "");
+		setStyle("borderStyle", "none");
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var parentList:AdvancedListBase;
+
+	/**
+	 *  @private
+	 */
+	private var maskShape:Shape;
+
+	/**
+	 *  @private
+	 */
+	mx_internal var allowItemSizeChangeNotification:Boolean = true;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  focusPane
+	//----------------------------------
+
+	/**
+     *  @private
+     */
+    override public function set focusPane(value:Sprite):void
+    {
+		if (value)
+		{
+			// Something inside us is getting focus so apply a clip mask
+			// if we don't already have one.
+			if (!maskShape)
+			{
+				maskShape = new FlexShape();
+				maskShape.name = "mask";
+
+				var g:Graphics = maskShape.graphics;
+				g.beginFill(0xFFFFFF);
+				g.drawRect(-2, -2, width + 2, height + 2);
+				g.endFill();
+
+				addChild(maskShape);
+			}
+
+			maskShape.visible = false;
+
+			value.mask = maskShape;
+		}
+		else
+		{
+			if (parentList.focusPane.mask == maskShape)
+				parentList.focusPane.mask = null;
+		}
+
+		parentList.focusPane = value;
+		value.x = x;
+		value.y = y;
+	}
+
+	//--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // leftOffset
+    //----------------------------------
+
+	/**
+	 *  offset for the upper left corner of the listContent in the parent list
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var leftOffset:Number = 0;
+
+	//----------------------------------
+    // topOffset
+    //----------------------------------
+
+	/**
+	 *  offset for the upper left corner of the listContent in the parent list
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var topOffset:Number = 0;
+
+	//----------------------------------
+    // rightOffset
+    //----------------------------------
+
+	/**
+	 *  offset for the bottom right corner of the listContent in the parent list
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var rightOffset:Number = 0;
+
+	//----------------------------------
+    // bottomOffset
+    //----------------------------------
+
+	/**
+	 *  offset for the bottom right corner of the listContent in the parent list
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public var bottomOffset:Number = 0;
+
+	//----------------------------------
+    // heightExcludingOffsets
+    //----------------------------------
+
+	/**
+	 *  The height of the central part of the listContent, excluding the top and
+     *  bottom offsets.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get heightExcludingOffsets():Number
+	{
+		return height + topOffset - bottomOffset;
+	}
+
+	//----------------------------------
+    // widthExcludingOffsets
+    //----------------------------------
+
+	/**
+	 *  The width of the central part of the listContent, excluding the left and
+     *  right offsets.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function get widthExcludingOffsets():Number
+	{
+		return width + leftOffset - rightOffset;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: UIComponent
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function invalidateSize():void
+	{
+		if (allowItemSizeChangeNotification)
+			parentList.invalidateList();
+	}
+
+	/**
+	 *  Sets the position and size of the scroll bars and content
+	 *  and adjusts the mask.
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	override protected function updateDisplayList(unscaledWidth:Number,
+												  unscaledHeight:Number):void
+	{
+		super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		if (maskShape)
+		{
+			maskShape.width = unscaledWidth;
+			maskShape.height = unscaledHeight;
+		}
+	}
+
+	//--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+    mx_internal function getParentList():AdvancedListBase
+    {
+        return parentList;
+    }
+}
+
+}


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

--- frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBaseContentHolder.as
+++ frameworks/projects/advancedgrids/src/mx/controls/listClasses/AdvancedListBaseContentHolder.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.controls.listClasses
 {


overriding removeElement() to avoid error being thrown

--- WeaveUISpark/src/weave/ui/BasicLinkableLayoutManager.as
+++ WeaveUISpark/src/weave/ui/BasicLinkableLayoutManager.as
@@ -15,14 +15,15 @@

 package weave.ui
 {
+	import flash.display.DisplayObject;
 	import flash.utils.Dictionary;

 	import mx.core.IVisualElement;

 	import spark.components.Group;

+	import weave.api.getCallbackCollection;
 	import weave.api.core.IDisposableObject;
-	import weave.api.getCallbackCollection;
 	import weave.api.ui.ILinkableLayoutManager;
 	import weave.compiler.StandardLib;

@@ -37,6 +38,11 @@
 		{
 			percentWidth = 100;
 			percentHeight = 100;
+		}
+
+		override public function removeChild(child:DisplayObject):DisplayObject
+		{
+			return removeElement(child as IVisualElement) as DisplayObject;
 		}

 		private var _idToComponent:Object = {}; // String -> IVisualElement


Revert "#SUP-2094 #time 2h #comment added default category like in HTML5 plugin and removed spaces from reports"

This reverts commit 1d06b5f4047e8b116ca3ab421aec28def22a60f4.

--- plugins/googleAnalyticsPlugin/src/com/kaltura/kdpfl/plugin/googleAnalytics/GAStatisticsMediator.as
+++ plugins/googleAnalyticsPlugin/src/com/kaltura/kdpfl/plugin/googleAnalytics/GAStatisticsMediator.as
@@ -71,7 +71,7 @@
 		 */
 		public var urchinCode : String;

-		public var defaultCategory:String = 'Kaltura Video Events';
+		public var defaultCategory:String;
 		private var _isLive:Boolean = false;
 		/**
 		 *Constructor.
@@ -319,10 +319,10 @@

 			var gaCategory:String	= customObject["Category"] || defaultCategory;
-			var	gaLabel:String		= customObject["Label"] || ((entry.name || _mediaTitle)+"|"+entry.id+"|"+kw.id);
+			var	gaLabel:String		= customObject["Label"] || ((entry.name || _mediaTitle)+" | "+entry.id+" | "+kw.id);
 			var	gaAction:String		= customObject["Action"] || note;
 			var	gaValue:Number		= customObject["Value"] || value;
-			log("SENDING ::: "+notification.getName() +"|"+shouldPublish);
+			log("SENDING ::: "+notification.getName() +" | "+shouldPublish);
 			if(shouldPublish){
 				publishGa(gaCategory, gaAction, gaLabel, gaValue);
 			}
@@ -371,7 +371,7 @@
 						{
 							if(currPosition )
 							{
-								publishGa (defaultCategory, _percentages[s][1]+"_pct_watched",  entry.name +"|"+entry.id+"|"+kw.id, Math.round(_currentTime))
+								publishGa (defaultCategory, _percentages[s][1]+"_pct_watched",  entry.name +" | "+entry.id+" | "+kw.id, Math.round(_currentTime))
 								trace("PERCENTAGE REACHED!!!!!!			"+_percentages[s][1]);
 								if(_percentages.length == s+1)
 								{
@@ -483,7 +483,7 @@
 			}

 			log ("GA tracking************************: "+_ga+" : "+value);
-			log ("GA tracking************************: "+category+"|"+ action+"|"+ label+"|"+ value);
+			log ("GA tracking************************: "+category+" | "+ action+" | "+ label+" | "+ value);
 		}

 		private function log(str:String):void{


support base64 decoding in a worker

support base64 decoding in a worker

--- src/org/hola/JSURLStream.as
+++ src/org/hola/JSURLStream.as
@@ -13,11 +13,14 @@
     import flash.utils.Timer;
     import org.hola.ZErr;
     import org.hola.Base64;
+    import org.hola.WorkerUtils;
+    import org.hola.HEvent;
     import org.mangui.hls.loader.FragmentLoader;

     public dynamic class JSURLStream extends URLStream {
         private var _connected : Boolean;
         private var _resource : ByteArray = new ByteArray();
+        private var _curr_data : Object;
         public var holaManaged:Boolean = false;
         public static var jsApiInited:Boolean = false;
         public static var reqCount:Number = 0;
@@ -29,7 +32,6 @@
             addEventListener(Event.OPEN, onOpen);
             ExternalInterface.marshallExceptions = true;
             super();
-
             // Connect calls to JS.
             if (ExternalInterface.available && !jsApiInited){
                 ZErr.log('JSURLStream init api');
@@ -73,15 +75,21 @@
             return _resource.readUnsignedShort();
         }

-        override public function readBytes(bytes : ByteArray, offset : uint = 0, length : uint = 0) : void {
+        override public function readBytes(bytes : ByteArray,
+            offset : uint = 0, length : uint = 0) : void
+        {
             if (!holaManaged)
                 return super.readBytes(bytes, offset, length);
             _resource.readBytes(bytes, offset, length);
         }

         override public function close() : void {
-            if (holaManaged && reqs[req_id])
-                _trigger('abortFragment', {req_id: req_id});
+            if (holaManaged)
+            {
+                if (reqs[req_id])
+                    _trigger('abortFragment', {req_id: req_id});
+                WorkerUtils.removeEventListener(HEvent.WORKER_MESSAGE, onmsg);
+            }
             if (super.connected)
                 super.close();
             _connected = false;
@@ -92,8 +100,10 @@
             holaManaged = FragmentLoader.g_hls_mode;
             reqCount++;
             req_id = 'req'+reqCount;
+            ZErr.log("load "+req_id);
             if (!holaManaged)
                 return super.load(request);
+            WorkerUtils.addEventListener(HEvent.WORKER_MESSAGE, onmsg);
             reqs[req_id] = this;
             _resource = new ByteArray();
             _trigger('requestFragment', {url: request.url, req_id: req_id});
@@ -102,46 +112,67 @@

         private function onOpen(event : Event) : void { _connected = true; }

+        private function decode(str : String) : void {
+            var data : ByteArray;
+            if (!WorkerUtils.worker)
+            {
+                if (str)
+                    data = Base64.decode_str(str);
+                return on_decoded_data(data);
+            }
+            data = new ByteArray();
+            data.shareable = true;
+            data.writeUTFBytes(str);
+            WorkerUtils.send({cmd: "b64.decode", id: req_id});
+            WorkerUtils.send(data);
+        }
+
+        private function onmsg(e : HEvent) : void {
+            var msg : Object = e.data;
+            if (!req_id || req_id!=msg.id || msg.cmd!="b64.decode")
+                return;
+            var data : ByteArray = WorkerUtils.recv();
+            on_decoded_data(data);
+        }
+
+        private function on_decoded_data(data : ByteArray) : void {
+            if (data)
+            {
+                data.position = 0;
+                if (_resource)
+                {
+                    var prev:uint = _resource.position;
+                    data.readBytes(_resource, _resource.length);
+                    _resource.position = prev;
+                }
+                else
+                    _resource = data;
+                // XXX arik: get finalLength from js
+                var finalLength:uint = _resource.length;
+                dispatchEvent(new ProgressEvent( ProgressEvent.PROGRESS, false,
+                    false, _resource.length, finalLength));
+            }
+            // XXX arik: dispatch httpStatus/httpResponseStatus
+            if (_curr_data.status)
+                resourceLoadingSuccess();
+        }
+
+        private function on_fragment_data(o : Object) : void {
+            _curr_data = o;
+            if (o.error)
+                return resourceLoadingError();
+            decode(o.data);
+        }
+
         protected static function hola_onFragmentData(o:Object):void{
             var stream:JSURLStream;
             try {
-                stream = reqs[o.req_id];
-                if (!stream)
+                if (!(stream = reqs[o.req_id]))
                     throw new Error('req_id not found '+o.req_id);
-                if (o.error)
-                {
-                    delete reqs[o.req_id];
-                    return stream.resourceLoadingError();
-                }
-                if (o.data)
-                {
-                    var data:ByteArray = Base64.decode_str(o.data);
-                    data.position = 0;
-                    if (stream._resource)
-                    {
-                        var prev:uint = stream._resource.position;
-                        data.readBytes(stream._resource,
-                            stream._resource.length);
-                        stream._resource.position = prev;
-                    }
-                    else
-                        stream._resource = data;
-                    // XXX arik: get finalLength from js
-                    var finalLength:uint = stream._resource.length;
-                    stream.dispatchEvent(new ProgressEvent(
-                        ProgressEvent.PROGRESS, false, false,
-                        stream._resource.length, finalLength));
-                }
-                if (o.status)
-                {
-                    delete reqs[o.req_id];
-                    // XXX arik: dispatch httpStatus/httpResponseStatus
-                    stream.resourceLoadingSuccess();
-                }
+                stream.on_fragment_data(o);
             } catch(err:Error){
                 ZErr.log('Error in hola_onFragmentData', ''+err,
                     ''+err.getStackTrace());
-                delete reqs[o.req_id];
                 if (stream)
                     stream.resourceLoadingError();
                 throw err;
@@ -149,11 +180,13 @@
         }

         protected function resourceLoadingError() : void {
-            this.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
+            delete reqs[req_id];
+            dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
         }

         protected function resourceLoadingSuccess() : void {
-            this.dispatchEvent(new Event(Event.COMPLETE));
+            delete reqs[req_id];
+            dispatchEvent(new Event(Event.COMPLETE));
         }
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 17330
Author:   chiedozi@adobe.com
Date:     2010-08-16T17:36:59.538425Z

Log Message:
-----------
Removed the sections functionality from ViewNavigator and refactored that logic into TabbedViewNavigator.  Updated dependent performance tests and components.
Introduced MobileApplicationBase and TabbedMobileApplication do support the tabbed use case for mobile.
Deleted SliderSkin from the framework.  All mobile skins now extend MobileSkin.

QE notes:
Doc notes:
Bugs:
Reviewer: Glenn and Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/PersistenceManager.as</path>
<path kind="file" copyfrom-path="/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as" copyfrom-rev="17260" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/NavigationStack.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ScriptRunner.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/ComponentCatalog/src/ComponentCatalog.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedMobileApplicationSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewHistoryData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/core/managers/IPersistenceManager.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SliderSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/MobileApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
@@ -0,0 +1,106 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.skins.mobile
+{
+import spark.components.TabbedMobileApplication;
+import spark.components.TabbedViewNavigator;
+import spark.skins.MobileSkin;
+
+/**
+ *  The ActionScript based skin used for TabbedMobileApplication.
+ *  This skin contains a single TabbedViewNavigator that spans the
+ *  entire content area of the application.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public class TabbedMobileApplicationSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public function TabbedMobileApplicationSkin()
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * The navigator for the application
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    public var navigator:TabbedViewNavigator;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Properties
+    //
+    //--------------------------------------------------------------------------
+    public var hostComponent:TabbedMobileApplication;
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    override protected function createChildren():void
+    {
+        navigator = new TabbedViewNavigator();
+        addChild(navigator);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        navigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+        navigator.setLayoutBoundsPosition(0, 0);
+    }
+}
+}


Now using systemManager.allowDomain instead of Security.allowDomain.

--- WeaveClient/src/weave/VisApplication.as
+++ WeaveClient/src/weave/VisApplication.as
@@ -31,7 +31,6 @@
 	import flash.net.URLRequest;
 	import flash.net.URLVariables;
 	import flash.net.navigateToURL;
-	import flash.system.Security;
 	import flash.system.System;
 	import flash.ui.ContextMenu;
 	import flash.ui.ContextMenuItem;
@@ -43,7 +42,6 @@
 	import mx.containers.VBox;
 	import mx.controls.Alert;
 	import mx.controls.Text;
-	import mx.core.Application;
 	import mx.core.UIComponent;
 	import mx.events.FlexEvent;
 	import mx.managers.PopUpManager;
@@ -321,8 +319,8 @@
 				domains = [domains];
 			for each (var domain:String in domains)
 			{
-				Security.allowDomain(domain);
-				Security.allowInsecureDomain(domain);
+				systemManager.allowDomain(domain);
+				systemManager.allowInsecureDomain(domain);
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 10814
Author:   cframpto@adobe.com
Date:     2009-10-02T15:45:31.406572Z

Log Message:
-----------
Added selectionActivePosition and selectionAnchorPosition to ITextInput interface.  Renamed params of selectRange to anchorPosition and activePosition from anchorIndex and activeIndex to be consistent.

Make sure the SwatchPanel gets the textInputClass style from either itself or passed down from its parent ColorPicker.as

When changing the text in the SwatchPanel, need to save the selection and restore it after setting the text since TLF does not preserve the selection.

In TLFText.css added missing textFieldClass style to ColorPicker and ComboBox.  Also added style for s|TLFTextInput skinClass to ensure the spark TextInput skin is pulled in if this theme is used (spark default.css may not be in the path).

QE notes: need to compile TLFText with -theme+="TLFText.css" now rather than theme="TLFText.css"
Doc notes:
Bugs: SDK-22935, SDK-23548
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/TLFText.css</path>

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


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9721
Author:   cframpto@adobe.com
Date:     2009-08-27T22:24:41.483201Z

Log Message:
-----------
framework_textLayout.swc is history.  The class are now in spark.swc but still in mx.controls and mx.core.  These classes allow TLF text to be used with halo components.  Because of dependencies there is no need to have a separate swc anymore.

QE notes:
Doc notes:
Bugs:
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as" copyfrom-rev="9718" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses/TLFDataGridItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/Version.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/dataGridClasses</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as" copyfrom-rev="9718" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>

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

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -73,7 +73,7 @@
                             IToolTipManagerClient, IUITextField

 {
-    include "../core/Version.as";
+    include "../../spark/core/Version.as";

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 11669
Author:   gosmith@adobe.com
Date:     2009-11-11T20:56:09.050685Z

Log Message:
-----------
Spark now provides localized RTE messages for TLF.

TLF is a layer below Flex and doesn't have a localization scheme like Flex's ResourceManager; it just has hard-coded English RTE messages. But it now also has a hook function (GlobalSettings.getResourceStringFunction) that higher layers like Flex can set to provide localized messages instead.

Spark.swc now has a new resource bundle named "textLayout" with these RTE messages for TLF, copied from TLF's GlobalSettings file. And Spark.swc implements the hook in TextUtil.getResourceString().

Various classes that use TLF -- such as RichText, RichEditableText, TextFlowUtils, and UIFTETextField -- set the hook function, typically in their class initialization code. UIFTETextField didn't have class init code so I just do it repeatedly in the constuctor… it's just an assignment statement and should be fast enough.

QE notes: None
Doc notes: None
Bugs: SDK-23782
Reviewer: Carol
Tests run: ant checkintests
Is noteworthy for integration: Need localization of this new resource bundle

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/fi_FI/textLayout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/sv_SE/textLayout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/utils/TextUtil.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/ja_JP/textLayout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/zh_TW/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/nb_NO/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/ru_RU/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/es_ES/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/fr_FR/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/de_DE/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/zh_CN/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/da_DK/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/nl_NL/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/ko_KR/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/pt_BR/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/it_IT/textLayout.properties</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/bundles/en_US/textLayout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/utils/TextFlowUtil.as</path>

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

--- frameworks/projects/spark/src/mx/core/UIFTETextField.as
+++ frameworks/projects/spark/src/mx/core/UIFTETextField.as
@@ -22,6 +22,7 @@
 import flash.text.TextFormatAlign;
 import flash.text.TextLineMetrics;
 import flashx.textLayout.compose.ISWFContext;
+import flashx.textLayout.elements.GlobalSettings;
 import mx.automation.IAutomationObject;
 import mx.core.FTETextField;
 import mx.managers.ISystemManager;
@@ -37,6 +38,7 @@
 import mx.styles.StyleProtoChain;
 import mx.utils.NameUtil;
 import mx.utils.StringUtil;
+import spark.utils.TextUtil;

 use namespace mx_internal;

@@ -265,6 +267,13 @@
     {
         super();

+		/**
+		 *  Set the TLF hook used for localizing runtime error messages.
+		 *  TLF itself has English-only messages,
+		 *  but higher layers like Flex can provide localized versions.
+		 */
+		GlobalSettings.getResourceStringFunction = TextUtil.getResourceString;
+
         // Although a TextField's 'text' is initially "",
         // getLineMetrics() will return bad values until some text is set.
         super.text = "";


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/automation/src/mx/automation/delegates/DragManagerAutomationImplGlobal.as
+++ frameworks/projects/automation/src/mx/automation/delegates/DragManagerAutomationImplGlobal.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.automation.delegates
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/ListBaseContentHolderAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/ListBaseContentHolderAutomationImpl.as
@@ -0,0 +1,127 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.automation.delegates.controls
+{
+
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.KeyboardEvent;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObject;
+	import mx.automation.delegates.core.UIComponentAutomationImpl;
+	import mx.controls.listClasses.IListItemRenderer;
+	import mx.controls.listClasses.ListBaseContentHolder;
+	import mx.core.mx_internal;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  ListBaseContentHolder class.
+	 *
+	 *  @see mx.controls.listClasses.ListBaseContentHolder
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public class ListBaseContentHolderAutomationImpl extends UIComponentAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(ListBaseContentHolder, ListBaseContentHolderAutomationImpl);
+		}
+
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Constructor.
+		 * @param obj ListBaseContentHolder object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function ListBaseContentHolderAutomationImpl(obj:ListBaseContentHolder)
+		{
+			super(obj);
+
+			obj.addEventListener(Event.ADDED, addedHandler, false, 0, true);
+		}
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get listContent():ListBaseContentHolder
+		{
+			return uiComponent as ListBaseContentHolder;
+		}
+
+		/**
+		 *  @private
+		 *  The super handler makes the child a composite if the parent is already a composite.
+		 *  We have overriden here to revert that.
+		 */
+		protected function addedHandler(event:Event):void
+		{
+			if (event.target is IListItemRenderer)
+			{
+				var item:IListItemRenderer = event.target as IListItemRenderer;
+				if (item.parent == listContent)
+				{
+					item.owner = listContent.getParentList();
+					if (item is IAutomationObject)
+						IAutomationObject(item).showInAutomationHierarchy = true;
+				}
+			}
+		}
+
+		/**
+		 *  @private
+		 */
+		override protected function keyDownHandler(event:KeyboardEvent):void
+		{
+			//no recording required
+		}
+
+	}
+
+}


add initial value to prevent a few unnecessary layout passes

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/layouts/LayoutChangeNotifier.as
@@ -64,8 +64,23 @@

         private var _value:* = undefined;

+        /**
+         *  The value of the property being watched.  This is usually
+         *  a data binding expression.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public function set initialValue(value:Object):void
+        {
+            _value = value;
+        }
+
 		/**
-		 *  The number of tiles to fit horizontally into the layout.
+		 *  The value of the property being watched.  This is usually
+         *  a data binding expression.
 		 *
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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


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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/AlertFormAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/AlertFormAutomationImpl.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.automation.delegates.controls
 {


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

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

 package mx.automation.delegates.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23038
Author:   chiedozi@adobe.com
Date:     2011-10-17T23:49:51.616749Z

Log Message:
-----------
StyleableStageText always generates a new bitmap if it receives a complete event during a ViewTransition

QE notes:
Doc notes:
Bugs: SDK-31867
Reviewer: Adam
Tests run: mustella-mobile, checkintests-mobile
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as
@@ -2560,6 +2560,14 @@

     private function stageText_completeHandler(event:Event):void
     {
+        // Since Android devices update their text asynchronously,
+        // there may be situations where a complete event is received
+        // during a transition.  If one is received, we reset the
+        // ignoreProxyUpdatesDuringTransition flag so that updateProxyImage()
+        // method recreates the bitmap representing the text.
+        if (!completeEventPending && !isDesktop && isAndroid && viewTransitionRunning)
+            ignoreProxyUpdatesDuringTransition = false;
+
         completeEventPending = false;
         updateProxyImage();


Found and fixed the "Mother Fucker of a Bug(tm)" that was causing
Zyraxxis to hork.
Deep within our streaming code, ArrayMask objects were being created with
zero length when streaming non-final arrays with a zero length. This tickled
a "feature" of Adobe's IDataInput code, which reads *all available bytes*
if you pass readBytes() a length of 0.
What's really annoying is that this worked fine if you were notified
of the zero-length array via a PropertySetEvent, because that event
would come in on its own frame and so if the array's length was zero then
there were no more bytes to read. But if you entered a game and had
to receive all the usercode properties at once, it booched.
There are clumps of my pulled-out hair all around my desk from that.
And: this is ultimately my own fault, as my old code didn't handle the
case of the passed-in ByteArray having 0 length.

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

--- src/as/com/threerings/io/ObjectInputStream.as
+++ src/as/com/threerings/io/ObjectInputStream.as
@@ -206,16 +206,18 @@
     }

     public function readBytes (bytes :ByteArray, offset :uint = 0,
-            length :uint = 0) :void
-        //throws IOError
-    {
-        // IDataInput reads all available bytes if a length is not passed
-        // in. Protect against an easy error to make by using the length of
-        // the array
-        if (length === 0) {
-            length = bytes.length;
-        }
-        _source.readBytes(bytes, offset, length);
+            length :int = -1) :void
+        //throws IOError
+    {
+        // if no length specified then fill the ByteArray
+        if (length == -1) {
+            length = bytes.length - offset;
+        }
+        // And, if we really want to read 0 bytes then just don't do anything, because an
+        // IDataInput will read *all available bytes* when the specified length is 0.
+        if (length > 0) {
+            _source.readBytes(bytes, offset, length);
+        }
     }

     public function readDouble () :Number


Fixed a bug where flag mode was still on (without proper indication) when reset is clicked.

--- src/GameWorld.as
+++ src/GameWorld.as
@@ -1,5 +1,6 @@
 package
 {
+	import flash.display.MovieClip;
 	import net.flashpunk.FP;
 	import net.flashpunk.Graphic;
 	import net.flashpunk.graphics.Image;
@@ -212,6 +213,7 @@

 		private function Reset():void
 		{
+			new MovieClip
 			if (winNotice != null)
 			{
 				remove(winNotice);
@@ -230,11 +232,14 @@

 			isMinefieldSetup = false;
 			score = 0;
-			isFlagModeByButton = false;
-			isFlagModeByShift = false;
 			revealedCellCount = 0;
 			safeCellCount = 0;
 			activeFlagCount = 0;
+
+			isFlagModeByButton = false;
+			isFlagModeByShift = false;
+
+			FlagModeChanged();
 		}

 		private function SetupDifficulty():void


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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/supportClasses/SparkSkinnableComponentAutomationImpl.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 spark.automation.delegates.components.supportClasses
 {


Temporary sort of erase mode

Temporary sort of erase mode

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@628 e0ac87d7-b42b-0410-9034-8248a05cb448

--- braineditor/Drawable.as
+++ braineditor/Drawable.as
@@ -1,6 +1,7 @@
 class Drawable extends Sprite{
   static var DRAGMODE=0;
   static var DRAWMODE=1;
+  static var ERASEMODE=2;
   var mMode:Number;
   var mSelectBox:Sprite;
   var mMouseCount;
@@ -8,25 +9,35 @@
      super(parent,layer);
      this.mMode=DRAWMODE;
      //this.mMode=DRAGMODE;
+     //this.mMode=ERASEMODE;
   }
-  function _mouseFunction() {
+  function _mouseFunction(boxColor:Number) {
          mSelectBox.clear();
          var worldPos=new Point(_root._xmouse,_root._ymouse);
          mSelectBox.drawBoxOutline(mSelectBox.localToWorld(new Point(0,0)),
                                    new Point(_root._xmouse,_root._ymouse),
                                    1,
-                                   0x0000ff,
+                                   boxColor,
                                    100,
-                                   0x0000ff,
+                                   boxColor,
                                    25);
   }
-  function commitBox(topLeft:Point, botRight:Point) {
-    drawBoxOutline(topLeft,botRight,
-                                   1,
-                                   0xffffff,
-                                   0,
-                                   0x00ffff,
-                                   25);
+  function commitBox(topLeft:Point, botRight:Point, doErase:Boolean) {
+    if (doErase) {
+      drawBoxOutline(topLeft,botRight,
+                                     1,
+                                     0xffffff,
+                                     0,
+                                     0xffffff,
+                                     100);
+    }else {
+      drawBoxOutline(topLeft,botRight,
+                                     1,
+                                     0xffffff,
+                                     0,
+                                     0x00ffff,
+                                     25);
+    }
   }
   function onPress():Void {
      if (this.mMode==DRAGMODE) {
@@ -37,19 +48,27 @@
             lobe.mSurface.onMouseUp=function(){};
             lobe.mSurface.stopDrag();
          }
-     }else if (this.mMode=DRAWMODE){
+     }else if (this.mMode==DRAWMODE||this.mMode==ERASEMODE) {
          var mousePos=new Point(_root._xmouse,_root._ymouse)
          mSelectBox=new Sprite(mSurface,mSurface.getNextHighestDepth());
          var localMousePos=worldToLocal(mousePos);
          mSelectBox.setPosition(localMousePos);
          mSelectBox.penTo(mousePos);
          var lobe=this;
-         mSurface.onMouseMove=function(){lobe._mouseFunction();};
+         var doErase=(this.mMode==ERASEMODE);
+         var tempBoxColor=0x0000ff;
+         if (doErase) {
+            this.mMode=DRAWMODE;///<-- FIXME: this alternates between draw and erase modes until we have global selection process
+            tempBoxColor=0xff0000;
+         }else {
+            this.mMode=ERASEMODE;
+         }
+         mSurface.onMouseMove=function(){lobe._mouseFunction(tempBoxColor);};
          mSurface.onMouseUp=function()
          {
             lobe.mSurface.onMouseUp=function(){};
             lobe.mSurface.onMouseMove=function(){};
-            lobe.commitBox(lobe.localToWorld(lobe.mSelectBox.getPosition()),new Point(_root._xmouse,_root._ymouse));
+            lobe.commitBox(lobe.localToWorld(lobe.mSelectBox.getPosition()),new Point(_root._xmouse,_root._ymouse),doErase);
             lobe.mSelectBox.remove();
             lobe.mSelectBox=null;
          }


Fixed link mousing

Fixed link mousing

--- src/Displays/DLink.as
+++ src/Displays/DLink.as
@@ -133,8 +133,7 @@
 		protected function drawCached():void {
 			var color:uint = getColor();
 			for each (var line:FlxSprite in cachedLines) {
-				if (line.color != color)
-					line.color = color;
+				line.color = color;
 				line.draw();
 			}
 		}
@@ -220,7 +219,7 @@
 				return 0xff000000;
 			}

-			if (overlapsPoint(FlxG.mouse))
+			if (!U.buttonManager.moused && overlapsPoint(U.mouseFlxLoc))
 				return U.HIGHLIGHTED_COLOR;
 			return 0xff000000; //TODO
 		}


remove URL class

remove URL class

--- src/com/google/analytics/utils/URL.as
+++ src/com/google/analytics/utils/URL.as
@@ -1,215 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.utils
-{
-
-    /**
-     * Basic URL utility class.
-     */
-    public class URL
-    {
-
-        private var _url:String;
-
-        /**
-         * Creates a new URL instance.
-         * @param url The String expression to defines the URL instance.
-         */
-        public function URL( url:String = "" )
-        {
-            _url = url.toLowerCase();
-        }
-
-        /**
-         * Indicates the protocol value of the url.
-         */
-        public function get protocol():Protocols
-        {
-            var proto:String = _url.split( "://" )[0];
-
-            switch( proto )
-            {
-                case "file":
-                return Protocols.file;
-
-                case "http":
-                return Protocols.HTTP;
-
-                case "https":
-                return Protocols.HTTPS;
-
-                default:
-                return Protocols.none;
-            }
-        }
-
-        /**
-         * Indicates the host name value of the url.
-         */
-        public function get hostName():String
-        {
-            var hostname:String = _url;
-
-            if( hostname.indexOf( "://" ) > -1 )
-            {
-                hostname = hostname.split( "://" )[1];
-            }
-
-            if( hostname.indexOf( "/" ) > -1 )
-            {
-                hostname = hostname.split( "/" )[0];
-            }
-
-            if( hostname.indexOf( "?" ) > -1 )
-            {
-                hostname = hostname.split( "?" )[0];
-            }
-
-            if( (protocol == Protocols.file) ||
-                (protocol == Protocols.none) )
-                {
-                    return "";
-                }
-
-            return hostname;
-        }
-
-        /**
-         * Indicates the domain value of the url.
-         */
-        public function get domain():String
-        {
-            if( (hostName != "") && (hostName.indexOf(".") > -1) )
-            {
-                var parts:Array = hostName.split( "." );
-
-                switch( parts.length )
-                {
-                    //domain.com
-                    case 2 :
-                    {
-                        return hostName ;
-                    }
-
-                    //domain.co.uk
-                    //www.domain.com
-                    case 3 :
-                    {
-                        if( parts[1] == "co" )
-                        {
-                            return hostName ;
-                        }
-                        parts.shift();
-                        return parts.join( "." ) ;
-                    }
-
-                    //www.domain.co.uk
-                    case 4:
-                    {
-                        parts.shift();
-                        return parts.join( "." ) ;
-                    }
-                }
-
-            }
-
-            return "" ;
-        }
-
-        /**
-         * Indicates the subdomain value of the url.
-         */
-        public function get subDomain():String
-        {
-            if( (domain != "") && (domain != hostName) )
-            {
-                return hostName.split( "."+domain ).join( "" );
-            }
-
-            return "";
-        }
-
-        /**
-         * Indicates the path value of the url.
-         */
-        public function get path():String
-        {
-            var _path:String = _url;
-
-            if( _path.indexOf( "://" ) > -1 )
-            {
-                _path = _path.split( "://" )[1];
-            }
-
-            if( _path.indexOf( hostName ) == 0 )
-            {
-                _path = _path.substr( hostName.length );
-            }
-
-            if( _path.indexOf( "?" ) > -1 )
-            {
-                _path = _path.split( "?" )[0];
-            }
-
-            /* note:
-               we want our path to always start with /
-               (even if the path is empty)
-            */
-            if( _path.charAt(0) != "/" )
-            {
-                _path = "/"+_path;
-            }
-
-            return _path;
-        }
-
-        /**
-         * Indicates the search of the url.
-         */
-        public function get search():String
-        {
-            var _search:String = _url;
-
-            if( _search.indexOf( "://" ) > -1 )
-            {
-                _search = _search.split( "://" )[1];
-            }
-
-            if( _search.indexOf( hostName ) == 0 )
-            {
-                _search = _search.substr( hostName.length );
-            }
-
-            if( _search.indexOf( "?" ) > -1 )
-            {
-                _search = _search.split( "?" )[1];
-            }
-            else
-            {
-                _search = "";
-            }
-
-            return _search;
-        }
-
-
-    }
-}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17028
Author:   clucier@adobe.com
Date:     2010-07-22T23:43:03.554864Z

Log Message:
-----------
Following up with additional mirroring related fixes.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/SpriteAsset.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>

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

--- frameworks/projects/framework/src/mx/core/BitmapAsset.as
+++ frameworks/projects/framework/src/mx/core/BitmapAsset.as
@@ -651,7 +651,8 @@
             if (p is ILayoutDirectionElement)
             {
                 // mirror is true if our layoutDirection differs from our parent's.
-                var mirror:Boolean = (_layoutDirection != null) &&
+                var mirror:Boolean = _layoutDirection != null &&
+                    ILayoutDirectionElement(p).layoutDirection != null &&
                     (_layoutDirection != ILayoutDirectionElement(p).layoutDirection);

                 // If our layoutDirection is different from our parent's and if it used to


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

--- frameworks/projects/framework/src/mx/core/SpriteAsset.as
+++ frameworks/projects/framework/src/mx/core/SpriteAsset.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2007 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


fix text truncation breakage

fix text truncation breakage

git-svn-id: 8abe1d02b055b1c3ad2747e884e38fb9e7cebddd@1421998 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/UITextField.as
+++ frameworks/projects/framework/src/mx/core/UITextField.as
@@ -2450,6 +2450,20 @@
                 super.text = s + truncationIndicator;
             }

+			var otl:int = originalText.length;
+			var t:String = s;
+			while (t.length < otl)
+			{
+				t = originalText.slice(0, t.length + 1);
+				super.text = t + truncationIndicator;
+				if (textWidth + TEXT_WIDTH_PADDING <= w)
+					s = t;
+				else
+					break;
+			}
+			if (s.length > 0)
+				super.text = s + truncationIndicator;
+
             return true;
         }