Transferred from the Adobe Open Source Subversion Repository

Revision: 14555
Author:   dloverin@adobe.com
Date:     2010-03-03T21:16:06.474619Z

Log Message:
-----------
Merge revision 14553 from 4.x to trunk.

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

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

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

--- frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as
+++ frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as
@@ -416,7 +416,7 @@
 		    event.value = [ cursorClass, priority, xOffset, yOffset ];
 		    if (!dispatchEvent(event))
 		    {
-			    return currentCursorID;
+			    return event.value as int;
 		    }
         }


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

--- frameworks/projects/mx/src/mx/skins/halo/NumericStepperDownSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/NumericStepperDownSkin.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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.skins.halo
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3248
Author:   gosmith@adobe.com
Date:     2008-09-17T22:58:26.587163Z

Log Message:
-----------
Updated to TCAL build 173. (Note: I did NOT update the players.)

The three TCAL SWCS used by Flex 4 are now named tcal_core.swc, tcal_conversion.swc, and tcal_edit.swc.

All TCAL APIs are now in a package named flashx.tcal. We are using flashx to indicate important APIs that are considered to extend the Flash platform but which live below application frameworks such as Flex.

On TextFlow, a new 'displayController' property replaces the old 'container' and 'controller' properties.

When importing, you use importToFlow() rather than importFromString() or importFromXML.

Reviewer: N/A
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Parser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextFlowComposer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_importExport.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_conversion.swc</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/events/TextOperationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/utils/TextUtil.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/fxg-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/text_model.swc</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -20,33 +20,37 @@
 import flash.text.engine.TextElement;
 import flash.text.engine.TextLine;

+import flashx.tcal.compose.ITCALDisplayController;
+import flashx.tcal.compose.StandardDisplayController;
+import flashx.tcal.container.DisplayObjectContainerController;
+import flashx.tcal.container.IContainerController;
+import flashx.tcal.conversion.TextFilter;
+import flashx.tcal.conversion.ConversionType;
+import flashx.tcal.edit.EditManager;
+import flashx.tcal.edit.ISelectionManager;
+import flashx.tcal.elements.FlowElement;
+import flashx.tcal.elements.ParagraphElement;
+import flashx.tcal.elements.SpanElement;
+import flashx.tcal.elements.TextFlow;
+import flashx.tcal.events.CompositionCompletionEvent;
+import flashx.tcal.events.FlowOperationEvent;
+import flashx.tcal.events.SelectionEvent;
+import flashx.tcal.formats.CharacterFormat;
+import flashx.tcal.formats.ContainerFormat;
+import flashx.tcal.formats.ICharacterFormat;
+import flashx.tcal.formats.IContainerFormat;
+import flashx.tcal.formats.IParagraphFormat;
+import flashx.tcal.formats.ParagraphFormat;
+import flashx.tcal.operations.ApplyFormatOperation;
+import flashx.tcal.operations.FlowOperation;
+import flashx.tcal.operations.SplitParagraphOperation;
+
 import flex.events.TextOperationEvent;
 import flex.intf.IViewport;
 import flex.utils.TextUtil;

 import mx.core.UIComponent;
 import mx.events.FlexEvent;
-
-import text.container.IContainerController;
-import text.edit.EditManager;
-import text.edit.ISelectionManager;
-import text.elements.FlowElement;
-import text.elements.ParagraphElement;
-import text.elements.SpanElement;
-import text.elements.TextFlow;
-import text.events.CompositionCompletionEvent;
-import text.events.FlowOperationEvent;
-import text.events.SelectionEvent;
-import text.formats.CharacterFormat;
-import text.formats.ContainerFormat;
-import text.formats.ICharacterFormat;
-import text.formats.IContainerFormat;
-import text.formats.IParagraphFormat;
-import text.formats.ParagraphFormat;
-import text.importExport.TextFilter;
-import text.operations.ApplyFormatOperation;
-import text.operations.FlowOperation;
-import text.operations.SplitParagraphOperation;

 //--------------------------------------
 //  Events
@@ -600,23 +604,20 @@
         if (textChanged || contentChanged || textAttributeChanged)
         {
             // Eliminate detritus from the previous TextFlow.
-            if (textFlow)
-            {
-                var controller:IContainerController = textFlow.controller;
-                if (controller)
-                {
-                    controller.clearAllSelectionShapes();
-                    controller.clearCompositionResults();
-                    controller.rootElement = null;
-                }
-                textFlow.container = null;
-            }
+            if (textFlow && textFlow.displayController)
+                textFlow.displayController.containerControllerList = null;

             // Create a new TextFlow for the current text.
             _content = textFlow = createTextFlow();

             // Tell it where to create its TextLines.
-            textFlow.container = this;
+            textFlow.displayController = new StandardDisplayController();
+            var containerControllers:Vector.<IContainerController> =
+                new Vector.<IContainerController>();
+            containerControllers.push(
+                new DisplayObjectContainerController(this));
+            textFlow.displayController.containerControllerList =
+                containerControllers;

             // Give it an EditManager to make it editable.
             textFlow.interactionManager = new TextViewEditManager();
@@ -639,16 +640,19 @@
             selectionActivePositionChanged = false;
         }

+        var containerController:IContainerController =
+            textFlow.displayController.getContainerControllerAt(0);
+
         if (horizontalScrollPositionChanged)
         {
-            textFlow.controller.horizontalScrollPosition =
+            containerController.horizontalScrollPosition =
                 _horizontalScrollPosition;
             horizontalScrollPositionChanged = false;
         }

         if (verticalScrollPositionChanged)
         {
-            textFlow.controller.verticalScrollPosition =
+            containerController.verticalScrollPosition =
                 _verticalScrollPosition;
             verticalScrollPositionChanged = false;
         }
@@ -693,8 +697,12 @@

         // Tell the TextFlow to generate TextLines within the
         // rectangle (0, 0, unscaledWidth, unscaledHeight).
-        textFlow.controller.updateComposeSize(unscaledWidth, unscaledHeight);
-        textFlow.controller.updateDisplay();
+        var displayController:ITCALDisplayController =
+            textFlow.displayController;
+        var containerController:IContainerController =
+            displayController.getContainerControllerAt(0);
+        containerController.updateComposeSize(unscaledWidth, unscaledHeight);
+        displayController.updateDisplay();
     }

     //--------------------------------------------------------------------------
@@ -756,7 +764,7 @@
 			    '<content>' + markup + '</content>' +
 			'</TextGraphic>';

