fixed obscure bug where the wrong column was being retrieved because
HierarchyColumnReference did not include dataSourceName in its hash
code.

Change-Id: Ided00d8e141b41d0cad08412dc2315b47937c80c

--- WeaveData/src/weave/data/ColumnReferences/HierarchyColumnReference.as
+++ WeaveData/src/weave/data/ColumnReferences/HierarchyColumnReference.as
@@ -51,7 +51,7 @@
 				var attrs:XMLList = HierarchyUtils.getLeafNodeFromPath(hierarchyPath.value || <tag/>).attributes();
 				for each (var attr:XML in attrs)
 					properties.push(attr.localName() + ': "' + attr.toXMLString() + '"');
-				_hash = _hashPrefix + '{' + properties.sort().join(', ') + '}';
+				_hash = _hashPrefix + ';' + dataSourceName.value + '{' + properties.sort().join(', ') + '}';
 			}
 			return _hash;
 		}


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

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

 package mx.controls.advancedDataGridClasses
 {


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

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


Added some explicit exports, exposed the AS test runner via ExternalInterface.

--- flash/org/windmill/Windmill.as
+++ flash/org/windmill/Windmill.as
@@ -15,9 +15,9 @@
 */

 package org.windmill {
-  // FIXME:
-  // Relying on implicit imports of org.windmill.*
-  // to avoid infinite recursion in build script
+  import org.windmill.astest.ASTest;
+  import org.windmill.WMController;
+  import org.windmill.WMAssert;
   import flash.utils.*;
   import mx.core.Application;
   import flash.display.Sprite;
@@ -108,7 +108,8 @@
         explorerStart: WMExplorer.start,
         explorerStop: WMExplorer.stop,
         recorderStart: WMRecorder.start,
-        recorderStop: WMRecorder.stop
+        recorderStop: WMRecorder.stop,
+        runASTests: ASTest.run
       }
       // Don't care what order these happen in
       for (methodName in miscMethods) {


FLEX-33248 again since the prior fix didn't work in all cases.  DataGrid mustella tests all pass.

git-svn-id: f8d5f742b420a6a114b58659a4f85f335318e53c@1437191 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
@@ -465,10 +465,8 @@
         var data:Object = data;
         var typeInfo:String = "";

-        // If a complex field reference need to get the parent object where the property
+        // If a complex field reference need to get the object where the property
         // will be updated.  It is a complex field reference if dataFieldPath.length > 1.
-        // Note that if the path is incorrect there will be a ReferenceError either here or
-        // when accessing the invalid property below.
         var dataFieldPath:Array = column.dataFieldPath;
         for (var i:int = 0; i < dataFieldPath.length - 1; i++)
             data = data[dataFieldPath[i]];
@@ -532,7 +530,11 @@

             var oldData:Object = data[property];
             data[property] = newData;
-            dataGrid.dataProvider.itemUpdated(data, property, oldData, newData);
+
+            // If a complex field reference then the data and property local vars were modified and
+            // no longer point to the top-level data object and the complete path to the property
+            // so use the original values.
+            dataGrid.dataProvider.itemUpdated(this.data, column.dataField, oldData, newData);

             // Restore the sort. The data will not be sorted due to this change.
             if (sort)


Transferred from the Adobe Open Source Subversion Repository

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

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

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layout/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/SetActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/DataGroupExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/mx</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/PathSegment.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/asdoc/en_US/mx/components/examples/FxToggleButtonExample.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/AnimationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SetAction.as</path>

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

--- frameworks/projects/spark/src/spark/effects/interpolation/HSBInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/HSBInterpolator.as
@@ -31,7 +31,7 @@
  * and need not be done at every future call to the interpolate()
  * method during the animation.</p>
  *
- * @see mx.utils.HSBColor
+ * @see spark.utils.HSBColor
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 6257
Author:   smgilson@adobe.com
Date:     2009-04-24T21:28:52.430843Z

Log Message:
-----------
ASDoc edits for effects

QE Notes: None
Doc Notes: None
Bugs: -
checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/IEaser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>

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

--- frameworks/projects/spark/src/spark/effects/interpolation/HSBInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/HSBInterpolator.as
@@ -15,23 +15,22 @@
 import mx.utils.HSBColor;

 /**
- * The HSBInterpolator class provides HSB-space interpolation between
- * RGB uint start and end values. Interpolation is done by treating
- * the start and end values as integers with color channel information in
- * the least-significant 3 bytes, converting these to HSB values, and
- * interpolating linearly for each of the h (hue), s (saturation),
- * and b (brightness) parameters.
+ *  The HSBInterpolator class provides Hue, Saturation, and Brightness (HSB)
+ *  color interpolation between RGB uint start and end values.
+ *  Interpolation is done by treating
+ *  the start and end values as integers with RGB color channel information in
+ *  the least-significant 3 bytes, converting these to HSB values, and
+ *  interpolating linearly for each of the h (hue), s (saturation),
+ *  and b (brightness) parameters.
  *
- *
Because this interpolator may perform more calculations than a
- * typical interpolator that is simply interpolating a given type,
- * specifically to convert the RGB start and end values, this
- * interpolator provides the option of supplying start/end values
- * to the constructor. If start/end RGB values are provided, then
- * the conversions of these values is calculated once, up front,
- * and need not be done at every future call to the interpolate()
- * method during the animation.

- *
- * @see spark.utils.HSBColor
+ *
Because this interpolator may perform more calculations than a
+ *  typical interpolator that is simply interpolating a given type,
+ *  specifically to convert the RGB start and end values, this
+ *  interpolator provides the option of supplying start and end values
+ *  to the constructor. If you specify the start and end RGB values, then
+ *  the conversions of these values is calculated once,
+ *  and does not need to be done at every future call to
+ *  the interpolate() method during the animation.

  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -45,13 +44,16 @@
     private var endHSB:HSBColor;

     /**
-     * Constructs an HSBInterpolator instance. Optional parameters for
-     * start and end RGB values help optimize runtime performance by
-     * performing RGB-HSB conversions at construction time, instead of
-     * dynamically with every call to interpolate()
+     *  Constructor.
+     *
+     *  The optional parameters for startRGB and
+     *  endRGB help to optimize runtime performance by
+     *  performing RGB to HSB conversions at construction time, instead of
+     *  dynamically with every call to the interpolate() method.
      *
-     * @param startRGB the starting color, as an unsigned integer RGB value
-     * @param endRGB the ending color, as an unsigned integer RGB value
+     *  @param startRGB The starting color, as an unsigned integer RGB value.
+     *
+     *  @param endRGB The ending color, as an unsigned integer RGB value.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -69,10 +71,14 @@
     }

     /**
-     * Returns the singleton of this class. Note that the singleton
-     * of HSBInterpolator may be less useful than separate instances
-     * of the class, since separate instances can take advantage of
-     * pre-calculating the RGB-HSB conversions for the start/end colors.
+     *  Returns the singleton of this class.
+     *
+     *
Note that the singleton
+     *  of the HSBInterpolator class might be less useful than separate instances
+     *  of the class because separate instances can take advantage of
+     *  precalculating the RGB to HSB conversions for the start and end colors.

+     *
+     *  @return The singleton of the HSBInterpolator class.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -87,8 +93,8 @@
     }

     /**
-     * Returns the uint type, which is the type of
-     * object interpolated by ColorInterpolator
+     *  The uint type, which is the type of
+     *  object interpolated by the HSBInterpolator class,
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -101,12 +107,18 @@
     }

     /**
-     * @inheritDoc
-     *
-     * The interpolation for HSBInterpolator takes the form of parametric
-     * calculations on each of the three values h (hue), s (saturation),
-     * and b (brightness) of HSB colors derived from the start and end colors
-     * specified in RGB space.
+     *  The interpolation for the HSBInterpolator class takes the form of parametric
+     *  calculations on each of the three values h (hue), s (saturation),
+     *  and b (brightness) of HSB colors derived from the start and end RGB colors.
+     *
+     *  @param fraction The fraction elapsed of the
+     *  animation, between 0.0 and 1.0.
+     *
+     *  @param startValue The start value of the interpolation.
+     *
+     *  @param endValue The end value of the interpolation.
+     *
+     *  @return The interpolated value.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -185,14 +197,19 @@
     }

     /**
-     * @inheritDoc
-     *
-     *
This function returns the result of the two RGB values added
-     * together in HSB space. Each value will be converted to HSB space
-     * first and then each component (hue, saturation, and brightness)
-     * will be treated individually. The saturation and brightness
-     * components will be clamped to lie within [0-1] and the hue degrees
-     * will be modulated by 360 to li within [0,360).

+     *  Returns the result of the two RGB values added
+     *  together as HSB colors. Each value is converted to an HSB color
+     *  first, and then each component (hue, saturation, and brightness)
+     *  will be treated individually.
+     *  The saturation and brightness
+     *  components are clamped to lie between 0 and 1, and the hue degrees
+     *  are modulated by 360 to lie between 0 and 360.
+     *
+     *  @param baseValue The start value of the interpolation.
+     *
+     *  @param incrementValue The change to apply to the baseValue.
+     *
+     *  @return The interpolated value.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -205,14 +222,19 @@
     }

     /**
-     * @inheritDoc
-     *
-     *
This function returns the result of the two RGB values added
-     * together in HSB space. Each value will be converted to HSB space
-     * first and then each component (hue, saturation, and brightness)
-     * will be treated individually. The saturation and brightness
-     * components will be clamped to lie within [0-1] and the hue degrees
-     * will be modulated by 360 to lie within [0,360).

+     *  Returns the result of the two RGB values added
+     *  together as HSB colors. Each value is converted to an HSB color
+     *  first, and then each component (hue, saturation, and brightness)
+     *  is treated individually.
+     *  The saturation and brightness
+     *  components are clamped to lie between 0 and 1, and the hue degrees
+     *  are modulated by 360 to lie between 0 and 360.
+     *
+     *  @param baseValue The start value of the interpolation.
+     *
+     *  @param decrementValue The change to apply to the baseValue.
+     *
+     *  @return The interpolated value.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


update copyright

update copyright

--- source/com/kemsky/Stream.as
+++ source/com/kemsky/Stream.as
@@ -1324,7 +1324,7 @@

         /**
          * Groups items by key obtained via callback.
-         * @param callback The function to calculate key from item: function(item:*):*
+         * @param key The function to calculate key from item: function(item:*):*
          * @param factory Class to be instantiated and returned instead of Dictionary.
          * @return A new Dictionary or custom class created from <i>factory</i> which contains groups.
          * @example
@@ -1347,17 +1347,17 @@
          * </pre>
          * @internal immutable
          */
-        public function group(callback:Function, factory:Class = null):*
+        public function group(key:Function, factory:Class = null):*
         {
             var dict:* = factory == null ? new Dictionary() : new factory();
             for each (var item:* in source)
             {
-                var key:* = callback(item);
-                var s:Stream = dict[key];
+                var name:* = key(item);
+                var s:Stream = dict[name];
                 if(s == null)
                 {
                     s = new Stream();
-                    dict[key] = s;
+                    dict[name] = s;
                 }
                 s.push(item);
             }


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

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

 package spark.automation.delegates.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7743
Author:   clucier@adobe.com
Date:     2009-06-11T13:53:10.203664Z

Log Message:
-----------
Moving away from using namespace qualifiers in most cases in the SDK.  We've run into a few cases now where the use of qualifiers in code that is called excessively can slow things down.
Bugs: SDK-21337
Reviewer: Ryan, Paul
QE Notes: None
Tests: Ran several random Mustella test groups, checkintests.

Modified Paths:
--------------
106 paths were modified

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

--- frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as
+++ frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as
@@ -23,6 +23,8 @@
 import mx.events.SandboxMouseEvent;
 import mx.managers.ISystemManager;
 import mx.managers.PopUpData;
+
+use namespace mx_internal;

 ////////////////////////////////////////////////////////////////////////////////
 //
@@ -166,7 +168,7 @@
             modalWindow.x = s.x;
             modalWindow.y = s.y;
             if (modalMask)
-                PopUpManagerMarshalMixin.mx_internal::updateModalMask(systemManager, modalWindow,
+                PopUpManagerMarshalMixin.updateModalMask(systemManager, modalWindow,
                                                               exclude, excludeRect, modalMask);
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21682
Author:   chiedozi@adobe.com
Date:     2011-07-21T23:10:13.276129Z

Log Message:
-----------
Resubmitting TabbedViewNavigator fixes for SDK-30694, SDK-30693 and SDK-30708.  TabbedViewNavigator now manages its children using mxmlContent instead of a separate navigators property.  This fixed issues related to states and the IVisualElementContainer methods addItemAt, removeItem, etc...

QE notes:
Doc notes:
Bugs: SDK-30694, SDK-30693, SDK-30708
Reviewer:  Kevin Lin, Evtim
Tests run: mustella, checkintests
Is noteworthy for integration:

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as
@@ -43,8 +43,6 @@
 import spark.events.RendererExistenceEvent;

 use namespace mx_internal;
-
-[DefaultProperty("navigators")]

 //--------------------------------------
 //  Events
@@ -172,7 +170,8 @@
     {
         super();

-        _navigators = new Vector.<ViewNavigatorBase>();
+        addEventListener(ElementExistenceEvent.ELEMENT_ADD, elementAddHandler);
+        addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, elementRemoveHandler);
     }

     //--------------------------------------------------------------------------
@@ -343,8 +342,6 @@
     //  navigators
     //----------------------------------

-    private var _navigators:Vector.<ViewNavigatorBase>;
-
     /**
      *  The view navigators that are managed by this TabbedViewNavigator.
      *  Each view navigator is represented as a tab in the tab bar
@@ -363,7 +360,17 @@
      */
     public function get navigators():Vector.<ViewNavigatorBase>
     {
-        return _navigators;
+        var mxmlContent:Array = currentContentGroup.getMXMLContent();
+
+        if (!mxmlContent)
+            return null;
+
+        // When this class was first released, navigators was typed Vector
+        // and not Array.  In 4.5.2, TabbedViewNavigator moved away from this
+        // model and uses mxmlContent to manage children.  To maintain backwards
+        // compatibility, the return type for this method remained the same.
+        // As a result, the mxmlContent array will need to converted.
+        return Vector.<ViewNavigatorBase>(mxmlContent);
     }

     /**
@@ -371,38 +378,18 @@
      */
     public function set navigators(value:Vector.<ViewNavigatorBase>):void
     {
-        var i:int;
-        var navigator:ViewNavigatorBase;
-
-        // These flags are updated at the beginning of the method so
-        // that the selectedIndex setter doesn't ignore passed in value
-        dataProviderChanged = true;
-        invalidateProperties();
-
-        // Clean up and remove all the previous navigators from the display list
-        if (_navigators)
-        {
-            for (i = 0; i < _navigators.length; ++i)
-            {
-                navigator = _navigators[i];
-
-                cleanUpNavigator(navigator);
-                removeElement(navigator);
-            }
-        }
-
-        _navigators = value ? value.concat() : null;
-
-        if (value)
-        {
-            for (i = 0; i < value.length; ++i)
-            {
-                navigator = _navigators[i];
-                addElement(navigator);
-                setupNavigator(navigator);
-            }
-        }
-
+        // When this class was first released, navigators was typed Vector
+        // and not Array.  In 4.5.2, TabbedViewNavigator moved away from this
+        // model and uses mxmlContent to manage children.  To maintain backwards
+        // compatibility, the return type for this method remained the same.
+        // As a result, the value vector needs to be converted to an array
+        var contentArray:Array = new Array();
+
+        for each (var navigator:ViewNavigatorBase in value)
+            contentArray.push(navigator);
+
+        mxmlContent = contentArray;
+
         if (value && value.length > 0)
         {
             // Reset selectedIndex to -1 and proposed index to 0 so that the appropriate
@@ -417,6 +404,10 @@
         // The proposed selected index is reset because it is no longer valid
         // since the array of navigators has changed.
         selectedIndexChanged = false;
+
+        // Invalidate property flags
+        dataProviderChanged = true;
+        invalidateProperties();

         // Notify listeners that the collection changed
         internalDispatchEvent(CollectionEventKind.RESET);
@@ -440,10 +431,10 @@
      */
     public function get selectedNavigator():ViewNavigatorBase
     {
-        if (!navigators || length == 0 || selectedIndex < 0)
+        if (length == 0 || selectedIndex < 0 || selectedIndex >= length)
             return null;

-        return navigators[selectedIndex];
+        return getElementAt(selectedIndex) as ViewNavigatorBase;
     }

     //--------------------------------------------------------------------------
@@ -611,6 +602,28 @@

     /**
      *  @private
+     */
+    private function addNavigatorListeners(navigator:ViewNavigatorBase):void
+    {
+        navigator.addEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
+        navigator.addEventListener("viewChangeStart", navigator_viewChangeStartHandler);
+        navigator.addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
+        navigator.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
+    }
+
+    /**
+     *  @private
+     */
+    private function removeNavigatorListeners(navigator:ViewNavigatorBase):void
+    {
+        navigator.removeEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
+        navigator.removeEventListener("viewChangeStart", navigator_viewChangeStartHandler);
+        navigator.removeEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
+        navigator.removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
+    }
+
+    /**
+     *  @private
      */
     private function setupNavigator(navigator:ViewNavigatorBase):void
     {
@@ -641,11 +654,7 @@
                 view_propertyChangeHandler);
         }

-        navigator.removeEventListener(ElementExistenceEvent.ELEMENT_ADD,
-            navigator_elementAddHandler);
-        navigator.removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE,
-            navigator_elementRemoveHandler);
-
+        removeNavigatorListeners(navigator);
         stopTrackingUpdates(navigator);
     }

@@ -669,9 +678,9 @@

             // If the data provider has changed, the navigator elements have
             // already been removed, so the following code doesn't need to run
-            if (!selectedIndexAdjusted && !dataProviderChanged && _selectedIndex >= 0)
+            if (!selectedIndexAdjusted && !dataProviderChanged && _selectedIndex >= 0 && _selectedIndex < length)
             {
-                navigator = navigators[_selectedIndex];
+                navigator = getElementAt(_selectedIndex) as ViewNavigatorBase;
                 navigator.setActive(false, !maintainNavigationStack);
                 navigator.visible = false;
                 navigator.includeInLayout = false;
@@ -680,28 +689,20 @@
                     navigator.activeView.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE,
                                                                 view_propertyChangeHandler);

-                // Private event dispatched when a view has finished transitioning
-                navigator.removeEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
-                navigator.removeEventListener("viewChangeStart", navigator_viewChangeStartHandler);
-                navigator.removeEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
-                navigator.removeEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
+                removeNavigatorListeners(navigator);
             }

             commitSelection();

             if (_selectedIndex >= 0)
             {
-                navigator = navigators[_selectedIndex];
-
-                navigator.addEventListener("viewChangeComplete", navigator_viewChangeCompleteHandler);
-                navigator.addEventListener("viewChangeStart", navigator_viewChangeStartHandler);
-                navigator.addEventListener(ElementExistenceEvent.ELEMENT_ADD, navigator_elementAddHandler);
-                navigator.addEventListener(ElementExistenceEvent.ELEMENT_REMOVE, navigator_elementRemoveHandler);
-
+                navigator = getElementAt(_selectedIndex) as ViewNavigatorBase;
                 navigator.setActive(true);
                 navigator.visible = true;
                 navigator.includeInLayout = true;
-
+
+                addNavigatorListeners(navigator);
+
                 // Update the states of the controls on the newly activated view navigator.
                 // The updateControlsForView() method will automatically bubble up to all
                 // parents of the navigator.
@@ -711,7 +712,7 @@
                 // occurring in cases where multiple validation passes are required
                 // to completely validate a view
                 if (initialized)
-                    contentGroup.validateNow();
+                    currentContentGroup.validateNow();

                 if (navigator.activeView)
                 {
@@ -997,9 +998,14 @@

         if (savedStacks)
         {
+            var navigator:ViewNavigatorBase;
             var len:Number = Math.min(savedStacks.length, length);
-            for (var i:int = 0; i < len; ++i)
-                navigators[i].loadViewData(savedStacks[i]);
+
+            for (var i:int = 0; i < len; i++)
+            {
+                navigator = getElementAt(i) as ViewNavigatorBase;
+                navigator.loadViewData(savedStacks[i]);
+            }
         }
     }

@@ -1009,20 +1015,16 @@
     override public function saveViewData():Object
     {
         var savedData:Object = super.saveViewData();
-
-        if (navigators)
-        {
-            var childrenStates:Vector.<Object> = new Vector.<Object>();
-
-            for (var i:int = 0; i < navigators.length; ++i)
-                childrenStates.push(navigators[i].saveViewData());
-
-            if (!savedData)
-                savedData = {};
-
-            savedData.selectedIndex = selectedIndex;
-            savedData.childrenStates = childrenStates;
-        }
+        var childrenStates:Vector.<Object> = new Vector.<Object>();
+
+        for (var i:int = 0; i < length; i++)
+            childrenStates.push((getElementAt(i) as ViewNavigatorBase).saveViewData());
+
+        if (!savedData)
+            savedData = {};
+
+        savedData.selectedIndex = selectedIndex;
+        savedData.childrenStates = childrenStates;

         return savedData;
     }
@@ -1073,6 +1075,35 @@
     {
         if (!indexCanChange(event.newIndex))
             event.preventDefault();
+    }
+
+    /**
+     *  @private
+     */
+    private function elementRemoveHandler(event:ElementExistenceEvent):void
+    {
+        cleanUpNavigator(event.element as ViewNavigatorBase);
+        internalDispatchEvent(CollectionEventKind.REMOVE, event.element, event.index);
+
+        // Element removed event is called before the element is removed from the
+        // display list.  So if the last navigator is about to be removed, numElements
+        // should be 1
+        if (numElements == 1)
+            selectedIndex = -1;
+    }
+
+    /**
+     *  @private
+     */
+    private function elementAddHandler(event:ElementExistenceEvent):void
+    {
+        setupNavigator(event.element as ViewNavigatorBase);
+        internalDispatchEvent(CollectionEventKind.ADD, event.element, event.index);
+
+        // If the added element is the first view navigator, update the selection
+        // to point to it
+        if (numElements == 1)
+            selectedIndex = 0;
     }

     /**
@@ -1173,6 +1204,7 @@
             contentGroupProps = null;
         }
     }
+

     //--------------------------------------------------------------------------
     //
@@ -1310,10 +1342,7 @@
      */
     public function get length():int
     {
-        if (!_navigators)
-            return 0;
-
-        return _navigators.length;
+        return numElements;
     }

     /**
@@ -1365,14 +1394,10 @@
             throw new RangeError(message);
         }

-        navigators.splice(index, 0, item);
-
         setupNavigator(ViewNavigatorBase(item));
         addElementAt(ViewNavigatorBase(item), index);
-
-        internalDispatchEvent(CollectionEventKind.ADD, item, index);
-
-        if (selectedIndex == NO_PROPOSED_SELECTION)
+
+        if (selectedIndex == NO_PROPOSED_SELECTION || numElements == 1)
         {
             selectedIndex = 0;
         }
@@ -1408,7 +1433,7 @@
             throw new RangeError(message);
         }

-        return navigators[index];
+        return getElementAt(index);
     }

     /**
@@ -1425,7 +1450,7 @@
      */
     public function getItemIndex(item:Object):int
     {
-        return navigators.indexOf(item);
+        return getElementIndex(item as ViewNavigatorBase);
     }

     /**
@@ -1473,27 +1498,12 @@
      */
     public function removeAll():void
     {
-        var item:IVisualElement;
-        var len:int = length;
-
         // Deactive the active navigator and its view
         if (selectedNavigator)
             selectedNavigator.setActive(false);

-        for (var i:int = 0; i < len; i++)
-        {
-            item = _navigators[i];
-            cleanUpNavigator(ViewNavigatorBase(item));
-            removeElement(item);
-        }
-
-        navigators.length = 0;
-        selectedIndex = NO_PROPOSED_SELECTION;
-        dataProviderChanged = true;
-
-        invalidateProperties();
-
-        internalDispatchEvent(CollectionEventKind.RESET);
+        // Remove all navigators
+        navigators = null;
     }

     /**
@@ -1525,13 +1535,7 @@
             selectedIndexAdjusted = true;
         }

-        var removed:Object = _navigators.splice(index, 1)[0];
-
-        cleanUpNavigator(ViewNavigatorBase(removed));
-        removeElement(IVisualElement(removed));
-
-        internalDispatchEvent(CollectionEventKind.REMOVE, removed, index);
-
+        var removed:Object = removeElementAt(index);
         return removed;
     }

@@ -1566,11 +1570,8 @@
             throw new RangeError(message);
         }

-        var oldItem:Object = _navigators[index];
-        _navigators[index] = item as ViewNavigatorBase;
-
-        cleanUpNavigator(ViewNavigatorBase(oldItem));
-        setupNavigator(ViewNavigatorBase(item));
+        var oldItem:Object = removeElementAt(index);
+        addElementAt(item as ViewNavigatorBase, index);

         if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
         {
@@ -1600,15 +1601,7 @@
      */
     public function toArray():Array
     {
-        var n:int = _navigators.length;
-        var arraySource:Array = new Array(n);
-
-        for (var i:int = 0; i < n; i++)
-        {
-            arraySource[i] = _navigators[i];
-        }
-
-        return arraySource;
+        return contentGroup.getMXMLContent();
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 22678
Author:   chiedozi@adobe.com
Date:     2011-09-21T23:38:44.961936Z

Log Message:
-----------
SplitViewNavigator now ends all ViewTransitions before showing or hiding its PopUp and when the application reorients.
Removed an unnecessary enter frame handler in FlipViewTransition

QE notes:
Doc notes:
Bugs: SDK-31566, SDK-31577
Reviewer: Max
Tests run: mustella-mobile, checkintests-mobile
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -845,36 +845,10 @@

     /**
      *  @private
-     *  Override transitionComplete so that we can defer clean up
-     *  until after we've rendered the last frame of the 3d transition.
-     */
-    override protected function transitionComplete():void
-    {
-        navigator.addEventListener("enterFrame", enterFrameHandler);
-    }
-
-    /**
-     *  @private
-     */
-    private function enterFrameHandler(e:Event):void
-    {
-        navigator.removeEventListener("enterFrame", enterFrameHandler);
-
-        // Invoke our cleanup now that we've rendered the last frame of
-        // animation.
-        deferredCleanUp();
-
-        // Now dispatch our transition end event.
-        if (hasEventListener(FlexEvent.TRANSITION_END))
-            dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_END));
-    }
-
-    /**
-     *  @private
      *  Cleanup method which restores any temporary properties set up
      *  on our view elements.
      */
-    protected function deferredCleanUp():void
+    override protected function cleanUp():void
     {
         // Work-around for SDK-29118
         // Clean-up any scale that we have applied to the elements


Transferred from the Adobe Open Source Subversion Repository

Revision: 22937
Author:   aharui@adobe.com
Date:     2011-10-10T18:42:43.121805Z

Log Message:
-----------
Inline enumeration values so we don't get deprecation warnings in the build.

QE notes: None
Doc notes: None
Bugs: SDK-31728
Reviewer: Glenn
Tests run: Checkintests, ant build
Is noteworthy for integration: None

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -166,7 +166,7 @@
     // mode
     //---------------------------------

-    private var _mode:String = ZoomViewTransitionMode.OUT;
+    private var _mode:String = "out"; // avoid deprecation warning for ZoomViewTransitionMode.OUT;

     [Inspectable(category="General", enumeration="in,out", defaultValue="out")]
     /**
@@ -233,7 +233,7 @@
         // transitioning in or out.
         if (consolidatedTransition)
         {
-            if (mode == ZoomViewTransitionMode.OUT)
+            if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
             {
                 targetSnapshot = cachedNavigator;
                 targetSnapshotGlobalPosition = cachedNavigationGroupGlobalPosition.clone();
@@ -245,7 +245,7 @@
         }
         else
         {
-            if (mode == ZoomViewTransitionMode.OUT)
+            if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
             {
                 targetSnapshot = getSnapshot(startView, 0, targetSnapshotGlobalPosition);
             }
@@ -277,7 +277,7 @@
                 visible:startView.visible};
             startView.includeInLayout = false;

-            if (mode == ZoomViewTransitionMode.OUT)
+            if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
                 startView.visible = false;
         }

@@ -288,7 +288,7 @@
                 visible:endView.visible};
             endView.includeInLayout = false;

-            if (mode == ZoomViewTransitionMode.IN)
+            if (mode == "in") // avoid deprecation warning for ZoomViewTransitionMode.IN
                 endView.visible = false;
         }

@@ -304,7 +304,7 @@
         // Ensure our alpha is initialized to 0 prior to the start
         // of our transition so that the view isn't displayed briefly
         // after validation.
-        if (mode == ZoomViewTransitionMode.IN)
+        if (mode == "in") // avoid deprecation warning for ZoomViewTransitionMode.IN
             transitionGroup.alpha = 0;

         // Set our blendMode to 'normal' for performance reasons.
@@ -323,7 +323,7 @@
     override protected function createConsolidatedEffect():IEffect
     {
         // If we have no cachedNavigator then there is not much we can do.
-        if (!cachedNavigator && mode == ZoomViewTransitionMode.OUT)
+        if (!cachedNavigator && mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
             return null;

         // Add a group to contain our snapshot view of the original navigator.
@@ -332,7 +332,7 @@

         // On zoom out, place the cachedNavigator above the targetNavigator
         var index:int = getComponentChildIndex(targetNavigator, targetNavigator.parent as UIComponent);
-        if (mode == ZoomViewTransitionMode.OUT)
+        if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
             index++;
         addComponentToContainerAt(cachedNavigatorGroup, DisplayObjectContainer(targetNavigator).parent as UIComponent, index);

@@ -341,7 +341,7 @@

         // Add our temporary transition group to our target navigator's parent
         // so we can make it and the original navigator siblings.
-        if (mode == ZoomViewTransitionMode.OUT)
+        if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
         {
             // We'll be zooming out our cachedNavigatorGroup.
             transitionGroup = cachedNavigatorGroup;
@@ -371,7 +371,7 @@
         // Ensure our alpha is initialized to 0 prior to the start
         // of our transition so that the view isn't displayed briefly
         // after validation.
-        if (mode == ZoomViewTransitionMode.IN)
+        if (mode == "in") // avoid deprecation warning for ZoomViewTransitionMode.IN
             transitionGroup.alpha = 0;

         // Set our blendMode to 'normal' for performance reasons.
@@ -449,12 +449,14 @@
         // duration of the effect as this degrades overall transition performance, we
         // simply fade near the point of first appearance or disappearance.
         var fadeEffect:Fade = new Fade();
-        fadeEffect.duration = (mode == ZoomViewTransitionMode.IN) ?
+        fadeEffect.duration = (mode == "in") ? // avoid deprecation warning for ZoomViewTransitionMode.IN
             duration * .4 : duration * .6;
-        if (mode == ZoomViewTransitionMode.OUT)
+        if (mode == "out") // avoid deprecation warning for ZoomViewTransitionMode.OUT
             fadeEffect.startDelay = duration * .4;
-        fadeEffect.alphaTo = (mode == ZoomViewTransitionMode.OUT) ? 0 : 1;
-        fadeEffect.alphaFrom = (mode == ZoomViewTransitionMode.OUT) ? 1 : 0;
+        fadeEffect.alphaTo = (mode == "out") ? // avoid deprecation warning for ZoomViewTransitionMode.OUT
+            0 : 1;
+        fadeEffect.alphaFrom = (mode == "out") ? // avoid deprecation warning forZoomViewTransitionMode.OUT
+            1 : 0;

         // Create scale effect to zoom in/our our target from or to our
         // specified minimum scale.
@@ -462,9 +464,11 @@
         scaleEffect.duration = duration;
         scaleEffect.easer = easer;
         scaleEffect.scaleXFrom = scaleEffect.scaleYFrom =
-            (mode == ZoomViewTransitionMode.OUT) ? 1 : minimumScale;
+            (mode == "out") ? // avoid deprecation warning for ZoomViewTransitionMode.OUT
+            1 : minimumScale;
         scaleEffect.scaleXTo = scaleEffect.scaleYTo =
-            (mode == ZoomViewTransitionMode.OUT) ? minimumScale : 1;
+            (mode == "out") ? // avoid deprecation warning for ZoomViewTransitionMode.OUT
+            minimumScale : 1;
         scaleEffect.addEventListener("effectUpdate", scaleEffectUpdateHandler);

         parallel.addChild(fadeEffect);


Transferred from the Adobe Open Source Subversion Repository

Revision: 16602
Author:   jasonsj@adobe.com
Date:     2010-06-21T18:38:18.429731Z

Log Message:
-----------
ActionBar and SlideViewTransition prototypes

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigatorApplication.as
@@ -7,11 +7,14 @@
     import flash.events.StageOrientationEvent;
     import flash.net.registerClassAlias;

+    import mx.core.IVisualElement;
+
     import spark.components.supportClasses.ViewData;
     import spark.components.supportClasses.ViewNavigatorSection;
     import spark.core.managers.IPersistenceManager;
     import spark.core.managers.PersistenceManager;
     import spark.events.ViewNavigatorEvent;
+    import spark.layouts.supportClasses.LayoutBase;

     [DefaultProperty("sections")]

@@ -50,6 +53,84 @@
         //  Variables
         //
         //--------------------------------------------------------------------------
+
+        [ArrayElementType("mx.core.IVisualElement")]
+
+        /**
+         *  Default ActionBar action content when not supplied by a View.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var actionContent:Array;
+
+        /**
+         *  Defines the default layout for the ActionBar actionContent.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var actionLayout:LayoutBase;
+
+        [ArrayElementType("mx.core.IVisualElement")]
+
+        /**
+         *  Default ActionBar title content when not supplied by a View.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var titleContent:Array;
+
+        /**
+         *  Defines the default layout for the ActionBar titleContent.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var titleLayout:LayoutBase;
+
+        [ArrayElementType("mx.core.IVisualElement")]
+
+        /**
+         *  Default ActionBar navigation content when not supplied by a View.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var navigationContent:Array;
+
+        /**
+         *  Defines the default layout for the ActionBar navigationContent.
+         *
+         *  @default null
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10
+         *  @playerversion AIR 2.5
+         *  @productversion Flex 4.5
+         */
+        public var navigationLayout:LayoutBase;

         //--------------------------------------------------------------------------
         //
@@ -264,6 +345,17 @@

                 navigator.sections = _sections;
                 _sections = null;
+
+                // TODO null these properties?
+                // TODO push updates to ViewNavigator?
+                // TODO get/set properties?
+                // TODO events?
+                navigator.navigationContent = this.navigationContent;
+                navigator.navigationLayout = this.navigationLayout;
+                navigator.actionContent = this.actionContent;
+                navigator.actionLayout = this.actionLayout;
+                navigator.titleContent = this.titleContent;
+                navigator.titleLayout = this.titleLayout;
             }
         }


