Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -216,9 +216,9 @@
      *
      *  @see mx.components.baseClasses.TrackBase#page()
      *  @see mx.components.baseClasses.TrackBase#setValue()
-     *  @see mx.core.IViewport
-     *  @see mx.core.IViewport#horizontalScrollPosition
-     *  @see mx.core.IViewport#getHorizontalScrollPositionDelta()
+     *  @see spark.core.IViewport
+     *  @see spark.core.IViewport#horizontalScrollPosition
+     *  @see spark.core.IViewport#getHorizontalScrollPositionDelta()
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -254,9 +254,9 @@
      *
      *  @see mx.components.baseClasses.TrackBase#step()
      *  @see mx.components.baseClasses.TrackBase#setValue()
-     *  @see mx.core.IViewport
-     *  @see mx.core.IViewport#horizontalScrollPosition
-     *  @see mx.core.IViewport#getHorizontalScrollPositionDelta()
+     *  @see spark.core.IViewport
+     *  @see spark.core.IViewport#horizontalScrollPosition
+     *  @see spark.core.IViewport#getHorizontalScrollPositionDelta()
      *
      *  @langversion 3.0
      *  @playerversion Flash 10


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/effects/easing/Linear.as
+++ frameworks/projects/spark/src/spark/effects/easing/Linear.as
@@ -31,12 +31,22 @@
  * linear motion. The middle phase consists of
  * uniform motion, but the speed of that motion is determined by
  * the size of that phase relative to the overall curve.</p>
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class Linear implements IEaser
 {
     /**
      * Constructs a Linear instance with optional acceleration and
      * deceleration parameters.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function Linear(easeInFraction:Number = 0, easeOutFraction:Number = 0)
     {
@@ -48,6 +58,11 @@

     /**
      * Returns the singleton instance of Linear.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public static function getInstance():Linear
     {
@@ -59,6 +74,11 @@

     /**
      * Storage for the _easeInFraction property
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private var _easeInFraction:Number = 0;

@@ -70,6 +90,11 @@
      * linear interpolation.
      *
      * @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get easeInFraction():Number
     {
@@ -82,6 +107,11 @@

     /**
      * Storage for the _easeInFraction property
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private var _easeOutFraction:Number = 0;

@@ -93,6 +123,11 @@
      * linear interpolation.
      *
      * @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get easeOutFraction():Number
     {
@@ -120,6 +155,11 @@
      *
      * @param fraction The elapsed fraction of the animation
      * @return The eased fraction of the animation
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function ease(fraction:Number):Number
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 1968
Author:   jimurphy@adobe.com
Date:     2008-06-05T15:31:56.961691Z

Log Message:
-----------
Merge 3.0.x revisions [1940,1954] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemHistoryButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemTree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/mac/AIR Integration Kit.tbz2</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumeration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/utils/DirectoryEnumerationMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/AIREvent.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FileEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/StatusBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/in/air/win/AIR Integration Kit.zip</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/ApplicationTitleBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeMenuEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMinimizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowMaximizeButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowRestoreButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/StatusBarBackgroundSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/IWindow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FileSystemSizeDisplayMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/events/FlexNativeWindowBoundsEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/skins/halo/WindowCloseButtonSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/FlexNativeMenu.as</path>

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

--- frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
+++ frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as
@@ -24,7 +24,7 @@
  *  to return a string indicating the location of the object
  *  within the hierarchy of DisplayObjects in the application.
  *
- *  @productversion Apollo 1.0
+ *  @playerversion AIR 1.1
  */
 public class FlexHTMLLoader extends HTMLLoader implements IFocusManagerComplexComponent
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/SimpleApplication.as
+++ frameworks/projects/framework/src/mx/core/SimpleApplication.as
@@ -0,0 +1,31 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 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.core
+{
+
+import flash.display.MovieClip;
+
+[Frame(factoryClass="mx.core.FlexApplicationBootstrap")]
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  SimpleApplication is nothing other than a base class to use when
+ *  you need a trivial application bootstrapped by FlexApplicationBootstrap.
+ */
+public class SimpleApplication extends MovieClip
+{
+	include "../core/Version.as";
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 18432
Author:   dloverin@adobe.com
Date:     2010-11-03T20:02:02.380580Z

Log Message:
-----------
Initial check-in for RSL Sharing Among Modules Feature

QE notes: testable but not PARB'd
Doc notes: None.
Bugs: SDK-27917
Reviewer: Alex
Tests run: cylone server, checkintests
Is noteworthy for integration: No.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/config/ConfigurationException_en.properties</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/ApplicationDomainTarget.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/configuration_en.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/config/ConfigurationException.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/common/RuntimeSharedLibrarySettingsConfiguration.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/RSLData.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManager.as
+++ frameworks/projects/framework/src/mx/managers/SystemManager.as
@@ -50,6 +50,7 @@
 import mx.core.IInvalidating;
 import mx.core.IRawChildrenContainer;
 import mx.core.IUIComponent;
+import mx.core.RSLData;
 import mx.core.RSLItem;
 import mx.core.Singleton;
 import mx.core.mx_internal;
@@ -454,6 +455,13 @@
      */
     public var _resourceBundles:Array;

+    /**
+     *  @private
+     *  Array of RSLData objects that represent the list of RSLs this
+     *  module factory is loading.
+     */
+    private var rslDataList:Array;
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties: DisplayObject
@@ -1029,16 +1037,42 @@
     //----------------------------------

     /**
-     *  The RSLs loaded by this SystemManager before the application
-     *  starts. RSLs loaded by the application are not included in this list.
+     *  The RSLs loaded by this SystemManager or FlexModuleFactory before the
+     *  application starts. RSLs loaded by the application are not included in
+     *  this list. This dictionary may also include RSLs loaded into this
+     *  module factory's application domain by other modules or
+     *  sub-applications.
      *
      *  Information about preloadedRSLs is stored in a Dictionary. The key is
-     *  the RSL's LoaderInfo. The value is the url the RSL was loaded from.
+     *  the RSL's LoaderInfo. The value is the RSL's RSLData.
      */
     public function  get preloadedRSLs():Dictionary
     {
         // Overridden by compiler generate code.
         return null;
+    }
+
+    /**
+     *  @private
+     *  Add an RSL to the preloadedRSLs list. This method is called by child
+     *  module factories when they add load an RSL into this module factory's
+     *  application domain.
+     *
+     *  @param loaderInfo The loaderInfo of the loaded RSL.
+     *  @param rsl The rsl configuration information. An array of RSLData.
+     *  The first element in the array is the primary RSL. The remaining
+     *  elements are failover RSLs.
+     */
+    public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Array):void
+    {
+        preloadedRSLs[loaderInfo] = rsl;
+        if (hasEventListener(RSLEvent.RSL_ADD_PRELOADED))
+        {
+            var rslEvent:RSLEvent = new RSLEvent(RSLEvent.RSL_ADD_PRELOADED);
+            rslEvent.loaderInfo = loaderInfo;
+            dispatchEvent(rslEvent);
+        }
+
     }

     //----------------------------------
@@ -1897,38 +1931,28 @@
         var preloaderDisplayClass:Class = info()["preloader"] as Class;

         // Put cross-domain RSL information in the RSL list.
-        var rslList:Array = [];
+        var rslItemList:Array = [];
         var n:int;
         var i:int;
         if (cdRsls && cdRsls.length > 0)
         {
-            var parentModuleFactory:IFlexModuleFactory = null;
-            if (!isTopLevel())
-            {
-                var request:Request = new Request(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST);
-                dispatchEvent(request);
-                parentModuleFactory = request.value as IFlexModuleFactory;
-            }
+            if (isTopLevel())
+                rslDataList = cdRsls;
+            else
+                rslDataList = LoaderUtil.processRequiredRSLs(this, cdRsls);

             var normalizedURL:String = LoaderUtil.normalizeURL(this.loaderInfo);
             var crossDomainRSLItem:Class = Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
-            n = cdRsls.length;
+            n = rslDataList.length;
             for (i = 0; i < n; i++)
             {
-                var rslWithFailoverArray:Array = cdRsls[i];
-
-                if (parentModuleFactory &&
-                    LoaderUtil.getRSLLoadData(parentModuleFactory,
-                                              cdRsls[i][0]["digest"]))
-                {
-                    continue; // if the rsl is already loaded then skip loading it.
-                }
-
+                var rslWithFailovers:Array = rslDataList[i];
+
                 // If crossDomainRSLItem is null, then this is a compiler error. It should not be null.
-                var cdNode:Object = new crossDomainRSLItem(rslWithFailoverArray,
+                var cdNode:Object = new crossDomainRSLItem(rslWithFailovers,
                                                     normalizedURL,
                                                     this);
-                rslList.push(cdNode);
+                rslItemList.push(cdNode);
             }
         }

@@ -1944,7 +1968,7 @@
                 var node:RSLItem = new RSLItem(rsls[i].url,
                                                normalizedURL,
                                                this);
-                rslList.push(node);
+                rslItemList.push(node);
             }
         }

@@ -1972,7 +1996,7 @@
             isStageRoot ? stage.stageHeight : loaderInfo.height,
             null,
             null,
-            rslList,
+            rslItemList,
             resourceModuleURLs,
             domain);
     }
