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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17117
Author:   chiedozi@adobe.com
Date:     2010-07-29T18:08:08.058839Z

Log Message:
-----------
Added support for defining default view transitions to ViewNavigator.
ViewNavigatorSkin now defines default push and pop transitions
Updated the IViewTransition interface
ViewNavigator.popToRoot was renamed to ViewNavigator.popToFirstView

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/IViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/effects/ViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorSection.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -14,8 +14,7 @@

 import spark.components.supportClasses.ViewHistoryData;
 import spark.components.supportClasses.ViewNavigatorSection;
-import spark.effects.SlideViewTransition;
-import spark.effects.ViewTransition;
+import spark.effects.IViewTransition;
 import spark.events.IndexChangeEvent;
 import spark.layouts.supportClasses.LayoutBase;

@@ -150,6 +149,12 @@

     [SkinPart(required="false")]
     public var actionBar:ActionBar;
+
+    [SkinPart(required="false")]
+    public var defaultPushTransition:IViewTransition;
+
+    [SkinPart(required="false")]
+    public var defaultPopTransition:IViewTransition;

     //--------------------------------------------------------------------------
     //
@@ -196,7 +201,7 @@
     /**
      *
      */
-    private var pendingViewTransition:ViewTransition = null;
+    private var pendingViewTransition:IViewTransition = null;

     /**
      *
@@ -240,11 +245,6 @@
     }

     private var viewChanging:Boolean = false;
-
-    //----------------------------------
-    //  transitionsEnabled
-    //----------------------------------
-    mx_internal var transitionsEnabled:Boolean = true;

     //--------------------------------------------------------------------------
     //
@@ -445,20 +445,58 @@
             invalidateProperties();
     }

+    //----------------------------------
+    //  transitionsEnabled
+    //----------------------------------
+    private var _transitionsEnabled:Boolean = true;
+
+    public function get transitionsEnabled():Boolean
+    {
+        return _transitionsEnabled;
+    }
+
+    /**
+     *  @private
+     */
+    public function set transitionsEnabled(value:Boolean):void
+    {
+        _transitionsEnabled = value;
+    }
+
+    //----------------------------------
+    //  useDefaultTransitions
+    //----------------------------------
+    private var _useDefaultTransitions:Boolean = true;
+
+    public function get useDefaultTransitions():Boolean
+    {
+        return _useDefaultTransitions;
+    }
+
+    /**
+     *  @private
+     */
+    public function set useDefaultTransitions(value:Boolean):void
+    {
+        _useDefaultTransitions = value;
+    }
+
     //--------------------------------------------------------------------------
     //
     // Public Methods
     //
     //--------------------------------------------------------------------------

-    public function popAll(transition:ViewTransition = null):void
+    public function popAll(transition:IViewTransition = null):void
     {
         if (currentSection.length == 0 || !canRemoveCurrentView())
             return;

         lastAction = POP_ACTION;
-        pendingViewTransition = transition ? transition :
-            new SlideViewTransition(400, SlideViewTransition.SLIDE_RIGHT);
+
+        pendingViewTransition = transition;
+        if (pendingViewTransition == null && useDefaultTransitions)
+            pendingViewTransition = defaultPopTransition;

         currentSection.clear();

@@ -473,14 +511,16 @@
         }
     }

-    public function popView(transition:ViewTransition = null):void
+    public function popView(transition:IViewTransition = null):void
     {
         if (currentSection.length == 0 || !canRemoveCurrentView())
             return;

         lastAction = POP_ACTION;
-        pendingViewTransition = transition ? transition :
-            new SlideViewTransition(400, SlideViewTransition.SLIDE_RIGHT);
+
+        pendingViewTransition = transition;
+        if (pendingViewTransition == null && useDefaultTransitions)
+            pendingViewTransition = defaultPopTransition;

         currentSection.pop();

@@ -495,16 +535,18 @@
         }
     }

-    public function popToRoot(transition:ViewTransition = null):void
+    public function popToFirstView(transition:IViewTransition = null):void
     {
         if (currentSection.length < 2 || !canRemoveCurrentView())
             return;

         lastAction = POP_ACTION;
-        pendingViewTransition = transition ? transition :
-            new SlideViewTransition(400, SlideViewTransition.SLIDE_RIGHT);
-
-        currentSection.popToRoot();
+
+        pendingViewTransition = transition;
+        if (pendingViewTransition == null && useDefaultTransitions)
+            pendingViewTransition = defaultPopTransition;
+
+        currentSection.popToFirstView();

         if (viewChanging)
         {
@@ -519,15 +561,16 @@

     public function pushView(viewFactory:Class,
                              initializationData:Object = null,
-                             transition:ViewTransition = null):void
+                             transition:IViewTransition = null):void
     {
         if (!canRemoveCurrentView())
             return;

         lastAction = PUSH_ACTION;

-        pendingViewTransition = transition ? transition :
-            new SlideViewTransition(400, SlideViewTransition.SLIDE_LEFT);
+        pendingViewTransition = transition;
+        if (pendingViewTransition == null && useDefaultTransitions)
+            pendingViewTransition = defaultPushTransition;

         currentSection.push(viewFactory, initializationData);
         currentViewChanged = true;
@@ -850,6 +893,7 @@
         if (currentSection && currentSection.length == 0)
             currentSection.push(currentSection.firstView, currentSection.firstViewData);

+        pendingViewTransition = null;
         return true;
     }

@@ -1002,7 +1046,7 @@
             currentViewData.persistedData = currentViewData.instance.getPersistenceData();
     }

-    protected function viewAdded(transition:ViewTransition = null):void
+    protected function viewAdded(transition:IViewTransition = null):void
     {
         var currentView:View;
         var pendingView:View;
@@ -1065,7 +1109,7 @@

     protected function transitionComplete(event:Event):void
     {
-        ViewTransition(event.target).removeEventListener(Event.COMPLETE, transitionComplete);
+        IViewTransition(event.target).removeEventListener(Event.COMPLETE, transitionComplete);

         // Notify listeners that a new view has been successfully added to the stage
         if (hasEventListener("transitionEnd"))


Transferred from the Adobe Open Source Subversion Repository

Revision: 18602
Author:   chiedozi@adobe.com
Date:     2010-11-16T01:12:30.896435Z

Log Message:
-----------
The navigator skinpart is now bindable on MobileApplication and TabbedMobileApplicaiton
ViewNavigator.length is now bindable
ViewNavigator now ignores push and replace operations that don't provide a view factory class

QE notes:
Doc notes:
Bugs: SDK-28531
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/MobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedMobileApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/MobileApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -518,6 +518,7 @@
     //  length
     //----------------------------------

+   [Bindable("lengthChanged")]
     /**
      *  Returns the number of views being managed by the navigator.
      */
@@ -1143,6 +1144,14 @@
                                     context:Object = null,
                                     transition:ViewTransition = null):void
     {
+        // ViewNavigator does not allow a push or replace operation to occur
+        // without the viewClass factory object defined.
+        if (action == ViewNavigatorAction.PUSH || action == ViewNavigatorAction.REPLACE)
+        {
+            if (!viewClass)
+                return;
+        }
+
         // If the action queue doesn't exist, create it
         if (delayedNavigationActions.length == 0)
         {
@@ -1761,12 +1770,6 @@
             // before the next render
             callLater(viewAdded, [(transitionsEnabled ? pendingViewTransition : null)]);
         }
-        else
-        {
-            // Cancel operation if the viewClass class is null
-            viewChangeRequested = false;
-            navigatorActionCommitted();
-        }

         pendingViewTransition = null;
     }
@@ -1971,6 +1974,11 @@
             // Give the transition a chance to prepare before the view updates
             transition.captureStartValues();
         }
