Transferred from the Adobe Open Source Subversion Repository

Revision: 4719
Author:   egeorgie@adobe.com
Date:     2009-01-28T23:00:25.826288Z

Log Message:
-----------
Remove unnecessary checks for explicit min/max since measured sizes are already checked against explicit min/max during validateSize.

QE Notes: None
Doc Notes:
Bugs: None
Reviewer: Ryan
tests: checkintests, mustella (gumbo/layout)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/layout/layout_tester.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>

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

--- frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as
+++ frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as
@@ -33,27 +33,9 @@
      */
     private static function getPreferredUBoundsWidth(obj:IUIComponent):Number
     {
-    	var result:Number;
-        // explicit trumps measured.
-        // measured is restricted by explicitMin and then by explicitMax.
-        if (!isNaN(obj.explicitWidth))
-        {
-			result = obj.explicitWidth;
-        }
-        else
-        {
-            result = obj.measuredWidth;
-
-            // We don't check against measuredMinHeight, since
-            // measuredMinWidth <= measuredWidth is expected always to be true.
-            if (!isNaN(obj.explicitMinWidth))
-               result = Math.max(result,
-                                                 obj.explicitMinWidth);
-            if (!isNaN(obj.explicitMaxWidth))
-               result = Math.min(result,
-                                                 obj.explicitMaxWidth);
-        }
-
+        // explicit trumps measured. measuredWidth should already be
+        // constraint between min & max during measure phase.
+        var result:Number = obj.getExplicitOrMeasuredWidth();
         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
         {
             // We are already taking scale into account from the transform,
@@ -70,28 +52,9 @@
      */
     private static function getPreferredUBoundsHeight(obj:IUIComponent):Number
     {
-    	var result:Number;
-
-        // explicit trumps measured.
-        // measured is restricted by explicitMin and then by explicitMax.
-        if (!isNaN(obj.explicitHeight))
-        {
-            result = obj.explicitHeight;
-        }
-        else
-        {
-            result = obj.measuredHeight;
-
-            // We don't check against measuredMinHeight, since
-            // measuredMinHeight <= measuredHeight is expected always to be true.
-            if (!isNaN(obj.explicitMinHeight))
-                result = Math.max(result,
-                                                   obj.explicitMinHeight);
-            if (!isNaN(obj.explicitMaxHeight))
-                result = Math.min(result,
-                                                   obj.explicitMaxHeight);
-        }
-
+        // explicit trumps measured. measuredWidth should already be
+        // constraint between min & max during measure phase.
+        var result:Number = obj.getExplicitOrMeasuredHeight();
         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
         {
             // We are already taking scale into account from the transform,
@@ -441,4 +404,4 @@
             obj.setActualSize(fitSize.x, fitSize.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@1263777 13f79535-47bb-0310-9956-ffa450edef68

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

 package spark.components
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19611
Author:   jasonsj@adobe.com
Date:     2011-01-05T22:45:41.935084Z

Log Message:
-----------
Enable TextArea scrolling in the mobile theme. Refactored HScrollBar and VScrollBar skins for use with TextArea.

QE notes: None
Doc notes:
Bugs:
Reviewer: jszeto
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/TextAreaSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextAreaVScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextAreaVScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextAreaHScrollBarSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextAreaHScrollBarThumbSkin.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/TabbedViewNavigatorButtonBarSkin.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/supportClasses/TextSkinBase.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/HScrollBarSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as
@@ -44,7 +44,7 @@
     //  Constructor
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  Constructor.
      *
@@ -63,17 +63,17 @@
         // set the right assets and dimensions to use based on the screen density
         switch (applicationDPI)
         {
-			case DPIClassification.DPI_320:
-			{
-				thumbImageWidth = 58;
-				thumbImageHeight = 58;
-
-				thumbNormalClass = spark.skins.mobile320.assets.HSliderThumb_normal;
-				thumbPressedClass = spark.skins.mobile320.assets.HSliderThumb_pressed;
-
+            case DPIClassification.DPI_320:
+            {
+                thumbImageWidth = 58;
+                thumbImageHeight = 58;
+
+                thumbNormalClass = spark.skins.mobile320.assets.HSliderThumb_normal;
+                thumbPressedClass = spark.skins.mobile320.assets.HSliderThumb_pressed;
+
                 hitZoneOffset = 10;
                 hitZoneSideLength = 80;
-
+
                 // chromeColor ellipse goes up to the thumb border
                 chromeColorEllipseWidth = chromeColorEllipseHeight = 56;
                 chromeColorEllipseX = 1;
@@ -91,7 +91,7 @@

                 hitZoneOffset = 10;
                 hitZoneSideLength = 65;
-
+
                 // chromeColor ellipse goes up to the thumb border
                 chromeColorEllipseWidth = chromeColorEllipseHeight = 42;
                 chromeColorEllipseX = chromeColorEllipseY = 1;
@@ -109,7 +109,7 @@

                 hitZoneOffset = 5;
                 hitZoneSideLength = 40;
-
+
                 // chromeColor ellipse goes up to the thumb border
                 chromeColorEllipseWidth = chromeColorEllipseHeight = 29;
                 chromeColorEllipseX = chromeColorEllipseY = 0;
@@ -147,7 +147,7 @@
      *  @productversion Flex 4.5
      */
     protected var thumbNormalClass:Class;
-
+
     /**
      *  Specifies the FXG class to use when the thumb is in the pressed state
      *
@@ -167,7 +167,7 @@
      *  @productversion Flex 4.5
      */
     protected var thumbSkin_normal:DisplayObject;
-
+
     /**
      *  Specifies the DisplayObject to use when the thumb is in the pressed state
      *
@@ -187,7 +187,7 @@
      *  @productversion Flex 4.5
      */
     protected var currentThumbSkin:DisplayObject;
-
+
     /**
      *  Width of the overall thumb image
      *
@@ -197,7 +197,7 @@
      *  @productversion Flex 4.5
      */
     protected var thumbImageWidth:int;
-
+
     /**
      *  Height of the overall thumb image
      *
@@ -227,8 +227,8 @@
      *  @productversion Flex 4.5
      */
     protected var chromeColorEllipseHeight:int;
-
-
+
+
     /**
      *  X position of the chromeColor ellipse
      *
@@ -238,7 +238,7 @@
      *  @productversion Flex 4.5
      */
     protected var chromeColorEllipseX:int;
-
+
     /**
      *  Y position of the chromeColor ellipse
      *
@@ -269,7 +269,7 @@
      *  @productversion Flex 4.5
      */
     protected var hitZoneOffset:int;
-
+
     /**
      *  @private
      *  Remember which state is currently being displayed
@@ -318,12 +318,12 @@
                 thumbSkin_pressed.visible = true;
             }
             currentThumbSkin = thumbSkin_pressed;
-
+
             // hide the normal button
             if (thumbSkin_normal)
                 thumbSkin_normal.visible = false;
         }
-
+
         displayedState = currentState;

         invalidateDisplayList();
@@ -345,7 +345,7 @@
     {
         setElementSize(currentThumbSkin, unscaledWidth, unscaledHeight);
         setElementPosition(currentThumbSkin, 0, 0)
-
+
         super.updateDisplayList(unscaledWidth, unscaledHeight);

         // put in a larger hit zone than the thumb
@@ -364,7 +364,7 @@
         chromeColorGraphics.beginFill(chromeColor, 1);

         chromeColorGraphics.drawEllipse(chromeColorEllipseX, chromeColorEllipseY,
-                                        chromeColorEllipseWidth, chromeColorEllipseHeight);
+            chromeColorEllipseWidth, chromeColorEllipseHeight);
         chromeColorGraphics.endFill();
     }
 }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 2520
Author:   kelin@adobe.com
Date:     2008-07-17T20:36:21.699750Z

Log Message:
-----------
Initial TrackBase, Slider, HSlider, and VSlider checkin (with wireframe skins!).

TrackBase is a subclass of Range that provides thumb dragging functionality along a track. Slider and eventually ScrollBar will subclass TrackBase. Slider subclasses TrackBase and adds Slider-specific functionality like keyboard handling and track-click handling. HSlider and VSlider are initial implementations with tentative wireframe skins. Note: ScrollBar has not been changed to subclass TrackBase yet.

-Updated manifest/css files
-Added slider examples to flex4test

Reviewer: Jason
Bugs: -
QA: Yes

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/HSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HSliderSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HSliderThumbSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VSliderTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/VSlider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VSliderSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/VSliderThumbSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/skin/HSliderTrackSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/flex4test.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -0,0 +1,529 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 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 flex.component
+{
+
+import flash.events.Event;
+import flash.events.MouseEvent;
+import flash.geom.Point;
+
+/**
+ *  Dispatched when the value of the Slider control changes
+ *  as a result of user interaction.
+ *
+ *  @eventType mx.events.Event
+ */
+[Event(name="change", type="mx.events.Event")]
+
+/**
+ *  TrackBase is a base class for components with a track
+ *  and one or more thumbs such as Slider and ScrollBar. It
+ *  declares two required SkinParts, thumb and track. TrackBase
+ *  also provides the code for thumb dragging which is shared
+ *  by Slider and ScrollBar.
+ */
+public class TrackBase extends Range
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function TrackBase():void
+    {
+        super();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Skins
+    //
+    //--------------------------------------------------------------------------
+
+    [SkinPart]
+
+    /**
+     *  thumb is a SkinPart that defines a button that can be
+     *  dragged along the track to increase or decrease the slider's
+     *  value property. Updates to the value
+     *  through other means will automatically update the position of the
+     *  thumb with respect to the track.
+     */
+    public var thumb:Button;
+
+    [SkinPart]
+
+    /**
+     *  track is a SkinPart that defines a button that, when
+     *  pressed, will set the value to the value corresponding
+     *  with that position.
+     */
+    public var track:Button;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties: UIComponent, Range
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Enable/disable this component. This also enables/disables any of the
+     *  skin parts for this component.
+     */
+    override public function set enabled(value:Boolean):void
+    {
+        super.enabled = value;
+        enableSkinParts(value);
+    }
+
+    override public function set value(newValue:Number):void
+    {
+        super.value = newValue;
+        invalidateDisplayList();
+    }
+
+    override public function set maximum(value:Number):void
+    {
+        super.maximum = value;
+        invalidateDisplayList();
+    }
+
+    override public function set minimum(value:Number):void
+    {
+        super.minimum = value;
+        invalidateDisplayList();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //---------------------------------
+    // clickOffset
+    //---------------------------------
+
+    private var _clickOffset:Point;
+
+    /**
+     *  The clickOffset is the point in the local coordinates of
+     *  the thumb where the last mouse down event occurred. This
+     *  is used by calculateNewValue() to determine what value
+     *  the thumb has been dragged to.
+     */
+    protected function get clickOffset():Point
+    {
+        return _clickOffset;
+    }
+
+    //---------------------------------
+    // trackSize
+    //---------------------------------
+
+    /**
+     *  This method returns the size of the scrollbar's logical track.
+     *  Subclasses need to override this method to return an appropriate
+     *  value. Note that this number can represent any system of units, but
+     *  those units must be consistent with the values returned by
+     *  pointToPosition, thumbSize, and valueToPosition.
+     */
+    protected function get trackSize():Number
+    {
+        return 0;
+    }
+
+    //---------------------------------
+    // thumbSize
+    //---------------------------------
+
+    private var _thumbSize:Number = 0;
+
+    /**
+     *  The size of the thumb on the logical track in the units of the
+     *  subclass, which must be consistent with trackSize, pointToPosition
+     *  and valueToPosition. The default thumbSize on the logical track is 0.
+     *
+     *  @default 0
+     */
+    protected function get thumbSize():Number
+    {
+        return _thumbSize;
+    }
+
+    protected function set thumbSize(value:Number):void
+    {
+        _thumbSize = value;
+
+        invalidateDisplayList();
+    }
+
+    //---------------------------------
+    // snapInterval
+    //---------------------------------
+
+    private var _snapInterval:Number = 0;
+
+    private var snapIntervalChanged:Boolean = false;
+
+    /**
+     *  The snapInterval restricts the allowed values to the minimum,
+     *  maximum, and multiples of the snapInterval starting from the
+     *  minimum.
+     */
+    public function get snapInterval():Number
+    {
+        return _snapInterval;
+    }
+
+    public function set snapInterval(value:Number):void
+    {
+        if (value == snapInterval)
+            return;
+
+        _snapInterval = value;
+        snapIntervalChanged = true;
+
+        invalidateProperties();
+        invalidateDisplayList();
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function commitProperties():void
+    {
+        super.commitProperties();
+
+        if (snapIntervalChanged)
+        {
+            setValue(nearestValidValue(value));
+
+            snapIntervalChanged = false;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+        positionThumb(valueToPosition(value));
+    }
+
+    /**
+     *  Adds an eventListener for the updateComplete event so that the
+     *  Slider will correctly position the thumb.
+     */
+    override protected function attachBehaviors():void
+    {
+        super.attachBehaviors();
+        skinObject.addEventListener("updateComplete", skin_updateCompleteHandler);
+    }
+
+    /**
+     *  Removes the updateComplete event handler.
+     */
+    override protected function removeBehaviors():void
+    {
+        super.removeBehaviors();
+        skinObject.removeEventListener("updateComplete", skin_updateCompleteHandler);
+    }
+
+    /**
+     *  Adds event handlers to the track and thumb for mouse events.
+     */
+    override protected function partAdded(partName:String, instance:*):void
+    {
+        if (instance == thumb)
+        {
+            thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumb_mouseDownHandler);
+            thumb.stickyHighlighting = true;
+        }
+        else if (instance == track)
+        {
+            track.addEventListener(MouseEvent.MOUSE_DOWN, track_mouseDownHandler);
+        }
+
+        enableSkinParts(enabled);
+    }
+
+    /**
+     *  Remove event handlers from skin parts.
+     */
+    override protected function partRemoved(partName:String, instance:*):void
+    {
+        if (instance == thumb)
+        {
+            thumb.removeEventListener(MouseEvent.MOUSE_DOWN,
+                                      thumb_mouseDownHandler);
+        }
+        else if (instance == track)
+        {
+            track.removeEventListener(MouseEvent.MOUSE_DOWN,
+                                      track_mouseDownHandler);
+        }
+    }
+
+    /**
+     *  Returns the nearest allowed value. The default allowed values
+     *  are the minimum, maximum, and multiples of the snapInterval
+     *  starting from the minimum. If the snapInterval is 0, then
+     *  nearestValidValue() just returns the value. A snapInterval less
+     *  than 0 is not supported.
+     */
+    override protected function nearestValidValue(value:Number):Number
+    {
+        // NaN returns 0
+        if (isNaN(value))
+            value = 0;
+
+        if (value > maximum)
+            return maximum;
+        else if (value < minimum)
+            return minimum;
+
+        if (snapInterval == 0)
+            return value;
+
+        var closest:Number = Math.round((value - minimum) / snapInterval)
+                             * snapInterval + minimum;
+
+        if (closest >= maximum)
+            return maximum;
+        else if (closest <= minimum)
+            return minimum;
+
+        var cdiff:Number = Math.abs(closest - value);
+        var maxdiff:Number = Math.abs(maximum - value);
+
+        if (maxdiff <= cdiff)
+            return maximum;
+        else
+            return closest;
+    }
+
+    /**
+     *  Make the skins reflect the enabled state of the trackBase
+     */
+    protected function enableSkinParts(value:Boolean):void
+    {
+        if (thumb)
+            thumb.enabled = value;
+        if (track)
+            track.enabled = value;
+    }
+
+    /**
+     *  Utility method which returns the range value for a given
+     *  position on the track. The range value is calculated by
+     *  finding what fraction of the logical track the position
+     *  represents and then multiplying that by the range.
+     */
+    protected function positionToValue(position:Number):Number
+    {
+        var posRange:Number = trackSize - thumbSize;
+
+        if (posRange == 0) // Divide by 0 error.
+            return minimum;
+
+        var range:Number = maximum - minimum;
+        var val:Number = minimum + position * (range / posRange);
+        return val;
+    }
+
+    /**
+     *  Utility function to calculate the thumb's position
+     *  corresponding to the given value. The thumb position
+     *  is calculated by finding what fraction of the range
+     *  the value represents, and then multiplying that by
+     *  the logical track size minus the logical thumb size.
+     */
+    protected function valueToPosition(value:Number):Number
+    {
+        var range:Number = maximum - minimum;
+
+        if (range == 0) // Divide by 0 error.
+            return 0;
+
+        var posRange:Number = trackSize - thumbSize;
+        var thumbPos:Number = (value - minimum) * (posRange / range);
+        return thumbPos;
+    }
+
+    /**
+     *  This function returns a position on the slider relative to its
+     *  orientation and shape. The localX and localY
+     *  values represent the location in the local coordinate system of the
+     *  slider. Subclasses must override this method and return the
+     *  appropriate value for their situation. Values should not be clamped to
+     *  the ends of the track, as that clamping will happen later, prior
+     *  to setting the thumb position.
+     */
+    protected function pointToPosition(localX:Number, localY:Number):Number
+    {
+        return 0;
+    }
+
+    /**
+     *  This method positions the thumb button correctly, given
+     *  the position. Subclasses should override this method to position
+     *  the thumb appropriately for their situation.
+     */
+    protected function positionThumb(thumbPos:Number):void {}
+
+    /**
+     *  Given a MouseEvent that contains where the thumb was dragged to and
+     *  the previous value of the thumb, calculateNewValue() returns a new
+     *  value based on the difference calculated in the mouseDown handler
+     *  and the new position. The value is also restricted to the allowed
+     *  values here. This method usually should not be overridden.
+     */
+    protected function calculateNewValue(prevValue:Number, event:MouseEvent):Number
+    {
+        var pt:Point = new Point(event.stageX, event.stageY);
+        pt = globalToLocal(pt);
+        var movePos:Number = pointToPosition(pt.x - _clickOffset.x,
+                                             pt.y - _clickOffset.y);
+        var newValue:Number = positionToValue(movePos);
+        var roundedValue:Number = nearestValidValue(newValue);
+        return roundedValue;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Force the Slider to set itself up correctly now that the
+     *  skins have completed loading.
+     */
+    private function skin_updateCompleteHandler(event:Event):void
+    {
+        invalidateDisplayList();
+    }
+
+    //---------------------------------
+    // Thumb dragging handlers
+    //---------------------------------
+
+    /**
+     *  Handle mouse-down events on the scroll thumb. Records the difference
+     *  between positions.
+     */
+    protected function thumb_mouseDownHandler(event:MouseEvent):void
+    {
+        // TODO (chaase): We might want a different event mechanism eventually
+        // which would push this enabled check into the child/skin components
+        if (!enabled)
+            return;
+
+        addSystemHandlers(MouseEvent.MOUSE_MOVE, system_mouseMoveHandler,
+                stage_mouseMoveHandler);
+        addSystemHandlers(MouseEvent.MOUSE_UP, system_mouseUpHandler,
+                stage_mouseUpHandler);
+
+        // Record the location where this mouse-down event occurred; we will
+        // use this in later drag operations to determine how much to move the
+        // thumb button
+        var pt:Point = new Point(event.stageX, event.stageY);
+        var pt2:Point = globalToLocal(pt);
+        pt = thumb.globalToLocal(pt);
+        _clickOffset = pt;
+    }
+
+    /**
+     *  @private
+     *  Capture mouse-move events on the thumb anywhere on the stage
+     */
+    private function stage_mouseMoveHandler(event:MouseEvent):void
+    {
+        if (event.target != stage)
+            return;
+
+        system_mouseMoveHandler(event);
+    }
+
+    /**
+     *  Capture mouse-move events anywhere on or off the stage.
+     *  First, we calculate the new value based on the new position
+     *  using calculateNewValue(). Then, we move the thumb to
+     *  the new value's position. Last, we set the value and
+     *  dispatch a "change" event if the value changes.
+     */
+    protected function system_mouseMoveHandler(event:MouseEvent):void
+    {
+        var newValue:Number = calculateNewValue(value, event);
+
+        positionThumb(valueToPosition(newValue));
+
+        var oldValue:Number = value;
+        setValue(newValue);
+        if (newValue != oldValue)
+            dispatchEvent(new Event("change"));
+
+        event.updateAfterEvent();
+    }
+
+    /**
+     *  @private
+     *  Handle mouse-up events anywhere on the stage.
+     */
+    private function stage_mouseUpHandler(event:MouseEvent):void
+    {
+        if (event.target != stage)
+            return;
+
+        system_mouseUpHandler(event);
+    }
+
+    /**
+     *  Handle mouse-up events anywhere on or off the stage.
+     */
+    protected function system_mouseUpHandler(event:MouseEvent):void
+    {
+        removeSystemHandlers(MouseEvent.MOUSE_MOVE, system_mouseMoveHandler,
+                stage_mouseMoveHandler);
+        removeSystemHandlers(MouseEvent.MOUSE_UP, system_mouseUpHandler,
+                stage_mouseUpHandler);
+    }
+
+    //---------------------------------
+    // Track down handlers
+    //---------------------------------
+
+    /**
+     *  Handle mouse-down events for the scroll track. Subclasses should
+     *  override this method if they want the track to recognize
+     *  mouse clicks on the track.
+     */
+    protected function track_mouseDownHandler(event:MouseEvent):void {}
+}
+
+}


Don't use absolute paths in the JSON format.

All paths should be relative to the metadata directory. That it works
differently in the XML format is a weird concession for Betwixt that we don't
need to replicate.

--- exporter/src/main/as/flump/export/JSONFormat.as
+++ exporter/src/main/as/flump/export/JSONFormat.as
@@ -33,7 +33,7 @@
         if (libExportDir.exists) libExportDir.deleteDirectory(/*deteDirectoryContents=*/true);
         libExportDir.createDirectory();

-        const packer :Packer = new Packer(_lib, _conf.scale, _prefix);
+        const packer :Packer = new Packer(_lib, _conf.scale);
         for each (var atlas :Atlas in packer.atlases) {
             Files.write(_destDir.resolvePath(atlas.filename), atlas.writePNG);
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 13046
Author:   hneelu@adobe.com
Date:     2009-12-17T12:34:07.695337Z

Log Message:
-----------
Updating automation sources..

Modified Paths:
--------------
451 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/tabularData/ContainerTabularData.as
+++ frameworks/projects/automation/src/mx/automation/tabularData/ContainerTabularData.as
@@ -101,8 +101,7 @@
 			var visibleChildren:int = 0;
 			// code modified to avoid the usage of numAutomationChildren and
 			// getAutomationChildAt in a loop
-			//var childList:Array  = containerDelegate.getAutomationChildren();
-			var childList:Array  =  Automation.automationManager2.getAutomationChildrenArray(containerDelegate);
+			var childList:Array  = containerDelegate.getAutomationChildren();

 			var n:int = childList?childList.length:0;
 			//for (var i:int = 0; i < containerDelegate.numAutomationChildren; ++i)
@@ -156,8 +155,7 @@
 			var k:int = 0;
 			// code modified to avoid the usage of numAutomationChildren and
 			// getAutomationChildAt in a loop
-			//var childList:Array  = containerDelegate.getAutomationChildren();
-			var childList:Array  =  Automation.automationManager2.getAutomationChildrenArray(containerDelegate);
+			var childList:Array  = containerDelegate.getAutomationChildren();

 			var n:int = childList? childList.length:0;
 			// for (var i:int = 0;


fix tangent stream pushed twice when tangents and normals are in the same stream

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -475,7 +475,7 @@

 					if (!hasNormals)
 						pushVertexStreamInList(streamId, normalsStream);
-					if (!hasTangents && hasNormals)
+					if (!hasTangents && tangentsStream != normalsStream)
 						pushVertexStreamInList(streamId, tangentsStream);
 				}
 			}


Transferred from the Adobe Open Source Subversion Repository

Revision: 6077
Author:   hmuller@adobe.com
Date:     2009-04-09T15:43:34.506603Z

Log Message:
-----------
Removed mirroring support.

QE Notes:
Doc Notes:
Bugs:
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/RichEditableText2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.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/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</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/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>
<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/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Label.as
+++ frameworks/projects/mx/src/mx/controls/Label.as
@@ -369,7 +369,6 @@

         // this is so the UITextField we contain can be read by a screen-reader
         tabChildren = true;
-        dir="ltr";
     }

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


Extracted lo-res drawing into separate methods.

--- src/org/zozuar/volumetrics/EffectContainer.as
+++ src/org/zozuar/volumetrics/EffectContainer.as
@@ -67,6 +67,7 @@
 		protected var _bufferHeight:uint;
 		protected var _viewportWidth:uint;
 		protected var _viewportHeight:uint;
+		protected var _mtx:Matrix = new Matrix;

 		/**
 		* Creates a new effect container.
@@ -135,34 +136,46 @@
 		public function render(e:Event = null):void {
 			var savedQuality:String = stage.quality;
 			if(rasterQuality) stage.quality = rasterQuality;
-			var m:Matrix = _emission.transform.matrix.clone();
-			m.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
-			var mul:Number = colorIntegrity ? intensity : intensity/(1<<passes);
-			_ct.redMultiplier = _ct.greenMultiplier = _ct.blueMultiplier = mul;
-			_baseBmd.fillRect(_baseBmd.rect, 0);
-			_baseBmd.draw(_emission, m, colorIntegrity ? null : _ct);
-			if(_occlusion) {
-				_occlusionLoResBmd.fillRect(_occlusionLoResBmd.rect, 0);
-				m = _occlusion.transform.matrix.clone();
-				m.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
-				_occlusionLoResBmd.draw(_occlusion, m);
-				_baseBmd.draw(_occlusionLoResBmp, null, null, BlendMode.ERASE);
-			}
+			_drawLoResEmission();
+			if(_occlusion) _eraseLoResOcclusion();
 			if(rasterQuality) stage.quality = savedQuality;
 			var s:Number = 1 + (scale-1) / (1 << passes);
 			var tx:Number = srcX/_viewportWidth*_bufferWidth;
 			var ty:Number = srcY/_viewportHeight*_bufferHeight;
-			m.identity();
-			m.translate(-tx, -ty);
-			m.scale(s, s);
-			m.translate(tx, ty);
-			_lightBmp.bitmapData = _applyEffect(_baseBmd, _bufferBmd, m, passes);
+			_mtx.identity();
+			_mtx.translate(-tx, -ty);
+			_mtx.scale(s, s);
+			_mtx.translate(tx, ty);
+			_lightBmp.bitmapData = _applyEffect(_baseBmd, _bufferBmd, _mtx, passes);
 			_lightBmp.width = _viewportWidth;
 			_lightBmp.height = _viewportHeight;
 			_lightBmp.smoothing = smoothing;
 		}

 		/**
+		* Draws a scaled-down emission on _baseBmd.
+		*/
+		protected function _drawLoResEmission():void {
+			_copyMatrix(_emission.transform.matrix, _mtx);
+			_mtx.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
+			var mul:Number = colorIntegrity ? intensity : intensity/(1<<passes);
+			_ct.redMultiplier = _ct.greenMultiplier = _ct.blueMultiplier = mul;
+			_baseBmd.fillRect(_baseBmd.rect, 0);
+			_baseBmd.draw(_emission, _mtx, colorIntegrity ? null : _ct);
+		}
+
+		/**
+		* Draws a scaled-down occlusion on _occlusionLoResBmd and erases it from _baseBmd.
+		*/
+		protected function _eraseLoResOcclusion():void {
+			_occlusionLoResBmd.fillRect(_occlusionLoResBmd.rect, 0);
+			_copyMatrix(_occlusion.transform.matrix, _mtx);
+			_mtx.scale(_bufferWidth / _viewportWidth, _bufferHeight / _viewportHeight);
+			_occlusionLoResBmd.draw(_occlusion, _mtx);
+			_baseBmd.draw(_occlusionLoResBmp, null, null, BlendMode.ERASE);
+		}
+
+		/**
 		* Render the effect on every frame until stopRendering is called.
 		*/
 		public function startRendering():void {
@@ -178,7 +191,7 @@

 		/**
 		* Low-level workhorse, applies the lighting effect to a bitmap. This function modifies the src and buffer
-		* bitmaps.
+		* bitmaps and it's mtx argument.
 		*
 		* @param src The BitmapData to apply the effect on.
 		* @param buffer Another BitmapData object for temporary storage. Must be the same size as src.
@@ -209,5 +222,14 @@
 			if(_bufferBmd) _bufferBmd.dispose();
 			_baseBmd = _occlusionLoResBmd = _bufferBmd = _lightBmp.bitmapData = null;
 		}
+
+		protected function _copyMatrix(src:Matrix, dst:Matrix):void {
+			dst.a = src.a;
+			dst.b = src.b;
+			dst.c = src.c;
+			dst.d = src.d;
+			dst.tx = src.tx;
+			dst.ty = src.ty;
+		}
     }
 }


remove useless imports

remove useless imports

--- src/aerys/minko/type/clone/CloneOptions.as
+++ src/aerys/minko/type/clone/CloneOptions.as
@@ -11,10 +11,6 @@
 	import aerys.minko.scene.controller.mesh.MeshController;
 	import aerys.minko.scene.controller.mesh.MeshVisibilityController;
 	import aerys.minko.scene.controller.mesh.skinning.SkinningController;
-
-	import avmplus.getQualifiedClassName;
-
-	import flash.net.getClassByAlias;

 	public final class CloneOptions
 	{


fix bug with retry counter not being reset after fragment skip

--- src/org/mangui/hls/loader/FragmentLoader.as
+++ src/org/mangui/hls/loader/FragmentLoader.as
@@ -370,6 +370,8 @@
                         CONFIG::LOGGING {
                             Log.warn("max fragment load retry reached, skip fragment and load next one");
                         }
+                        _fragRetryCount = 0;
+                        _fragRetryTimeout = 1000;
                         _fragPrevious = _fragCurrent;
                         // set fragment first loaded to be true to ensure that we can skip first fragment as well
                         _fragmentFirstLoaded = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3563
Author:   jimurphy@adobe.com
Date:     2008-10-10T13:41:29.904903Z

Log Message:
-----------
Merged 3.0.x revisions 3421,3427,3442,3455,3457,3474,3477,3493,3500,3503,3513,3520,3531,3544 -> trunk
Integrate:
player 10.0.r12.036
lcds: 4.0.0.3542
coretech: 1.360354

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/lib/flex-messaging-common.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/debugger/src/java/flash/tools/debugger/concrete/DLocation.java</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/rideau.jar</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_conversion.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_edit.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/player/10/playerglobal.swc</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/libs/tcal_core.swc</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/flashplayer.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/install_flash_player_10_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/lnx/libflashplayer.so.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/win/FlashPlayer.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/player/10/mac/Flash Player.app.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/lib/afe.jar</path>

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

--- frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
+++ frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
@@ -32,6 +32,7 @@

 import mx.events.RSLEvent;
 import mx.utils.SHA256;
+import mx.utils.LoaderUtil;

 [ExcludeClass]

@@ -71,30 +72,32 @@
     //--------------------------------------------------------------------------

     /**
-    * Create a cross-domain RSL item to load.
+    *  Create a cross-domain RSL item to load.
     *
-    * @param rslUrls Array of Strings, may not be null. Each String is the url of an RSL to load.
-    * @param policyFileUrls Array of Strings, may not be null. Each String contains the url of an
+    *  @param rslUrls Array of Strings, may not be null. Each String is the url of an RSL to load.
+    *  @param policyFileUrls Array of Strings, may not be null. Each String contains the url of an
     *                       policy file which may be required to allow the RSL to be read from another
     *                       domain. An empty string means there is no policy file specified.
-    * @param digests Array of Strings, may not be null. A String contains the value of the digest
+    *  @param digests Array of Strings, may not be null. A String contains the value of the digest
     *                computed by the hash in the corresponding entry in the hashTypes Array. An empty
     *                string may be provided for unsigned RSLs to loaded them without verifying the digest.
     *                This is provided as a development cycle convenience and should not be used in a
     *                production application.
-    * @param hashTypes Array of Strings, may not be null. Each String identifies the type of hash
+    *  @param hashTypes Array of Strings, may not be null. Each String identifies the type of hash
     *                  used to compute the digest. Currently the only valid value is SHA256.TYPE_ID.
-    * @param hashTypes Array of boolean, may not be null. Each boolean value specifies if the RSL to be
+    *  @param isSigned Array of boolean, may not be null. Each boolean value specifies if the RSL to be
     *                  loaded is a signed or unsigned RSL. If the value is true the RSL is signed.
     *                  If the value is false the RSL is unsigned.
+    *  @param rootURL provides the url used to locate relative RSL urls.
     */
     public function CrossDomainRSLItem(rslUrls:Array,
                              policyFileUrls:Array,
                              digests:Array,
                              hashTypes:Array,
-                             isSigned:Array)
-    {
-        super(rslUrls[0]);
+                             isSigned:Array,
+                             rootURL:String = null)
+    {
+        super(rslUrls[0], rootURL);

         this.rslUrls = rslUrls;
         this.policyFileUrls = policyFileUrls;
@@ -157,7 +160,7 @@
         }
 */

-        urlRequest = new URLRequest(rslUrls[urlIndex]);
+        urlRequest = new URLRequest(LoaderUtil.createAbsoluteURL(rootURL, rslUrls[urlIndex]));
         var loader:URLLoader = new URLLoader();
         loader.dataFormat = URLLoaderDataFormat.BINARY;


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

--- frameworks/projects/framework/src/mx/styles/CSSConditionKind.as
+++ frameworks/projects/framework/src/mx/styles/CSSConditionKind.as
@@ -17,6 +17,11 @@
  *
  *  @see mx.styles.CSSCondition
  *  @see mx.styles.CSSSelector
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class CSSConditionKind
 {
@@ -25,6 +30,11 @@
      *  Examples:
      *      Button.special { ... }
      *      .special { ... }
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CLASS_CONDITION:uint = 1;

@@ -33,6 +43,11 @@
      *  Examples:
      *      Button#special { ... }
      *      #special { ... }
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const ID_CONDITION:uint = 2;

@@ -42,6 +57,11 @@
      *  Examples:
      *      Button:special { ... }
      *      :special { ... }
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const PSEUDO_CONDITION:uint = 3;


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

--- frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -261,6 +261,24 @@
     /**
      *  @private
      *  Set of styles for which setStyle() causes
+     *  invalidateEstimatedSizesOfChildren() to be called on the component's parent.
+     *  The method registerParentEstimatedSizeInvalidatingStyle() adds to this set
+     *  and isParentEstimatedSizeInvalidatingStyle() queries this set.
+     */
+    private var parentEstimatedSizeInvalidatingStyles:Object =
+        {
+            baseline: true,
+            bottom: true,
+            horizontalCenter: true,
+            left: true,
+            right: true,
+            top: true,
+            verticalCenter: true
+        }
+
+    /**
+     *  @private
+     *  Set of styles for which setStyle() causes
      *  invalidateDisplayList() to be called on the component's parent.
      *  The method registerParentDisplayListInvalidatingStyle() adds to this set
      *  and isParentDisplayListInvalidatingStyle() queries this set.
@@ -1235,6 +1253,58 @@
     }

     /**
+     *  Adds to the list of styles which may require a recalculation
+     *  of the contraints based on the parent container.
+     *
When one of these styles is set with setStyle(),
+     *  the invalidateEstimatedSizesOfChildren()
+     *  method is called on the component's
+     *  parent container to make the estimated sizes get recalculated
+     *  later.

+     *
+     *  @param styleName The name of the style to register.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function registerParentEstimatedSizeInvalidatingStyle(styleName:String):void
+    {
+        parentEstimatedSizeInvalidatingStyles[styleName] = true;
+    }
+
+    /**
+     *  Tests to see if the style changes the estimated size based on a component's parent container.
+     *
+     *
When one of these styles is set with setStyle(),
+     *  the invalidateEstimatedSizesOfChildren()
+     *  method is called on the component's
+     *  parent container to make the estimated sizes get recalculated
+     *  later.

+     *
+     *  @param styleName The name of the style to test.
+     *
+     *  @return Returns true if the specified style is one
+     *  which may affect the estimated size of the component's
+     *  parent container.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public function isParentEstimatedSizeInvalidatingStyle(styleName:String):Boolean
+    {
+        if (parentEstimatedSizeInvalidatingStyles[styleName] == true)
+            return true;
+
+        if (parent && parent.isParentEstimatedSizeInvalidatingStyle(styleName))
+            return true;
+
+        return false;
+    }
+
+    /**
      *  Adds to the list of styles which may affect the appearance
      *  or layout of the component's parent container.
      *  When one of these styles is set with setStyle(),


Transferred from the Adobe Open Source Subversion Repository

Revision: 11446
Author:   dsubrama@adobe.com
Date:     2009-11-05T00:02:15.984691Z

Log Message:
-----------
Bugfixes, ASDoc entries and PARB changes for FXG 2.0.

1.) PARB-mandated change. The shader classes have moved from spark.primtives.shaders to spark.primitives.supportClasses.shaders
2.) Fix for http://bugs.adobe.com/jira/browse/SDK-23949 - If luminosityClip or luminosityInvert changes dynamically on a Group or GraphicElement, we recalculate the luminosity mask shader filter's mode and reapply the filter.
3.) AsDoc entries for Group.luminosityClip, Group.luminosityInvert, Group.maskType, GraphicElement.luminosityClip, GraphicElement.luminosityInvert, GraphicElement.maskType and MaskType.CLIP (SDK-23843, SDK-23773)

QE notes: None, regress
Doc notes: Can you give the ASDoc entries a once-over?
Bugs: SDK-23949, SDK-23843, SDK-23773
Reviewer: Evtim
Tests run: FXG static and runtime
Is noteworthy for integration: Yes - package changes for the shader classes may affect tools

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders" copyfrom-rev="11377" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ExclusionShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ExclusionShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/Saturation.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Saturation.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FlexFXG2SWFTranscoder.java</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/LuminosityShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/LuminosityShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ColorShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/LuminosityMaskFilter.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/LuminosityMaskFilter.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/MaskType.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ColorDodgeShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorDodgeShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/HueShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/HueShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/SoftLight.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/SoftLight.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ColorBurn.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorBurn.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/LuminosityMaskShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/LuminosityMaskShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/SaturationShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/SaturationShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/Exclusion.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Exclusion.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/Luminosity.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Luminosity.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/Color.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Color.pbj</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/Hue.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/Hue.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ColorDodge.pbj" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorDodge.pbj</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/SoftLightShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/SoftLightShader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/shaders/ColorBurnShader.as" copyfrom-rev="11445" action="R">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/shaders/ColorBurnShader.as</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -27,15 +27,15 @@
 import mx.controls.MXFTETextInput; MXFTETextInput;
 import mx.core.UIFTETextField; UIFTETextField;
 import spark.core.SpriteVisualElement; SpriteVisualElement;
-import spark.primitives.shaders.ColorBurnShader; ColorBurnShader;
-import spark.primitives.shaders.ColorDodgeShader; ColorDodgeShader;
-import spark.primitives.shaders.ColorShader; ColorShader;
-import spark.primitives.shaders.ExclusionShader; ExclusionShader;
-import spark.primitives.shaders.HueShader; HueShader;
-import spark.primitives.shaders.LuminosityShader; LuminosityShader;
-import spark.primitives.shaders.LuminosityMaskShader; LuminosityMaskShader;
-import spark.primitives.shaders.SaturationShader; SaturationShader;
-import spark.primitives.shaders.SoftLightShader; SoftLightShader;
+import spark.primitives.supportClasses.shaders.ColorBurnShader; ColorBurnShader;
+import spark.primitives.supportClasses.shaders.ColorDodgeShader; ColorDodgeShader;
+import spark.primitives.supportClasses.shaders.ColorShader; ColorShader;
+import spark.primitives.supportClasses.shaders.ExclusionShader; ExclusionShader;
+import spark.primitives.supportClasses.shaders.HueShader; HueShader;
+import spark.primitives.supportClasses.shaders.LuminosityShader; LuminosityShader;
+import spark.primitives.supportClasses.shaders.LuminosityMaskShader; LuminosityMaskShader;
+import spark.primitives.supportClasses.shaders.SaturationShader; SaturationShader;
+import spark.primitives.supportClasses.shaders.SoftLightShader; SoftLightShader;
 import spark.skins.spark.ApplicationSkin; ApplicationSkin;
 import spark.skins.spark.BorderSkin; BorderSkin;
 import spark.skins.spark.ButtonSkin; ButtonSkin;


Branch merge

Branch merge

--- as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
+++ as3/xobjas3/src/com/rpath/xobj/FilterTerm.as
@@ -58,9 +58,10 @@
     public static const NOT_LIKE:String = "NOT_LIKE";
     public static const IN:String = "IN";
     public static const NOT_IN:String = "NOT_IN";
+/*  NOT YET IMPLEMENTED
     public static const MATCHING:String = "MATCHING";
     public static const NOT_MATCHING:String = "NOT_MATCHING";
-
+*/
     public static const YES:String = "YES";
     public static const NO:String = "NO";


Now using browser error log when marshallExceptions is false

--- WeaveAPI/src/JavaScript.as
+++ WeaveAPI/src/JavaScript.as
@@ -421,7 +421,10 @@
 						appliedCode = appliedCode.split('\\').join('\\\\');

 					// we need to use "eval" in order to receive syntax errors
-					result = ExternalInterface.call('eval', appliedCode);
+					var evalFunc:String = 'eval';
+					if (!marshallExceptions)
+						evalFunc = 'function(code){ try { return eval(code); } catch (e) { e.message += "\\n" + code; console.error(e); } }';
+					result = ExternalInterface.call(evalFunc, appliedCode);
 				}
 				else
 				{


FLEX-33272.  RTE occurred while trying to hide columns of an AdvancedDataGrid having lockedColumnCount greater than 0 that was scrolled all the way over to the right.
When the columns were hidden the horizontalScrollPosition was no longer valid and visibleColumns got out of sync with the newly updated displayableColumns.

git-svn-id: 7d913817b0a978d84de757191e4bce372605a781@1414303 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -2345,6 +2345,13 @@
             updateHeaderSearchList();

             createDisplayableColumns();
+
+            // It is possible that columns became invisible and the hsp is no longer valid.
+            // Force visibleColumns to be recomputed now so if there are lockedColumns and
+            // updateSubContent() is called before updateDisplayList() is called,
+            // visibleColumns will be correct.
+            if (horizontalScrollPosition > visibleHeaderInfos.length)
+                horizontalScrollPosition = visibleHeaderInfos.length - 1;
         }

         super.commitProperties();


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

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


Transferred from the Adobe Open Source Subversion Repository

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBaseContentHolder.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBaseContentHolder.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.listClasses
 {


Fix whitespace.

Fix whitespace.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -1718,7 +1718,7 @@
 					{
 						// We can't live stall as mismatched sequence IDs might cause an arbitrary live stall delay.
 						// Instead, if our guess is off the live edge, just adjust our guess.
-						nextSeg.id = nextFragmentId ;
+						nextSeg.id = nextFragmentId;
 					}
 					else
 					{


Typo Fix Updates: - Fixed a comment Typo

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -350,7 +350,7 @@
 				// The last playlist start time is at the start of the newest segment, the best we can do here is estimate
 				matchStartTime += targetSegments[targetSegments.length - 1].duration;

-				// Let the cosole know that we might have a problem
+				// Let the console know that we might have a problem
 				trace("Warning: Estimating playlist start time. Estimated start time: " + matchStartTime);

 				// No matches were found so we add all the new segments to the playlist, also adjust their start times


Change properties' values.

Change properties' values.

--- dolly-framework/src/test/actionscript/dolly/CloningOfPropertyLevelCloneableClassTest.as
+++ dolly-framework/src/test/actionscript/dolly/CloningOfPropertyLevelCloneableClassTest.as
@@ -15,8 +15,8 @@
 	[Before]
 	public function before():void {
 		propertyLevelCloneable = new PropertyLevelCloneableClass();
-		propertyLevelCloneable.property1 = "value 1";
-		propertyLevelCloneable.writableField1 = "value 4";
+		propertyLevelCloneable.property1 = "property1 value";
+		propertyLevelCloneable.writableField1 = "writableField1 value";
 		propertyLevelCloneableType = Type.forInstance(propertyLevelCloneable);
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 11511
Author:   gruehle@adobe.com
Date:     2009-11-06T18:56:06.156108Z

Log Message:
-----------
Fix a couple focus styling bugs.

QE notes:
Doc notes:
Bugs: SDK-24019, SDK-24021
Reviewer: Kevin
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as
@@ -42,6 +42,7 @@
 //  Excluded APIs
 //--------------------------------------

+[Exclude(name="focusBlendMode", kind="style")]
 [Exclude(name="focusThickness", kind="style")]

 /**


Use unique label utility in FileUtil.

Use unique label utility in FileUtil.

--- src/com/esri/builder/supportClasses/FileUtil.as
+++ src/com/esri/builder/supportClasses/FileUtil.as
@@ -18,13 +18,10 @@

 import flash.filesystem.File;

-import mx.utils.StringUtil;
-
 public class FileUtil
 {
     public static function generateUniqueRelativePath(baseDirectory:File, relativeFilePath:String, relativePathBlackList:Array = null):String
     {
-        var currentID:int = 1;
         var extensionIndex:int = relativeFilePath.lastIndexOf(".");
         var extension:String = "";
         if (extensionIndex > -1)
@@ -33,26 +30,21 @@
             relativeFilePath = relativeFilePath.substr(0, extensionIndex);
         }
         var filenameTemplate:String = relativeFilePath + "_{0}" + extension;
-        var uniqueWidgetConfigPath:String;

-        do
-        {
-            uniqueWidgetConfigPath = StringUtil.substitute(filenameTemplate, currentID++);
-        } while (doesFileExist(baseDirectory, uniqueWidgetConfigPath, relativePathBlackList));
+        var uniqueWidgetConfigPath:String =
+            LabelUtil.generateUniqueLabel(filenameTemplate,
+                                          relativePathBlackList,
+                                          function isNonExistentFile(uniqueFilePath:String, availableNames:Array):Boolean
+                                          {
+                                              if (availableNames
+                                                  && availableNames.indexOf(uniqueFilePath) > -1)
+                                              {
+                                                  return false;
+                                              }

+                                              return !baseDirectory.resolvePath(uniqueFilePath).exists;
+                                          });
         return uniqueWidgetConfigPath;
-    }
-
-    private static function doesFileExist(baseDirectory:File, relativeFilePath:String, relativePathBlackList:Array):Boolean
-    {
-        if (relativePathBlackList
-            && relativePathBlackList.indexOf(relativeFilePath) > -1)
-        {
-            return true;
-        }
-
-        var fileToCheck:File = baseDirectory.resolvePath(relativeFilePath);
-        return fileToCheck.exists;
     }

     public static function getFileName(file:File):String


Removed unused reverse test. We know what that is for now, it is not needed to be tested at the moment.

--- unittests/TestEquivalence.as
+++ unittests/TestEquivalence.as
@@ -12,7 +12,6 @@
 		public function setUp():void
 		{
 			//Equivalence(claimText:String,reasonText:Array,reversePos:Boolean,inferenceText:String="",inferencePresent:Boolean = false)
-			eqReverse = new Equivalence("Basic Claim", ["Reason 1", "Reason 2"], true, "Foo if and only if Bar just in case Baz is a necessary and sufficient condition for Quux", false);
 			eq= new Equivalence("Basic Claim", ["Reason 1", "Reason 2"], false, "Foo if and only if Bar just in case Baz is a necessary and sufficient condition for Quux", false);
 		}


- Changed to display the text "fps: ", followed by the frame rate to only
  2 decimal places.
- Size our width accurately.

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

--- src/as/com/threerings/flash/FPSDisplay.as
+++ src/as/com/threerings/flash/FPSDisplay.as
@@ -32,7 +32,8 @@
     public function FPSDisplay (framesToTrack :int = 150)
     {
         background = true;
-        text = String(Number.MIN_VALUE);
+        text = "fps: 000.00";
+        width = textWidth + 5;
         height = textHeight + 4;

         _framesToTrack = framesToTrack;
@@ -55,7 +56,7 @@
         // the difference between 1 frame)
         var frames :Number = _frameStamps.length - 1;

-        this.text = String(frames / seconds);
+        this.text = "fps: " + (frames / seconds).toFixed(2);
     }

     /** Timestamps of past ENTER_FRAME events. */


Added bounds control to ForceDirectedLayout

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@98 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.physics/flare/physics/Simulation.as
+++ flare.physics/flare/physics/Simulation.as
@@ -1,5 +1,7 @@
 package flare.physics
 {
+	import flash.geom.Rectangle;
+
 	/**
 	 * A physical simulation involving particles, springs, and forces.
 	 * Useful for simulating a range of physical effects or layouts.
@@ -10,6 +12,7 @@
 		private var _springs:Array = new Array();
 		private var _forces:Array = new Array();
 		private var _integrator:IIntegrator = new RK4Integrator();
+		private var _bounds:Rectangle = null;

 		/** The default gravity force for this simulation. */
 		public function get gravityForce():GravityForce {
@@ -29,6 +32,19 @@
 		/** The default spring force for this simulation. */
 		public function get springForce():SpringForce {
 			return _forces[3] as SpringForce;
+		}
+
+		/** Sets a bounding box for particles in this simulation.
+		 *  Null (the default) indicates no boundaries. */
+		public function get bounds():Rectangle { return _bounds; }
+		public function set bounds(b:Rectangle):void {
+			if (_bounds == b) return;
+			if (_bounds == null) { _bounds = new Rectangle(); }
+			// ensure x is left-most and y is top-most
+			_bounds.x = b.x + (b.width < 0 ? b.width : 0);
+			_bounds.width = (b.width < 0 ? -1 : 1) * b.width;
+			_bounds.y = b.y + (b.width < 0 ? b.height : 0);
+			_bounds.height = (b.height < 0 ? -1 : 1) * b.height;
 		}

 		/**
@@ -91,12 +107,12 @@
 		 */
 		public function removeParticle(idx:uint):Boolean
 		{
-			var p:Particle = _particles[idx] as Particle;
+			var p:Particle = _particles[idx];
 			if (p == null) return false;

 			// remove springs
 			for (var i:uint = _springs.length; --i >= 0; ) {
-				var s:Spring = _springs[i] as Spring;
+				var s:Spring = _springs[i];
 				if (s.p1 == p || s.p2 == p) {
 					removeSpring(i);
 				}
@@ -166,12 +182,29 @@
 			// father time and the grim reaper
 			var p:Particle;
 			for (var i:uint=0; i<_particles.length; ++i) {
-				p = _particles[i] as Particle;
+				p = _particles[i];
 				p.age += dt;
 				if (p.die) removeParticle(i);
 			}
+
 			// update
 			_integrator.integrate(this, dt);
+			if (_bounds) enforceBounds();
+		}
+
+		private function enforceBounds():void {
+			var minX:Number = _bounds.x;
+			var maxX:Number = _bounds.x + _bounds.width;
+			var minY:Number = _bounds.y;
+			var maxY:Number = _bounds.y + _bounds.height;
+
+			for each (var p:Particle in _particles) {
+				if (p.x < minX) p.x = minX;
+				else if (p.x > maxX) p.x = maxX;
+
+				if (p.y < minY) p.y = minY;
+				else if (p.y > maxY) p.y = maxY;
+			}
 		}

 		/**
@@ -181,7 +214,7 @@
 			var i:uint, p:Particle;
 			// reset forces
 			for (i = _particles.length; --i >= 0; ) {
-				p = _particles[i] as Particle;
+				p = _particles[i];
 				p.fx = p.fy = 0;
 			}
 			// collect forces


XIFF-40: Testing first commit. Added clone() method to InviteEvent.

--- src/org/jivesoftware/xiff/events/InviteEvent.as
+++ src/org/jivesoftware/xiff/events/InviteEvent.as
@@ -72,5 +72,16 @@
 		{
 			_data = d;
 		}
+
+		public override function clone():Event
+		{
+			var e:InviteEvent = new InviteEvent();
+			e.from = this.from;
+			e.reason = this.reason;
+			e.room = this.room;
+			e.data = this.data;
+
+			return e;
+		}
 	}
-}+}


Fixed NinjaSnowWar lightflash objects remaining in the scene indefinitely.

--- Bin/Data/Scripts/NinjaSnowWar/LightFlash.as
+++ Bin/Data/Scripts/NinjaSnowWar/LightFlash.as
@@ -4,6 +4,7 @@
 {
     LightFlash()
     {
+        duration = 2.0;
     }

     void FixedUpdate(float timeStep)


SessionManager's getSessionStateTree() now returns an implementation of IWeaveTreeNode to work with WeaveTree.tsx.

--- WeaveASJS/src/weavejs/core/SessionManager.as
+++ WeaveASJS/src/weavejs/core/SessionManager.as
@@ -28,7 +28,8 @@
 	import weavejs.api.core.ILinkableObjectWithNewProperties;
 	import weavejs.api.core.ILinkableVariable;
 	import weavejs.api.core.ISessionManager;
-	import weavejs.util.Dictionary2D;
+import weavejs.api.data.IWeaveTreeNode;
+import weavejs.util.Dictionary2D;
 	import weavejs.util.JS;
 	import weavejs.util.StandardLib;
 	import weavejs.util.WeavePromise;
@@ -211,14 +212,14 @@
 		/**
 		 * Cached WeaveTreeItems that are auto-generated when they are accessed
 		 */
-		private var d2d_object_name_tree:Dictionary2D = new Dictionary2D(true, false, WeaveTreeItem);
+		private var d2d_object_name_tree:Dictionary2D = new Dictionary2D(true, false, WeaveTreeItemExt);

 		/**
 		 * @param root The linkable object to be placed at the root node of the tree.
 		 * @param objectName The label for the root node.
 		 * @return A tree of nodes with the properties "data", "label", "children"
 		 */
-		public function getSessionStateTree(root:ILinkableObject, objectName:String):WeaveTreeItem
+		public function getSessionStateTree(root:ILinkableObject, objectName:String):/*/WeaveTreeItem & IWeaveTreeNode/*/WeaveTreeItem
 		{
 			if (!root)
 				return null;
@@ -1565,3 +1566,38 @@
 		}
 	}
 }
+
+import weavejs.api.data.IWeaveTreeNode;
+import weavejs.util.WeaveTreeItem;
+
+internal class WeaveTreeItemExt extends WeaveTreeItem implements IWeaveTreeNode
+{
+	public function equals(other:IWeaveTreeNode):Boolean
+	{
+		var otherExt:WeaveTreeItemExt = other as WeaveTreeItemExt;
+		return this.data == otherExt.data;
+	}
+
+	public function getLabel():String
+	{
+		return this.label;
+	}
+
+	public function isBranch():Boolean
+	{
+		return this.children != null;
+	}
+
+	public function hasChildBranches():Boolean
+	{
+		for each (var child:WeaveTreeItemExt in this.children)
+			if (child.isBranch())
+				return true;
+		return false;
+	}
+
+	public function getChildren():Array/*/<IWeaveTreeNode>/*/
+	{
+		return this.children;
+	}
+}


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

--- frameworks/projects/spark/src/spark/effects/supportClasses/RotateInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/RotateInstance.as
@@ -1,11 +1,19 @@
-		////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
 //
 ////////////////////////////////////////////////////////////////////////////////


def: 7261 fix livestream behavior after prerolls

--- kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
+++ kdp3Lib/src/com/kaltura/kdpfl/view/media/KMediaPlayerMediator.as
@@ -153,6 +153,8 @@
 		 */
 		private var _inDvr:Boolean = false;

+		private var _dvrWinSize:Number = 0;
+
 		/**
 		 * Constructor
 		 * @param name
@@ -334,8 +336,8 @@
 					if (_mediaProxy.vo.entry is KalturaLiveStreamEntry && (_mediaProxy.vo.entry as KalturaLiveStreamEntry).dvrStatus == KalturaDVRStatus.ENABLED)
 					{
 						_mediaProxy.vo.canSeek = true;
-						_duration = (_mediaProxy.vo.entry as KalturaLiveStreamEntry).dvrWindow * 60;
-						sendNotification( NotificationType.DURATION_CHANGE , {newValue:_duration});
+						_dvrWinSize = (_mediaProxy.vo.entry as KalturaLiveStreamEntry).dvrWindow * 60;
+						sendNotification( NotificationType.DURATION_CHANGE , {newValue:_dvrWinSize});
 					}

 					break;
@@ -1330,10 +1332,10 @@
 			else if(event.time)
 			{
 				//in live dvr: minimum duration should be dvrwindow size
-				if ((_mediaProxy.vo.entry is KalturaLiveStreamEntry &&
+				if (!_sequenceProxy.vo.isInSequence && (_mediaProxy.vo.entry is KalturaLiveStreamEntry &&
 					(_mediaProxy.vo.entry as KalturaLiveStreamEntry).dvrStatus == KalturaDVRStatus.ENABLED))
 				{
-					_duration = Math.max((_mediaProxy.vo.entry as KalturaLiveStreamEntry).dvrWindow * 60, event.time);
+					_duration = Math.max(_dvrWinSize, event.time);
 				}
 				else
 				{
@@ -1363,9 +1365,7 @@
 					_loadMediaOnPlay = true;
 				}

-				sendNotification(NotificationType.PLAYBACK_COMPLETE, {context: _sequenceProxy.sequenceContext});
-
-				if (_mediaProxy.vo.isLive)
+				if (!_sequenceProxy.vo.isInSequence && _mediaProxy.vo.isLive)
 				{
 					if (player.canPause)
 						player.pause();
@@ -1375,6 +1375,7 @@
 					_inDvr = false;
 				}

+				sendNotification(NotificationType.PLAYBACK_COMPLETE, {context: _sequenceProxy.sequenceContext});
 			}

 		}


Bugfix: fix y position of a submenu on an upwards-popping menu.
When transforming from row coords to global coords, don't use a point
in the row's parent's coords.

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

--- src/as/com/threerings/flex/CommandMenu.as
+++ src/as/com/threerings/flex/CommandMenu.as
@@ -370,7 +370,7 @@
         }
         if (_upping) {
             var displayObj :DisplayObject = DisplayObject(row);
-            var rowLoc :Point = displayObj.localToGlobal(new Point(row.x, row.y));
+            var rowLoc :Point = displayObj.localToGlobal(new Point());
             submenu.y = rowLoc.y - submenu.getExplicitOrMeasuredHeight() + displayObj.height;
         }


Touched up the examples.
Added an example for the advanced case of loading classes at runtime.

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

--- src/as/com/threerings/util/MultiLoader.as
+++ src/as/com/threerings/util/MultiLoader.as
@@ -48,17 +48,18 @@
      * @param appDom the ApplicationDomain in which to load the contents, or null to specify
      * that it should load in a child of the current ApplicationDomain.
      *
-     * @example
+     * @example Load one embed, add it as a child.
      * <listing version="3.0">
      * MultiLoader.getContents(EMBED_CONSTANT, addChild);
      * </listing>
      *
-     * @example
+     * @example Load 3 embeds, add them as children.
      * <listing version="3.0">
      * MultiLoader.getContents([EMBED1, EMBED2, EMBED3], addChild, true);
      * </listing>
      *
-     * @example
+     * @example Load multiple URLs, have the contents returned to the result function one at
+     * a time.
      * <listing version="3.0">
      * function handleComplete (result :Object) :void {
      *    // process a result here. Result may be a DisplayObject or an Error.
@@ -72,7 +73,7 @@
      * MultiLoader.getContents(obj, handleComplete, true);
      * </listing>
      *
-     * @example
+     * @example Load 3 embeds, wait to handle them until they're all loaded.
      * <listing version="3.0">
      * function handleComplete (results :Array) :void {
      *     // process results here
@@ -93,6 +94,24 @@

     /**
      * Exactly like getContents() only it returns the Loader objects rather than their contents.
+     *
+     * @example Advanced usage: Loading classes.
+     * <listing version="3.0">
+     * // A holder for new classes, created as a child of the system domain.
+     * var appDom :ApplicationDomain = new ApplicationDomain(null);
+     *

+     * function handleComplete (results :Object) :void {
+     *     // now we can retrieve classes
+     *     var clazz :Class = appDom.getDefinition("com.package.SomeClass") as Class;
+     * }
+     *

+     * // load all the classes contained in the specified sources
+     * MultiLoader.getLoaders([EMBED, "http://site.com/pack.swf"], handleComplete, false, appDom);
+     *

+     * [Embed(source="resource.swf", mimeType="application/octet-stream")]
+     * private static const EMBED :Class;
+     * </listing>
+     *
      * @see getContents()
      */
     public static function getLoaders (


removed methods, cleaned up creating browser code

--- src/AIR/ChildBrowser/src/blackberry/polarmobile/childbrowser/ChildBrowser.as
+++ src/AIR/ChildBrowser/src/blackberry/polarmobile/childbrowser/ChildBrowser.as
@@ -11,20 +11,17 @@
     import flash.events.MouseEvent;
     import flash.display.Sprite;
     import flash.events.StageOrientationEvent;
-    import flash.display.Bitmap;
     import flash.utils.setTimeout;

     import caurina.transitions.Tweener;

     // qnx
     import qnx.media.QNXStageWebView;
-    import qnx.events.WebViewEvent;
     import qnx.ui.buttons.IconButton;
     import qnx.ui.skins.buttons.OutlineButtonSkinBlack;

     // webworks
     import webworks.extension.DefaultExtension;
-

     public class ChildBrowser extends DefaultExtension
     {
@@ -91,75 +88,74 @@
         public function clearCookies()
         {
           //if we dont have a webview, make one and put it in the background
+          this.createBrowser()
+          //clear the webviews cookies
+          childWebView.clearCookies();
+          childWebView.stage = null;
+          //childWebView.dispose();
+          //childWebView = null;
+        }
+
+        private function createBrowser()
+        {
           if (childWebView == null)
           {
               childWebView = new QNXStageWebView("ChildBrowser");
               childWebView.stage = webView.stage;
               childWebView.viewPort = new Rectangle(0,50,webView.stage.stageWidth,browserHeight);
               childWebView.zOrder = -1;
+              this.isVisible = true
+              // events
+              webView.stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientationChange);
           }
-          //clear the webviews cookies
-          childWebView.clearCookies();
+        }
+
+        public function loadURL(url:String)
+        {
+            var self = this;
+            browserHeight = webView.stage.stageHeight - 50;
+            //if we dont have a webview, make one and put it in the background
+            this.createBrowser();
+            //put webview behind stage
+            webView.zOrder = -1;
+            //load this url
+            childWebView.loadURL(url);
+            this.initBG();
+        }
+
+        private function onOrientationChange(event:StageOrientationEvent)
+        {
+           var self = this
+           this.removeUI();
+           this.initBG()
+           childWebView.viewPort = new Rectangle(0,50,bgshape.width,bgshape.height - 50);
+        }
+
+        public function getLocation():String
+        {
+            return childWebView.location;
+        }
+
+        public function forward()
+        {
+            childWebView.historyForward();
+        }
+
+        public function back()
+        {
+            childWebView.historyBack();
+        }
+
+        public function refresh()
+        {
+            childWebView.reload();
+        }
+
+        public function close()
+        {
           childWebView.stage = null;
           childWebView.dispose();
-        }
-
-        public function loadURL(url:String)
-        {
-            var self = this;
-            browserHeight = webView.stage.stageHeight - 50;
-            //only ever create one web view
-            childWebView = new QNXStageWebView("ChildBrowser");
-            childWebView.zOrder = -100;
-            webView.zOrder = -1;
-            childWebView.viewPort = new Rectangle(0,50,webView.stage.stageWidth,browserHeight);
-            //load this url
-            childWebView.loadURL(url);
-            // events
-            //webView.stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientationChange);
-            //childWebView.addEventListener(WebViewEvent.DOCUMENT_LOAD_FINISHED, loaded);
-            this.initBG();
-        }
-
-
-        private function onOrientationChange(event:StageOrientationEvent)
-        {
-            //var self = this
-            //this.removeUI();
-            //this.initBG()
-            //this.initUI()
-            //childWebView.viewPort = new Rectangle(0,50,webView.stage.stageWidth,browserHeight);
-        }
-
-        private function clearWindow()
-        {
-            childWebView.loadURL("about:blank");
-        }
-
-        public function getLocation():String
-        {
-            return childWebView.location;
-        }
-
-        public function forward()
-        {
-            childWebView.historyForward();
-        }
-
-        public function back()
-        {
-            childWebView.historyBack();
-        }
-
-        public function refresh()
-        {
-            childWebView.reload();
-        }
-
-        public function close()
-        {
-          childWebView.stage = null;
-          childWebView.dispose();
+          childWebView = null;

           Tweener.addTween(webViewUI, {
             y: webView.stage.stageHeight,
@@ -236,39 +232,6 @@
           return this.isVisible;
         }

-        private function toggleVisible()
-        {
-          if (this.isVisible  == true){
-            webView.zOrder = -1;
-            childWebView.zOrder = 1;
-            this.isVisible = false
-          } else {
-            webView.zOrder = 1;
-            childWebView.zOrder = -1;
-            this.isVisible = true
-          }
-        }
-
-        private function addLoadingScreen()
-        {
-          childWebView.zOrder = -1;
-
-          loading_bg_shape = new Sprite();
-          //dark gray for now
-          loading_bg_shape.graphics.beginFill(0x323232);
-          //semi transparent
-          loading_bg_shape.alpha = 0.5;
-          loading_bg_shape.graphics.drawRect(0,0,webView.stage.stageWidth, webView.stage.stageHeight);
-          addChild(loading_bg_shape);
-
-          var loadingSpinner:Bitmap = new Spinner();
-          loadingSpinner.x = webView.stage.stageWidth / 2;
-          loadingSpinner.y = webView.stage.stageHeight / 2;
-
-          addChild(loadingSpinner);
-
-        }
-
         // our own addChild implementation
         // maps back to stage of WebWorkAppTemplate.as
         private function addChild(obj)


organize imports

organize imports

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -17,9 +17,6 @@
 {
 	import flash.utils.ByteArray;
 	import flash.utils.getQualifiedClassName;
-	import flash.utils.getTimer;
-
-	import flashx.textLayout.tlf_internal;

 	import mx.formatters.DateFormatter;
 	import mx.formatters.NumberFormatter;