SoundGeneratorEngine の dispose を修正

SoundGeneratorEngine の dispose を修正

--- project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundGeneratorEngine.as
+++ project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundGeneratorEngine.as
@@ -25,9 +25,11 @@
 package jp.hiiragi.managers.soundConductor
 {
 	import flash.events.SampleDataEvent;
+	import flash.events.TimerEvent;
 	import flash.media.Sound;
 	import flash.media.SoundChannel;
 	import flash.utils.ByteArray;
+	import flash.utils.Timer;

 	import jp.hiiragi.managers.soundConductor.constants.SoundStatusType;

@@ -104,11 +106,21 @@
 		}

-
 		public function dispose():void
 		{
-			_soundChannel.stop();
-			_soundList.length = 0;
+			// onSampleDataEvent との兼ね合いからか、1 フレーム以上待たないと FlashPlayer がクラッシュする
+			var timer:Timer = new Timer(1, 1);
+			timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerCompleteHandler);
+			timer.start();
+
+			function onTimerCompleteHandler(event:TimerEvent):void
+			{
+				timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerCompleteHandler);
+
+				_sound.removeEventListener(SampleDataEvent.SAMPLE_DATA, onSampleDataEvent);
+				_soundChannel.stop();
+				_soundList.length = 0;
+			}
 		}

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