+
+        // This event is dispatched here to allow developers to incorporate
+        // length specific changes into the view navigator transitions
+        if (hasEventListener("lengthChanged"))
+	        dispatchEvent(new Event("lengthChanged"));

         // Invalidate the actionBar properties
         if (actionBar)


Transferred from the Adobe Open Source Subversion Repository

Revision: 18880
Author:   tkraikit@adobe.com
Date:     2010-11-30T23:22:18.931945Z

Log Message:
-----------
HSliderSkin for mobile: 240ppi and 160ppi implementations.

See https://zerowing.corp.adobe.com/display/xdplatform/Slider for XD spec.

QE notes: "disabled" state still requires work -- awaiting XD input
Doc notes: n/a
Bugs: n/a
Reviewer: Jason Szeto and Jason San Jose
Tests run: checkintests, mustella(cyclone)
Is noteworthy for integration: n/a

Modified Paths:
--------------
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/HSliderThumb_pressed.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/HSliderTrack.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/HSliderThumb_pressed.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/HSliderTrack.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/HSliderThumb_normal.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/HSliderThumb_normal.fxg</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as
@@ -0,0 +1,268 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.skins.mobile
+{
+import flash.display.DisplayObject;
+import flash.display.Graphics;
+
+import spark.components.Button;
+import spark.skins.mobile.supportClasses.MobileSkin;
+import spark.skins.mobile160.assets.HSliderTrack;
+import spark.skins.mobile240.assets.HSliderTrack;
+
+/**
+ *  Actionscript based skin for the HSlider track skin part on mobile applications.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+ */
+public class HSliderTrackSkin extends MobileSkin
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     *
+     */
+	public function HSliderTrackSkin()
+	{
+		super();
+
+        useChromeColor = true;
+
+        // set the right assets and dimensions to use based on the screen density
+        switch (targetDensity)
+        {
+            case MobileSkin.PPI240:
+            {
+                trackWidth = 240;
+                trackHeight = 65;
+
+                trackClass = spark.skins.mobile240.assets.HSliderTrack;
+
+                visibleTrackRectLeft = 10;
+                visibleTrackRectRight = 11;
+                visibleTrackRectTop = 26;
+                visibleTrackRectHeight = 13;
+                visibleTrackEllipseHeight = 13;
+                visibleTrackEllipseWidth = 13;
+
+                break;
+            }
+            default:
+            {
+                // default PPI160
+                trackWidth = 160;
+                trackHeight = 40;
+
+                trackClass = spark.skins.mobile160.assets.HSliderTrack;
+
+                visibleTrackRectLeft = 5;
+                visibleTrackRectRight = 5;
+                visibleTrackRectTop = 16;
+                visibleTrackRectHeight = 9;
+                visibleTrackEllipseHeight = 9;
+                visibleTrackEllipseWidth = 9;
+
+                break;
+            }
+        }
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
+	public var hostComponent:Button;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Specifies the FXG class to use for the track image
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected var trackClass:Class;
+
+    /**
+     *  Specifies the DisplayObject for the track image
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected var trackSkin:DisplayObject;
+
+    /**
+     *  Specifies the track image width
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected var trackWidth:int;
+
+    /**
+     *  Specifies the track image height
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    protected var trackHeight:int;
+
+    /**
+     *  Specifies the distance of the actual visible track from the left
+     *  of the track image
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackRectLeft:int;
+
+    /**
+     *  Specifies the distance of the actual visible track from the right
+     *  of the track image
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackRectRight:int;
+
+    /**
+     *  Specifies the distance of the actual visible track from the top
+     *  of the track image
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackRectTop:int;
+
+    /**
+     *  Specifies the actual visible track Rect height
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackRectHeight:int;
+
+    /**
+     *  Specifies the actual visible track Ellipse height (i.e. the
+     *  ellipse which provides the rounded ends of the track)
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackEllipseHeight:int;
+
+    /**
+     *  Specifies the actual visible track Ellipse width (i.e. the
+     *  ellipse which provides the rounded ends of the track)
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    private var visibleTrackEllipseWidth:int;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+	override protected function createChildren():void
+	{
+		trackSkin = new trackClass();
+		addChild(trackSkin);
+	}
+
+    /**
+     *  @private
+     */
+	override protected function measure():void
+	{
+		measuredWidth = trackWidth;
+		measuredHeight = trackHeight;
+	}
+
+    /**
+     *  @private
+     */
+	override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
+	{
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+		resizeElement(trackSkin, unscaledWidth, unscaledHeight);
+		positionElement(trackSkin, 0, 0);
+	}
+
+    /**
+     *  @private
+     */
+    override protected function drawChromeColor(chromeColorGraphics:Graphics, unscaledWidth:Number, unscaledHeight:Number):void
+    {
+        // calculate the track Y location: the visible track is vertically centered as height grows
+        var trackY:int = Math.max(visibleTrackRectTop, Math.round(visibleTrackRectTop / trackHeight * unscaledHeight));
+
+        // calculated track width: excludes gaps on the left and right
+        var trackWidth:int = unscaledWidth - visibleTrackRectLeft - visibleTrackRectRight;
+
+        // draw the round rect
+        var chromeColor:uint = getChromeColor();
+        chromeColorGraphics.beginFill(chromeColor, 1);
+        chromeColorGraphics.drawRoundRect(visibleTrackRectLeft, trackY,
+                                          trackWidth, visibleTrackRectHeight,
+                                          visibleTrackEllipseWidth, visibleTrackEllipseHeight);
+        chromeColorGraphics.endFill();
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5545
Author:   jimurphy@adobe.com
Date:     2009-03-25T19:00:52.330680Z

Log Message:
-----------
1st pass of rename according to the spec http://opensource.adobe.com/wiki/display/flexsdk/Dropping+the+Fx+Prefix

Flex now requires CSS Style declarations to declare @namespace rules and disambiguate between halo and spark components using CSS 3 namespace prefixes on type selectors. At compile time, this namespace information will be used to map type names to qualified ActionScript class names. At runtime, type selectors are matched on qualified ActionScript class name (for example mx.controls.Button rather than just Button). Flex 3 applications must be compiled with -compatibility-version=3.0.0 to get unqualified CSS type selector behavior.

QE: Yes, this build may help in updating test cases to use the new namespaces and class names.
Dev: Not yet
Doc: Not yet

Modified Paths:
--------------
748 paths were modified

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -1,4 +1,4 @@
-package mx.components.baseClasses
+package spark.components.supportClasses
 {

 import __AS3__.vec.Vector;
@@ -14,11 +14,11 @@
 import mx.collections.ICollectionView;
 import mx.collections.IList;
 import mx.collections.ListCollectionView;
-import mx.components.ResizeMode;
+import spark.components.ResizeMode;
 import mx.controls.Label;
 import mx.core.IFactory;
 import mx.core.ILayoutElement;
-import mx.core.IViewport;
+import spark.core.IViewport;
 import mx.core.IVisualElement;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
@@ -26,10 +26,10 @@
 import mx.events.FlexEvent;
 import mx.events.PropertyChangeEvent;
 import mx.events.PropertyChangeEventKind;
-import mx.events.RendererExistenceEvent;
-import mx.graphics.MaskType;
-import mx.layout.BasicLayout;
-import mx.layout.LayoutBase;
+import spark.events.RendererExistenceEvent;
+import spark.core.MaskType;
+import spark.layout.BasicLayout;
+import spark.layout.supportClasses.LayoutBase;
 import mx.utils.MatrixUtil;

 use namespace mx_internal;
@@ -105,7 +105,7 @@
 [Style(name="rollOverColor", type="uint", format="Color", inherit="yes")]

 /**
- *  Color of any symbol of a component. Examples include the check mark of a FxCheckBox or
+ *  Color of any symbol of a component. Examples include the check mark of a CheckBox or
  *  the arrow of a FxScrollButton
  *
  *  @default 0x000000


Transferred from the Adobe Open Source Subversion Repository

Revision: 6290
Author:   chaase@adobe.com
Date:     2009-04-27T18:42:18.522446Z

Log Message:
-----------
Added animation behavior to scrollbars and sliders. For now, animation only happens based on mouse events (key events still have previous non-animated behavior).
Also, added shift-click behavior to ScrollBar, behaves essentially like a Slider, going to the clicked location instead of paging toward it.
Finally, fixed an unrelated bug in Animation where Animates set up with a MotionPath with no time=0 keyframe would not run properly.

These changes necessitate changes in Mustella (need to listen to 'change' event on scrollbars/sliders, not 'updateComplete' or 'click', since the animations may cause several valid 'updateComplete' events on the way to the final changed value.

QE Notes: Mustella changes in ScrollBar and Slider necessary. See note above. Changes have been made and are awaiting this checkin to update Mustella tests.
Doc Notes: None
Bugs:
Reviewer: Hans and Glenn (scrolling/sliding changes), Jason (Animation bug changes)
tests: checkintests, Mustella ScrollBar, Slider, Scroller (all required minor changes to pass)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/flex4/flex4test_testScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/AnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/ScrollbarFrenzy.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -51,6 +51,30 @@
  *  @productversion Flex 4
  */
 [SkinState("disabled")]
+
+/**
+ *  Duration in milliseconds for a sliding animation
+ *  when you click on the track to move a thumb. This style is
+ *  used for both Sliders and Scrollbars. For Sliders, any click
+ *  on the track will cause an animation using this style, as the thumb
+ *  will move to the clicked position. For ScrollBars, this style is
+ *  used only when shift-clicking on the track, which causes the thumb
+ *  to move to the clicked position. Clicking on a ScrollBar track when
+ *  the shift key is not pressed will result in paging behavior instead.
+ *  The smoothScrolling style must also be set on the
+ *  ScrollBar to get animated behavior when shift-clicking.
+ *
+ *
This time is for an animation that covers the entire distance of the
+ * track; smaller distances will use a proportionally smaller duration.

+ *
+ *  @default 300
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="slideDuration", type="Number", format="Time", inherit="no")]

 /**
  *  The TrackBase class is a base class for components with a track
@@ -350,6 +374,19 @@
     /**
      *  @private
      */
+    override public function step(increase:Boolean = true):void
+    {
+        var prevValue:Number = this.value;
+
+        super.step(increase);
+
+        if (value != prevValue)
+            dispatchEvent(new Event("change"));
+    }
+
+    /**
+     *  @private
+     */
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
     {


Update M3U8PlaylistParser.as

Update M3U8PlaylistParser.as

Relative to absolute path - moved to org.denivip.osmf.utility.Url

--- HLSPlugin/src/org/denivip/osmf/elements/m3u8Classes/M3U8PlaylistParser.as
+++ HLSPlugin/src/org/denivip/osmf/elements/m3u8Classes/M3U8PlaylistParser.as
@@ -3,6 +3,7 @@
 	import flash.events.EventDispatcher;

 	import org.denivip.osmf.net.HLSDynamicStreamingResource;
+	import org.denivip.osmf.utility.Url;
 	import org.osmf.events.ParseEvent;
 	import org.osmf.logging.Log;
 	import org.osmf.logging.Logger;
@@ -138,9 +139,12 @@
 					tempStreamingRes = baseResource as StreamingURLResource;
 					if(tempStreamingRes){
 						// var url:String = (lines[i].search(/(ftp|file|https?):\/\//) == 0) ?  lines[i] : rateItem.url.substr(0, rateItem.url.lastIndexOf('/')+1) + lines[i];
+						/*
 						var url:String = (tempDynamicRes.streamItems[0].streamName.search(/(ftp|file|https?):\/\//) == 0)
 							? tempDynamicRes.streamItems[0].streamName
 							: tempDynamicRes.host.substr(0, tempDynamicRes.host.lastIndexOf('/')+1) + tempDynamicRes.streamItems[0].streamName;
+						*/
+						var url:String = Url.absolute(tempDynamicRes.host, tempDynamicRes.streamItems[0].streamName);
 						result = new StreamingURLResource(
 							url,
 							tempStreamingRes.streamType,
@@ -200,4 +204,4 @@
 			private var logger:Logger = Log.getLogger("org.denivip.osmf.elements.m3u8Classes.M3U8PlaylistParser");
 		}
 	}
-}+}


transfer

transfer

git-svn-id: 5c313c7b604ce6bf72d7224b35e7462ee01c5e2b@253 7a690eda-67ec-4556-b061-4c86d960b817

--- exe/SWAgent/src/ascript.as
+++ exe/SWAgent/src/ascript.as
@@ -32,8 +32,8 @@
 public function init():void
 {
 	this.readMD5();
+	this.checkMD5OnDir('structure');
 	this.checkMD5OnDir('media');
-	this.checkMD5OnDir('structure');
 }

 private function checkMD5OnDir(dir:String):void
@@ -42,27 +42,28 @@
 	var dirNodes:Array = MD5_dir.getDirectoryListing();
 	for (var i:uint=0;i<dirNodes.length;i++)
 	{
-		this.log('In '+dir+' we found '+dirNodes[i].name);
+		var _file:File = MD5_dir.resolvePath(dirNodes[i].name);
+		var _fileMD5:String = this.getFileMD5(_file);
+		log ("MD5 for " + _file.nativePath + ": " + _fileMD5 );
+		//this.log('In '+dir+' we found '+_file.nativePath+'. MD5: '+this.getFileMD5(_file));
 	}
 }

 public function getFileMD5(file:File):String
 {
-	trace ("Calculating MD5 from " + file.nativePath);
-	var md5hash:String = '';
+	var md5hash:String = 'foo';

 	var fileStream:FileStream = new FileStream();
 	try {
 		fileStream.open(file, FileMode.READ);
-		var fileBytes:ByteArray;
+		var fileBytes:ByteArray = new ByteArray();
 		fileStream.readBytes( fileBytes );
 		md5hash = MD5.hashBinary(fileBytes);
 		fileStream.close();
 	}
 	catch(errObject:Error) {
-		Alert.show("Please make sure You have data file available at \n"+file.nativePath,
-		"Missing data file",4,null,NativeApplication.nativeApplication.exit);
-		Application.application.exit();
+		trace(errObject.toString()+
+		"Problem with \n"+file.nativePath);
 	}
 	return md5hash;
 }


fixed possible null pointer error

fixed possible null pointer error

Change-Id: Ib410ab1a571c835f9c86083829fe450b419e0095

--- WeaveData/src/weave/data/BinningDefinitions/CustomSplitBinningDefinition.as
+++ WeaveData/src/weave/data/BinningDefinitions/CustomSplitBinningDefinition.as
@@ -68,7 +68,7 @@
 				nonWrapperColumn = (nonWrapperColumn as IColumnWrapper).getInternalColumn();

 			var i:int;
-			var values:Array = splitValues.value.split(',');
+			var values:Array = String(splitValues.value || '').split(',');
 			// remove bad values
 			for (i = values.length; i--;)
 			{


Transferred from the Adobe Open Source Subversion Repository

Revision: 19337
Author:   mhorn@adobe.com
Date:     2010-12-13T22:01:27.841985Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.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/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.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/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
@@ -30,7 +30,7 @@
 import spark.transitions.ViewTransitionBase;

 /**
- *  The ActionScript based skin for view navigators in mobile
+ *  The ActionScript-based skin for view navigators in mobile
  *  applications.  This skin lays out the action bar and content
  *  group in a vertical fashion, where the action bar is on top.
  *  This skin also supports navigator overlay modes.
@@ -81,6 +81,9 @@
     //
     //--------------------------------------------------------------------------
     // TODO (chiedozi): ASDOC
+    /**
+     *  @copy spark.skins.spark.ApplicationSkin#hostComponent
+     */
     public var hostComponent:ViewNavigator;

     //--------------------------------------------------------------------------
@@ -96,7 +99,7 @@
     {
         contentGroup = new Group();
         contentGroup.id = "contentGroup";
-
+
         actionBar = new ActionBar();
         actionBar.id = "actionBar";

@@ -120,7 +123,7 @@
             invalidateDisplayList();
         }
     }
-
+
     /**
      *  @private
      */
@@ -217,13 +220,13 @@

             // The content group is placed below the actionBar and spans the
             // remaining space of the navigator.
-    		if (contentGroup.includeInLayout)
-    		{
-    			var contentGroupHeight:Number = Math.max(unscaledHeight - actionBarHeight, 0);
-
+            if (contentGroup.includeInLayout)
+            {
+                var contentGroupHeight:Number = Math.max(unscaledHeight - actionBarHeight, 0);
+
                 contentGroup.setLayoutBoundsSize(unscaledWidth, contentGroupHeight);
                 contentGroup.setLayoutBoundsPosition(0, actionBarHeight);
-    		}
+            }
         }
     }
 }


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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 12368
Author:   dsubrama@adobe.com
Date:     2009-12-02T16:37:28.078960Z