@@ -2565,8 +2589,18 @@
      */
     private function preloader_rslCompleteHandler(event:RSLEvent):void
     {
-        if (event.loaderInfo)
-            preloadedRSLs[event.loaderInfo] = event.url.url;
+        if (!event.isResourceModule && event.loaderInfo)
+        {
+            var rsl:Array = rslDataList[event.rslIndex];
+            var moduleFactory:IFlexModuleFactory = this;
+            if (rsl && rsl[0].moduleFactory)
+                moduleFactory = rsl[0].moduleFactory;
+
+            if (moduleFactory == this)
+                preloadedRSLs[event.loaderInfo] =  rsl;
+            else if ("addPreloadedRSL" in moduleFactory)
+                moduleFactory["addPreloadedRSL"](event.loaderInfo, rsl);
+        }
     }

     /**


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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


qnd: when looking for errors in result xml, also look for error code and error message to avoid confusion with object attribute "error"

git-svn-id: 8a2ccb88241e16c78017770bc38d91d6d5396a5a@90171 6b8eccd3-e8c5-4e7d-8186-e12b5326b719

--- generator/sources/as3/com/kaltura/delegates/WebDelegateBase.as
+++ generator/sources/as3/com/kaltura/delegates/WebDelegateBase.as
@@ -30,11 +30,11 @@
 	import com.kaltura.config.IKalturaConfig;
 	import com.kaltura.config.KalturaConfig;
 	import com.kaltura.core.KClassFactory;
+	import com.kaltura.encryption.MD5;
 	import com.kaltura.errors.KalturaError;
 	import com.kaltura.events.KalturaEvent;
 	import com.kaltura.net.KalturaCall;
-	import com.kaltura.encryption.MD5;
-
+
 	import flash.events.ErrorEvent;
 	import flash.events.Event;
 	import flash.events.EventDispatcher;
@@ -262,6 +262,12 @@

 		// Event Handlers
+
+		/**
+		 * try to process received data.
+		 * if procesing failed, let call handle the processing error
+		 * @param event load complete event
+		 */
 		protected function onDataComplete(event:Event):void {
 			try {
 				handleResult(XML(event.target.data));
@@ -275,13 +281,19 @@
 		}

+		/**
+		 * handle io or security error events from the loader.
+		 * create relevant KalturaError, let the call process it.
+		 * @param event
+		 */
 		protected function onError(event:ErrorEvent):void {
 			clean();
 			var kError:KalturaError = createKalturaError(event, loader.data);

 			if (!kError) {
+				kError = new KalturaError();
 				kError.errorMsg = event.text;
-					//kError.errorCode;
+				//kError.errorCode;
 			}

 			call.handleError(kError);
@@ -291,9 +303,9 @@

 		/**
-		* parse the server's response and let the call process it.
+		 * parse the server's response and let the call process it.
 		 * @param result  server's response
-		*/
+		 */
 		protected function handleResult(result:XML):void {
 			clean();

@@ -351,16 +363,19 @@

 		/**
-		* If the result string holds an error, return a KalturaError object with
+		 * If the result string holds an error, return a KalturaError object with
 		 * relevant values. <br/>
-		* Overide this to create validation object and fill it.
-		* @param result  the string returned from the server.
-		* @return  matching error object
+		 * Overide this to create validation object and fill it.
+		 * @param result  the string returned from the server.
+		 * @return  matching error object
 		 */
 		protected function validateKalturaResponse(result:String):KalturaError {
 			var kError:KalturaError = null;
 			var xml:XML = XML(result);
-			if (xml.result.hasOwnProperty('error')) {
+			if (xml.result.hasOwnProperty('error')
+				&& xml.result.error.hasOwnProperty('code')
+				&& xml.result.error.hasOwnProperty('message')) {
+
 				kError = new KalturaError();
 				kError.errorCode = String(xml.result.error.code);
 				kError.errorMsg = xml.result.error.message;
@@ -371,7 +386,12 @@
 		}

-		//Overide this to create error object and fill it
+		/**
+		 * create error object and fill it with relevant details
+		 * @param event
+		 * @param loaderData
+		 * @return detailed KalturaError to be processed
+		 */
 		protected function createKalturaError(event:ErrorEvent, loaderData:*):KalturaError {
 			var ke:KalturaError = new KalturaError();
 			return ke;


reordering itemRenderer creation orders because class types should be created before string types

git-svn-id: 02605e11d3a461bc7e12f3f3880edf4b0c8dcfd0@4510 3e7533ad-8678-4d30-8e38-00a379d3f0d0

--- src/laml/display/Carousel.as
+++ src/laml/display/Carousel.as
@@ -1,4 +1,6 @@
 package laml.display {
+	import episodic.events.EpisodicEvent;
+
 	import flash.events.MouseEvent;
 	import flash.text.TextFormat;

@@ -48,6 +50,8 @@
 		}

 		public function set itemRenderer(itemRenderer:*):void {
+			trace(">> set itemRenderer :: " + itemRenderer);
+
 			if(itemRenderer is String) {
 				model.itemRendererString = itemRenderer;
 			}
@@ -93,19 +97,27 @@

 		protected function createItemView(data:Object, parser:LAMLParser):void {
 			var itemView:Layoutable;
-			if(model.itemRendererString) {
+			if(model.itemRendererClass) {
+				itemView = new model.itemRendererClass();
+				itemView.data = data;
+			}
+			else if(model.itemRendererString) {
 				var itemXml:XML = new XML(itemRenderer);
 				itemView = parser.parseLayoutable(itemXml, data);
 			}
-			else if(model.itemRendererClass) {
-				itemView = new model.itemRendererClass();
-				itemView.data = data;
-			}
 			else {
 				trace(">> WARNING itemRenderer set with unknown type");
 			}

+			itemView.addEventListener(EpisodicEvent.CHANGE, changeHandler, false, 0, true);
 			contentContainer.addChild(itemView);
+		}
+
+		protected function changeHandler(event:EpisodicEvent):void {
+			event.stopPropagation();
+			var episodicEvent:EpisodicEvent = new EpisodicEvent(EpisodicEvent.CHANGE);
+			episodicEvent.payload = event.payload;
+			dispatchEvent(episodicEvent);
 		}

 		override protected function createChildren():void {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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


XMPP spec states that the #admin schema should be used for affiliation changes.
Unfortunately to this date, Openfire does not match spec and requires the #owner schema.
Because of this, if granting privileges fails on the first attempt using the #admin schema, we try again using the #owner schema.
http://xmpp.org/extensions/xep-0045.html#schemas-admin

Because IQ's support error callbacks, the error handlers in the response callbacks were never called.
Added proper error and response callbacks to all IQ calls in Room.

--- src/org/igniterealtime/xiff/conference/Room.as
+++ src/org/igniterealtime/xiff/conference/Room.as
@@ -25,7 +25,7 @@
 package org.igniterealtime.xiff.conference
 {
 	import flash.events.Event;
-
+
 	import org.igniterealtime.xiff.collections.ArrayCollection;
 	import org.igniterealtime.xiff.core.*;
 	import org.igniterealtime.xiff.data.*;
@@ -203,7 +203,7 @@
 	 * @eventType org.igniterealtime.xiff.events.RoomEvent.DECLINED
 	 */
 	[Event( name="declined",type="org.igniterealtime.xiff.events.RoomEvent" )]
-
+
 	/**
 	 * Manages incoming and outgoing data from a conference room as part of multi-user conferencing (XEP-0045).
 	 * You will need an instance of this class for each room that the user joins.
@@ -249,6 +249,9 @@
 		// Used to store nicknames in pending status, awaiting change approval from server
 		private var pendingNickname:String;

+		private var affiliationExtension:MUCBaseExtension;
+		private var affiliationArgs:Array = [];
+
 		/**
 		 *
 		 * @param	aConnection  A XMPPConnection instance that is providing the primary server connection
@@ -260,6 +263,7 @@
 			{
 				connection = aConnection;
 			}
+			affiliationExtension = new MUCAdminExtension();
 		}

 		private static function RoomStaticConstructor():Boolean
@@ -296,10 +300,8 @@
 		 */
 		public function ban( jids:Array ):void
 		{
-			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET );
+			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET, null, ban_response, ban_error );
 			var adminExt:MUCAdminExtension = new MUCAdminExtension();
-
-			iq.callback = finish_admin;

 			for each ( var banJID:UnescapedJID in jids )
 			{
@@ -365,7 +367,7 @@
 		 */
 		public function configure( fieldmap:Object ):void
 		{
-			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET );
+			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET, null, configure_response, configure_error );
 			var ownerExt:MUCOwnerExtension = new MUCOwnerExtension();
 			var form:FormExtension;

@@ -381,10 +383,9 @@
 			}
 			form.type = FormExtension.TYPE_SUBMIT;
 			ownerExt.addExtension( form );
-
-			iq.callback = finish_configure;
+
 			iq.addExtension( ownerExt );
-
+
 			_connection.send( iq );
 		}

@@ -473,12 +474,18 @@
 		}

 		/**
-		 * Grants permissions on a room one or more JIDs by setting the
-		 * affiliation of a user based * on their JID.
+		 * Grants permissions on a room to one or more JIDs by setting the
+		 * affiliation of a user based on their JID.
+		 *
+		 *
XMPP spec states that the #admin schema should be used for affiliation changes.
+		 * Unfortunately to this date, Openfire does not match spec and requires the #owner schema.
+		 * Because of this, if granting privileges fails on the first attempt using the #admin schema,
+		 * we try again using the #owner schema.
+		 * @see http://xmpp.org/extensions/xep-0045.html#schemas-admin

 		 *
 		 *
If the JID currenly has an existing affiliation, then the existing
 		 * affiliation will be replaced with the one passed. If the process could not be
-		 * completed, the room will dispatch the event RoomEvent.ADMIN_ERROR.
+		 * completed, the room will dispatch the event RoomEvent.ADMIN_ERROR.

 		 *
 		 * @param	affiliation Use one of the
 		 * following affiliations: Room.AFFILIATION_MEMBER,
@@ -490,17 +497,16 @@
 		 */
 		public function grant( affiliation:String, jids:Array ):void
 		{
-			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET );
-			var adminExt:MUCAdminExtension = new MUCAdminExtension();
-
-			iq.callback = finish_grant;
+			affiliationArgs = arguments;
+
+			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_SET, null, grant_response, grant_error );

 			for each ( var jid:UnescapedJID in jids )
 			{
-				adminExt.addItem( affiliation, null, null, jid.escaped, null, null );
-			}
-
-			iq.addExtension( adminExt );
+				affiliationExtension.addItem( affiliation, null, null, jid.escaped, null, null );
+			}
+
+			iq.addExtension( affiliationExtension as IExtension );
 			_connection.send( iq );
 		}

@@ -626,7 +632,7 @@

 			var joinPresence:Presence = new Presence( userJID.escaped );
 			joinPresence.addExtension( mucExtension );
-
+
 			if ( joinPresenceExtensions != null )
 			{
 				for each ( var joinExt:*in joinPresenceExtensions )
@@ -692,10 +698,8 @@
 		 */
 		public function requestAffiliations( affiliation:String ):void
 		{
-			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_GET );
+			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_GET, null, requestAffiliations_response, requestAffiliations_error );
 			var adminExt:MUCAdminExtension = new MUCAdminExtension();
-
-			iq.callback = finish_requestAffiliates;

 			adminExt.addItem( affiliation );

@@ -717,10 +721,9 @@
 		 */
 		public function requestConfiguration():void
 		{
-			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_GET );
+			var iq:IQ = new IQ( roomJID.escaped, IQ.TYPE_GET, null, requestConfiguration_response, requestConfiguration_error );
 			var ownerExt:MUCOwnerExtension = new MUCOwnerExtension();

-			iq.callback = finish_requestConfiguration;
 			iq.addExtension( ownerExt );

 			_connection.send( iq );
@@ -818,99 +821,100 @@
 		}

 		/**
-		 * The default handler for admin IQ messages.
-		 * Dispatches the adminError event if anything went wrong.
-		 */
-		private function finish_admin( iq:IQ ):void
-		{
-			if ( iq.type == IQ.TYPE_ERROR )
-			{
-				var event:RoomEvent = new RoomEvent( RoomEvent.ADMIN_ERROR );
-				event.errorCondition = iq.errorCondition;
-				event.errorMessage = iq.errorMessage;
-				event.errorType = iq.errorType;
-				event.errorCode = iq.errorCode;
-				dispatchEvent( event );
-			}
-		}
-
-		/**
-		 * IQ callback when configuration is complete.
-		 */
-		private function finish_configure( iq:IQ ):void
-		{
-			if( iq.type == IQ.TYPE_ERROR )
-			{
-				finish_admin( iq );
-				return;
-			}
-
+		 * @private
+		 *
+		 * The default error handler for admin IQ messages.
+		 * Dispatches the adminError event.
+		 */
+		private function admin_error( iq:IQ ):void
+		{
+			var event:RoomEvent = new RoomEvent( RoomEvent.ADMIN_ERROR );
+			event.errorCondition = iq.errorCondition;
+			event.errorMessage = iq.errorMessage;
+			event.errorType = iq.errorType;
+			event.errorCode = iq.errorCode;
+			dispatchEvent( event );
+		}
+
+		/**
+		 * @private
+		 *
+		 * The default response handler for admin IQ messages.
+		 */
+		private function admin_response( iq:IQ ):void
+		{
+		}
+
+		/**
+		 * @private
+		 */
+		private function ban_error( iq:IQ ):void
+		{
+			admin_error( iq );
+		}
+
+		/**
+		 * @private
+		 */
+		private function ban_response( iq:IQ ):void
+		{
+		}
+
+		/**
+		 * @private
+		 */
+		private function configure_error( iq:IQ ):void
+		{
+			admin_error( iq );
+		}
+
+		/**
+		 * @private
+		 */
+		private function configure_response( iq:IQ ):void
+		{
 			var event:RoomEvent = new RoomEvent( RoomEvent.CONFIGURE_ROOM_COMPLETE );
 			dispatchEvent( event );
 		}

 		/**
-		 * IQ callback when grant is complete.
-		 */
-		private function finish_grant( iq:IQ ):void
-		{
-			if( iq.type == IQ.TYPE_ERROR )
-			{
-				finish_admin( iq );
-				return;
-			}
-
+		 * @private
+		 */
+		private function grant_error( iq:IQ ):void
+		{
+			if( affiliationExtension is MUCAdminExtension && affiliationArgs.length > 0 )
+			{
+				affiliationExtension = new MUCOwnerExtension();
+				grant.apply( null, affiliationArgs );
+			}
+			else
+			{
+				affiliationArgs = [];
+
+				admin_error( iq );
+			}
+		}
+
+		/**
+		 * @private
+		 */
+		private function grant_response( iq:IQ ):void
+		{
+			affiliationArgs = [];
+
 			var event:RoomEvent = new RoomEvent( RoomEvent.AFFILIATION_CHANGE_COMPLETE );
 			dispatchEvent( event );
 		}

 		/**
-		 * IQ callback when affiliate request is complete.
-		 */
-		private function finish_requestAffiliates( iq:IQ ):void
-		{
-			finish_admin( iq );
-			if ( iq.type == IQ.TYPE_RESULT )
-			{
-				var adminExt:MUCAdminExtension = iq.getAllExtensionsByNS( MUCAdminExtension.NS )[ 0 ];
-				var items:Array = adminExt.getAllItems();
-				// trace("Affiliates: " + items);
-				var event:RoomEvent = new RoomEvent( RoomEvent.AFFILIATIONS );
-				event.data = items;
-				dispatchEvent( event );
-			}
-		}
-
-		/**
-		 * IQ callback when form is ready.
-		 */
-		private function finish_requestConfiguration( iq:IQ ):void
-		{
-			if ( iq.type == IQ.TYPE_ERROR )
-			{
-				finish_admin( iq );
-				return;
-			}
-
-			var ownerExt:MUCOwnerExtension = iq.getAllExtensionsByNS( MUCOwnerExtension.NS )[ 0 ];
-			var form:FormExtension = ownerExt.getAllExtensionsByNS( FormExtension.NS )[ 0 ];
-
-			if ( form.type == FormExtension.TYPE_REQUEST )
-			{
-				var event:RoomEvent = new RoomEvent( RoomEvent.CONFIGURE_ROOM );
-				event.data = form;
-				dispatchEvent( event );
-			}
-		}
-
-		/**
+		 * @private
 		 *
 		 * @param	eventObj
 		 */
 		private function handleEvent( eventObj:Object ):void
 		{
 			var userExt:MUCUserExtension;
-
+
 			switch ( eventObj.type )
 			{
 				case "message":
@@ -1090,6 +1094,55 @@
 		}

 		/**
+		 * @private
+		 */
+		private function requestAffiliations_error( iq:IQ ):void
+		{
+			admin_error( iq );
+		}
+
+		/**
+		 * @private
+		 */
+		private function requestAffiliations_response( iq:IQ ):void
+		{
+			if ( iq.type == IQ.TYPE_RESULT )
+			{
+				var adminExt:MUCAdminExtension = iq.getAllExtensionsByNS( MUCAdminExtension.NS )[ 0 ];
+				var items:Array = adminExt.getAllItems();
+				// trace("Affiliates: " + items);
+				var event:RoomEvent = new RoomEvent( RoomEvent.AFFILIATIONS );
+				event.data = items;
+				dispatchEvent( event );
+			}
+		}
+
+		/**
+		 * @private
+		 */
+		private function requestConfiguration_error( iq:IQ ):void
+		{
+			admin_error( iq );
+		}
+
+		/**
+		 * @private
+		 */
+		private function requestConfiguration_response( iq:IQ ):void
+		{
+			var ownerExt:MUCOwnerExtension = iq.getAllExtensionsByNS( MUCOwnerExtension.NS )[ 0 ];
+			var form:FormExtension = ownerExt.getAllExtensionsByNS( FormExtension.NS )[ 0 ];
+
+			if ( form.type == FormExtension.TYPE_REQUEST )
+			{
+				var event:RoomEvent = new RoomEvent( RoomEvent.CONFIGURE_ROOM );
+				event.data = form;
+				dispatchEvent( event );
+			}
+		}
+
+		/**
+		 * @private
 		 *
 		 * @param	state
 		 */
@@ -1099,7 +1152,9 @@
 			dispatchEvent( new Event( "activeStateUpdated" ));
 		}

-		/*
+		/**
+		 * @private
+		 *
 		 * Room owner (creation/configuration/destruction) methods
 		 * @see	http://xmpp.org/extensions/xep-0045.html#createroom
 		 */
@@ -1132,6 +1187,8 @@
 		}

 		/**
+		 * @private
+		 *
 		 * If we receive a presence about ourselves, it means
 		 * a) we've joined the room; tell everyone, then proceed as usual
 		 * b) we're being told we left, which we handle in the caller
@@ -1180,7 +1237,7 @@
 								roomEvent.data = aPresence;
 								dispatchEvent( roomEvent );
 								return;
-
+
 							case 307:
 								roomEvent = new RoomEvent( RoomEvent.USER_KICKED );
 								roomEvent.nickname = userNickname;
@@ -1201,7 +1258,7 @@
 					occupant.affiliation = item.affiliation;
 					occupant.role = item.role;
 					occupant.show = aPresence.show;
-
+
 					// Notify listeners that a user's presence has been updated
 					roomEvent = new RoomEvent( RoomEvent.USER_PRESENCE_CHANGE );
 					roomEvent.nickname = userNickname;


extract audio from ts when selected track comes from manifest without a url from https://github.com/r0ro/HLSprovider/commit/e453f7fcbc77598b7d4cc0907cf9ace375e00711

--- src/org/mangui/HLS/streaming/FragmentLoader.as
+++ src/org/mangui/HLS/streaming/FragmentLoader.as
@@ -257,11 +257,16 @@
             } else {
                var track:HLSAudioTrack = _audioTracks[_audioTrackId];
                if(track.source == HLSAudioTrack.FROM_DEMUX) {
-                  audio_pid = _audioTracks[_audioTrackId].id;
+                  audio_pid = track.id;
                   audio_extract = true;
                } else {
                   audio_pid = -1;
+                  if (_altAudioTrackLists[track.id].url) {
                   audio_extract = false;
+                  } else {
+                     Log.debug('Using default audio track from TS');
+                     audio_extract = true;
+                  }
                }
             }
             new TS(data, _fragReadHandler,_switchlevel || _hasDiscontinuity,audio_extract,audio_pid);


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

--- frameworks/projects/airframework/src/mx/core/IWindow.as
+++ frameworks/projects/airframework/src/mx/core/IWindow.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 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.core
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/airframework/src/mx/core/Version.as
+++ frameworks/projects/airframework/src/mx/core/Version.as
@@ -0,0 +1,18 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+import mx.core.mx_internal;
+
+/**
+ *  @private
+ *  Version string for this class.
+ */
+mx_internal static const VERSION:String = "2.0.1.0";


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/core/DragSource.as
+++ frameworks/projects/framework/src/mx/core/DragSource.as
@@ -0,0 +1,191 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2006 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.core
+{
+
+/**
+ *  The DragSource class contains the data being dragged. The data can be in
+ *  multiple formats. For example, a Text component may have plain text,
+ *  rich text and HTML data.
+ *
+ *
Each format of data is identified with a string. The
+ *  hasFormat() method is used to determine if the object has
+ *  data in that format. The dataForFormat() method is used
+ *  to retrieve the data in the specified format.

+ *
+ *
Data can be added directly using the addData() method,
+ *  or indirectly using the addHandler() method. The
+ *  addHandler() method registers a callback that will be called
+ *  if the data is requested. This is useful for adding data in a non-native
+ *  format that may require large computations or conversions. For example,
+ *  if you have raw sound data you can add an MP3 format handler. The MP3
+ *  conversion will only be done if the MP3 data is requested.

+ *
+ */
+public class DragSource
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 */
+	public function DragSource()
+	{
+		super();
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	private var dataHolder:Object = {};
+
+	/**
+	 *  @private
+	 */
+	private var formatHandlers:Object = {};
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  formats
+	//----------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the formats property.
+	 */
+	private var _formats:Array /* of String */ = [];
+
+	/**
+	 *  Contains the formats of the drag data, as an Array of Strings.
+	 *  Set this property using the addData()
+	 *  or addHandler() methods.
+	 *  The default value depends on data added to the DragSource object.
+	 *
+	 */
+	public function get formats():Array /* of String */
+	{
+		return _formats;
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Adds data and a corresponding format String to the drag source.
+	 *  This method does not return a value.
+	 *
+	 *  @param data Object that specifies the drag data.
+	 *  This can be any object, such as a String, a DataProvider, and so on.
+	 *
+	 *  @param format String that specifies a label that describes
+	 *  the format for this data.
+	 */
+	public function addData(data:Object, format:String):void
+	{
+		_formats.push(format);
+
+		dataHolder[format] = data;
+	}
+
+	/**
+	 *  Adds a handler that is called when data
+	 *  for the specified format is requested.
+	 *  This is useful when dragging large amounts of data.
+	 *  The handler is only called if the data is requested.
+	 *  This method does not return a value.
+	 *
+	 *  @param handler Function that specifies the handler
+	 *  called to request the data.
+	 *  This function must return the data in the specified format.
+	 *
+	 *  @param format String that specifies the format for this data.
+	 */
+	public function addHandler(handler:Function,
+							   format:String):void
+	{
+		_formats.push(format);
+
+		formatHandlers[format] = handler;
+	}
+
+	/**
+	 *  Retrieves the data for the specified format.
+	 *  If the data was added with the addData() method,
+	 *  it is returned directly.
+	 *  If the data was added with the addHandler() method,
+	 *  the handler function is called to return the data.
+	 *
+	 *  @param format String that specifies a label that describes
+	 *  the format for the data to return.
+	 *
+	 *  @return An Object
+	 *  containing the data in the requested format.
+	 *  If you drag multiple items, the returned value is an Array.
+	 *  For a list control, the returned value is always an Array,
+	 *  even if it contains a single item.
+	 */
+	public function dataForFormat(format:String):Object
+	{
+		var data:Object = dataHolder[format];
+		if (data)
+			return data;
+
+		if (formatHandlers[format])
+			return formatHandlers[format]();
+
+		return null;
+	}
+
+	/**
+	 *  Returns true if the data source contains
+	 *  the requested format; otherwise, it returns false.
+	 *
+	 *  @param format String that specifies a label that describes the format
+	 *  for the data.
+	 *
+	 *  @return true if the data source contains
+	 *  the requested format.
+	 */
+	public function hasFormat(format:String):Boolean
+	{
+		var n:int = _formats.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			if (_formats[i] == format)
+				return true;
+		}
+
+		return false;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/rpc/soap/ISOAPEncoder.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/ISOAPEncoder.as
@@ -22,6 +22,11 @@
  * request should be formatted and therefore must be set before a call is made to
  * encode().
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface ISOAPEncoder extends IXMLEncoder
 {
@@ -40,6 +45,11 @@
      * first be set to false. Conversely, if a type whiteSpace
      * restriction is set to replace or collapse then
      * that setting will be honored even if ignoreWhitespace is set to false.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get ignoreWhitespace():Boolean;
     function set ignoreWhitespace(value:Boolean):void;
@@ -47,6 +57,11 @@
     /**
      * A WSDLOperation defines the SOAP binding styles and specifies how to
      * encode a SOAP request.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get wsdlOperation():WSDLOperation;
     function set wsdlOperation(value:WSDLOperation):void;
@@ -60,6 +75,11 @@
     /**
      * Creates a SOAP-encoded request to an operation from the given input
      * parameters and headers.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function encodeRequest(args:* = null, headers:Array = null):XML;
 }


Spidermonkey test: change test description to not vary so that it doesn't fail diff testing (r=me)

--- test/acceptance/spidermonkey/js1_5/Array/regress-99120-01.as
+++ test/acceptance/spidermonkey/js1_5/Array/regress-99120-01.as
@@ -67,7 +67,7 @@

 // A bunch of shells intermittently return 2 at times - see https://bugzilla.mozilla.org/show_bug.cgi?id=551845
 // For now, change to < 3
-AddTestCase('BigO ' + order + ' < 3', true, order < 3);
+AddTestCase('BigO order < 3', true, order < 3);
 //AddTestCase('BigO < 2', true, order < 2);


fixed link width

fixed link width

--- src/Displays/DLink.as
+++ src/Displays/DLink.as
@@ -122,9 +122,9 @@

 			line.makeGraphic(width, height, 0xffffffff, true);

-			line.height += EXTRA_WIDTH / 2;
+			line.height += EXTRA_WIDTH;
 			line.offset.y = - EXTRA_WIDTH / 2;
-			line.width += EXTRA_WIDTH / 2;
+			line.width += EXTRA_WIDTH;
 			line.offset.x = - EXTRA_WIDTH / 2;

 			return line;
@@ -272,7 +272,7 @@
 		}

-		protected const EXTRA_WIDTH:int = 4;
+		protected const EXTRA_WIDTH:int = 8;
 		protected static const MAX_CACHES_PER_FRAME:int = 15;
 		protected static var cachesThisFrame:int;
 		public static function updateStatic():void {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/Alert.as
+++ frameworks/projects/mx/src/mx/controls/Alert.as
@@ -0,0 +1,790 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.controls
+{
+
+import flash.display.Sprite;
+import flash.events.Event;
+import mx.containers.Panel;
+import mx.controls.alertClasses.AlertForm;
+import mx.core.Application;
+import mx.core.EdgeMetrics;
+import mx.core.FlexVersion;
+import mx.core.mx_internal;
+import mx.core.UIComponent;
+import mx.events.CloseEvent;
+import mx.managers.ISystemManager;
+import mx.managers.PopUpManager;
+import mx.managers.SystemManager;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+
+use namespace mx_internal;
+
+//--------------------------------------
+//  Styles
+//--------------------------------------
+
+/**
+ *  Name of the CSS style declaration that specifies
+ *  styles for the Alert buttons.
+ *
+ *  @default "alertButtonStyle"
+ */
+[Style(name="buttonStyleName", type="String", inherit="no")]
+
+/**
+ *  Name of the CSS style declaration that specifies
+ *  styles for the Alert message text.
+ *
+ *
You only set this style by using a type selector, which sets the style
+ *  for all Alert controls in your application.
+ *  If you set it on a specific instance of the Alert control, it can cause the control to
+ *  size itself incorrectly.

+ *
+ *  @default undefined
+ */
+[Style(name="messageStyleName", type="String", inherit="no")]
+
+/**
+ *  Name of the CSS style declaration that specifies styles
+ *  for the Alert title text.
+ *
+ *
You only set this style by using a type selector, which sets the style
+ *  for all Alert controls in your application.
+ *  If you set it on a specific instance of the Alert control, it can cause the control to
+ *  size itself incorrectly.

+ *
+ *  @default "windowStyles"
+ */
+[Style(name="titleStyleName", type="String", inherit="no")]
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[AccessibilityClass(implementation="mx.accessibility.AlertAccImpl")]
+
+[RequiresDataBinding(true)]
+
+[ResourceBundle("controls")]
+
+/**
+ *  The Alert control is a pop-up dialog box that can contain a message,
+ *  a title, buttons (any combination of OK, Cancel, Yes, and No) and an icon.
+ *  The Alert control is modal, which means it will retain focus until the user closes it.
+ *
+ *
Import the mx.controls.Alert class into your application,
+ *  and then call the static show() method in ActionScript to display
+ *  an Alert control. You cannot create an Alert control in MXML.

+ *
+ *
The Alert control closes when you select a button in the control,
+ *  or press the Escape key.

+ *
+ *  @includeExample examples/SimpleAlert.mxml
+ *
+ *  @see mx.managers.SystemManager
+ *  @see mx.managers.PopUpManager
+ */
+public class Alert extends Panel
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Value that enables a Yes button on the Alert control when passed
+     *  as the flags parameter of the show() method.
+     *  You can use the | operator to combine this bitflag
+     *  with the OK, CANCEL,
+     *  NO, and NONMODAL flags.
+     */
+    public static const YES:uint = 0x0001;
+
+    /**
+     *  Value that enables a No button on the Alert control when passed
+     *  as the flags parameter of the show() method.
+     *  You can use the | operator to combine this bitflag
+     *  with the OK, CANCEL,
+     *  YES, and NONMODAL flags.
+     */
+    public static const NO:uint = 0x0002;
+
+    /**
+     *  Value that enables an OK button on the Alert control when passed
+     *  as the flags parameter of the show() method.
+     *  You can use the | operator to combine this bitflag
+     *  with the CANCEL, YES,
+     *  NO, and NONMODAL flags.
+     */
+    public static const OK:uint = 0x0004;
+
+    /**
+     *  Value that enables a Cancel button on the Alert control when passed
+     *  as the flags parameter of the show() method.
+     *  You can use the | operator to combine this bitflag
+     *  with the OK, YES,
+     *  NO, and NONMODAL flags.
+     */
+    public static const CANCEL:uint= 0x0008;
+
+    /**
+     *  Value that makes an Alert nonmodal when passed as the
+     *  flags parameter of the show() method.
+     *  You can use the | operator to combine this bitflag
+     *  with the OK, CANCEL,
+     *  YES, and NO flags.
+     */
+    public static const NONMODAL:uint = 0x8000;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by AlertAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  Storage for the resourceManager getter.
+	 *  This gets initialized on first access,
+	 *  not at static initialization time, in order to ensure
+	 *  that the Singleton registry has already been initialized.
+	 */
+	private static var _resourceManager:IResourceManager;
+
+	/**
+	 *  @private
+     *  A reference to the object which manages
+     *  all of the application's localized resources.
+     *  This is a singleton instance which implements
+     *  the IResourceManager interface.
+	 */
+	private static function get resourceManager():IResourceManager
+	{
+		if (!_resourceManager)
+			_resourceManager = ResourceManager.getInstance();
+
+		return _resourceManager;
+	}
+
+	/**
+	 *  @private
+	 */
+	private static var initialized:Boolean = false;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  buttonHeight
+    //----------------------------------
+
+    [Inspectable(category="Size")]
+
+    /**
+     *  Height of each Alert button, in pixels.
+     *  All buttons must be the same height.
+     *
+     *  @default 22
+     */
+    public static var buttonHeight:Number = 22;
+
+    //----------------------------------
+    //  buttonWidth
+    //----------------------------------
+
+    [Inspectable(category="Size")]
+
+    /**
+     *  Width of each Alert button, in pixels.
+     *  All buttons must be the same width.
+     *
+     *  @default 60
+     */
+    public static var buttonWidth:Number = FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 ? 60 : 65;
+
+    //----------------------------------
+    //  cancelLabel
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the cancelLabel property.
+	 */
+	private static var _cancelLabel:String;
+
+    /**
+	 *  @private
+	 */
+	private static var cancelLabelOverride:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The label for the Cancel button.
+     *
+     *
If you use a different label, you may need to adjust the
+     *  buttonWidth property to fully display it.

+     *
+     *  The English resource bundle sets this property to "CANCEL".
+     */
+	public static function get cancelLabel():String
+	{
+		initialize();
+
+		return _cancelLabel;
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set cancelLabel(value:String):void
+	{
+		cancelLabelOverride = value;
+
+		_cancelLabel = value != null ?
+					   value :
+					   resourceManager.getString(
+					       "controls", "cancelLabel");
+	}
+
+    //----------------------------------
+    //  noLabel
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the noLabel property.
+	 */
+	private static var _noLabel:String;
+
+    /**
+	 *  @private
+	 */
+	private static var noLabelOverride:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The label for the No button.
+     *
+     *
If you use a different label, you may need to adjust the
+     *  buttonWidth property to fully display it.

+     *
+     *  The English resource bundle sets this property to "NO".
+     */
+	public static function get noLabel():String
+	{
+		initialize();
+
+		return _noLabel;
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set noLabel(value:String):void
+	{
+		noLabelOverride = value;
+
+		_noLabel = value != null ?
+				   value :
+				   resourceManager.getString(
+				      "controls", "noLabel");
+	}
+
+    //----------------------------------
+    //  okLabel
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the okLabel property.
+	 */
+	private static var _okLabel:String;
+
+    /**
+	 *  @private
+	 */
+	private static var okLabelOverride:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The label for the OK button.
+     *
+     *
If you use a different label, you may need to adjust the
+     *  buttonWidth property to fully display the label.

+     *
+     *  The English resource bundle sets this property to "OK".
+     */
+	public static function get okLabel():String
+	{
+		initialize();
+
+		return _okLabel;
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set okLabel(value:String):void
+	{
+		okLabelOverride = value;
+
+		_okLabel = value != null ?
+				   value :
+				   resourceManager.getString(
+				       "controls", "okLabel");
+	}
+
+    //----------------------------------
+    //  yesLabel
+    //----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the yesLabel property.
+	 */
+	private static var _yesLabel:String;
+
+    /**
+	 *  @private
+	 */
+	private static var yesLabelOverride:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The label for the Yes button.
+     *
+     *
If you use a different label, you may need to adjust the
+     *  buttonWidth property to fully display the label.

+     *
+     *  The English resource bundle sets this property to "YES".
+     */
+	public static function get yesLabel():String
+	{
+		initialize();
+
+		return _yesLabel;
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set yesLabel(value:String):void
+	{
+		yesLabelOverride = value;
+
+		_yesLabel = value != null ?
+					value :
+					resourceManager.getString(
+						"controls", "yesLabel");
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Static method that pops up the Alert control. The Alert control
+     *  closes when you select a button in the control, or press the Escape key.
+     *
+     *  @param text Text string that appears in the Alert control.
+     *  This text is centered in the alert dialog box.
+     *
+     *  @param title Text string that appears in the title bar.
+     *  This text is left justified.
+     *
+     *  @param flags Which buttons to place in the Alert control.
+     *  Valid values are Alert.OK, Alert.CANCEL,
+     *  Alert.YES, and Alert.NO.
+     *  The default value is Alert.OK.
+     *  Use the bitwise OR operator to display more than one button.
+     *  For example, passing (Alert.YES | Alert.NO)
+     *  displays Yes and No buttons.
+     *  Regardless of the order that you specify buttons,
+     *  they always appear in the following order from left to right:
+     *  OK, Yes, No, Cancel.
+     *
+     *  @param parent Object upon which the Alert control centers itself.
+     *
+     *  @param closeHandler Event handler that is called when any button
+     *  on the Alert control is pressed.
+     *  The event object passed to this handler is an instance of CloseEvent;
+     *  the detail property of this object contains the value
+     *  Alert.OK, Alert.CANCEL,
+     *  Alert.YES, or Alert.NO.
+     *
+     *  @param iconClass Class of the icon that is placed to the left
+     *  of the text in the Alert control.
+     *
+     *  @param defaultButtonFlag A bitflag that specifies the default button.
+     *  You can specify one and only one of
+     *  Alert.OK, Alert.CANCEL,
+     *  Alert.YES, or Alert.NO.
+     *  The default value is Alert.OK.
+     *  Pressing the Enter key triggers the default button
+     *  just as if you clicked it. Pressing Escape triggers the Cancel
+     *  or No button just as if you selected it.
+     *
+     *  @return A reference to the Alert control.
+     *
+     *  @see mx.events.CloseEvent
+     */
+    public static function show(text:String = "", title:String = "",
+                                flags:uint = 0x4 /* Alert.OK */,
+                                parent:Sprite = null,
+                                closeHandler:Function = null,
+                                iconClass:Class = null,
+                                defaultButtonFlag:uint = 0x4 /* Alert.OK */):Alert
+    {
+        var modal:Boolean = (flags & Alert.NONMODAL) ? false : true;
+
+        if (!parent)
+            parent = Sprite(Application.application);
+
+        var alert:Alert = new Alert();
+
+        if (flags & Alert.OK||
+            flags & Alert.CANCEL ||
+            flags & Alert.YES ||
+            flags & Alert.NO)
+        {
+            alert.buttonFlags = flags;
+        }
+
+        if (defaultButtonFlag == Alert.OK ||
+            defaultButtonFlag == Alert.CANCEL ||
+            defaultButtonFlag == Alert.YES ||
+            defaultButtonFlag == Alert.NO)
+        {
+            alert.defaultButtonFlag = defaultButtonFlag;
+        }
+
+        alert.text = text;
+        alert.title = title;
+        alert.iconClass = iconClass;
+
+        if (closeHandler != null)
+            alert.addEventListener(CloseEvent.CLOSE, closeHandler);
+
+		// Setting a module factory allows the correct embedded font to be found.
+        if (parent is UIComponent)
+        	alert.moduleFactory = UIComponent(parent).moduleFactory;
+
+        PopUpManager.addPopUp(alert, parent, modal);
+
+        alert.setActualSize(alert.getExplicitOrMeasuredWidth(),
+                            alert.getExplicitOrMeasuredHeight());
+
+        return alert;
+    }
+
+	/**
+	 *  @private
+     */
+	private static function initialize():void
+	{
+		if (!initialized)
+		{
+			// Register as a weak listener for "change" events
+			// from ResourceManager.
+			resourceManager.addEventListener(
+				Event.CHANGE, static_resourceManager_changeHandler,
+				false, 0, true);
+
+			static_resourcesChanged();
+
+			initialized = true;
+		}
+	}
+
+    /**
+     *  @private
+     */
+    private static function static_resourcesChanged():void
+    {
+		cancelLabel = cancelLabelOverride;
+        noLabel = noLabelOverride;
+		okLabel = okLabelOverride;
+        yesLabel = yesLabelOverride;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class event handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+	 *  @private
+	 */
+	private static function static_resourceManager_changeHandler(
+									event:Event):void
+	{
+		static_resourcesChanged();
+	}
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function Alert()
+    {
+        super();
+
+        // Panel properties.
+        title = "";
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    private var init:Boolean = false;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  alertForm
+    //----------------------------------
+
+    /**
+     *  @private
+     *  The internal AlertForm object that contains the text, icon, and buttons
+     *  of the Alert control.
+     */
+    mx_internal var alertForm:AlertForm;
+
+    //----------------------------------
+    //  buttonFlags
+    //----------------------------------
+
+    /**
+     *  A bitmask that contains Alert.OK, Alert.CANCEL,
+     *  Alert.YES, and/or Alert.NO indicating
+	 *  the buttons available in the Alert control.
+     *
+     *  @default Alert.OK
+     */
+    public var buttonFlags:uint = OK;
+
+    //----------------------------------
+    //  defaultButtonFlag
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  A bitflag that contains either Alert.OK,
+     *  Alert.CANCEL, Alert.YES,
+     *  or Alert.NO to specify the default button.
+     *
+     *  @default Alert.OK
+     */
+    public var defaultButtonFlag:uint = OK;
+
+    //----------------------------------
+    //  iconClass
+    //----------------------------------
+
+    [Inspectable(category="Other")]
+
+    /**
+     *  The class of the icon to display.
+     *  You typically embed an asset, such as a JPEG or GIF file,
+     *  and then use the variable associated with the embedded asset
+     *  to specify the value of this property.
+     *
+     *  @default null
+     */
+    public var iconClass:Class;
+
+    //----------------------------------
+    //  text
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The text to display in this alert dialog box.
+     *
+     *  @default ""
+     */
+    public var text:String = "";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (Alert.createAccessibilityImplementation != null)
+            Alert.createAccessibilityImplementation(this);
+    }
+
+    /**
+     *  @private
+     */
+    override protected function createChildren():void
+    {
+        super.createChildren();
+
+        var messageStyleName:String = getStyle("messageStyleName");
+        if (messageStyleName)
+            styleName = messageStyleName;
+
+        if (!alertForm)
+        {
+            alertForm = new AlertForm();
+            alertForm.styleName = this;
+            addChild(alertForm);
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override protected function measure():void
+    {
+        super.measure();
+
+        var m:EdgeMetrics = viewMetrics;
+
+        // The width is determined by the title or the AlertForm,
+        // whichever is wider.
+        measuredWidth =
+            Math.max(measuredWidth, alertForm.getExplicitOrMeasuredWidth() +
+            m.left + m.right);
+
+        measuredHeight = alertForm.getExplicitOrMeasuredHeight() +
+                         m.top + m.bottom;
+    }
+
+    /**
+     *  @private
+     */
+    override protected function updateDisplayList(unscaledWidth:Number,
+                                                  unscaledHeight:Number):void
+    {
+        super.updateDisplayList(unscaledWidth, unscaledHeight);
+
+        // Position the AlertForm inside the "client area" of the Panel
+        var vm:EdgeMetrics = viewMetrics;
+        alertForm.setActualSize(unscaledWidth - vm.left - vm.right -
+                                getStyle("paddingLeft") -
+                                getStyle("paddingRight"),
+                                unscaledHeight - vm.top - vm.bottom -
+                                getStyle("paddingTop") -
+                                getStyle("paddingBottom"));
+
+        // Choose an (x,y) position that centers me in my parent.
+        if (!init)
+        {
+            var x:Number;
+            var y:Number;
+            if (parent == systemManager)
+            {
+                x = (screen.width - measuredWidth) / 2;
+                y = (screen.height - measuredHeight) / 2;
+            }
+            else
+            {
+                x = (parent.width - measuredWidth) / 2;
+                y = (parent.height - measuredHeight) / 2;
+            }
+
+            // Set my position, because my parent won't do it for me.
+            move(Math.round(x), Math.round(y));
+            init = true;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    override public function styleChanged(styleProp:String):void
+    {
+        super.styleChanged(styleProp);
+
+        if (styleProp == "messageStyleName")
+        {
+            var messageStyleName:String =
+                getStyle("messageStyleName");
+
+            styleName = messageStyleName;
+        }
+
+        if (alertForm)
+            alertForm.styleChanged(styleProp);
+    }
+
+    /**
+     *  @private
+     */
+	override protected function resourcesChanged():void
+	{
+		super.resourcesChanged();
+
+		static_resourcesChanged();
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5908
Author:   smgilson@adobe.com
Date:     2009-04-03T14:45:19.262491Z

Log Message:
-----------
Some ASDoc clean up post merge

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpMenuButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/utilities/src/com/adobe/viewsource/ViewSource.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Label.as
+++ frameworks/projects/mx/src/mx/controls/Label.as
@@ -1036,7 +1036,7 @@
    /**
     *  A flash.text.StyleSheet object that can perform rendering
     *  on the Label control's text.
-    *  Used for detailed control of HTML styles for the text.
+    *  Use this property for detailed control of HTML styles for the text.
     *  For more information, see the flash.text.StyleSheet
     *  class documentation.
     *


fixed issue where copying files to the output folder would fail if any were read-only

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -901,6 +901,12 @@
 			var content:Object = fs.readFileSync(assetPath);
 			var targetPath:String = assetPathToOutputPath(assetPath, mainFile, sourcePaths, outputDirectory);
 			mkdirp["sync"](path.dirname(targetPath));
+			if(!fs["accessSync"](targetPath, fs["constants"].W_OK))
+			{
+				//is this the best way to do it? seems to be no way to make
+				//writable without also modifying the others
+				fs.chmodSync(targetPath, parseInt("766", 8));
+			}
 			fs.writeFileSync(targetPath, content);
 		}


Fixed bug in junit output introduced with blocks to evaluate passed to require

--- src/as3spec/Should.as
+++ src/as3spec/Should.as
@@ -234,8 +234,9 @@
 			{
 				rval = this.value();
 			}
-			catch (error:*)
-			{
+			catch (e:*)
+			{
+			  error = e;
 			  raised = true;
 			}


Fix log spam.

Fix log spam.

--- HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPStreamSource.as
+++ HLSPlugin/src/org/osmf/net/httpstreaming/HLSHTTPStreamSource.as
@@ -150,7 +150,10 @@
 			{
 				// We want to complete the segment in faster than the target duration.
 				var expectedCompletionTime:Number = _downloader.downloadBytesCount / _downloader.currentDownloadSpeedInBytesPerSecond;
-				trace(" isDownloadingAtRealtimeOrFaster - " + expectedCompletionTime + " < " + (_indexHandler as HLSIndexHandler).getTargetSegmentDuration());
+				CONFIG::LOGGING
+				{
+					logger.debug(" isDownloadingAtRealtimeOrFaster - " + expectedCompletionTime + " < " + (_indexHandler as HLSIndexHandler).getTargetSegmentDuration());
+				}
 				return expectedCompletionTime < (_indexHandler as HLSIndexHandler).getTargetSegmentDuration();
 			}
 			return false;


iterator

iterator

--- testSrc/com/kemsky/support/TestSupport.as
+++ testSrc/com/kemsky/support/TestSupport.as
@@ -54,7 +54,7 @@
             assertEquals(TypeCache.getQualifiedClassName(a), TypeCache.ARRAY);
             assertEquals(TypeCache.getQualifiedClassName(b), TypeCache.BOOLEAN);
             assertEquals(TypeCache.getQualifiedClassName(cls), "Item");
-            assertEquals(TypeCache.getQualifiedClassName(Class), "Class");
+            assertEquals(TypeCache.getQualifiedClassName(Class), TypeCache.CLASS);
             assertEquals(TypeCache.getQualifiedClassName(d), TypeCache.DATE);
             assertEquals(TypeCache.getQualifiedClassName(x), TypeCache.XML_TYPE);
             assertEquals(TypeCache.getQualifiedClassName(xl), TypeCache.XML_LIST);


- change: Made ignoring cleanup stuff (pretty printing and whitespace condensation) the default for XML handling

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@727 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -2287,6 +2287,8 @@
 		 */
 		protected function parseXMLContent(node : XML) : void
 		{
+			XML.prettyPrinting = false;
+			XML.ignoreWhitespace = false;
 			var childNode : XML = node.children()[0];
 			while (childNode)
 			{
@@ -2332,6 +2334,7 @@
 				nodesToCombine += sibling;
 				delete parentNode.*[i];
 			}
+			XML.ignoreWhitespace = false;
 			var xmlParser : XML = <p/>;
 			xmlParser.setChildren(nodesToCombine);
 			siblings[node.childIndex()] = xmlParser;


- change: Use backdating to make intrinsic dimension transitions not lag a frame behind other transitions

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@689 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/ui/UIComponent.as
+++ src/reprise/ui/UIComponent.as
@@ -1552,6 +1552,8 @@
 						//changing the intrinsic width
 						m_weakStyles.setStyle('width', m_intrinsicWidth + 'px', true);
 						m_specifiedStyles.setStyle('width', m_oldContentBoxWidth + 'px');
+						m_transitionsManager.registerAdjustedStartTimeForProperty(
+							m_rootElement.frameTime(), 'width');
 						m_contentBoxWidth = m_oldContentBoxWidth;
 						m_invalidateStylesAfterValidation = true;
 						m_stylesInvalidated = true;
@@ -1576,6 +1578,8 @@
 					{
 						m_weakStyles.setStyle('height', m_intrinsicHeight + 'px', true);
 						m_specifiedStyles.setStyle('height', m_oldContentBoxHeight + 'px');
+						m_transitionsManager.registerAdjustedStartTimeForProperty(
+							m_rootElement.frameTime(), 'height');
 						m_contentBoxHeight = m_oldContentBoxHeight;
 						m_invalidateStylesAfterValidation = true;
 						m_stylesInvalidated = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10336
Author:   aharui@adobe.com
Date:     2009-09-17T01:03:24.093052Z

Log Message:
-----------
Block the player from every handling focus.  Deal with focused item becoming invisible

QE Notes: None
Doc Notes: None
Bugs: SDK-17716, SDK-23201
Reviewer: Corey
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/FocusManager

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>

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

--- frameworks/projects/framework/src/mx/managers/FocusManager.as
+++ frameworks/projects/framework/src/mx/managers/FocusManager.as
@@ -155,6 +155,7 @@
         container.addEventListener(Event.REMOVED, removedHandler);
         container.addEventListener(FlexEvent.SHOW, showHandler);
         container.addEventListener(FlexEvent.HIDE, hideHandler);
+        container.addEventListener(FlexEvent.HIDE, childHideHandler, true);

         //special case application and window
         if (container.systemManager is SystemManager)
@@ -990,6 +991,10 @@
             if (!o.visible)
                 return false;
             o = o.parent;
+
+            // if no parent, then not on display list
+            if (!o)
+                return false;
         }
         return true;
     }
@@ -1714,6 +1719,22 @@
     /**
      *  @private
      */
+    private function childHideHandler(event:Event):void
+    {
+        var target:DisplayObject = DisplayObject(event.target);
+        // trace("FocusManager focusInHandler in  = " + this._form.systemManager.loaderInfo.url);
+        // trace("FM " + this + " focusInHandler " + target);
+
+        if (lastFocus && !isEnabledAndVisible(DisplayObject(lastFocus)))
+        {
+            DisplayObject(form).stage.focus = null;
+            lastFocus = null;
+        }
+    }
+
+    /**
+     *  @private
+     */
     private function creationCompleteHandler(event:FlexEvent):void
     {
         var o:DisplayObject = DisplayObject(form);
@@ -1893,7 +1914,9 @@
             // trace("tabHandled by " + this);
             setFocusToNextObject(event);

-			if (focusChanged)
+            // if we changed focus or if we're the main app
+            // eat the event
+			if (focusChanged || sm == sm.getTopLevelRoot())
             	event.preventDefault();
         }
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 10344
Author:   smgilson@adobe.com
Date:     2009-09-17T18:06:55.200452Z

Log Message:
-----------
Update ASDoc for the error event for bug FLEXDOCS-501

QE notes: -
Doc notes: -
Bugs: - FLEXDOCS-501
Reviewer: -
Tests run: - checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -57,8 +57,7 @@
 [Event(name="applicationComplete", type="mx.events.FlexEvent")]

 /**
- *  Dispatched when an error occurs anywhere in the application,
- *  or when an HTTPService call fails.
+ *  Dispatched when an HTTPService call fails.
  *
  *  @eventType flash.events.ErrorEvent.ERROR
  *