-		return TextFilter.importFromString(markup, TextFilter.FXG_FORMAT);
+		return TextFilter.importToFlow(markup, TextFilter.FXG_FORMAT);
 	}

 	/**
@@ -802,7 +810,7 @@
 		    {
 			    if (text != null && text != "")
 			    {
-				    textFlow = TextFilter.importFromString(text, TextFilter.PLAIN_TEXT_FORMAT);
+				    textFlow = TextFilter.importToFlow(text, TextFilter.PLAIN_TEXT_FORMAT);
 			    }
 			    else
 			    {
@@ -934,7 +942,8 @@
      */
     public function export():XML
     {
-        return TextFilter.export(textFlow, TextFilter.TCAL_FORMAT).children()[0];
+        return TextFilter.export(textFlow, TextFilter.TCAL_FORMAT,
+                                 ConversionType.XML_TYPE).children()[0];
     }

     /**
@@ -1090,10 +1099,13 @@
     private function textFlow_compositionCompleteHandler(
                                     event:CompositionCompletionEvent):void
     {
+        var containerController:IContainerController =
+            textFlow.displayController.getContainerControllerAt(0);
+
         var newContentWidth:Number =
-            textFlow.controller.maxHorizontalScrollPosition;
+            containerController.maxHorizontalScrollPosition;
         var newContentHeight:Number =
-            textFlow.controller.maxVerticalScrollPosition;
+            containerController.maxVerticalScrollPosition;

         if (newContentWidth != _contentWidth ||
             newContentHeight != _contentHeight)
@@ -1112,10 +1124,13 @@
      */
     private function textFlow_scrollHandler(event:Event):void
     {
+        var containerController:IContainerController =
+            textFlow.displayController.getContainerControllerAt(0);
+
         var newHorizontalScrollPosition:Number =
-            textFlow.controller.horizontalScrollPosition;
+            containerController.horizontalScrollPosition;
         var newVerticalScrollPosition:Number =
-            textFlow.controller.verticalScrollPosition;
+            containerController.verticalScrollPosition;

         if (newHorizontalScrollPosition != _horizontalScrollPosition ||
             newVerticalScrollPosition != _verticalScrollPosition)
@@ -1210,8 +1225,8 @@
 //
 ////////////////////////////////////////////////////////////////////////////////

-import text.edit.EditManager;
-import text.operations.FlowOperation;
+import flashx.tcal.edit.EditManager;
+import flashx.tcal.operations.FlowOperation;

 class TextViewEditManager extends EditManager
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 6843
Author:   jimurphy@adobe.com
Date:     2009-05-12T13:58:34.182467Z

Log Message:
-----------
Merged beta1 revisions 6793,6796-6797,6802,6805,6808-6809,6831 -> trunk

Modified Paths:
--------------
<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/skins/default/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/MouseShieldUtil.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/flex4/src/spark/components/supportClasses/SkinnableContainerBase.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/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/TextAreaSkin.mxml</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/flex4/src/spark/skins/default/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</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/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -166,19 +166,21 @@
 /**
  *  Displays text.
  *
- *
TextView has more functionality than TextBox and TextGraphic. In addition to the text rendering
- *  capabilities of TextGraphic, TextView also supports hyperlinks, scrolling, selecting, and editing.

+ *
RichEditableText has more functionality than SimpleText and RichText. In
+ *  addition to the text rendering capabilities of RichText, TextView also
+ * supports hyperlinks, scrolling, selecting, and editing.

  *
- *
The TextView class is similar to the mx.controls.TextArea control, except that it does
- *  not have chrome.

+ *
The RichEditableText class is similar to the spark.components.TextArea
+ *  control, except that it does not have chrome.

  *
- *
The TextView class does not support drawing a background, border, or scrollbars. To do that,
- *  you combine it with other components.

+ *
The RichEditableText class does not support drawing a background, border,
+ *  or scrollbars. To do that, you combine it with other components.

  *
- *
Because TextView extends UIComponent, it can take focus and allows user interaction such as selection.

+ *
Because RichEditableText extends UIComponent, it can take focus and
+ *  allows user interaction such as selection.

  *
- *  @see mx.graphics.TextBox
- *  @see mx.graphics.TextGraphic
+ *  @see spark.primitives.SimpleText
+ *  @see spark.primitives.RichText
  *
  *  @includeExample examples/TextViewExample.mxml
  *
@@ -414,11 +416,6 @@
     /**
      *  @private
      */
-    private var stylesChanged:Boolean = false;
-
-    /**
-     *  @private
-     */
     private var fontMetricsInvalid:Boolean = false;

     /**
@@ -498,7 +495,7 @@
      *  wasn't already dispatched one or more times for editing operations.
      *
      */
-    private var textFlowChanged:Boolean = true;
+    private var textFlowChanged:Boolean = false;

     //--------------------------------------------------------------------------
     //
@@ -1389,20 +1386,8 @@
      */
     public function get text():String
     {
-        // If displayAsPassword is changing, use the old value until the
-        // change is committed.
-        if (!displayAsPassword && !displayAsPasswordChanged ||
-            displayAsPassword && displayAsPasswordChanged)
-        {
-            _text = _inputManager.getText("\n");
-
-            // ToDo: asked TLF if they not put the terminator on the last
-            // paragraph
-
-            // Remove terminator on the last paragraph, ie remove the last char.
-            if (_text.length > 0 && _text.charAt(_text.length-1) == "\n")
-                _text = _text.slice(0, -1);
-        }
+        if (!displayAsPassword)
+            _text = getText();

         return _text;
     }
@@ -1549,7 +1534,15 @@

             textFlowChanged = true;

-        	textChanged = false;
+            // Handle case where content is intially displayed as password.
+            if (displayAsPassword)
+               displayAsPasswordChanged = true;
+
+
+            // Do not set textChanged to false until the compositionComplete
+            // handler since the CHANGE event for text that is initially set
+            // is a special case since there is no flowOperationEnd event
+            // for this.
         }
         else if (contentChanged)
         {
@@ -1560,11 +1553,19 @@
         	if (mx_internal::debug)
         		trace("setTextFlow()");
         	_inputManager.setTextFlow(textFlow);
-
-        	contentChanged = false;
-        }
-
-
+
+            // Handle case where content is intially displayed as password.
+        	if (displayAsPassword)
+        	   displayAsPasswordChanged = true;
+
+            // Do not set contentChanged to false until the compositionComplete
+            // handler since the CHANGE event for content that is initially set
+            // is a special case since there is no flowOperationEnd event
+            // for this.
+        }
+
+        // If displayAsPassword changed, it only applies to the display,
+        // not the underlying text.  Do not mark the textFlow as changed.
         if (displayAsPasswordChanged)
         {
             // If there is any text, convert it to the passwordChar.
@@ -1572,19 +1573,22 @@
             {
                 // Make sure _text is set with the actual text before we
                 // change the displayed text.
-                var textToDisplay:String = text;
+                _text = getText();

-                textToDisplay = StringUtil.repeat(
-                    mx_internal::passwordChar, textToDisplay.length);
-                _inputManager.setText(textToDisplay);
-
-                textFlowChanged = true;
+                // ToDo: if content, should the paragraph terminators be
+                // left in the string so the displayAsPassword string has the
+                // same form as the original string?  This is only an issue
+                // for TextArea.
+                var textToDisplay:String = StringUtil.repeat(
+                    mx_internal::passwordChar, _text.length);
+
+                _inputManager.setText(textToDisplay);
             }
-            else if (!_content)
+            else
             {
-                _inputManager.setText(_text ? _text : "");
-                textFlowChanged = true;
+                _inputManager.setText(_text);
             }
+
             displayAsPasswordChanged = false;
         }

@@ -1739,7 +1743,6 @@

         fontMetricsInvalid = true;
         hostFormatChanged = true;