Log Message:
-----------
Rename spark.components.supportClasses.Slider to spark.components.supportClasses.SliderBase as well as spark.components.supportClasses.ScrollBar to spark.components.supportClasses.ScrollBarBase. This means the spark manifest entries have also changed (for CSS styling purposes, not for use as mxml tags) (Slider -> SliderBase, ScrollBar -> ScrollBarBase).

Change is PARB approved.

QE notes: Please check-in the updated tests
Doc notes: ASDoc has been updated. If any updates need to happen in livedocs, please do so.
Bugs: SDK-24401
Reviewer: Ryan/Jason
Tests run: Jacob ran a cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as" copyfrom-rev="12283" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderAccImpl.as" copyfrom-rev="12283" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderBaseAccImpl.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as" copyfrom-rev="12283" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderAccImpl.as</path>
<path kind="file" action="D">/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/ScrollerLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/components/CircularScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -88,24 +88,24 @@
 //  Other metadata
 //--------------------------------------

-[AccessibilityClass(implementation="spark.accessibility.SliderAccImpl")]
+[AccessibilityClass(implementation="spark.accessibility.SliderBaseAccImpl")]

 /**
- *  The Slider class lets users select a value by moving a slider thumb between
+ *  The SliderBase class lets users select a value by moving a slider thumb between
  *  the end points of the slider track.
  *  The current value of the slider is determined by the relative location of
  *  the thumb between the end points of the slider,
  *  corresponding to the slider's minimum and maximum values.
  *
- *  The Slider class is a base class for HSlider and VSlider.
+ *  The SliderBase class is a base class for HSlider and VSlider.
  *
  *  @mxml
  *
- *
The <s:Slider> tag inherits all of the tag
+ *
The <s:SliderBase> tag inherits all of the tag
  *  attributes of its superclass and adds the following tag attributes:

  *
  *

- *  <s:Slider
+ *  <s:SliderBase
  *    Properties
  *    dataTipFormatFunction="20"
  *    dataTipPrecision="2"
@@ -155,7 +155,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class Slider extends TrackBase implements IFocusManagerComponent
+public class SliderBase extends TrackBase implements IFocusManagerComponent
 {
     include "../../core/Version.as";

@@ -167,7 +167,7 @@

     /**
      *  @private
-     *  Placeholder for mixin by SliderAccImpl.
+     *  Placeholder for mixin by SliderBaseAccImpl.
      */
     mx_internal static var createAccessibilityImplementation:Function;