fixed bug when the Viewport is removed from the Stage and then added again

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -228,9 +228,16 @@

 			updateStageListeners();

-			_stage3d = stage.stage3Ds[stage3dId];
-			_stage3d.addEventListener(Event.CONTEXT3D_CREATE, context3dCreatedHandler);
-			_stage3d.requestContext3D();
+			if (!_stage3d)
+			{
+				_stage3d = stage.stage3Ds[stage3dId];
+				_stage3d.addEventListener(Event.CONTEXT3D_CREATE, context3dCreatedHandler);
+				_stage3d.requestContext3D();
+			}
+			else
+			{
+				_stage3d.visible = true;
+			}
 		}

 		/**


added check for null

added check for null

--- WeaveJS/src/weavejs/data/source/CensusApi.as
+++ WeaveJS/src/weavejs/data/source/CensusApi.as
@@ -169,7 +169,8 @@
 			).then(
 				function (variableInfo:Object):WeavePromise
 				{
-					title = variableInfo[variable_name].title;
+					if (variableInfo && variableInfo[variable_name])
+						title = variableInfo[variable_name].title;
 					return getGeographies(dataset_name);
 				}
 			).depend(dataSource.geographicScope, dataSource.apiKey, dataSource.geographicFilters)


Transferred from the Adobe Open Source Subversion Repository

Revision: 18129
Author:   chiedozi@adobe.com
Date:     2010-10-11T21:18:23.983258Z

Log Message:
-----------
Merge BOM changes from revision 18117 of the preview branch.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionBarBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/packages.dita</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileIconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.core.managers.xml</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/locale/zh_TW</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.project</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.core.managers.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.actionScriptProperties</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/TextInput_border.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/Button_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.components.xml</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark_dmv/src/mx/controls/advancedDataGridClasses</path>
<path kind="dir" action="M">/private/flex/sdk/branches/hero_private</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.actionScriptProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_upSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/fr_FR/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/.flexLibProperties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/de_DE/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.effects.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/ActionButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/PaddingStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/styles/metadata/GapStyles.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/zh_CN/docs/spark.components.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.events.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/NavigationButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/CheckBox_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/.project</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/assets/RadioButton_downSelected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/bundles/ja_JP/docs/spark.components.supportClasses.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
+++ frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as
@@ -1,7 +1,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-20010 Adobe Systems Incorporated
+//  Copyright 2004-2010 Adobe Systems Incorporated
 //  All Rights Reserved.
 //
 //  NOTICE: Adobe permits you to use, modify, and distribute this file


Transferred from the Adobe Open Source Subversion Repository

Revision: 16679
Author:   rfrishbe@adobe.com
Date:     2010-06-25T21:09:29.726791Z

Log Message:
-----------
Check-in for touch lists so that List item renderers don't highlight immediately, and they are cancellable after a scroll starts.  In addition, in touch mode, we don't get a select event until mouse up.

QE notes: None
Doc notes: None
Bugs: -
Reviewer: None - this will get reviewed later
Tests run: checkintests, full mustella run (some tests failed and were off by a few pixels)
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -494,6 +494,11 @@
             redrawRequested = true;
             super.$invalidateDisplayList();
         }
+
+        if (allStyles || styleName == "inputMode")
+        {
+            addHandlers();
+        }
     }

     /**
@@ -575,8 +580,16 @@
      */
     private function addHandlers():void
     {
-        addEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
-        addEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        if (getStyle("inputMode") == "mouse")
+        {
+            addEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
+            addEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        }
+        else
+        {
+            removeEventListener(MouseEvent.ROLL_OVER, itemRenderer_rollOverHandler);
+            removeEventListener(MouseEvent.ROLL_OUT, itemRenderer_rollOutHandler);
+        }
     }

     /**


qnd: support in "allowCookies" flashvar

qnd: support in "allowCookies" flashvar

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

--- plugins/annotationsPlugin/src/com/kaltura/kdpfl/view/AnnotationBoxMediator.as
+++ plugins/annotationsPlugin/src/com/kaltura/kdpfl/view/AnnotationBoxMediator.as
@@ -53,6 +53,8 @@
 		protected var _shouldPause:Boolean = false;

 		private var _annotationToDelete:Annotation;
+
+		private var _flashvars:Object;

 		/**
 		 * Saved annotations shared object prefix.
@@ -65,6 +67,10 @@
 			createListeners();
 		}

+		override public function onRegister():void
+		{
+			_flashvars = (facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy).vo.flashvars;
+		}

 		protected function createListeners():void {
 			var box:AnnotationsBox = (viewComponent as annotationsPluginCode).annotationsBox;
@@ -94,7 +100,7 @@
 			var currentTime:Number;
 			var currEntryId:String = facade.retrieveProxy("mediaProxy")["vo"]["entry"]["id"];

-			_partnerId = (facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy).vo.flashvars.partnerId;
+			_partnerId = _flashvars.partnerId;
 			switch (name) {
 				case NotificationType.PLAYER_PLAYED:
 					// if this is the first time the player played and it was because of a click
@@ -462,14 +468,14 @@
 		 *
 		 */
 		protected function saveAnnotationsToLocalObject(e:Event = null):void {
-			if ((viewComponent as annotationsPluginCode).useSharedObject) {
+			if (_flashvars.allowCookies=="true" && (viewComponent as annotationsPluginCode).useSharedObject) {
 				_unsavedAnnotationSO = (viewComponent as annotationsPluginCode).annotationsBox.getAllObjectsInFieldAsArray("annotation");
 				try {
 					SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).data.savedAnnotations = _unsavedAnnotationSO;
 					SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).flush();
 				}
 				catch (e:Error) {
-
+					trace ("Could not save annotation to cookie: No access to user's file system");
 				}
 			}
 		}