-        stylesChanged = true;
     }

     /**
@@ -1783,8 +1786,6 @@

         // Need to regenerate text flow.
         invalidateProperties();
-
-        stylesChanged = true;
     }

     //--------------------------------------------------------------------------
@@ -2390,7 +2391,29 @@

   		editingMode = newEditingMode;
     }
-
+
+    /**
+     *  @private
+     *  Get the text from the textFlow.  This wrapper can go away once Vellum
+     *  gives us a getText that doesn't put a paragraph terminator on the
+     *  last paragraph.
+     */
+    private function getText():String
+    {
+        var t:String = _inputManager.getText("\n");
+
+        // ToDo: asked TLF if they not put the terminator on the last
+        // paragraph
+
+        // Remove terminator on the last paragraph, ie remove the last char.
+        // t true implies length > 0.
+        if (t && t.charAt(t.length-1) == "\n")
+            t = t.slice(0, -1);
+
+        return t;
+    }
+
+
     /**
      *  Sets the selection range and.  If the text is not editable or selectable
      *  this will also implicitly make the text selectable.
@@ -2858,16 +2881,23 @@

         // The text flow changed and there wasn't an editing operation
         // to dispatch the change event so do it here.  This happens if the
-        // text is initially set and no further editing operations occur.
-        if (textFlowChanged)
-        {
-            var newEvent:TextOperationEvent =
-                new TextOperationEvent(TextOperationEvent.CHANGE);
-            dispatchEvent(newEvent);
-
-            textFlowChanged = false;
-        }
-
+        // text/content is set and there are no additional editing operations.
+        // We will ignore textFlow changes that occur because the editManager is
+        // being hooked up to the textFlow by the TCM.
+        if (textChanged || contentChanged)
+        {
+            if (textFlowChanged)
+            {
+                var newEvent:TextOperationEvent =
+                    new TextOperationEvent(TextOperationEvent.CHANGE);
+                dispatchEvent(newEvent);
+            }
+
+            textChanged = false;
+            contentChanged = false;
+        }
+        textFlowChanged = false;
+
         var oldContentWidth:Number = _contentWidth;

         var newContentBounds:Rectangle = _inputManager.getContentBounds();


Testing hudson ci server

Testing hudson ci server

--- spec/UIComponentSpecs.as
+++ spec/UIComponentSpecs.as
@@ -10,7 +10,7 @@
 		{
 			const instance:UIComponent = new Button;

-			describe (instance, 'is a component from the mx.controls package', function () :void
+			describe (instance, 'is a component from the mx\.controls package', function () :void
 			{
 				it ('should be a UIComponent', function () :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@1253278 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/ColumnSeries.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.charts.series
 {


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

--- frameworks/projects/framework/src/mx/skins/RectangularBorder.as
+++ frameworks/projects/framework/src/mx/skins/RectangularBorder.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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.
 //
 ////////////////////////////////////////////////////////////////////////////////


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

--- frameworks/projects/mx/src/mx/accessibility/ComboBaseAccImpl.as
+++ frameworks/projects/mx/src/mx/accessibility/ComboBaseAccImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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: 7377
Author:   jimurphy@adobe.com
Date:     2009-05-28T18:43:12.971970Z

Log Message:
-----------
Merged beta1 revisions 7173,7179,7183,7214,7216,7219,7282 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flex-config.xml</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/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Wooden/Wooden.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/AeonGraphical/AeonGraphical.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Smoke/Smoke.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Ice/Ice.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</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/controls/ComboBox.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TitleWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/themes/Institutional/Institutional.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransform.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransform.as
@@ -1382,6 +1382,7 @@
             {
                 var effectProps:Array = relevantProperties;
                 var valueMap:Object = start ? propChanges[i].start : propChanges[i].end;
+                var otherValueMap:Object = start ? propChanges[i].end : propChanges[i].start;
                 var transitionValues:Object = {
                     rotationX:NaN, rotationY:NaN, rotation:NaN,
                     scaleX:NaN, scaleY:NaN, scaleZ:NaN,
@@ -1392,9 +1393,12 @@
                 m = effectProps.length;
                 for (j = 0; j < m; j++)
                 {
-                    if (effectProps[j] in valueMap)
+                    var propName:String = effectProps[j];
+                    // Only record and apply values if they change between states
+                    if (propName in valueMap &&
+                        valueMap[propName] != otherValueMap[propName])
                     {
-                        transitionValues[effectProps[j]] = valueMap[effectProps[j]];
+                        transitionValues[propName] = valueMap[propName];
                     }
                 }
                 // Now transform it


qnd: fix scrubber initial duration

qnd: fix scrubber initial duration

git-svn-id: 3f608e5a9a704dd448217c0a64c508e7f145cfa1@92658 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- kdp3Lib/src/com/kaltura/kdpfl/view/controls/ScrubberMediator.as
+++ kdp3Lib/src/com/kaltura/kdpfl/view/controls/ScrubberMediator.as
@@ -157,7 +157,7 @@
 				break;
 			case NotificationType.ENTRY_READY:
 				var entry:object = note.getBody();
-				if (!entry is KalturaLiveStreamEntry)
+				if (!(entry is KalturaLiveStreamEntry))
 					scrubber.duration = entry is KalturaPlayableEntry ? (entry as KalturaPlayableEntry).duration : 0;
 				break;


Remove test external interface decl

Remove test external interface decl

--- MicrophoneMain.as
+++ MicrophoneMain.as
@@ -45,7 +45,6 @@
         ExternalInterface.addCallback("__disable", disable);
         ExternalInterface.addCallback("__receiveFrames", receiveFrames);
         ExternalInterface.addCallback("__setDebug", setDebug);
-        ExternalInterface.addCallback("__test", test);

         invoke("__onFlashInitialized");
     }


Fixed to support the rspec 1 and 2 namespaces by using the namespace directly from the xml file

--- protogeni/demo/map/src/pgmap/ComponentManager.as
+++ protogeni/demo/map/src/pgmap/ComponentManager.as
@@ -77,7 +77,7 @@
 	    private var myAfter:Function;
 	    private var myIndex:int;
 	    private var myState:int = NODE_PARSE;
-	    private var locations:XMLList;
+	    private var nodes:XMLList;
 	    private var links:XMLList;
 	    private var interfaceDictionary:Dictionary;
 	    private var nodeNameDictionary:Dictionary;
@@ -104,15 +104,15 @@
 	    public function processRspec(afterCompletion : Function):void {
 	    	main.setProgress("Parsing " + Hrn + " RSPEC", Common.waitColor);
 	    	main.startWaiting();
-
-	    	namespace rsync01namespace = "http://www.protogeni.net/resources/rspec/0.1";
-	        use namespace rsync01namespace;
+
+			var nodeName : QName = new QName(Rspec.namespace(), "node");
+			nodes = Rspec.elements(nodeName);
+			nodeName = new QName(Rspec.namespace(), "link");
+			links = Rspec.elements(nodeName);

 	    	myAfter = afterCompletion;
 	    	myIndex = 0;
 	    	myState = NODE_PARSE;
-	    	locations = Rspec.node.location;
-	    	links = Rspec.link;
 	    	interfaceDictionary = new Dictionary();
 	    	nodeNameDictionary = new Dictionary();
 	    	subnodeList = new ArrayCollection();
@@ -158,14 +158,11 @@
 	    }

 	    private function parseNextNode():void {
-	    	namespace rsync01namespace = "http://www.protogeni.net/resources/rspec/0.1";
-	        use namespace rsync01namespace;
-
 	        var idx:int;
 	        for(idx = 0; idx < MAX_WORK; idx++) {
 	        	var fullIdx:int = myIndex + idx;
 	        	//main.console.appendText("idx:" + idx.toString() + " full:" + fullIdx.toString());
-	        	if(fullIdx == locations.length()) {
+	        	if(fullIdx == nodes.length()) {

 	        		// Assign subnodes
 	        		for each(var obj:Object in subnodeList)
@@ -182,36 +179,45 @@
 	        	}
 	        	//main.console.appendText("parsing...");
 	        	//main.console.appendText(fullIdx.toString());
-	        	var location:XML = locations[fullIdx];
-
-	        	var lat:Number = Number(location.@latitude);
-	        	var lng:Number = Number(location.@longitude);
-	        	if(lat == 0 && lng == 0)
-	        	{
-	        		lat = 39.017625;
-	        		lng = 125.763899;
-	        	}
-
-	        	var ng:PhysicalNodeGroup = Nodes.GetByLocation(lat,lng);
-	        	if(ng == null) {
-	        		var cnt:String = location.@country;
-	        		ng = new PhysicalNodeGroup(lat, lng, cnt, Nodes);
-	        		Nodes.Add(ng);
-	        	}
-
-	        	var n:PhysicalNode = new PhysicalNode(ng);
-	        	var p:XML = location.parent();
-	        	n.name = p.@component_name;
-	        	n.urn = p.@component_uuid;
-	        	n.available = p.available == "true";
-	        	n.exclusive = p.exclusive == "true";
-	        	n.managerString = p.@component_manager_uuid;
-	        	n.manager = this;
-
-	        	var parentName:String = p.subnode_of;
-	        	if(parentName.length > 0)
-	        		subnodeList.addItem({subNode:n, parentName:parentName});
-
+
+				var p:XML = nodes[fullIdx];
+
+				// Get location info
+				var nodeName : QName = new QName(Rspec.namespace(), "location");
+				var temps:XMLList = p.elements(nodeName);
+				var temp:XML = temps[0];
+				var lat:Number = 39.017625;
+				var lng:Number = 125.763899;
+				if(temps.length() > 0)
+				{
+					if(Number(temp.@latitude) != 0 && Number(temp.@longitude) != 0)
+					{
+						lat = Number(temp.@latitude);
+						lng = Number(temp.@longitude);
+					}
+				}
+
+				var ng:PhysicalNodeGroup = Nodes.GetByLocation(lat,lng);
+
+				if(ng == null) {
+					var cnt:String = "";
+					if(temp != null)
+						cnt = temp.@country;
+					ng = new PhysicalNodeGroup(lat, lng, cnt, Nodes);
+					Nodes.Add(ng);
+				}
+
+				var n:PhysicalNode = new PhysicalNode(ng);
+				n.name = p.@component_name;
+				n.urn = p.@component_uuid;
+				n.available = p.available == "true";
+				n.exclusive = p.exclusive == "true";
+				n.managerString = p.@component_manager_uuid;
+				n.manager = this;
+				var parentName:String = p.subnode_of;
+				if(parentName.length > 0)
+					subnodeList.addItem({subNode:n, parentName:parentName});
+
 	        	for each(var ix:XML in p.children()) {
 	        		if(ix.localName() == "interface") {
 	        			var i:PhysicalNodeInterface = new PhysicalNodeInterface(n);
@@ -226,7 +232,7 @@
 	        			n.types.addItem(t);
 	        		}
 	        	}
-
+
 	        	n.rspec = p.copy();
 	        	ng.Add(n);
 	        	nodeNameDictionary[n.urn] = n;
@@ -239,9 +245,6 @@
 	    }

 	    private function parseNextLink():void {
-	    	namespace rsync01namespace = "http://www.protogeni.net/resources/rspec/0.1";
-	        use namespace rsync01namespace;
-
 	        var idx:int;
 	        for(idx = 0; idx < MAX_WORK; idx++) {
 	        	var fullIdx:int = myIndex + idx;
@@ -254,12 +257,13 @@
 	        	//main.console.appendText("parsing...");
 	        	var link:XML = links[fullIdx];

-	        	var interfaces:XMLList = link.interface_ref;
-	        	var interface1:String = interfaces[0].@component_interface_id
+				var nodeName : QName = new QName(Rspec.namespace(), "interface_ref");
+				var temps:XMLList = link.elements(nodeName);
+	        	var interface1:String = temps[0].@component_interface_id
 	        	//var ni1:NodeInterface = Nodes.GetInterfaceByID(interface1);
 	        	var ni1:PhysicalNodeInterface = interfaceDictionary[interface1];
 	        	if(ni1 != null) {
-	        		var interface2:String = interfaces[1].@component_interface_id;
+	        		var interface2:String = temps[1].@component_interface_id;
 		        	//var ni2:NodeInterface = Nodes.GetInterfaceByID(interface2);
 	        		var ni2:PhysicalNodeInterface = interfaceDictionary[interface2];
 		        	if(ni2 != null) {
@@ -275,9 +279,17 @@
 		        		l.urn = link.@component_uuid;
 		        		l.interface1 = ni1;
 		        		l.interface2 = ni2;
-		        		l.bandwidth = link.bandwidth;
-		        		l.latency = link.latency;
-		        		l.packetLoss = link.packet_loss;
+
+						for each(var ix:XML in link.children()) {
+							if(ix.localName() == "bandwidth") {
+								l.bandwidth = Number(ix);
+							} else if(ix.localName() == "latency") {
+								l.latency = Number(ix);
+							} else if(ix.localName() == "packet_loss") {
+								l.packetLoss = Number(ix);
+							}
+						}
+
 		        		l.rspec = link.copy();

 		        		for each(var tx:XML in link.link_type) {


Change color of wireframe debug controller

--- src/aerys/minko/scene/controller/debug/WireframeDebugController.as
+++ src/aerys/minko/scene/controller/debug/WireframeDebugController.as
@@ -24,7 +24,7 @@
 		public function get material() : LineMaterial
 		{
 			return _wireframeMaterial
-				|| (_wireframeMaterial = new LineMaterial({diffuseColor : 0xffffffff, lineThickness	: 1.}));
+				|| (_wireframeMaterial = new LineMaterial({diffuseColor : 0x509dc7ff, lineThickness	: 1.}));
 		}

 		public function set visible(value : Boolean) : void


Minor changes

Minor changes

--- swfcat.as
+++ swfcat.as
@@ -154,10 +154,12 @@

             s_f.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
                 var client_spec:String = new String();
+		var parts:Array;
+
 		client_spec = s_f.readMultiByte(e.bytesLoaded, "utf-8");
                 puts("Facilitator: got \"" + client_spec + "\"");

-                parts = fac_spec.split(":", 2);
+                parts = client_spec.split(":", 2);
                 if (parts.length != 2 || !parseInt(parts[1])) {
                    puts("Error: Facilitator spec must be in the form \"host:port\".");
                    return;
@@ -170,7 +172,7 @@
                 client_port = parseInt(parts[1]);

             	puts("Client: connecting to " + client_address + ":" + client_port + ".");
-            	s_c.connect(client_address, client_port);*/
+            	s_c.connect(client_address, client_port);

             });