@@ -185,7 +185,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function Slider():void
+    public function SliderBase():void
     {
         super();

@@ -311,7 +311,7 @@
      *
      *
The following example prefixes the data tip text with a dollar sign and
      *  formats the text using the dataTipPrecision
-     *  of a Slider Control named 'slide':

+     *  of a SliderBase Control named 'slide':

      *
      *

      *  import mx.formatters.NumberBase;
@@ -436,8 +436,8 @@
      */
     override protected function initializeAccessibility():void
     {
-        if (Slider.createAccessibilityImplementation != null)
-            Slider.createAccessibilityImplementation(this);
+        if (SliderBase.createAccessibilityImplementation != null)
+            SliderBase.createAccessibilityImplementation(this);
     }

     /**
@@ -447,7 +447,7 @@
     {
         super.partAdded(partName, instance);

-        // Prevent focus on our children so that focus remains with the Slider
+        // Prevent focus on our children so that focus remains with the SliderBase
         if (instance == thumb)
             thumb.focusEnabled = false;
         else if (instance == track)
@@ -611,7 +611,7 @@

             var tipAsUIComponent:UIComponent = dataTipInstance as UIComponent;

-            // Allow styles to be inherited from Slider.
+            // Allow styles to be inherited from SliderBase.
             if (tipAsUIComponent)
             {
                 tipAsUIComponent.owner = this;


StreamBuffer: fix set nextLevel()

StreamBuffer: fix set nextLevel()

it was sometimes flushing tags from current playing fragment
clean up next fragment tag flushing logic
related to https://github.com/mangui/flashls/issues/436

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -48,6 +48,7 @@
         private var _fragAltAudioLevel : int, _fragAltAudioSN : int;
         private var _fragAltAudioInitialContinuity : int,_fragAltAudioInitialStartPosition : Number,_fragAltAudioInitialPTS : Number;
         private var _fragMainIdx : uint,  _fragAltAudioIdx : uint;
+        private var _filteringStartIdx : uint;
         /** playlist duration **/
         private var _playlistDuration : Number = 0;
         /** requested start position (absolute position) **/
@@ -499,16 +500,6 @@
             }
         };