@@ -552,12 +558,15 @@

 		protected function resetCookieForSessionId():void {
-			try {
-				SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).data.savedAnnotations = null;
-				SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).flush();
-			}
-			catch (e:Error) {
-
+			if (_flashvars.allowCookies=="true")
+			{
+				try {
+					SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).data.savedAnnotations = null;
+					SharedObject.getLocal(ANNOTATIONS_SO_PREFIX + _entryId).flush();
+				}
+				catch (e:Error) {
+					trace ("Could not save annotation to cookie: No access to user's file system");
+				}
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20437
Author:   jasonsj@adobe.com
Date:     2011-02-24T01:55:08.951056Z

Log Message:
-----------
Set measuredMinHeight and measuredMinWidth in ButtonSkinBase.

QE notes: Percent sizing will be capped by the measuredHeight. Expected failures will show buttons that previously were allowed to be shorter in both dimensions.
Doc notes:
Bugs:
SDK-29565 The mobile Button skin doesn't have an acceptable minHeight.
Reviewer: egeorgie
Tests run: checkintests, mobile cyclone
Is noteworthy for integration:

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

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -317,7 +317,10 @@

         h += layoutPaddingTop + adjustablePaddingBottom;

-        // minimums
+        // measuredMinHeight for width and height for a square measured minimum size
+        measuredMinWidth = h;
+        measuredMinHeight = h;
+
         measuredWidth = w
         measuredHeight = h;
     }