Limit the number of simultaneous ProxyPairs.

Currently MAX_NUM_PROXY_PAIRS == 1.

--- swfcat.as
+++ swfcat.as
@@ -25,6 +25,8 @@
             port: 9002
         };

+        private const MAX_NUM_PROXY_PAIRS:uint = 1;
+
         // Milliseconds.
         private const FACILITATOR_POLL_INTERVAL:int = 10000;

@@ -34,6 +36,8 @@
         private var output_text:TextField;

         private var fac_addr:Object;
+
+        private var num_proxy_pairs:int = 0;

         [Embed(source="badge.png")]
         private var BadgeImage:Class;
@@ -91,6 +95,11 @@
         /* The main logic begins here, after start-up issues are taken care of. */
         private function main():void
         {
+            if (num_proxy_pairs >= MAX_NUM_PROXY_PAIRS) {
+                setTimeout(main, FACILITATOR_POLL_INTERVAL);
+                return;
+            }
+
             s_f = new Socket();

             s_f.addEventListener(Event.CONNECT, fac_connected);
@@ -137,9 +146,11 @@
                 return;
             }

+            num_proxy_pairs++;
             proxy_pair = new ProxyPair(this, client_addr, DEFAULT_TOR_ADDR);
             proxy_pair.addEventListener(Event.COMPLETE, function(e:Event):void {
                 proxy_pair.log("Complete.");
+                num_proxy_pairs--;
             });
             proxy_pair.connect();
         }


Fixed issue with monthLabelsList

Fixed issue with monthLabelsList

--- src/ahhenderson/core/util/DateUtil.as
+++ src/ahhenderson/core/util/DateUtil.as
@@ -328,7 +328,7 @@

 		}

-		public static const monthLabelsList:Array = new Array(
+		public static const monthLabelsList:Array =
 			[
 				{ label: "January"},
 				{ label: "February"},
@@ -342,10 +342,10 @@
 				{ label: "October"},
 				{ label: "November"},
 				{ label: "December"}
-			]);
-
-
-		public static const monthLabels:Array = new Array("January",
+			];
+
+
+		public static const monthLabels:Array = ["January",
 			"February",
 			"March",
 			"April",
@@ -356,9 +356,9 @@
 			"September",
 			"October",
 			"November",
-			"December");
-
-		public static const monthLabelsSummary:Array = new Array("Jan",
+			"December"];
+
+		public static const monthLabelsSummary:Array = ["Jan",
 			"Feb",
 			"Mar",
 			"Apr",
@@ -369,7 +369,7 @@
 			"Sep",
 			"Oct",
 			"Nov",
-			"Dec");
+			"Dec"];


Enums can safely be used as Dictionary keys, and should therefore pass the isSimple() test.

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