-        // remove tags coming from main fragment loader, only keep tags coming from alt audio frag loader
-        private function filterMainFragmentTags(tags : Vector.<FLVData>, startIndex : int) : void {
-            for (var i : int = startIndex; i < tags.length; i++) {
-                if(tags[i].loaderType == HLSLoaderTypes.FRAGMENT_MAIN) {
-                    // splice FLV tag from main fragment loader
-                    tags.splice(i,1);
-                }
-            }
-        }
-
         /*  set quality level for next loaded fragment (-1 for automatic level selection) */
         public function set nextLevel(level : int) : void {
             CONFIG::LOGGING {
@@ -522,8 +513,8 @@

                 //find idx for next tag not matching with _fragMainLevelNetStream/_fragMainSNNetStream
                 for(var i : int = _videoIdx; i < _videoTags.length ; i++) {
-                    var tagData : FLVData = _videoTags[_videoIdx];
-                    if(tagData.fragLevel != _fragMainSNNetStream ||tagData.fragSN != _fragMainLevelNetStream) {
+                    var tagData : FLVData = _videoTags[i];
+                    if(tagData.fragLevel != _fragMainLevelNetStream ||tagData.fragSN != _fragMainSNNetStream) {
                         CONFIG::LOGGING {
                             Log.debug("first video FLV tag from next frag is @ " + i + " of [" + _videoIdx + "," + (_videoTags.length-1) + "]");
                         }
@@ -535,21 +526,17 @@
                             CONFIG::LOGGING {
                                 Log.debug("StreamBuffer:lastFrag defined, flush buffer and seekFromLastFrag");
                             }
-                            // flush all video tags not injected into NetStream
-                            _videoTags.splice(_videoIdx, _videoTags.length-_videoIdx);
-
-                            // if we are not using alt audio, we can flush all other "not buffered" tags as well
-                            if(_useAltAudio == false) {
-                                _audioTags.splice(_audioIdx, _audioTags.length-_audioIdx);
-                                _headerTags.splice(_headerIdx, _headerTags.length-_headerIdx);
-                                _metaTags.splice(_metaIdx, _metaTags.length-_metaIdx);
-                            } else {
-                                // we keep audio tags, no need to flush them
-                                // keep alt audio header tags located after _headerIdx
-                                filterMainFragmentTags(_headerTags,_headerIdx);
-                                // keep alt audio metadata located after _metaIdx
-                                filterMainFragmentTags(_metaTags,_metaIdx);
-                            }
+                            // flush all video tags not injected into NetStream, from next fragment onwards
+                            _videoTags.splice(i, _videoTags.length-i);
+                            // flush all audio tags from next main fragment onwards
+                            _filteringStartIdx = _audioIdx;
+                            _audioTags = _audioTags.filter(filternextFragments);
+                            // flush all header tags from next main fragment onwards
+                            _filteringStartIdx = _headerIdx;
+                            _headerTags = _headerTags.filter(filternextFragments);
+                            // flush all metadata tags from next main fragment onwards
+                            _filteringStartIdx = _metaIdx;
+                            _metaTags = _metaTags.filter(filternextFragments);
                             // stop any load in progress ...
                             _fragmentLoader.stop();
                             // seek position is out of buffer : load after fragment
@@ -563,6 +550,16 @@
                 }
             }
         };
+
+        private function filternextFragments(item : FLVData, index : int, vector : Vector.<FLVData>) : Boolean {
+            // keep if return true
+            // we want to keep only if alt audio loader OR
+            // index less than start filtering index (i.e. we want to keep backbuffer) OR
+            // matching with current fragment appended tags
+            return (item.loaderType == HLSLoaderTypes.FRAGMENT_ALTAUDIO ||
+                                   index < _filteringStartIdx ||
+                                   (item.fragLevel == _fragMainLevelNetStream &&  item.fragSN == _fragMainSNNetStream));
+        }

         /**  StreamBuffer Timer, responsible of
          * reporting media time event


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

--- frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
+++ frameworks/projects/framework/src/mx/accessibility/UIComponentAccProps.as
@@ -27,6 +27,11 @@
  *  UIComponentAccProps is a subclass of AccessibilityProperties
  *  for use by various UIComponents.
  *  It is used to provide accessibility to Form, ToolTip, and Error ToolTip.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class UIComponentAccProps extends AccessibilityProperties
 {
@@ -46,6 +51,11 @@
 	 *  Afterwards, when instances of UIComponent are initialized,
 	 *  their accessibilityProperties property
 	 *  will be set to an instance of this class.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function enableAccessibility():void
     {
@@ -77,6 +87,11 @@
      *
      *  @param master The UIComponent instance that this
      *  AccessibilityProperties instance is making accessible.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function UIComponentAccProps(component:UIComponent)
     {
@@ -163,6 +178,11 @@

     /**
      *  A reference to the UIComponent itself.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var master:UIComponent;

@@ -176,6 +196,11 @@
      *  Generic event handler.
      *  All UIComponentAccProps subclasses must implement this
      *  to listen for events from its master component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function eventHandler(event:Event):void
     {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21504
Author:   aaltman@adobe.com
Date:     2011-06-30T16:58:51.113669Z

Log Message:
-----------
Initial checkin of StageText-based skins for mobile TextInput and TextArea. New default skins have not been changed yet. Skins use native text controls on Android and iOS devices.

QE notes: Padding isn't correct yet. Skins do not yet work on iOS because of runtime bug 2906305.
Doc notes:
Bugs:
Reviewer: Carol Frampton, Jason Szeto, Alex Harui
Tests run: Checkin tests, focusManager tests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableStageText.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/StageTextSkinBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/StageTextInputSkin.as</path>

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

--- frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as
+++ frameworks/projects/mobilecomponents/src/MobileComponentsClasses.as
@@ -24,7 +24,8 @@
  *  but ButtonSkin needs to be in framework.swc along with Button.
  */
     import spark.preloaders.SplashScreen; SplashScreen;
+    import spark.components.supportClasses.StyleableStageText; StyleableStageText;
     import spark.components.supportClasses.StyleableTextField; StyleableTextField;
     import spark.components.ActionBarDefaultButtonAppearance; ActionBarDefaultButtonAppearance;
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 19940
Author:   chiedozi@adobe.com
Date:     2011-01-25T22:15:05.923796Z

Log Message:
-----------
Removing Flash @playerversion tags from ASDocs for ViewNavigator components

QE notes:
Doc notes:
Bugs: SDK-29208
Reviewer: Ryan
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/View.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/TabbedViewNavigatorApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewReturnObject.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorAction.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewDescriptor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/events/ViewNavigatorEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as
@@ -24,7 +24,6 @@
  *  This skin also supports navigator overlay modes.
  *
  *  @langversion 3.0
- *  @playerversion Flash 10
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
@@ -40,7 +39,6 @@
      *  Constructor.
      *
      *  @langversion 3.0
-     *  @playerversion Flash 10
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 19340
Author:   rfrishbe@adobe.com
Date:     2010-12-13T22:16:30.344119Z

Log Message:
-----------
There are a few cleanups here in Button and InteractionStateDetector when in touch interactionMode. I looked at all the places where we set hovered and mouseCaptured and made sure it did the appropriate thing while we're faking the down state if someone does a quick-tap. This included, adding code to deal with getting a rollOut while we're faking the down state.

In addition, this fixes SDK-28868 . Basically the issue is that we get an extra event (rollOut) on a touch device. However, because on rollOut, we were setting hovered = false with transitions off, this would cause a state change (to the same state, but it would do it without transitions).

I discussed this with NJ, and we decided to only not play transitions when a scroll starts (not when the down state is cancelled by rolling out).

QE notes:
Doc notes:
Bugs: SDK-28868
Reviewer: Chiedo
Tests run: checkintests, mustella Button
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/InteractionStateDetector.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as
@@ -407,6 +407,15 @@

 	/**
 	 *  @private
+	 *  When faking a mouseDown after a mouse up has occurred, if we get a rollOut
+	 *  event, we don't want to immediately set hovered = false so we can maintain
+	 *  the down state until the mouseUpDeselectTimer is finished.  So we keep track
+	 *  that a rollOut event occurred and honor it later.
+	 */
+	private var rollOutWhileFakingDownState:Boolean = false;
+
+	/**
+	 *  @private
 	 *  When there is a touchDelay and the touch interaction is complete (user mouseUp) before
 	 *  the touchDelay is over, usually the component goes in to the down state for a period
 	 *  of time to ensure the user gets visual feedback on this operation.
@@ -1166,7 +1175,10 @@
         // that you don't get one so we force one on FOCUS_OUT.
         super.focusOutHandler(event);

-        mouseCaptured = false;
+		// If faking down state, let's not interrupt it because of a focusOut
+		if (!(mouseUpDeselectTimer && mouseUpDeselectTimer.running))
+			mouseCaptured = false;
+
         keyboardPressed = false;
     }

@@ -1252,12 +1264,22 @@
                 if (mouseEvent.buttonDown && !mouseCaptured)
                     return;
                 hovered = true;
+				rollOutWhileFakingDownState = false;
                 break;
             }

             case MouseEvent.ROLL_OUT:
             {
-                hovered = false;
+				if (mouseUpDeselectTimer && mouseUpDeselectTimer.running)
+				{
+					// We're trying to flash the down state for longer,
+					// so let's not leave the hovered state just yet
+					rollOutWhileFakingDownState = true;
+				}
+				else
+				{
+					hovered = false;
+				}
                 break;
             }

@@ -1302,12 +1324,6 @@
                 {
                     hovered = true;

-                    if (mouseCaptured)
-                    {
-                        buttonReleased();
-                        mouseCaptured = false;
-                    }
-
                     if (mouseDownSelectTimer && mouseDownSelectTimer.running)
                     {
                         // We never even flashed the down state for this click operation.
@@ -1324,6 +1340,11 @@
                         mouseCaptured = true;
                         startDeselectButtonAfterDelayTimer();
                     }
+					else if (mouseCaptured)
+					{
+						buttonReleased();
+						mouseCaptured = false;
+					}
                 }
                 break;
             }
@@ -1371,7 +1392,10 @@
         if (event.target == this)
             return;

-        mouseCaptured = false;
+		// If faking down state, let's not interrupt it because of a mouseUp somewhere
+		// else on the screen
+		if (!(mouseUpDeselectTimer && mouseUpDeselectTimer.running))
+       		mouseCaptured = false;

         // If the mouseDownSelectTimer is still running,
         // we don't want to ever go in to the down state in this case, so stop it
@@ -1414,7 +1438,15 @@
     private function mouseUpDeselectTimer_timerCompleteHandler(event:TimerEvent = null):void
     {
         buttonReleased();
-        mouseCaptured = false;
+
+		mouseCaptured = false;
+
+		// if we got a rollout, we should honor it now
+		if (rollOutWhileFakingDownState)
+		{
+			rollOutWhileFakingDownState = false;
+			hovered = false;
+		}
     }

     /**


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

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

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3729
Author:   hmuller@adobe.com
Date:     2008-10-17T22:47:54.401015Z

Log Message:
-----------
Fixed 16019

Excluded the enabled property from GroupBase.   Support should be
added in I9 and we'll remove the exclusion then.

QE: NO
Doc: No
Checkintests: Pass
Reviewer: Ryan
Bugs:
    SDK-16019 -  Group should either support 'enabled' or use [Exclude] metadata to indicate no support

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -47,6 +47,8 @@
 include "../../styles/metadata/AdvancedParagraphFormatTextStyles.as"
 include "../../styles/metadata/BasicCharacterFormatTextStyles.as"
 include "../../styles/metadata/AdvancedCharacterFormatTextStyles.as"
+
+[Exclude(name="enabled", kind="property")]

 /**
  *  The GroupBase class defines the base class for components that display visual elements.


Transferred from the Adobe Open Source Subversion Repository

Revision: 16665
Author:   rfrishbe@adobe.com
Date:     2010-06-24T22:40:15.397962Z

Log Message:
-----------
Initial checkin for touch-enabled Lists.  This has not been code reviewed or spec-approved.  There will be lots of changes that will occur with this, but this will allow people to easily create touch-enabled Lists

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/defaults.css</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/spark/src/spark/components/supportClasses/ScrollerLayout.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TouchScrollingEasing.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/TouchScrollEvent.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/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/core/IViewport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ScrollPolicy.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
@@ -655,7 +655,36 @@

         // clipAndEnableScrolling affects measured minimum size
         invalidateSize();
-    }
+    }
+
+    //----------------------------------
+    //  scrollAxis
+    //----------------------------------
+
+    private var _scrollAxis:String = "vertical";
+
+    /**
+     *  @copy spark.core.IViewport#scrollAxis
+     *
+     *  @default vertical
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.5
+     */
+    public function get scrollAxis():String
+    {
+        return _scrollAxis;
+    }
+
+    /**
+     *  @private
+     */
+    public function set scrollAxis(value:String):void
+    {
+        _scrollAxis = value;
+    }

     //----------------------------------
     //  scrollRect


Transferred from the Adobe Open Source Subversion Repository

Revision: 7411
Author:   hmuller@adobe.com
Date:     2009-05-29T12:59:57.230485Z

Log Message:
-----------
Clamp values in Range::setValue() to prevent animations (and other setValue() clients) from
inadvertantly violating the Range's constraints.   Guard against nonsense min/max values
in TrackBase::valueToPosition().

QE Notes:
Doc Notes:
Bugs: sdk-21363
Reviewer: Chet

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -513,9 +513,8 @@
     {
         var range:Number = maximum - minimum;

-        if (range == 0) // Divide by 0 error.
+        if (range <= 0) // Divide by 0 error or nonsense
             return 0;
-
         var posRange:Number = trackSize - thumbSize;
         var thumbPos:Number = (value - minimum) * (posRange / range);


Transferred from the Adobe Open Source Subversion Repository

Revision: 6699
Author:   jszeto@adobe.com
Date:     2009-05-06T22:31:10.078032Z

Log Message:
-----------
Add TrackBase click event dispatch

SDK-19318 - FxScrollBar sometimes doesn't dispatch click event when clicking in track
SDK-19320 - FxSlider doesn't dispatch click events when clicking in track

Neither Slider nor ScrollBar dispatches click events if the mouse down target is different than the mouse up target. This usually occurs if the thumb moves under the mouse after a mouseDown.

The fix is to listen for a mouseDown event and record the target. When we get a mouseUp event, if the mouseUp target is contained in the TrackBase and is not the same target as the mouseDown target, dispatch a click event. If the targets are the same, the Player will dispatch the click event.

There are a couple of differences between a mouse click event that occurs entirely on the track versus one that starts on the track and ends on the thumb. The first event’s target is the track and the event phase is BUBBLING_PHASE. The second event’s target is the TrackBase and the event phase is AT_TARGET.

QE Notes: Add tests for listening for click events on Slider and ScrollBar
Doc Notes: none
Bugs: SDK-19318, SDK-19320
Reviewer: Evtim

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -12,10 +12,13 @@
 package spark.components.supportClasses
 {

+import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.MouseEvent;
 import flash.geom.Point;
+
+import mx.events.SandboxMouseEvent;

 import spark.components.Button;
 import spark.events.TrackBaseEvent;
@@ -154,6 +157,7 @@
     public function TrackBase():void
     {
         super();
+        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
     }

     //--------------------------------------------------------------------------
@@ -200,6 +204,7 @@
     //--------------------------------------------------------------------------

     private var tempTrackSize:Number = NaN;
+	private var mouseDownTarget:DisplayObject;

     //--------------------------------------------------------------------------
     //
@@ -871,6 +876,52 @@
      *  recognize mouse clicks on the track.
      */
     protected function track_mouseDownHandler(event:MouseEvent):void {}
+
+    //---------------------------------
+    // Mouse click handlers
+    //---------------------------------
+
+    /**
+     *  @private
+     *  Capture any mouse down event and listen for a mouse up event
+     */
+    private function mouseDownHandler(event:MouseEvent):void
+	{
+		systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP,
+														system_mouseUpSomewhereHandler);
+		systemManager.getSandboxRoot().addEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE,
+														system_mouseUpSomewhereHandler);
+
+		mouseDownTarget = DisplayObject(event.target);
+	}
+
+	/**
+     *  @private
+     */
+	private function system_mouseUpSomewhereHandler(event:Event):void
+	{
+		systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP,
+														   system_mouseUpSomewhereHandler);
+		systemManager.getSandboxRoot().removeEventListener(SandboxMouseEvent.MOUSE_UP_SOMEWHERE,
+														   system_mouseUpSomewhereHandler);
+
+		// If we got a mouse down followed by a mouse up on a different target in the skin,
+		// we want to dispatch a click event.
+		if (mouseDownTarget != event.target && event is MouseEvent && contains(DisplayObject(event.target)))
+		{
+			var mEvent:MouseEvent = event as MouseEvent;
+			// Convert the mouse coordinates from the target to the TrackBase
+			var mousePoint:Point = new Point(mEvent.localX, mEvent.localY);
+			mousePoint = globalToLocal(DisplayObject(event.target).localToGlobal(mousePoint));
+
+			dispatchEvent(new MouseEvent(MouseEvent.CLICK, mEvent.bubbles, mEvent.cancelable, mousePoint.x,
+									 mousePoint.y, mEvent.relatedObject, mEvent.ctrlKey, mEvent.altKey,
+									 mEvent.shiftKey, mEvent.buttonDown, mEvent.delta));
+		}
+
+		mouseDownTarget = null;
+
+	}
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 6391
Author:   smgilson@adobe.com
Date:     2009-04-29T20:04:20.789717Z

Log Message:
-----------
ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/TextOperationEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/VideoEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/RendererExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/ElementExistenceEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -103,11 +103,11 @@
  *    autoLayout="true"
  *    clipAndEnableScrolling="false"
  *    dataProvider="null"
- *    horizontalScrollPosition"null"
+ *    horizontalScrollPosition="null"
  *    itemRenderer="null"
  *    itemRendererFunction="null"
- *    layout"VerticalLayout"
- *    typicalItem"null"
+ *    layout="VerticalLayout"
+ *    typicalItem="null"
  *    verticalScrollPosition="null"
  *
  *    Events


Transferred from the Adobe Open Source Subversion Repository

Revision: 20342
Author:   jszeto@adobe.com
Date:     2011-02-17T00:29:01.144705Z

Log Message:
-----------
TextArea Scroller bug fixes

http://bugs.adobe.com/jira/browse/SDK-29516 - TextArea does not autoscroll on edit if it's height is not specified
http://bugs.adobe.com/jira/browse/SDK-29517 - TextArea with default height unexpectedly scrolls to the top when SoftKeyboard predicted text appears

TextAreaSkin now sends events when the caret bounds have changed. Scroller listens for these events and adjusts the scroll position so that the caret is in view.

QE notes: yes, need mobile softkeyboard retesting
Doc notes: none
Bugs: SDK-29516, SDK-29517
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

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="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/events/CaretBoundsChangeEvent.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -874,6 +874,38 @@

         return new Rectangle(0,0,0,0);
     }