Only allow killing the monster in the early phases (i.e., not when it's already dead or we have been eaten).


Transferred from the Adobe Open Source Subversion Repository

Revision: 7718
Author:   jimurphy@adobe.com
Date:     2009-06-10T16:37:18.335400Z

Log Message:
-----------
Merged 3.x revisions 7534,7545,7711 -> trunk

checkintests: pass

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
+++ frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as
@@ -16,23 +16,20 @@
 import flash.display.NativeWindowDisplayState;
 import flash.events.Event;
 import flash.events.MouseEvent;
-import flash.events.NativeWindowDisplayStateEvent;
 import flash.geom.Rectangle;
 import flash.system.Capabilities;
 import flash.text.TextFormat;
 import flash.text.TextFormatAlign;
+
 import mx.controls.Button;
-import mx.core.WindowedApplication;
 import mx.core.IFlexDisplayObject;
 import mx.core.IUITextField;
 import mx.core.IWindow;
-import mx.core.mx_internal;
 import mx.core.UIComponent;
 import mx.core.UITextField;
-import mx.styles.CSSStyleDeclaration;
+import mx.core.mx_internal;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
-import mx.styles.StyleManager;

 use namespace mx_internal;

@@ -714,26 +711,30 @@
         titleTextField.text = _title;
         titleTextField.validateNow();

-        var charWidth:Number = titleTextField.getLineMetrics(0).width /
-                               titleTextField.length;
+        var buttonsX:Number; // x point between buttons and title text
+
+        if( buttonAlign == "left" )
+        {
+            buttonsX = Math.max((closeButton.x + closeButton.measuredWidth),
+                        (minimizeButton.x + minimizeButton.measuredWidth),
+                        (maximizeButton.x + maximizeButton.measuredWidth));
+        }
+        else
+        {
+            buttonsX = Math.min(closeButton.x, minimizeButton.x, maximizeButton.x);
+        }

         if (titleAlign == "left")
         {
             if (buttonAlign == "left")
             {
                 titleTextField.setActualSize(
-                    width - leftOffset - rightOffset - 2 -
-                    Math.max((closeButton.x + closeButton.measuredWidth),
-                    (minimizeButton.x + minimizeButton.measuredWidth),
-                    (maximizeButton.x + maximizeButton.measuredWidth)),
+                    width - rightOffset - 2 - buttonsX,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

                 titleTextField.move(
-                    leftOffset +
-                    Math.max((closeButton.x + closeButton.measuredWidth),
-                    (minimizeButton.x + minimizeButton.measuredWidth),
-                    (maximizeButton.x + maximizeButton.measuredWidth)),
+                    buttonsX,
                     (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);

@@ -742,9 +743,7 @@
             else
             {
                 titleTextField.setActualSize(
-                    Math.max(0, Math.min(
-                    width - leftOffset - rightOffset,
-                    minimizeButton.x )) - 2,
+                    Math.max(0, buttonsX) - 2,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

@@ -759,43 +758,40 @@
         else // titleAlign is center
         {
             var tf:TextFormat = new TextFormat();
-            tf.align = TextFormatAlign.CENTER;
+            tf.align = TextFormatAlign.LEFT;
             titleTextField.setTextFormat(tf);

+            var titleX:Number;
+            var textWidth:Number = titleTextField.getLineMetrics( 0 ).width;
+            titleTextField.truncateToFit();
+
             if (buttonAlign == "left")
+            {
+                titleTextField.setActualSize(
+                    width - rightOffset - buttonsX - 2,
+                    measureChromeText(titleTextField).height +
+                    UITextField.TEXT_HEIGHT_PADDING);
+
+                titleX = Math.max(buttonsX, (width - leftOffset - rightOffset - textWidth)/2);
+
+                titleTextField.move(titleX,
+                    (height - (measureChromeText(titleTextField).height +
+                    UITextField.TEXT_HEIGHT_PADDING))/2);
+            }
+            else
             {
                 titleTextField.setActualSize(
                     width - leftOffset - rightOffset -
-                    Math.max((closeButton.x + closeButton.measuredWidth),
-                    (minimizeButton.x + minimizeButton.measuredWidth),
-                    (maximizeButton.x + maximizeButton.measuredWidth)) - 2,
+                    (width - buttonsX) - 2,
                     measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING);

+                titleX = Math.max(0, Math.min(buttonsX - textWidth - 2, (width - leftOffset - rightOffset - textWidth)/2));
+
                 titleTextField.move(
-                    Math.max((closeButton.x + closeButton.measuredWidth),
-                    (minimizeButton.x + minimizeButton.measuredWidth),
-                    (maximizeButton.x + maximizeButton.measuredWidth)),
+                    titleX,
                     (height - (measureChromeText(titleTextField).height +
                     UITextField.TEXT_HEIGHT_PADDING))/2);
-
-                titleTextField.truncateToFit();
-            }
-            else
-            {
-                titleTextField.setActualSize(
-                    width - leftOffset - rightOffset -
-                    (width - Math.min(closeButton.x,
-                    minimizeButton.x, maximizeButton.x)) - 2,
-                    measureChromeText(titleTextField).height +
-                    UITextField.TEXT_HEIGHT_PADDING);
-
-                titleTextField.move(
-                    leftOffset,
-                    (height - (measureChromeText(titleTextField).height +
-                    UITextField.TEXT_HEIGHT_PADDING))/2);
-
-                titleTextField.truncateToFit();
             }
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21945
Author:   chiedozi@adobe.com
Date:     2011-08-12T00:34:18.187778Z

Log Message:
-----------
Small tweak in ActionBar to allow it to better support MXML skins

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

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as
@@ -978,14 +978,14 @@

             var newContentGroupProperties:uint = 0;

-            if (contentGroupProperties[index].content !== undefined)
+            if (contentGroupProperties[index].content != null)
             {
                 group.mxmlContent = contentGroupProperties[index].content;
                 newContentGroupProperties = BitFlagUtil.update(newContentGroupProperties,
                     CONTENT_PROPERTY_FLAG, true);
             }

-            if (contentGroupProperties[index].layout !== undefined)
+            if (contentGroupProperties[index].layout != null)
             {
                 group.layout = contentGroupProperties[index].layout;
                 newContentGroupProperties = BitFlagUtil.update(newContentGroupProperties,


Transferred from the Adobe Open Source Subversion Repository

Revision: 20097
Author:   jasonsj@adobe.com
Date:     2011-02-03T17:48:25.773740Z

Log Message:
-----------
Remove use of minWidth and minHeight where possible from mobile skins to fix constraint use cases. Replace usage of minWidth/minHeight and layoutMeasuredWidth/layoutMeasuredHeight with MobileSkin property measuredDefaultWidth/measuredDefaultHeight.

Use minWidth/minHeight for skins that do not scale down: Beveled buttons, CheckBox, RadioButton, and scroll bars.

Doc notes:
Bugs:
SDK-28715 Cannot size and position button correctly in i4 build.
Reviewer: egeorgie
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarFirstButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarMiddleButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TabbedViewNavigatorTabBarTabSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarLastButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ImageSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as
@@ -93,6 +93,7 @@

                 layoutGap = 20;
                 minWidth = 64;
+                minHeight = 64;
                 layoutBorderSize = 4;

                 break;
@@ -110,13 +111,14 @@

                 layoutGap = 15;
                 minWidth = 48;
+                minHeight = 48;
                 layoutBorderSize = 2;

                 break;
             }
             default:
             {
-                // default PPI160
+                // default DPI_160
                 upIconClass = spark.skins.mobile160.assets.CheckBox_up;
                 upSelectedIconClass = spark.skins.mobile160.assets.CheckBox_up;
                 downIconClass = spark.skins.mobile160.assets.CheckBox_down;
@@ -128,6 +130,7 @@

                 layoutGap = 10;
                 minWidth = 32;
+                minHeight = 32;
                 layoutBorderSize = 2;

                 break;