--- src/as/com/threerings/util/HashMap.as
+++ src/as/com/threerings/util/HashMap.as
@@ -316,7 +316,8 @@
      */
     protected function isSimple (key :Object) :Boolean
     {
-        return (key == null) || (key is String) || (key is Number) || (key is Boolean);
+        return (key == null) || (key is String) || (key is Number) || (key is Boolean) ||
+            (key is Enum);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 5331
Author:   dloverin@adobe.com
Date:     2009-03-16T20:29:20.872892Z

Log Message:
-----------
FxApplication related API changes.

1. Rename ApplicationGlobals.application -> FlexGlobals.topLevelApplication
2. Application.application will be deprecated. FlexGlobals.topLevelApplication will be the recommend alternative.
3. Application.application will return null if the top-level application is not of type Application or a subclass of Application.
4. Change the FxApplication.backgroundColor property from type Object to uint.

QE Notes: None
Doc Notes: None
Bugs: sdk-19677
Reviewer: Ryan
tests: checkintests, Application mustella tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.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/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/haloclassic/src/haloclassic/ActivatorSkin.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/Alert.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/HistoryManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.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/effects/effectClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/src/mx/skins/halo/ActivatorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/checkinapp/ProductDetail.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.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/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ApplicationGlobals.as" copyfrom-rev="5314" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexGlobals.as</path>

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

--- frameworks/projects/mx/src/mx/effects/Glow.as
+++ frameworks/projects/mx/src/mx/effects/Glow.as
@@ -12,7 +12,7 @@
 package mx.effects
 {

-import mx.core.ApplicationGlobals;
+import mx.core.FlexGlobals;
 import mx.effects.effectClasses.GlowInstance;
 import mx.styles.StyleManager;

@@ -336,7 +336,7 @@
 		glowInstance.color =
 		    color != StyleManager.NOT_A_COLOR ?
 		    color :
-		    ApplicationGlobals.application.getStyle("themeColor");
+		    FlexGlobals.topLevelApplication.getStyle("themeColor");
 		glowInstance.inner = inner;
 		glowInstance.knockout = knockout;
 		glowInstance.strength = strength;


Fix #35

Fix #35

--- as3/com/netease/protobuf/ReadUtils.as
+++ as3/com/netease/protobuf/ReadUtils.as
@@ -18,7 +18,7 @@
 		public static function skip(input:IDataInput, wireType:uint):void {
 			switch (wireType) {
 			case WireType.VARINT:
-				while (input.readUnsignedByte() > 0x80) {}
+				while (input.readUnsignedByte() >= 0x80) {}
 				break
 			case WireType.FIXED_64_BIT:
 				input.readInt()


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/framework/src/mx/logging/targets/TraceTarget.as
+++ frameworks/projects/framework/src/mx/logging/targets/TraceTarget.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


made PenTool.editMode no longer a linkable variable

Change-Id: I300afc291c0b86e6fba1aca0b540c051eb40cace

--- WeaveUI/src/weave/ui/PenTool.as
+++ WeaveUI/src/weave/ui/PenTool.as
@@ -36,6 +36,7 @@
 	import weave.api.core.IDisposableObject;
 	import weave.api.core.ILinkableContainer;
 	import weave.api.core.ILinkableObject;
+	import weave.api.newDisposableChild;
 	import weave.api.newLinkableChild;
 	import weave.core.LinkableBoolean;
 	import weave.core.LinkableNumber;
@@ -61,20 +62,27 @@

 		public function dispose():void
 		{
-			editMode.value = false; // cleans up event listeners and cursor
+			editMode = false; // public setter cleans up event listeners and cursor
 		}

 		public const coords:LinkableString = newLinkableChild( this, LinkableString, handleCoordsChange ); //This is used for sessiong all of the coordinates.
 		public const lineWidth:LinkableNumber = newLinkableChild( this, LinkableNumber, invalidateDisplayList ); //Allows user to change the size of the line.
 		public const lineColor:LinkableNumber = newLinkableChild( this, LinkableNumber, invalidateDisplayList ); //Allows the user to change the color of the line.
-		public const editMode:LinkableBoolean = newLinkableChild( this, LinkableBoolean, handleEditModeChange ); // true when editing
-
+
+		private var _editMode:Boolean = false; // true when editing
 		private var _drawing:Boolean = false;
 		private var _coordsArrays:Array = []; // parsed from coords LinkableString

-		public function handleEditModeChange():void
-		{
-			if (editMode.value)
+		public function get editMode():Boolean
+		{
+			return _editMode;
+		}
+		public function set editMode(value:Boolean):void
+		{
+			if (_editMode == value)
+				return;
+			_editMode = value;
+			if (value)
 			{
 				// enable pen
 				CustomCursorManager.showCursor(CustomCursorManager.PEN_CURSOR, CursorManagerPriority.HIGH, -3, -22);
@@ -150,7 +158,7 @@

 			graphics.clear();

-			if (editMode.value)
+			if (editMode)
 			{
 				// draw invisible transparent rectangle to capture mouse events
 				graphics.lineStyle(0, 0, 0);
@@ -234,7 +242,7 @@
 				if( ( getLinkableContainer(e.mouseTarget) as ILinkableContainer).getLinkableChildren().getObject( PEN_OBJECT_NAME ) )
 				{
 					var penObject:PenTool = ( getLinkableContainer(e.mouseTarget) as ILinkableContainer).getLinkableChildren().getObject( PEN_OBJECT_NAME ) as PenTool;
-					if( penObject && penObject.editMode.value )
+					if (penObject && penObject.editMode)
 					{
 						_penToolMenuItem.caption = DISABLE_PEN;
 					}
@@ -264,7 +272,7 @@
 			{
 				// enable pen

-				penTool.editMode.value = true;
+				penTool.editMode = true;
 				_penToolMenuItem.caption = DISABLE_PEN;
 				_removeDrawingsMenuItem.enabled = true;
 				CustomCursorManager.showCursor(CustomCursorManager.PEN_CURSOR, CursorManagerPriority.HIGH, -3, -22);
@@ -272,7 +280,7 @@
 			else
 			{
 				// disable pen
-				penTool.editMode.value = false;
+				penTool.editMode = false;

 				_penToolMenuItem.caption = ENABLE_PEN;
 			}


Give ProxyPair COMPLETE handler an argument. Add a missing semicolon.

--- swfcat.as
+++ swfcat.as
@@ -138,9 +138,9 @@
             }

             proxy_pair = new ProxyPair(this, client_addr, DEFAULT_TOR_ADDR);
-            proxy_pair.addEventListener(Event.COMPLETE, function():void {
+            proxy_pair.addEventListener(Event.COMPLETE, function(e:Event):void {
                 proxy_pair.log("Complete.");
-            })
+            });
             proxy_pair.connect();
         }


Factor out a ProxyPair class that handles a single proxy instance.

--- swfcat.as
+++ swfcat.as
@@ -20,17 +20,12 @@

         private var output_text:TextField;

-        // Socket to Tor relay.
-        private var s_t:Socket;
         // Socket to facilitator.
         private var s_f:Socket;
-        // Socket to client.
-        private var s_c:Socket;

         private var fac_addr:Object;
-        private var tor_addr:Object;
-
-        private function puts(s:String):void
+
+        public function puts(s:String):void
         {
             output_text.appendText(s + "\n");
             output_text.scrollV = output_text.maxScrollV;
@@ -69,58 +64,22 @@
                 return;
             }

-            tor_addr = DEFAULT_TOR_ADDR;
-
             go();
         }

-        /* We connect first to the Tor relay; once that happens we connect to
-           the facilitator to get a client address; once we have the address
-           of a waiting client then we connect to the client and BAM! we're in business. */
         private function go():void
         {
-            s_t = new Socket();
-
-            s_t.addEventListener(Event.CONNECT, tor_connected);
-            s_t.addEventListener(Event.CLOSE, function (e:Event):void {
-                puts("Tor: closed.");
-                if (s_c.connected)
-                    s_c.close();
-            });
-            s_t.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
-                puts("Tor: I/O error: " + e.text + ".");
-                if (s_c.connected)
-                    s_c.close();
-            });
-            s_t.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
-                puts("Tor: security error: " + e.text + ".");
-                if (s_c.connected)
-                    s_c.close();
-            });
-
-            puts("Tor: connecting to " + tor_addr.host + ":" + tor_addr.port + ".");
-            s_t.connect(tor_addr.host, tor_addr.port);
-        }
-
-        private function tor_connected(e:Event):void
-        {
-            /* Got a connection to tor, now let's get served a client from the facilitator */
             s_f = new Socket();

-            puts("Tor: connected.");
             s_f.addEventListener(Event.CONNECT, fac_connected);
             s_f.addEventListener(Event.CLOSE, function (e:Event):void {
                 puts("Facilitator: closed connection.");
             });
             s_f.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
                 puts("Facilitator: I/O error: " + e.text + ".");
-                if (s_t.connected)
-                    s_t.close();
             });
             s_f.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
                 puts("Facilitator: security error: " + e.text + ".");
-                if (s_t.connected)
-                    s_t.close();
             });

             puts("Facilitator: connecting to " + fac_addr.host + ":" + fac_addr.port + ".");