+
+    /**
+     *  @private
+     *  Convert the localBounds of a descendant element into the target's coordinate system
+     */
+    private function convertLocalToTarget(element:IVisualElement, elementLocalBounds:Rectangle):Rectangle
+    {
+        // use localToContent
+        if (!element)
+            return new Rectangle(0,0,0,0);
+
+        var parentUIC:UIComponent = element.parent as UIComponent;
+
+        // Note that we don't check that the element is a descendant of the target
+        // since it can be expensive to calculae.
+        if (parentUIC)
+        {
+            var g:GroupBase = target;
+            // Get the position in local coordinate
+            var posPointStart:Point = new Point(element.getLayoutBoundsX() + elementLocalBounds.x,
+                                                element.getLayoutBoundsY() + elementLocalBounds.y);
+
+            // Convert from local to global coordinate space
+            var posPoint:Point = parentUIC.localToGlobal(posPointStart);
+            // Convert from global to target's local coordinate space
+            posPoint = g.globalToLocal(posPoint);
+
+            return new Rectangle(posPoint.x, posPoint.y, elementLocalBounds.width, elementLocalBounds.height);
+        }
+
+        return new Rectangle(0,0,0,0);
+    }

     /**
      *  @private
@@ -1436,14 +1468,15 @@
      *  @param leftOffset Number of pixels to position the element to the right of the left edge.
      *  @param rightOffset Number of pixels to position the element to the left of the right edge.
      */
-    mx_internal function getScrollPositionDeltaToElementHelper(index:int, topOffset:Number = NaN,
+    mx_internal function getScrollPositionDeltaToElementHelper(index:int,
+                                                               topOffset:Number = NaN,
                                                                bottomOffset:Number = NaN,
                                                                leftOffset:Number = NaN,
                                                                rightOffset:Number = NaN):Point
     {
         var elementR:Rectangle = getElementBounds(index);
         return getScrollPositionDeltaToElementHelperHelper(
-                                                elementR,
+                                                elementR, null,
                                                 topOffset, bottomOffset,
                                                 leftOffset, rightOffset);
     }
@@ -1462,7 +1495,9 @@
      *  @param rightOffset Number of pixels to position the element to the left of the right edge.
      */
     protected function getScrollPositionDeltaToElementHelperHelper(
-                                    elementR:Rectangle, topOffset:Number = NaN,
+                                    elementR:Rectangle,
+                                    elementLocalBounds:Rectangle,
+                                    topOffset:Number = NaN,
                                     bottomOffset:Number = NaN,
                                     leftOffset:Number = NaN,
                                     rightOffset:Number = NaN):Point
@@ -1508,19 +1543,48 @@
             dx = 0;
         else if ((elementR.bottom >= scrollR.bottom) && (elementR.top <= scrollR.top))
             dy = 0;
+
+        if (elementLocalBounds)
+        {
+            // Only adjust for local bounds if the element is wider than the scroll width
+            if ((elementR.left <= scrollR.left) && (elementR.right >= scrollR.right))
+            {
+                if (elementLocalBounds.left < scrollR.left)
+                    dx = elementLocalBounds.left - scrollR.left;
+                else if (elementLocalBounds.right > scrollR.right)
+                    dx = elementLocalBounds.right - scrollR.right;
+            }
+
+            // Only adjust for local bounds if the element is taller than the scroll height
+            if ((elementR.bottom >= scrollR.bottom) && (elementR.top <= scrollR.top))
+            {
+                if (elementLocalBounds.bottom > scrollR.bottom)
+                    dy = elementLocalBounds.bottom - scrollR.bottom;
+                else if (elementLocalBounds.top <= scrollR.top)
+                    dy = elementLocalBounds.top - scrollR.top;
+            }
+        }

         return new Point(dx, dy);
     }