@@ -129,51 +88,33 @@

         private function fac_connected(e:Event):void
         {
-            s_c = new Socket();
-
             puts("Facilitator: connected.");

-            s_f.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-                var client_spec:String;
-                var client_addr:Object;
-
-                client_spec = s_f.readMultiByte(e.bytesLoaded, "utf-8");
-                puts("Facilitator: got \"" + client_spec + "\"");
-
-                client_addr = parse_addr_spec(client_spec);
-                if (!client_addr) {
-                    puts("Error: Client spec must be in the form \"host:port\".");
-                    return;
-                }
-                if (client_addr.host == "0.0.0.0" && client_addr.port == 0) {
-                    puts("Error: Facilitator has no clients.");
-                    return;
-                }
-
-                puts("Client: connecting to " + client_addr.host + ":" + client_addr.port + ".");
-                s_c.connect(client_addr.host, client_addr.port);
-                s_c.addEventListener(Event.CONNECT, client_connected);
-            });
+            s_f.addEventListener(ProgressEvent.SOCKET_DATA, fac_data);

             s_f.writeUTFBytes("GET / HTTP/1.0\r\n\r\n");
         }

-        private function client_connected(e:Event):void
-        {
-            puts("Client: connected.");
-
-            s_t.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-                var bytes:ByteArray = new ByteArray();
-                s_t.readBytes(bytes, 0, e.bytesLoaded);
-                puts("Tor: read " + bytes.length + ".");
-                s_c.writeBytes(bytes);
-            });
-            s_c.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-                var bytes:ByteArray = new ByteArray();
-                s_c.readBytes(bytes, 0, e.bytesLoaded);
-                puts("Client: read " + bytes.length + ".");
-                s_t.writeBytes(bytes);
-            });
+        private function fac_data(e:ProgressEvent):void
+        {
+            var client_spec:String;
+            var client_addr:Object;
+            var proxy_pair:Object;
+
+            client_spec = s_f.readMultiByte(e.bytesLoaded, "utf-8");
+            puts("Facilitator: got \"" + client_spec + "\"");
+
+            client_addr = parse_addr_spec(client_spec);
+            if (!client_addr) {
+                puts("Error: Client spec must be in the form \"host:port\".");
+                return;
+            }
+            if (client_addr.host == "0.0.0.0" && client_addr.port == 0) {
+                puts("Error: Facilitator has no clients.");
+                return;
+            }
+
+            proxy_pair = new ProxyPair(this, client_addr, DEFAULT_TOR_ADDR);
         }

         /* Parse an address in the form "host:port". Returns an Object with
@@ -194,3 +135,117 @@
         }
     }
 }
+
+import flash.display.Sprite;
+import flash.events.Event;
+import flash.events.IOErrorEvent;
+import flash.events.ProgressEvent;
+import flash.events.SecurityErrorEvent;
+import flash.net.Socket;
+import flash.utils.ByteArray;
+
+/* An instance of a client-relay connection. */
+class ProxyPair
+{
+    // Address ({host, port}) of client.
+    private var addr_c:Object;
+    // Address ({host, port}) of relay.
+    private var addr_r:Object;
+
+    // Socket to client.
+    private var s_c:Socket;
+    // Socket to relay.
+    private var s_r:Socket;
+
+    // Parent swfcat, for UI updates.
+    private var ui:swfcat;
+
+    private function log(msg:String):void
+    {
+        ui.puts(id() + ": " + msg)
+    }
+
+    // String describing this pair for output.
+    private function id():String
+    {
+        return "<" + this.addr_c.host + ":" + this.addr_c.port +
+            "," + this.addr_r.host + ":" + this.addr_r.port + ">";
+    }
+
+    public function ProxyPair(ui:swfcat, addr_c:Object, addr_r:Object)
+    {
+        this.ui = ui;
+        this.addr_c = addr_c;
+        this.addr_r = addr_r;
+    }
+
+    public function connect():void
+    {
+        s_r = new Socket();
+
+        s_r.addEventListener(Event.CONNECT, tor_connected);
+        s_r.addEventListener(Event.CLOSE, function (e:Event):void {
+            log("Tor: closed.");
+            if (s_c.connected)
+                s_c.close();
+        });
+        s_r.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
+            log("Tor: I/O error: " + e.text + ".");
+            if (s_c.connected)
+                s_c.close();
+        });
+        s_r.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
+            log("Tor: security error: " + e.text + ".");
+            if (s_c.connected)
+                s_c.close();
+        });
+
+        log("Tor: connecting to " + addr_r.host + ":" + addr_r.port + ".");
+        s_r.connect(addr_r.host, addr_r.port);
+    }
+
+    private function tor_connected(e:Event):void
+    {
+        log("Tor: connected.");
+
+        s_c = new Socket();
+
+        s_c.addEventListener(Event.CONNECT, client_connected);
+        s_c.addEventListener(Event.CLOSE, function (e:Event):void {
+            log("Client: closed.");
+            if (s_r.connected)
+                s_r.close();
+        });
+        s_c.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
+            log("Client: I/O error: " + e.text + ".");
+            if (s_r.connected)
+                s_r.close();
+        });
+        s_c.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
+            log("Client: security error: " + e.text + ".");
+            if (s_r.connected)
+                s_r.close();
+        });
+
+        log("Client: connecting to " + addr_c.host + ":" + addr_c.port + ".");
+        s_c.connect(addr_c.host, addr_c.port);
+    }
+
+    private function client_connected(e:Event):void
+    {
+        log("Client: connected.");
+
+        s_r.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
+            var bytes:ByteArray = new ByteArray();
+            s_r.readBytes(bytes, 0, e.bytesLoaded);
+            log("Tor: read " + bytes.length + ".");
+            s_c.writeBytes(bytes);
+        });
+        s_c.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
+            var bytes:ByteArray = new ByteArray();
+            s_c.readBytes(bytes, 0, e.bytesLoaded);
+            log("Client: read " + bytes.length + ".");
+            s_r.writeBytes(bytes);
+        });
+    }
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18635
Author:   aharui@adobe.com
Date:     2010-11-17T00:18:36.469040Z

Log Message:
-----------
Add estimatedSizes to the layout infrastructure to better deal with text reflow.
Add new events to layout infrastructure to deal with caching of size information

QE notes: New APIs and Interfaces
Doc notes: New APIs and interfaces
Bugs: SDK-27226, SDK-26155, SDK-25483, SDK-23621, SDK-27225, SDK-26993, SDK-25535, SDK-25521
Reviewer: Evtim
Tests run: checkintests mustella full run
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/layoutClasses/PriorityQueue.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</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="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IContainerInvalidating.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/FormTestScript.mxml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ILayoutManagerContainerClient.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/spark/src/spark/layouts/supportClasses/LayoutBase.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/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/IStyleManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/framework/src/mx/core/ILayoutElement.as
+++ frameworks/projects/framework/src/mx/core/ILayoutElement.as
@@ -28,7 +28,55 @@
  */
 public interface ILayoutElement extends IEventDispatcher
 {
-/**
+    /**
+     *  The height that a component is likely to be given at layout time.  It is
+     *  determined from things like the parent's estimatedHeight, and the
+     *  component's percentHeight, explicitHeight, top and bottom constraints
+     *  and other aspects of the parent's layout algorithm.
+     *  It is NaN if there isn't enough information to compute the height.
+     *  The component can use this information in calculating its
+     *  measuredWidth if the measuredWidth is dependent on the layout
+     *  height.
+     *
+     *  Note that significantly incorrect estimation of this property can cause
+     *  layout problems and even infinite loops in Scroller and similar
+     *  containers that are going to guess on a scrollbar configuration
+     *  based on measurements influenced by this value.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    function get estimatedHeight():Number;
+
+    /**
+     *  The width that a component is likely to be given at layout time.  It is
+     *  determined from things like the parent's estimatedWidth, and the
+     *  component's percentWidth, explicitWidth, left and right constraints
+     *  and other aspects of the parent's layout algorithm.
+     *  It is NaN if there isn't enough information to compute the width.
+     *  The component can use this information in calculating its
+     *  measuredHeight if the measuredHeight is dependent on the layout
+     *  width.
+     *
+     *  Note that significantly incorrect estimation of this property can cause
+     *  layout problems and even infinite loops in Scroller and similar
+     *  containers that are going to guess on a scrollbar configuration
+     *  based on measurements influenced by this value.
+     *
+     *  @default NaN
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    function get estimatedWidth():Number;
+
+    /**
      *  The horizontal distance in pixels from the left edge of the component to the
      *  anchor target's left edge.
      *
@@ -772,6 +820,30 @@
     function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void;

     /**
+     *  Set the element's estimatedWidth and estimatedHeight.
+     *
+     *  @param estimatedWidth the new estimatedWidth
+     *  @param estimatedHeight the new estimatedHeight
+     *  @param invalidateSize if false, do not invalidate, just store the numbers
+     *
+     *  Implementations typically never invalidateSize, unless they are flow-based
+     *  (width affects height or vice-versa), then they call invalidateSize if
+     *  the new estimatedWidth and/or estimatedHeight would affect the
+     *  measuredWidth and/or measuredHeight.
+     *
+     *  @see #estimatedWidth
+     *  @see #estimatedHeight
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    function setEstimatedSize(estimatedWidth:Number = NaN,
+								estimatedHeight:Number = NaN,
+								invalidateSize:Boolean = true):void;
+
+    /**
      *  A utility method to update the rotation, scale, and translation of the
      *  transform while keeping a particular point, specified in the component's
      *  own coordinate space, fixed in the parent's coordinate space.


Transferred from the Adobe Open Source Subversion Repository

Revision: 9352
Author:   clucier@adobe.com
Date:     2009-08-17T19:38:36.092988Z

Log Message:
-----------
Update DesignLayer ASDOC to reflect most recent updates to specification.  A bug fix to all IVisualElement implementers to account for initial value of alpha/visible for their owning layer.

QE notes:  None.
Doc notes:  None.
Bugs:  N/A.
Reviewer:  Chet
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<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/framework/src/mx/core/DesignLayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/IVisualElement.as
+++ frameworks/projects/framework/src/mx/core/IVisualElement.as
@@ -200,10 +200,19 @@
     function set y(value:Number):void;

     /**
-     *  Specifies the runtime DesignLayer associated with
-     *  this visual element if appropriate.
-     *
+     *  Specifies the optional runtime DesignLayer associated
+     *  with this visual element.
+     *
+     *  When a DesignLayer is assigned, a visual element
+     *  must listen for "layerPropertyChange" notifications from
+     *  the associated layer parent.  When the "computedAlpha" or
+     *  "computedVisibility" of the layer changes, the element must
+     *  then compute its own effective visibility (or alpha)
+     *  and apply it accordingly.
+     *
      *  This property should not be set within MXML directly.
+     *
+     *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


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

--- frameworks/projects/framework/src/mx/states/OverrideBase.as
+++ frameworks/projects/framework/src/mx/states/OverrideBase.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2008 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.states
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5413
Author:   hmuller@adobe.com
Date:     2009-03-19T14:40:13.644721Z

Log Message:
-----------
Bonus round of A/B virtualization bug fixes.

QE Notes:
Doc Notes:
Bugs: sdk-19991
Reviewer: Evtim

Modified Paths:
--------------
<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/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -415,7 +415,9 @@
             }
             else
             {
-                for (index = virtualLayoutEndIndex; index >= virtualLayoutStartIndex; index--)
+                var endIndex:int = virtualLayoutEndIndex;     // itemRemoved decrements virtualLayoutEndIndex
+                var startIndex:int = virtualLayoutStartIndex; // itemRemoved decrements virtualLayoutStartIndex
+                for (index = endIndex; (index >= 0) && (index >= startIndex); index--)
                 {
                     // TODO (rfrishbe): same as above

@@ -696,7 +698,7 @@
      */
     private function finishVirtualLayout():void
     {
-        if (oldVirtualLayoutStartIndex == -1 || oldVirtualLayoutEndIndex == -1)
+        if (oldVirtualLayoutStartIndex < 0 || oldVirtualLayoutEndIndex < 0)
             return;

         // Remove the old ItemRenderers that aren't new ItemRenderers.  In other


Minor adjustment to allow Being.create() to work without save data provided.

--- src/sentinel/gameplay/world/Being.as
+++ src/sentinel/gameplay/world/Being.as
@@ -27,7 +27,7 @@
 		 * @param type The type of object to try and create, as a fully qualified class name.
 		 * @param data The save data.
 		 */
-		public static function create(type:String, save:Data):Being
+		public static function create(type:String, save:Data = null):Being
 		{
 			var className:Class = null;

@@ -43,7 +43,12 @@
 			}

 			var being:Being = new className() as Being;
-			being.load(save);
+
+			if (being !== null && save !== null)
+			{
+				// Apply save data.
+				being.load(save);
+			}

 			return being;
 		}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/logging/Log.as
+++ frameworks/projects/framework/src/mx/logging/Log.as
@@ -81,6 +81,11 @@
  *  }
  *  ...
  *