-    mx_internal function getScrollPositionDeltaToAnyElement(element:IVisualElement, topOffset:Number = NaN,
-                                                       bottomOffset:Number = NaN,
-                                                       leftOffset:Number = NaN,
-                                                       rightOffset:Number = NaN):Point
+    /**
+     *  @private
+     */
+    mx_internal function getScrollPositionDeltaToAnyElement(element:IVisualElement,
+                                                            elementLocalBounds:Rectangle = null,
+                                                            topOffset:Number = NaN,
+                                                            bottomOffset:Number = NaN,
+                                                            leftOffset:Number = NaN,
+                                                            rightOffset:Number = NaN):Point
     {

         var elementR:Rectangle = getChildElementBounds(element);
+
+        if (elementLocalBounds)
+            elementLocalBounds = convertLocalToTarget(element, elementLocalBounds);
         return getScrollPositionDeltaToElementHelperHelper(
-            elementR,
+            elementR, elementLocalBounds,
             topOffset, bottomOffset,
             leftOffset, rightOffset);


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

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

 package mx.skins.spark {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3972
Author:   smgilson@adobe.com
Date:     2008-10-30T20:17:56.264984Z

Log Message:
-----------
Add more @privates to match up with [ExcludeClass]

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponentGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ContainerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>

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

--- frameworks/projects/framework/src/mx/core/ContainerGlobals.as
+++ frameworks/projects/framework/src/mx/core/ContainerGlobals.as
@@ -15,6 +15,9 @@
 import flash.display.InteractiveObject;
 import mx.managers.IFocusManager;

+/**
+*  @private
+*/
 public class ContainerGlobals
 {
     /**
@@ -24,7 +27,7 @@
      */
     public static var focusedContainer:InteractiveObject;

-	/**
+    /**
      *  @private
      *  Support for defaultButton.
      */
@@ -63,7 +66,7 @@
         }

         if (ContainerGlobals.focusedContainer != currObj ||
-        	(ContainerGlobals.focusedContainer == null && currObj == null))
+            (ContainerGlobals.focusedContainer == null && currObj == null))
         {
             if (!currObj)
                 currObj = InteractiveObject(lastUIComp);
@@ -71,8 +74,8 @@
             if (currObj && currObj is IContainer)
             {
                 var fm:IFocusManager = IContainer(currObj).focusManager;
-				if (!fm)
-					return;
+                if (!fm)
+                    return;
                 var defButton:IButton = IContainer(currObj).defaultButton as IButton;
                 if (defButton)
                 {