+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Log
 {
@@ -153,6 +158,11 @@
      *  log target.
      *
      *  @return true if a fatal level log event will be logged; otherwise false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function isFatal():Boolean
     {
@@ -164,6 +174,11 @@
      *  log target.
      *
      *  @return true if an error level log event will be logged; otherwise false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function isError():Boolean
     {
@@ -175,6 +190,11 @@
      *  log target.
      *
      *  @return true if a warn level log event will be logged; otherwise false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function isWarn():Boolean
     {
@@ -186,6 +206,11 @@
      *  log target.
      *
      *  @return true if an info level log event will be logged; otherwise false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function isInfo():Boolean
     {
@@ -197,6 +222,11 @@
      *  log target.
      *
      *  @return true if a debug level log event will be logged; otherwise false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function isDebug():Boolean
     {
@@ -208,6 +238,11 @@
      *  events.
      *
      *  @param The specific target that should capture log events.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function addTarget(target:ILoggingTarget):void
     {
@@ -245,6 +280,11 @@
      *  events.
      *
      *  @param The specific target that should capture log events.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function removeTarget(target:ILoggingTarget):void
     {
@@ -294,6 +334,11 @@
      *  @return An instance of a logger object for the specified name.
      *  If the name doesn't exist, a new instance with the specified
      *  name is returned.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function getLogger(category:String):ILogger
     {
@@ -327,6 +372,11 @@
      *  Subsquent calls to the getLogger() method return new instances
      *  of loggers rather than any previous instances with the same category.
      *  This method is intended for use in debugging only.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function flush():void
     {
@@ -343,6 +393,11 @@
      *                []~$^&\/(){}<>+=`!#%?,:;'"@
      *  @return   true if there are any illegal characters found,
      *            false otherwise
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function hasIllegalCharacters(value:String):Boolean
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5363
Author:   gruehle@adobe.com
Date:     2009-03-17T21:48:26.221849Z

Log Message:
-----------
More skinning/styling bug fixes.

SDK-19698 - Halo List with Gumbo skin is inconsistent with Gumbo FxList skin when setting baseColor style
SDK-19602 - focusColor is not supported by halo components
SDK-19595 - Various halo components do not look correct when in a disabled state.

QA/Doc Notes: The following changes are controlled by the compatibility-version flag:
* focusColor:
 old behavior: focus drawing was done with themeColor or errorColor, depending on the error state of the component
 new behavior: focus drawing is done with focusColor or errorColor, depending on the error state of the component
* Disabled DateChooser drawing:
 old behavior: border/bottom of header was same color regardless of enable setting
 new behavior: when disabled, border/bottom of header are dimmed 50%
* ComboBase border:
 old behavior: we always created a border object, but it was obscured by the other parts of the component
 new behavior: don't create the border object

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</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/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</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/sparkskins/src/mx/skins/spark/ScrollBarDownButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ScrollBarTrackSkin.mxml</path>

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

--- frameworks/projects/mx/src/mx/controls/DateField.as
+++ frameworks/projects/mx/src/mx/controls/DateField.as
@@ -2054,7 +2054,8 @@
         textInput.editable = false;
         textInput.addEventListener(TextEvent.TEXT_INPUT, textInput_textInputHandler);
         // hide the border, we use the text input's border
-        border.visible = false;
+        if (border)
+        	border.visible = false;

     }


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

--- frameworks/projects/rpc/src/mx/rpc/xml/XMLLoader.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/XMLLoader.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.
-//
-////////////////////////////////////////////////////////////////////////////////

 package mx.rpc.xml
 {


update as3 side, remove publish/read login differentiation, remove depreciated app invites dialog

--- actionscript/src/com/freshplanet/ane/AirFacebook/Facebook.as
+++ actionscript/src/com/freshplanet/ane/AirFacebook/Facebook.as
@@ -214,7 +214,7 @@
         }

         /**
-         * Open a new session with a given set of read permissions.

+         * Open a new session with a given set of permissions.

          *
          * @param permissions An array of requested read permissions.
          * @param callback (Optional) A callback function of the following form:
@@ -226,23 +226,7 @@
                                                  callback:Function = null):void {

             if (_isInitialized())
-                _logIn(permissions, "read", callback);
-        }
-
-        /**
-         * Open a new session with a given set of publish permissions.

-         *
-         * @param permissions An array of requested publish permissions.
-         * @param callback (Optional) A callback function of the following form:
-         * function myCallback(success:Boolean, userCancelled:Boolean, error:String = null)
-         *
-         * @see #logInWithReadPermissions()
-         */
-        public function logInWithPublishPermissions(permissions:Array,
-                                                    callback:Function = null):void {
-
-            if (_isInitialized())
-                _logIn(permissions, "publish", callback);
+                _logIn(permissions, callback);
         }

         /**
@@ -336,19 +320,7 @@
             if (_isInitialized() && shareLinkContent != null)
                 _context.call("shareLinkDialog", shareLinkContent, _getNewCallbackName(callback));
         }
-
-        /**
-         * Opens app invite dialog.
-         *
-         * @param appInviteContent Content of app invite dialog.
-         * @param callback (TODO)
-         */
-        public function appInviteDialog(appInviteContent:FBAppInviteContent,
-                                        callback:Function = null):void {
-
-            if (_isInitialized() && appInviteContent != null)
-                _context.call("appInviteDialog", appInviteContent, _getNewCallbackName(callback));
-        }
+

         /**
          *
@@ -421,7 +393,7 @@
          * @param type
          * @param callback
          */
-        private function _logIn(permissions:Array, type:String, callback:Function = null):void {
+        private function _logIn(permissions:Array, callback:Function = null):void {

             if (!isSupported)
                 return;
@@ -430,7 +402,7 @@
                 permissions = [];

             _openSessionCallback = callback;
-            _context.call('logInWithPermissions', permissions, type);
+            _context.call('logInWithPermissions', permissions);
         }

         /**


Added scrollToKey().

Added scrollToKey().

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

--- src/as/com/threerings/flex/DSetList.as
+++ src/as/com/threerings/flex/DSetList.as
@@ -7,6 +7,7 @@
 import mx.core.ScrollPolicy;

 import mx.collections.ArrayCollection;
+import mx.collections.IList;
 import mx.collections.Sort;

 import mx.controls.List;
@@ -64,6 +65,15 @@
     public function refresh () :void
     {
         _data.refresh();
+    }
+
+    /**
+     * Scroll so that the entry with the specified key is visible.
+     */
+    public function scrollToKey (key :Object) :Boolean
+    {
+        var scrollIdx :int = findKeyIndex(key, false);
+        return (scrollIdx == -1) ? false : scrollToIndex(scrollIdx);
     }

     /**
@@ -148,12 +158,13 @@
     }

     /**
-     * Find the index of the specified entry key from the raw list.
+     * Find the index of the specified entry key from the raw or filtered list.
      */
-    protected function findKeyIndex (key :Object) :int
+    protected function findKeyIndex (key :Object, raw :Boolean = true) :int
     {
-        for (var ii :int = 0; ii < _data.list.length; ii++) {
-            if (Util.equals(key, DSet_Entry(_data.list.getItemAt(ii)).getKey())) {
+        var list :IList = raw ? _data.list : _data;
+        for (var ii :int = 0; ii < list.length; ii++) {
+            if (Util.equals(key, DSet_Entry(list.getItemAt(ii)).getKey())) {
                 return ii;
             }
         }


fix coding style

fix coding style


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

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

--- frameworks/projects/framework/src/mx/effects/effectClasses/IrisInstance.as
+++ frameworks/projects/framework/src/mx/effects/effectClasses/IrisInstance.as
@@ -0,0 +1,92 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.effects.effectClasses
+{
+
+import mx.controls.SWFLoader;
+
+/**
+ *  The IrisInstance class implements the instance class for the Iris effect.
+ *  Flex creates an instance of this class when it plays an Iris effect;
+ *  you do not create one yourself.
+ *
+ *  @see mx.effects.Iris
+ */
+public class IrisInstance extends MaskEffectInstance
+{
+    include "../../core/Version.as";
+
+ 	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param target The Object to animate with this effect.
+	 */
+	public function IrisInstance(target:Object)
+	{
+		super(target);
+	}
+
+ 	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+     */
+	override protected function initMaskEffect():void
+	{
+		super.initMaskEffect();
+
+		var targetHeight:Number = target is SWFLoader && target.content ?
+								  SWFLoader(target).contentHeight :
+								  targetVisualBounds.height / Math.abs(target.scaleY)
+
+		var targetWidth:Number = target is SWFLoader && target.content ?
+								 SWFLoader(target).contentWidth :
+								 targetVisualBounds.width / Math.abs(target.scaleX);
+
+		if (showTarget)
+		{
+			scaleXFrom = 0;
+			scaleYFrom = 0;
+			scaleXTo = 1;
+			scaleYTo = 1;
+
+			xFrom = targetWidth / 2 + targetVisualBounds.x;
+			yFrom = targetHeight / 2 + targetVisualBounds.y;
+			xTo = targetVisualBounds.x;
+			yTo = targetVisualBounds.y;
+		}
+		else
+		{
+			scaleXFrom = 1;
+			scaleYFrom = 1;
+			scaleXTo = 0;
+			scaleYTo = 0;
+
+			xFrom = targetVisualBounds.x;
+			yFrom = targetVisualBounds.y;
+			xTo = targetWidth / 2 + targetVisualBounds.x;
+			yTo = targetHeight / 2 + targetVisualBounds.y;
+		}
+	}
+}
+
+}


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

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