Transferred from the Adobe Open Source Subversion Repository

Revision: 5859
Author:   rfrishbe@adobe.com
Date:     2009-04-01T23:13:22.675548Z

Log Message:
-----------
Adding FLVPlayback source code to Flex 4 project, rather than using a pre-built SWC.

Some video PARB changes:

Class Name Changes:
Rename VideoDisplay -> VideoPlayer
Combine MetadataEvent and VideoEvent into VideoEvent

Video property/method changes:
isLive -> live
isPlaying -> playing
isMuted -> muted
mute(), unmute() -> muted getter/setter

Also fixed a bug where VideoPlayer wasn't properly re-dispatching events.

QE Notes: -
Doc Notes: -
Bugs: -
Reviewer: Deepa
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoScaleMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/VideoEvent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplayPlayPauseButtonSkin.mxml" copyfrom-rev="5766" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerPlayPauseButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ConnectClient.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/flvplayback_internal.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/NCManager.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/libs/videoPlayer.swc</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoProgressEvent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/FMSCapabilities.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ConnectClientNative.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplayPlayPauseButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/NCManagerNative.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/INCManager.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplayMuteButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoState.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ComponentVersion.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ConnectClientDynamicStream.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplaySkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/DynamicStreamItem.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ReconnectClient.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoError.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.as" copyfrom-rev="5766" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoAlign.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoPlayerClient.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/DVRManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/QueuedCommand.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/Flex4Classes.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/defaults-3.0.0.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/ParseResults.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplayMuteButtonSkin.mxml" copyfrom-rev="5766" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerMuteButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/build.xml</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/fl/video/SMILManager.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/MetadataEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/IVPEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/DynamicStream.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.png" copyfrom-rev="5766" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/FPADManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoDisplaySkin.mxml" copyfrom-rev="5766" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/AutoLayoutEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/VideoEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoDisplay.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/NCManagerDynamicStream.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/LayoutEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/FPMediaCapabilities.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/fl/video/MetadataEvent.as</path>

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

--- frameworks/projects/spark/src/spark/components/VideoDisplay.as
+++ frameworks/projects/spark/src/spark/components/VideoDisplay.as
@@ -1,3 +1,14 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+///////////////////////////////////////////////////////////////////////////////
+
 package spark.primitives
 {
 import fl.video.MetadataEvent;
@@ -10,12 +21,12 @@
 import flash.display.DisplayObject;
 import flash.events.Event;
 import flash.events.ProgressEvent;
+import flash.media.Video;

 import mx.core.mx_internal;
+
+import spark.events.VideoEvent;
 import spark.primitives.supportClasses.GraphicElement;
-
-import spark.events.MetadataEvent;
-import spark.events.VideoEvent;

 //--------------------------------------
 //  Events
@@ -56,18 +67,17 @@
  *  The event object has an info property that contains the
  *  info object received by the NetStream.onMetaData event callback.
  *
- *  @eventType spark.events.MetadataEvent.METADATA_RECEIVED
+ *  @eventType spark.events.VideoEvent.METADATA_RECEIVED
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-[Event(name="metadataReceived", type="spark.events.MetadataEvent")]
+[Event(name="metadataReceived", type="spark.events.VideoEvent")]

 /**
- *  Dispatched every 0.25 seconds, or how often the underlying video
- *  player's playheadUpdateInterval is set to, while the
+ *  Dispatched every 0.25 seconds while the
  *  video is playing.  This event is not dispatched when it is paused
  *  or stopped, unless a seek occurs.
  *
@@ -81,10 +91,9 @@
 [Event(name="playheadUpdate", type="spark.events.VideoEvent")]

 /**
- *  Indicates progress made in number of bytes downloaded. Dispatched at the frequency
- *  specified by the underlying video player's progressInterval property, starting
+ *  Indicates progress made in number of bytes downloaded. Dispatched starting
  *  when the load begins and ending when all bytes are loaded or there is a network error.
- *  The default is every 0.25 seconds starting when load is called and ending
+ *  Dispatched every 0.25 seconds starting when load is called and ending
  *  when all bytes are loaded or if there is a network error. Use this event to check
  *  bytes loaded or number of bytes in the buffer.
  *
@@ -130,9 +139,9 @@
  *  The VideoElement class is chromeless video player that supports
  *  progressive download, multi-bitrate, and streaming video.
  *
- *
VideoDisplay is the skinnable version.

+ *
VideoPlayer is the skinnable version.

  *
- *  @see mx.components.VideoDisplay
+ *  @see mx.components.VideoPlayer
  *
  *  @langversion 3.0
  *  @playerversion Flash 10
@@ -262,7 +271,7 @@
         if (_autoPlay == value)
             return;

-        _isPlaying = value;
+        _playing = value;
         _autoPlay = value;
     }

@@ -298,14 +307,14 @@
     }

     //----------------------------------
-    //  isLive
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Storage for isLive property.
-     */
-    private var _isLive:Boolean = false;
+    //  live
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for live property.
+     */
+    private var _live:Boolean = false;

     [Inspectable(category="General", defaultValue="false")]

@@ -315,12 +324,12 @@
      *  or Flash Video Streaming Service (FVSS). The value of this
      *  property is ignored for an HTTP download.
      *
-     *
Set the isLive property to false when sending
+     *
Set the live property to false when sending
      *  a prerecorded video stream to the video player and to true
      *  when sending real-time data such as a live broadcast.

      *
      *  @see #source
-     *  @see VideoPlayer#isLive
+     *  @see VideoPlayer#live
      *  @default false
      *
      *  @langversion 3.0
@@ -328,73 +337,21 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function get isLive():Boolean
-    {
-        return _isLive;
-    }
-
-    /**
-     *  @private
-     */
-    public function set isLive(value:Boolean):void
-    {
-        _isLive = value;
+    public function get live():Boolean
+    {
+        return _live;
+    }
+
+    /**
+     *  @private
+     */
+    public function set live(value:Boolean):void
+    {
+        _live = value;
         sourceChanged = true;
         invalidateProperties();
     }

-    //----------------------------------
-    //  isMuted
-    //----------------------------------
-
-    [Inspectable(category="General", defaultValue="false")]
-
-    /**
-     *  Returns true if the video is muted, false
-     *  if the video is not muted.
-     *
-     *  @see #mute()
-     *  @see #unmute()
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get isMuted():Boolean
-    {
-        return mutedVolume != -1;
-    }
-
-    //----------------------------------
-    //  isPlaying
-    //----------------------------------
-
-    [Inspectable(category="General")]
-
-    private var _isPlaying:Boolean = true; // initialize to same value as autoPlay
-
-    /**
-     *  Returns true if the video is playing or is attempting to play.
-     *
-     *
The video may not be currently playing, as it may be seeking
-     *  or buferring, but the video is attempting to play.

-     *
-     *  @see #play()
-     *  @see #pause()
-     *  @see #stop()
-     *  @see #autoPlay
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get isPlaying():Boolean
-    {
-        return _isPlaying;
-    }
-
     //----------------------------------
     //  maintainAspectRatio
     //----------------------------------
@@ -445,6 +402,52 @@

             invalidateSize();
             invalidateDisplayList();
+        }
+    }
+
+    //----------------------------------
+    //  muted
+    //----------------------------------
+
+    /**
+     *  @private
+     *  mutedVolume tracks what the volume was before we were
+     *  muted.  If we aren't muted, mutedVolume = -1.
+     */
+    private var mutedVolume:Number = -1;
+
+    [Inspectable(category="General", defaultValue="false")]
+
+    /**
+     *  Set to true to mute the video, false
+     *  to unmute the video.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get muted():Boolean
+    {
+        return mutedVolume != -1;
+    }
+
+    /**
+     *  @private
+     */
+    public function set muted(value:Boolean):void
+    {
+        // if trying to unmute and we're muted
+        if (!value && mutedVolume != -1)
+        {
+            mx_internal::videoPlayer.volume = mutedVolume;
+            mutedVolume = -1;
+        }
+        // if trying to mute and we're not muted
+        else if (value && mutedVolume == -1)
+        {
+            mutedVolume = mx_internal::videoPlayer.volume;
+            mx_internal::videoPlayer.volume = 0;
         }
     }

@@ -506,6 +509,35 @@
     }

     //----------------------------------
+    //  playing
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    private var _playing:Boolean = true; // initialize to same value as autoPlay
+
+    /**
+     *  Returns true if the video is playing or is attempting to play.
+     *
+     *
The video may not be currently playing, as it may be seeking
+     *  or buferring, but the video is attempting to play.

+     *
+     *  @see #play()
+     *  @see #pause()
+     *  @see #stop()
+     *  @see #autoPlay
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get playing():Boolean
+    {
+        return _playing;
+    }
+
+    //----------------------------------
     //  source
     //----------------------------------

@@ -570,6 +602,23 @@
     public function get totalTime():Number
     {
         return mx_internal::videoPlayer.totalTime;
+    }
+
+    //----------------------------------
+    //  videoObject
+    //----------------------------------
+
+    /**
+     *  The underlying video object
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get videoObject():Video
+    {
+        return mx_internal::videoPlayer as Video;
     }

     //----------------------------------
@@ -630,7 +679,7 @@
             else
             {
                 // TODO: should we load the video if autoPlay is false?
-                mx_internal::videoPlayer.load(source as String, NaN, isLive);
+                mx_internal::videoPlayer.load(source as String, NaN, live);
             }
         }
     }
@@ -680,32 +729,6 @@
     //--------------------------------------------------------------------------

     /**
-     *  @private
-     *  mutedVolume tracks what the volume was before we were
-     *  muted.  If we aren't muted, mutedVolume = -1.
-     */
-    private var mutedVolume:Number = -1;
-
-    /**
-     *  Mutes the volume of the video.  The volume property will be
-     *  unaffected by this method, but the volume will be muted.  If the
-     *  volume is already muted, this method will have no effect.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function mute():void
-    {
-        if (mutedVolume != -1)
-            return;
-
-        mutedVolume = volume;
-        mx_internal::videoPlayer.volume = 0;
-    }
-
-    /**
      *  Pauses playback without moving the playhead.
      *  If playback is already is paused or is stopped, this method has no
      *  effect.
@@ -727,20 +750,21 @@
      *  paused, stopped, or while the video is already playing.
      *
      *  @param startTime Time to start playing the clip from.
-     *  Pass in -1 to start at the beginning or the
-     *  current spot in the clip if paused.  Default is -1.
-     *  @param duration Duration, in seconds, to play.  Pass in -1
+     *  Pass in NaN to start at the beginning or the
+     *  current spot in the clip if paused.  Default is NaN.
+     *
+     *  @param duration Duration, in seconds, to play.  Pass in NaN
      *  to automatically detect length from metadata, server
-     *  or xml.  Default is -1.
+     *  or xml.  Default is NaN.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function play(startTime:Number=-1, duration:Number=-1):void
-    {
-        if (startTime != -1)
+    public function play(startTime:Number=NaN, duration:Number=NaN):void
+    {
+        if (!isNaN(startTime))
             seek(startTime);

         var source:String;
@@ -750,7 +774,10 @@
         else
             source = this.source as String;

-        mx_internal::videoPlayer.play(source, duration, isLive);
+        if (isNaN(duration))
+            mx_internal::videoPlayer.play(source, live);
+        else
+            mx_internal::videoPlayer.play(source, live, duration);
     }

     /**
@@ -798,25 +825,6 @@
     {
         mx_internal::videoPlayer.stop();
     }
-
-    /**
-     *  Unmutes the volume of the video.  If the volume was muted, this
-     *  method will set the volume at its previous level.  If the
-     *  volume was not muted, this method will have no effect.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function unmute():void
-    {
-        if (mutedVolume == -1)
-            return;
-
-        mx_internal::videoPlayer.volume = mutedVolume;
-        mutedVolume = -1;
-    }

     //--------------------------------------------------------------------------
     //
@@ -829,7 +837,8 @@
      */
     private function videoPlayer_closeHandler(event:fl.video.VideoEvent):void
     {
-        var sparkVideoEvent:spark.events.VideoEvent = new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
+        var sparkVideoEvent:spark.events.VideoEvent =
+            new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
         dispatchEvent(sparkVideoEvent);
     }

@@ -838,7 +847,8 @@
      */
     private function videoPlayer_completeHandler(event:fl.video.VideoEvent):void
     {
-        var sparkVideoEvent:spark.events.VideoEvent = new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
+        var sparkVideoEvent:spark.events.VideoEvent =
+            new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
         dispatchEvent(sparkVideoEvent);
     }

@@ -848,8 +858,9 @@
     private function videoPlayer_metaDataReceivedHandler(event:fl.video.MetadataEvent):void
     {
         invalidateSize();
-        var sparkMetadataEvent:spark.events.MetadataEvent = new spark.events.MetadataEvent(event.type, event.bubbles, event.cancelable, event.info);
-        dispatchEvent(sparkMetadataEvent);
+        var sparkVideoEvent:spark.events.VideoEvent =
+            new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, playheadTime, event.info);
+        dispatchEvent(sparkVideoEvent);
     }

     /**
@@ -857,7 +868,8 @@
      */
     private function videoPlayer_playHeadUpdateHandler(event:fl.video.VideoEvent):void
     {
-        var sparkVideoEvent:spark.events.VideoEvent = new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
+        var sparkVideoEvent:spark.events.VideoEvent =
+            new spark.events.VideoEvent(event.type, event.bubbles, event.cancelable, event.playheadTime);
         dispatchEvent(sparkVideoEvent);
     }

@@ -869,13 +881,13 @@
         switch (event.state)
         {
             case VideoState.PLAYING:
-                _isPlaying = true;
+                _playing = true;
                 break;
             case VideoState.PAUSED:
             case VideoState.STOPPED:
             case VideoState.DISCONNECTED:
             case VideoState.CONNECTION_ERROR:
-                _isPlaying = false;
+                _playing = false;
                 break;
         }


fixed bug incorrectly loading defaults, making it potentially save incorrect information regarding note sharing permissions

--- flexEditor/src/org/arisgames/editor/view/CreateOrOpenGameSelectorView.as
+++ flexEditor/src/org/arisgames/editor/view/CreateOrOpenGameSelectorView.as
@@ -98,8 +98,8 @@
 			g.pcMediaId = obj.result.data.list.getItemAt(j).pc_media_id;
 			g.introNodeId = obj.result.data.list.getItemAt(j).on_launch_node_id;
 			g.completeNodeId = obj.result.data.list.getItemAt(j).game_complete_node_id;
-			g.noteShareToMap = obj.result.data.list.getItemAt(j).allow_share_to_map;
-			g.noteShareToBook = obj.result.data.list.getItemAt(j).allow_share_to_book;
+			g.noteShareToMap = obj.result.data.list.getItemAt(j).allow_share_note_to_map;
+			g.noteShareToBook = obj.result.data.list.getItemAt(j).allow_share_note_to_book;
 			g.playerCreateComments = obj.result.data.list.getItemAt(j).allow_note_comments;
 			g.playerCreateTags = obj.result.data.list.getItemAt(j).allow_player_tags;
 			g.isLocational = obj.result.data.list.getItemAt(j).is_locational;


Transferred from the Adobe Open Source Subversion Repository

Revision: 8145
Author:   dloverin@adobe.com
Date:     2009-06-23T23:46:38.402248Z

Log Message:
-----------
WindowedApplication/Window fixes.

MacTitleBarSkin.mxml
Override updateDisplayList() so the spacer's width can be calculated.

WindowedApplication.as
Defer setting the icon until commitProperties. Copied the fix from existing code in Halo WindowedApplication.

SparkChromeWindowedApplicationSkin.mxml
Removed the gripper from the tab order.

QE Notes: none.
Doc Notes: none.
Bugs: SDK-21807, SDK-21795
Reviewer: Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/windowChrome/MacTitleBarSkin.mxml</path>

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -1465,6 +1465,17 @@
     //  titleIcon
     //----------------------------------

+    /**
+     *  @private
+     *  A reference to this container's title icon.
+     */
+    private var _titleIcon:Class;
+
+    /**
+     *  @private
+     */
+    private var titleIconChanged:Boolean = false;
+
     [Bindable("titleIconChanged")]

     /**
@@ -1478,10 +1489,7 @@
      */
     public function get titleIcon():Class
     {
-        if (titleBar == null)
-            return null;
-
-        return titleBar.titleIcon;
+        return _titleIcon;
     }

     /**
@@ -1489,10 +1497,8 @@
      */
     public function set titleIcon(value:Class):void
     {
-        if (titleBar == null)
-            return;
-
-        titleBar.titleIcon = value;
+        _titleIcon = value;
+        titleIconChanged = true;

         invalidateProperties();
         invalidateSize();
@@ -1650,6 +1656,13 @@
             }

             dispatchEvent(new Event("menuChanged"));
+        }
+
+        if (titleIconChanged)
+        {
+            if (titleBar)
+                titleBar.titleIcon = _titleIcon;
+            titleIconChanged = false;
         }

         if (titleChanged)


Fix asdoc so it builds without errors.  '<' and '>' must be < and > or spelled out.

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

--- frameworks/projects/apache/src/org/apache/flex/collections/VectorList.as
+++ frameworks/projects/apache/src/org/apache/flex/collections/VectorList.as
@@ -64,21 +64,21 @@
  *  is possible that a subclass might.
  */
 public class VectorList extends EventDispatcher
-	   implements IList, IPropertyChangeNotifier {
-
+       implements IList, IPropertyChangeNotifier {
+
     //--------------------------------------------------------------------------
     //
     // Static Initializer
     //
     //--------------------------------------------------------------------------
-	   /*    {
+       /*    {
         //If one attempt to serialize a Vector in any way, the type of the Vector is not retained unless the types are also aliased
         //This should really be handled in the VM in my opinion, however, it is being done here to make it more pay as you go
         //Unfortunately the consequence is that one must either do this manually or in some way reference a VectorList to ensure
         //proper serialization of their Vectors

-	//This is commented out pending the outcome of discussion abotu serialization
-		registerClassAlias( "Boolean", Boolean );
+    //This is commented out pending the outcome of discussion abotu serialization
+        registerClassAlias( "Boolean", Boolean );
         registerClassAlias( "int", int );
         registerClassAlias( "Number", Number );
         registerClassAlias( "String", String );
@@ -89,9 +89,9 @@

         registerClassAlias( "Vector", Vector );
     }
-		*/
-	private static const VECTOR_PREFIX:String = "__AS3__.vec::Vector.";
-	private var fixedLengthVector:Boolean = false;
+        */
+    private static const VECTOR_PREFIX:String = "__AS3__.vec::Vector.";
+    private var fixedLengthVector:Boolean = false;

     //--------------------------------------------------------------------------
     //
@@ -105,7 +105,7 @@
      */
     public function VectorList(source:* = null)
     {
-		super();
+        super();

         disableEvents();
         this.source = source;
@@ -113,12 +113,12 @@
         _uid = UIDUtil.createUID();
     }

-	/**
-	 *  @private
-	 *  Used for accessing localized Error messages.
-	 */
-	private var resourceManager:IResourceManager =
-									ResourceManager.getInstance();
+    /**
+     *  @private
+     *  Used for accessing localized Error messages.
+     */
+    private var resourceManager:IResourceManager =
+                                    ResourceManager.getInstance();

     //--------------------------------------------------------------------------
     //
@@ -139,7 +139,7 @@
      */
     public function get length():int
     {
-       	return source.length;
+        return source.length;
     }

     //----------------------------------
@@ -155,7 +155,7 @@
      *  theList.source.pop() will not cause CollectionEvents
      *  to be dispatched.
      *
-	 *  @return An Vector that represents the underlying source.
+     *  @return An Vector that represents the underlying source.
      */
     public function get source():*
     {
@@ -174,18 +174,20 @@
                 stopTrackUpdates(_source[i]);
             }
         }
-
-		if ( s && !isVector( s ) ) {
-			//Move me to the resource manager
-			throw new TypeError("The source of a VectorList must be a Vector" );
-		}
-
-		_source  = s ? s : new Vector.<*>();
-
-		if ( _source.fixed ) {
-			fixedLengthVector = true;
-		}
-
+
+        if ( s && !isVector( s ) )
+        {
+            //Move me to the resource manager
+            throw new TypeError("The source of a VectorList must be a Vector" );
+        }
+
+        _source  = s ? s : new Vector.<*>();
+
+        if ( _source.fixed )
+        {
+            fixedLengthVector = true;
+        }
+
         len = _source.length;
         for (i = 0; i < len; i++)
         {
@@ -195,7 +197,7 @@
         if (_dispatchEvents == 0)
         {
            var event:CollectionEvent =
-			new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+            new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
            event.kind = CollectionEventKind.RESET;
            dispatchEvent(event);
         }
@@ -212,43 +214,44 @@
      */
     public function get uid():String
     {
-    	return _uid;
+        return _uid;
     }

     public function set uid(value:String):void
     {
-    	_uid = value;
-	}
+        _uid = value;
+    }

     //--------------------------------------------------------------------------
     //
     // Methods
     //
     //--------------------------------------------------------------------------
-	private function isVector( value:* ):Boolean {
-		//I am rather ashamed of doing this, but it seems the only reliable way we have to ensure we were given a Vector
-		//is to compare it against a string
-		var sourceClassName:String = getQualifiedClassName( value );
-
-		return ( sourceClassName.indexOf( VECTOR_PREFIX ) >= 0 );
-	}
-
+    private function isVector( value:* ):Boolean
+    {
+        //I am rather ashamed of doing this, but it seems the only reliable way we have to ensure we were given a Vector
+        //is to compare it against a string
+        var sourceClassName:String = getQualifiedClassName( value );
+
+        return ( sourceClassName.indexOf( VECTOR_PREFIX ) >= 0 );
+    }
+
     /**
      *  Get the item at the specified index.
      *
-     *  @param 	index the index in the list from which to retrieve the item
-     *  @param	Not used in this implementation at this time
+     *  @param  index the index in the list from which to retrieve the item
+     *  @param  Not used in this implementation at this time
      *  @return the item at that index, null if there is none
-     *  @throws RangeError if the index < 0 or index >= length
+     *  @throws RangeError if the index less than 0 or index >= length
      */
     public function getItemAt(index:int, prefetch:int = 0):Object
     {
         if (index < 0 || index >= length)
-		{
-			var message:String = resourceManager.getString(
-				"collections", "outOfBounds", [ index ]);
-        	throw new RangeError(message);
-		}
+        {
+            var message:String = resourceManager.getString(
+                "collections", "outOfBounds", [ index ]);
+            throw new RangeError(message);
+        }

         return source[index];
     }
@@ -258,19 +261,19 @@
      *  If an item was already at that index the new item will replace it and it
      *  will be returned.
      *
-     *  @param 	item the new value for the index
-     *  @param 	index the index at which to place the item
+     *  @param  item the new value for the index
+     *  @param  index the index at which to place the item
      *  @return the item that was replaced, null if none
      *  @throws RangeError if index is less than 0 or greater than or equal to length
      */
     public function setItemAt(item:Object, index:int):Object
     {
         if (index < 0 || index >= length)
-		{
-			var message:String = resourceManager.getString(
-				"collections", "outOfBounds", [ index ]);
-        	throw new RangeError(message);
-		}
+        {
+            var message:String = resourceManager.getString(
+                "collections", "outOfBounds", [ index ]);
+            throw new RangeError(message);
+        }

         var oldItem:Object = source[index];
         source[index] = item;
@@ -280,35 +283,35 @@
         //dispatch the appropriate events
         if (_dispatchEvents == 0)
         {
-        	var hasCollectionListener:Boolean =
-        		hasEventListener(CollectionEvent.COLLECTION_CHANGE);
-        	var hasPropertyListener:Boolean =
-        		hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE);
-        	var updateInfo:PropertyChangeEvent;
-
-        	if (hasCollectionListener || hasPropertyListener)
-        	{
-        		updateInfo = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
-        		updateInfo.kind = PropertyChangeEventKind.UPDATE;
-            	updateInfo.oldValue = oldItem;
-            	updateInfo.newValue = item;
-            	updateInfo.property = index;
-        	}
-
-        	if (hasCollectionListener)
-        	{
-           		var event:CollectionEvent =
-					new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
-            	event.kind = CollectionEventKind.REPLACE;
-            	event.location = index;
-            	event.items.push(updateInfo);
-            	dispatchEvent(event);
-         	}
-
-         	if (hasPropertyListener)
-         	{
-            	dispatchEvent(updateInfo);
-          	}
+            var hasCollectionListener:Boolean =
+                hasEventListener(CollectionEvent.COLLECTION_CHANGE);
+            var hasPropertyListener:Boolean =
+                hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE);
+            var updateInfo:PropertyChangeEvent;
+
+            if (hasCollectionListener || hasPropertyListener)
+            {
+                updateInfo = new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
+                updateInfo.kind = PropertyChangeEventKind.UPDATE;
+                updateInfo.oldValue = oldItem;
+                updateInfo.newValue = item;
+                updateInfo.property = index;
+            }
+
+            if (hasCollectionListener)
+            {
+                var event:CollectionEvent =
+                    new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+                event.kind = CollectionEventKind.REPLACE;
+                event.location = index;
+                event.items.push(updateInfo);
+                dispatchEvent(event);
+            }
+
+            if (hasPropertyListener)
+            {
+                dispatchEvent(updateInfo);
+            }
         }
         return oldItem;
     }
@@ -334,18 +337,18 @@
      */
     public function addItemAt(item:Object, index:int):void
     {
-		if ( fixedLengthVector ) {
-			//Make a message in manager
-			throw new RangeError( "Fixed Length Vector");
-		}
-
-		if ( index < 0 || index > length)
-		{
-			var message:String = resourceManager.getString(
-				"collections", "outOfBounds", [ index ]);
-        	throw new RangeError(message);
-		}
-
+        if ( fixedLengthVector ) {
+            //Make a message in manager
+            throw new RangeError( "Fixed Length Vector");
+        }
+
+        if ( index < 0 || index > length)
+        {
+            var message:String = resourceManager.getString(
+                "collections", "outOfBounds", [ index ]);
+            throw new RangeError(message);
+        }
+
         source.splice(index, 0, item);

         startTrackUpdates(item);
@@ -376,17 +379,17 @@
     /**
      *  Removes the specified item from this list, should it exist.
      *
-     *	@param	item Object reference to the item that should be removed.
-     *  @return	Boolean indicating if the item was removed.
+     *  @param  item Object reference to the item that should be removed.
+     *  @return Boolean indicating if the item was removed.
      */
     public function removeItem(item:Object):Boolean
     {
-    	var index:int = getItemIndex(item);
-    	var result:Boolean = index >= 0;
-    	if (result)
-    		removeItemAt(index);
-
-    	return result;
+        var index:int = getItemIndex(item);
+        var result:Boolean = index >= 0;
+        if (result)
+            removeItemAt(index);
+
+        return result;
     }

     /**
@@ -395,21 +398,21 @@
      *
      *  @param index the index from which to remove the item
      *  @return the item that was removed
-     *  @throws RangeError is index < 0 or index >= length
+     *  @throws RangeError is index less than 0 or index greater than or equal to length
      */
     public function removeItemAt(index:int):Object
     {
-		if ( fixedLengthVector ) {
-			//Make a message in manager
-			throw new RangeError( "Fixed Length Vector");
-		}
-
-		if (index < 0 || index >= length)
-		{
-			var message:String = resourceManager.getString(
-				"collections", "outOfBounds", [ index ]);
-        	throw new RangeError(message);
-		}
+        if ( fixedLengthVector ) {
+            //Make a message in manager
+            throw new RangeError( "Fixed Length Vector");
+        }
+
+        if (index < 0 || index >= length)
+        {
+            var message:String = resourceManager.getString(
+                "collections", "outOfBounds", [ index ]);
+            throw new RangeError(message);
+        }

         var removed:Object = source.splice(index, 1)[0];
         stopTrackUpdates(removed);
@@ -431,7 +434,7 @@
             }

             source.splice(0, length);
-			internalDispatchEvent(CollectionEventKind.RESET);
+            internalDispatchEvent(CollectionEventKind.RESET);
         }
     }

@@ -444,16 +447,16 @@
      *  Otherwise it may choose to simply refresh the whole view.
      *
      *  @param item The item within the view that was updated.
-	 *
+     *
      *  @param property A String, QName, or int
-	 *  specifying the property that was updated.
-	 *
+     *  specifying the property that was updated.
+     *
      *  @param oldValue The old value of that property.
-	 *  (If property was null, this can be the old value of the item.)
-	 *
+     *  (If property was null, this can be the old value of the item.)
+     *
      *  @param newValue The new value of that property.
-	 *  (If property was null, there's no need to specify this
-	 *  as the item is assumed to be the new value.)
+     *  (If property was null, there's no need to specify this
+     *  as the item is assumed to be the new value.)
      *
      *  @see mx.events.CollectionEvent
      *  @see mx.core.IPropertyChangeNotifier
@@ -464,21 +467,21 @@
                                  newValue:Object = null):void
     {
         var event:PropertyChangeEvent =
-			new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
-
-		event.kind = PropertyChangeEventKind.UPDATE;
+            new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
+
+        event.kind = PropertyChangeEventKind.UPDATE;
         event.source = item;
         event.property = property;
         event.oldValue = oldValue;
         event.newValue = newValue;

-		internalDispatchEvent(CollectionEventKind.UPDATE, event);
-
-		// need to dispatch object event now
-		if (_dispatchEvents == 0 && hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
-		{
-			dispatchPropertyChangeEventClone( event, item );
-		}
+        internalDispatchEvent(CollectionEventKind.UPDATE, event);
+
+        // need to dispatch object event now
+        if (_dispatchEvents == 0 && hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            dispatchPropertyChangeEventClone( event, item );
+        }
     }

     /**
@@ -490,22 +493,23 @@
      */
     public function toArray():Array
     {
-    	var ar:Array = new Array( source.length );
-
-    	for ( var i:int=0;i<source.length; i++ ) {
-    		ar[ i ] = source[ i ];
-    	}
+        var ar:Array = new Array( source.length );
+
+        for ( var i:int=0;i<source.length; i++ )
+        {
+            ar[ i ] = source[ i ];
+        }

         return ar;
     }

-	/**
+    /**
      *  Pretty prints the contents of this VectorList to a string and returns it.
      */
     override public function toString():String
-	{
-		return source.toString();
-	}
+    {
+        return source.toString();
+    }

     //--------------------------------------------------------------------------
     //
@@ -513,83 +517,83 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  Dispatches a PropertyChangeEvent clone either from a child object whose event needs to be redispatched
-	 *  or when a PropertyChangeEvent is faked inside of this class for the purposes of informing the view
-	 *  of an update to underlying data.
-	 *
-	 *  @param event The PropertyChangeEvent to be cloned and dispatched
-	 *  @param item The item within the view that was updated.
-	 *
-	 *  @see mx.core.IPropertyChangeNotifier
-	 *  @see mx.events.PropertyChangeEvent
-	 */
-
-	private function dispatchPropertyChangeEventClone( event:PropertyChangeEvent, item:Object ):void {
-		var objEvent:PropertyChangeEvent = PropertyChangeEvent(event.clone());
-
-		var index:int = getItemIndex( item );
-		objEvent.property = index.toString() + "." + event.property;
-		dispatchEvent(objEvent);
-	}
-
-	/**
-	 *  Enables event dispatch for this list.
-	 */
-	private function enableEvents():void
-	{
-		_dispatchEvents++;
-		if (_dispatchEvents > 0)
-			_dispatchEvents = 0;
-	}
-
-	/**
-	 *  Disables event dispatch for this list.
-	 *  To re-enable events call enableEvents(), enableEvents() must be called
-	 *  a matching number of times as disableEvents().
-	 */
-	private function disableEvents():void
-	{
-		_dispatchEvents--;
-	}
-
-	/**
-	 *  Dispatches a collection event with the specified information.
-	 *
-	 *  @param kind String indicates what the kind property of the event should be
-	 *  @param item Object reference to the item that was added or removed
-	 *  @param location int indicating where in the source the item was added.
-	 */
-	private function internalDispatchEvent(kind:String, item:Object = null, location:int = -1):void
-	{
-    	if (_dispatchEvents == 0)
-    	{
-    		if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
-    		{
-		        var event:CollectionEvent =
-					new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
-		        event.kind = kind;
-		        event.items.push(item);
-		        event.location = location;
-		        dispatchEvent(event);
-		    }
-
-	    	// now dispatch a complementary PropertyChangeEvent
-	    	if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE) &&
-	    	   (kind == CollectionEventKind.ADD || kind == CollectionEventKind.REMOVE))
-	    	{
-	    		var objEvent:PropertyChangeEvent =
-					new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
-	    		objEvent.property = location;
-	    		if (kind == CollectionEventKind.ADD)
-	    			objEvent.newValue = item;
-	    		else
-	    			objEvent.oldValue = item;
-	    		dispatchEvent(objEvent);
-	    	}
-	    }
-	}
-
+    /**
+     *  Dispatches a PropertyChangeEvent clone either from a child object whose event needs to be redispatched
+     *  or when a PropertyChangeEvent is faked inside of this class for the purposes of informing the view
+     *  of an update to underlying data.
+     *
+     *  @param event The PropertyChangeEvent to be cloned and dispatched
+     *  @param item The item within the view that was updated.
+     *
+     *  @see mx.core.IPropertyChangeNotifier
+     *  @see mx.events.PropertyChangeEvent
+     */
+
+    private function dispatchPropertyChangeEventClone( event:PropertyChangeEvent, item:Object ):void {
+        var objEvent:PropertyChangeEvent = PropertyChangeEvent(event.clone());
+
+        var index:int = getItemIndex( item );
+        objEvent.property = index.toString() + "." + event.property;
+        dispatchEvent(objEvent);
+    }
+
+    /**
+     *  Enables event dispatch for this list.
+     */
+    private function enableEvents():void
+    {
+        _dispatchEvents++;
+        if (_dispatchEvents > 0)
+            _dispatchEvents = 0;
+    }
+
+    /**
+     *  Disables event dispatch for this list.
+     *  To re-enable events call enableEvents(), enableEvents() must be called
+     *  a matching number of times as disableEvents().
+     */
+    private function disableEvents():void
+    {
+        _dispatchEvents--;
+    }
+
+    /**
+     *  Dispatches a collection event with the specified information.
+     *
+     *  @param kind String indicates what the kind property of the event should be
+     *  @param item Object reference to the item that was added or removed
+     *  @param location int indicating where in the source the item was added.
+     */
+    private function internalDispatchEvent(kind:String, item:Object = null, location:int = -1):void
+    {
+        if (_dispatchEvents == 0)
+        {
+            if (hasEventListener(CollectionEvent.COLLECTION_CHANGE))
+            {
+                var event:CollectionEvent =
+                    new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+                event.kind = kind;
+                event.items.push(item);
+                event.location = location;
+                dispatchEvent(event);
+            }
+
+            // now dispatch a complementary PropertyChangeEvent
+            if (hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE) &&
+               (kind == CollectionEventKind.ADD || kind == CollectionEventKind.REMOVE))
+            {
+                var objEvent:PropertyChangeEvent =
+                    new PropertyChangeEvent(PropertyChangeEvent.PROPERTY_CHANGE);
+                objEvent.property = location;
+                if (kind == CollectionEventKind.ADD)
+                    objEvent.newValue = item;
+                else
+                    objEvent.oldValue = item;
+                dispatchEvent(objEvent);
+            }
+        }
+    }
+
     /**
      *  Called whenever any of the contained items in the list fire an
      *  ObjectChange event.
@@ -597,12 +601,12 @@
      */
     protected function itemUpdateHandler(event:PropertyChangeEvent):void
     {
-		internalDispatchEvent(CollectionEventKind.UPDATE, event);
-		// need to dispatch object event now
-    	if (_dispatchEvents == 0 && hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
-    	{
-			dispatchPropertyChangeEventClone( event, event.target );
-    	}
+        internalDispatchEvent(CollectionEventKind.UPDATE, event);
+        // need to dispatch object event now
+        if (_dispatchEvents == 0 && hasEventListener(PropertyChangeEvent.PROPERTY_CHANGE))
+        {
+            dispatchPropertyChangeEventClone( event, event.target );
+        }
     }

     /**
@@ -615,7 +619,7 @@
         if (item && (item is IEventDispatcher))
         {
             IEventDispatcher(item).addEventListener(
-				                        PropertyChangeEvent.PROPERTY_CHANGE,
+                                        PropertyChangeEvent.PROPERTY_CHANGE,
                                         itemUpdateHandler, false, 0, true);
         }
     }
@@ -630,7 +634,7 @@
         if (item && item is IEventDispatcher)
         {
             IEventDispatcher(item).removeEventListener(
-				                        PropertyChangeEvent.PROPERTY_CHANGE,
+                                        PropertyChangeEvent.PROPERTY_CHANGE,
                                         itemUpdateHandler);
         }
     }
@@ -641,12 +645,12 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  indicates if events should be dispatched.
-	 *  calls to enableEvents() and disableEvents() effect the value when == 0
-	 *  events should be dispatched.
-	 */
-	private var _dispatchEvents:int = 0;
+    /**
+     *  indicates if events should be dispatched.
+     *  calls to enableEvents() and disableEvents() effect the value when == 0
+     *  events should be dispatched.
+     */
+    private var _dispatchEvents:int = 0;
     private var _source:*;
     private var _uid:String;
 }


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

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


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

--- frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
+++ frameworks/projects/framework/src/mx/core/IInteractiveObjectInterface.as
@@ -1,5 +1,29 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////

+/*
+ *  The methods here would normally just be in IInteractiveObject,
+ *  but for backward compatibility, their ancestor methods have to be included
+ *  directly into IFlexDisplayObject, so these also have to be kept in
+ *  this separate include file so it can be used in ITextField
+ */

+    /**
+     *  @copy flash.display.InteractiveObject#tabEnabled
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
     function get tabEnabled():Boolean;
     function set tabEnabled(enabled:Boolean):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@1260903 13f79535-47bb-0310-9956-ffa450edef68

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 18539
Author:   cframpto@adobe.com
Date:     2010-11-11T18:10:32.464611Z

Log Message:
-----------
The default for singleCell, singleRow selectionMode is preserveSelection = true and fix layout code so that changes to the  indicators and column/rowSeperators at runtime are displayed correctly.

QE notes: the code path for the cell selection indicators is different from all the other indicators/seperators so test both paths
Doc notes:
Bugs: SDK-28405, SDK-27969
Reviewer:
Tests run: cyclone
Is noteworthy for integration:

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1143,19 +1143,14 @@
         if (!layer)
             return new Vector.<IVisualElement>(0);

-        // TBD(hmuller): if the factory for any of the oldVisible elements isn't
-        // the specified factory (e.g. because factory is null) then
-        // removeGridElement all of them.  Maybe add removeGridElements(factory).
-        // Replace the following:
-
+        // If a factory changed, discard the old visual elements.
+
+        if (discardGridElementsIfFactoryChanged(factory, layer, oldVisibleElements))
+            oldVisibleIndices.length = 0;
+
         if (factory == null)
-        {
-            for each (var oldElt:IVisualElement in oldVisibleElements)
-                layer.removeElement(oldElt);
-
             return new Vector.<IVisualElement>(0);
-        }
-
+
         // Free and clear oldVisibleElements that are no long visible

         freeLinearElements(oldVisibleElements, oldVisibleIndices, newVisibleIndices, lastIndex);
@@ -1164,7 +1159,7 @@

         const newVisibleElementCount:uint = newVisibleIndices.length;
         const newVisibleElements:Vector.<IVisualElement> = new Vector.<IVisualElement>(newVisibleElementCount);
-
+
         for (var index:int = 0; index < newVisibleElementCount; index++)
         {
             var newEltIndex:int = newVisibleIndices[index];
@@ -1203,15 +1198,19 @@
         newVisibleRowIndices:Vector.<int>, newVisibleColumnIndices:Vector.<int>,
         layoutFunction:Function):Vector.<IVisualElement>
     {
-        // If a factory wasn't provided, discard the old visible elements, then return
-
+        if (!layer)
+            return new Vector.<IVisualElement>(0);
+
+        // If a factory changed, discard the old visual elements.
+
+        if (discardGridElementsIfFactoryChanged(factory, layer, oldVisibleElements))
+        {
+            oldVisibleRowIndices.length = 0;
+            oldVisibleColumnIndices.length = 0;
+        }
+
         if (factory == null)
-        {
-            for each (var oldElt:IVisualElement in oldVisibleElements)
-                layer.removeElement(oldElt);
-
             return new Vector.<IVisualElement>(0);
-        }

         // Create, layout, and return newVisibleElements

@@ -1251,6 +1250,33 @@
         return newVisibleElements;
     }

+    /**
+     *  @private
+     *  If the factory has changed, or is now null, remove and free all the old
+     *  visual elements, if there were any.
+     *
+     *  @returns True if at least one visual element was removed.
+     */
+    private function discardGridElementsIfFactoryChanged(
+        factory:IFactory,
+        layer:GridLayer,
+        oldVisibleElements:Vector.<IVisualElement>):Boolean
+    {
+        if (oldVisibleElements.length > 0 &&
+            factory != elementToFactoryMap[oldVisibleElements[0]])
+        {
+            for each (var oldElt:IVisualElement in oldVisibleElements)
+            {
+                layer.removeElement(oldElt);
+                freeGridElement(oldElt);
+            }
+            oldVisibleElements.length = 0;
+            return true;
+        }
+
+        return false;
+    }
+
     /**
      *  @private
      *  Free each member of elements if the corresponding member of oldIndices doesn't
@@ -1429,16 +1455,7 @@
     private function layoutSelectionIndicators(layer:GridLayer):void
     {
         const selectionIndicatorFactory:IFactory = grid.selectionIndicator;
-
-        // TBD(hmuller): if selectionIndicatorFactory has -changed- get rid
-        // of the old selection indicators.   See layoutIndicator() for an example
-
-        if (!selectionIndicatorFactory)
-        {
-            clearSelectionIndicators();
-            return;
-        }
-
+
         // layout and update visibleSelectionIndicators,Indices

         if (isRowSelectionMode())


Transferred from the Adobe Open Source Subversion Repository

Revision: 11469
Author:   smgilson@adobe.com
Date:     2009-11-05T18:27:49.211775Z

Log Message:
-----------
ASDoc localization bug fixes - Part II

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/IItemRendererOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as
@@ -188,9 +188,8 @@
      *  measured size properties based on the typicalLayoutElement and other
      *  cached layout information, not by measuring elements.

      *
-     *
Containers cooperate with useVirtualLayout = true layouts by
-     *  recycling item renderers that were previously constructed in response to calls to
-     *  the getVirtualLayoutElement() method by are no longer in use.
+     *
Containers cooperate with layouts that have useVirtualLayout = true by
+     *  recycling item renderers that were previously constructed, but are no longer in use.
      *  An item is considered to be no longer in use if its index is not
      *  within the range of getVirtualElementAt() indices requested during
      *  the container's most recent updateDisplayList() invocation.


Transferred from the Adobe Open Source Subversion Repository

Revision: 12863
Author:   sbreinbe@adobe.com
Date:     2009-12-11T21:18:02.442564Z

Log Message:
-----------
Fix class referenced in Alternative metadata.
Alternative metadata for Box, HBox, VBox, Canvas, and Tile still used the obsolete Border classname rather than BorderContainer.

QE notes: -
Doc notes: -
Bugs: SDK-24678
Reviewer: Jason
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>

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

--- frameworks/projects/mx/src/mx/containers/Canvas.as
+++ frameworks/projects/mx/src/mx/containers/Canvas.as
@@ -52,7 +52,7 @@
 [IconFile("Canvas.png")]

 [Alternative(replacement="spark.components.Group", since="4.0")]
-[Alternative(replacement="spark.components.Border", since="4.0")]
+[Alternative(replacement="spark.components.BorderContainer", since="4.0")]

 /**
  *  A Halo Canvas layout container defines a rectangular region


Transferred from the Adobe Open Source Subversion Repository

Revision: 9056
Author:   preilly@adobe.com
Date:     2009-08-04T14:56:55.800592Z

Log Message:
-----------
* Cleaned up deprecated warnings in rpc build.

Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: Yes, rpc.swc has been updated to use ResourceManager.
Code-level description of changes:

  Moved ResourceBundle metadata to class level.

  Removed messagingBundle and rpcBundle vars.

  Added _resourceManager var.

  Modified textOf() to use ResourceManager.getString().

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/utils/Translator.as

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

--- frameworks/projects/rpc/src/mx/utils/Translator.as
+++ frameworks/projects/rpc/src/mx/utils/Translator.as
@@ -13,10 +13,13 @@
 {

 import flash.utils.getQualifiedClassName;
-import mx.resources.ResourceBundle;
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
 import mx.utils.StringUtil;

 [ExcludeClass]
+[ResourceBundle("messaging")]
+[ResourceBundle("rpc")]

 /**
  *  @private
@@ -40,20 +43,7 @@
     //
     //--------------------------------------------------------------------------

-    [ResourceBundle("messaging")]

-	/**
-	 *  @private
-	 */
-	private static var messagingBundle:ResourceBundle;
-
-    [ResourceBundle("rpc")]
-
-	/**
-	 *  @private
-	 */
-	private static var rpcBundle:ResourceBundle;
-
     //--------------------------------------------------------------------------
     //
     //  Class methods
@@ -125,6 +115,16 @@
         this.bundleName = bundleName;
     }

+    //----------------------------------
+    //  resourceManager
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the resourceManager instance.
+     */
+    private var _resourceManager:IResourceManager = ResourceManager.getInstance();
+
     //--------------------------------------------------------------------------
     //
     //  Variables
@@ -136,11 +136,6 @@
 	 */
     private var bundleName:String;

-	/**
-	 *  @private
-	 */
-	private var bundle:ResourceBundle = null;
-
     //--------------------------------------------------------------------------
     //
     //  Methods
@@ -152,19 +147,7 @@
 	 */
     public function textOf(key:String, ... rest):String
     {
-        if (!bundle)
-        {
-            if (bundleName == "messaging")
-                bundle = messagingBundle;
-            else if (bundleName == "rpc")
-                bundle = rpcBundle;
-        }
-
-		// Note: Writing bundle["getString"](key) instead of
-		// bundle.getString(key) avoids a deprecation warning.
-        return bundle ?
-			   StringUtil.substitute(bundle["getString"](key), rest) :
-			   "Key " + key + " was not found in resource bundle " + bundleName;
+        return _resourceManager.getString(bundleName, key, rest);
     }
 }


junit style report correction

junit style report correction

git-svn-id: 4969af7a11582c80b682e8a73ed7b35a57fe0a9c@128329 3e83ccf1-c6ce-0310-9054-8fdb33cf0640

--- zucchini.lib/src/pl/ydp/automation/execution/report/ReportDataFactory.as
+++ zucchini.lib/src/pl/ydp/automation/execution/report/ReportDataFactory.as
@@ -87,9 +87,9 @@

 		public function finishReport( report:ReportData ):void
 		{
-				report.reportXML.@errors = ( report.reportXML.testsuite.testcase.error as XMLList ).length();
-				report.reportXML.@failures = ( report.reportXML.testsuite.testcase.failure as XMLList ).length();
-				report.reportXML.@tests = ( report.reportXML.testsuite.testcase.teststep as XMLList ).length();
+				report.reportXML.testsuite.@errors = ( report.reportXML.testsuite.testcase.error as XMLList ).length();
+				report.reportXML.testsuite.@failures = ( report.reportXML.testsuite.testcase.failure as XMLList ).length();
+				report.reportXML.testsuite.@tests = ( report.reportXML.testsuite.testcase.teststep as XMLList ).length();
 		}

 	}


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

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


fixed bug where loadFile() wasn't calling callback

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -224,7 +224,14 @@
 		}

 		private var _requestedConfigFile:String;
-		private var _loadFileCallback:Function;
+		private function setRequestedConfigFile(value:String):void
+		{
+			if (_requestedConfigFile == value)
+				return;
+			_requestedConfigFile = value;
+			_loadFileCallbacks.length = 0;
+		}
+		private var _loadFileCallbacks:Array = [];
 		/**
 		 * Loads a session state file from a URL.
 		 * @param url The URL to the session state file (.weave or .xml) specified as a String, a URLRequest, or an Object containing properties "url", "requestHeaders", "method".
@@ -238,11 +245,11 @@
 			if (url is URLRequest)
 			{
 				request = url as URLRequest;
-				_requestedConfigFile = request.url;
+				setRequestedConfigFile(request.url);
 			}
 			else if (url is String)
 			{
-				_requestedConfigFile = String(url);
+				setRequestedConfigFile(String(url));
 				if (noCacheHack)
 					url = String(url) + "?" + (new Date()).getTime(); // prevent flex from using cache
 				request = new URLRequest(String(url));
@@ -254,17 +261,17 @@
 				var headers:Object = url['requestHeaders'];
 				for (var k:String in headers)
 					request.requestHeaders.push(new URLRequestHeader(k, headers[k]));
-				_requestedConfigFile = request.url;
-			}
-
-			_loadFileCallback = callback as Function;
+				setRequestedConfigFile(request.url);
+			}
+
+			if (callback != null)
+				_loadFileCallbacks.push(callback);

 			WeaveAPI.URLRequestUtils.getURL(null, request, handleConfigFileDownloaded, handleConfigFileFault, _requestedConfigFile);
 		}

 		private function downloadConfigFile():void
 		{
-			_loadFileCallback = null;
 			if (getFlashVarRecover() || Weave.handleWeaveReload())
 			{
 				handleConfigFileDownloaded();
@@ -297,9 +304,9 @@
 				Weave.properties.enableMenuBar.value = false;
 				Weave.properties.dashboardMode.value = true;
 			}
-			if (_loadFileCallback != null)
-				_loadFileCallback();
 			WeaveAPI.callExternalWeaveReady();
+			while (_loadFileCallbacks.length)
+				(_loadFileCallbacks.shift() as Function)();
 		}
 		private function handleConfigFileFault(event:FaultEvent, fileName:String):void
 		{


renamed ShaderSettings.enableDepthWrite to ShaderSettings.depthWriteEnabled

--- src/aerys/minko/render/shader/part/PostProcessingShaderPart.as
+++ src/aerys/minko/render/shader/part/PostProcessingShaderPart.as
@@ -17,7 +17,7 @@

 		public function initializeSettings(settings : ShaderSettings) : void
 		{
-			settings.enableDepthWrite = false;
+			settings.depthWriteEnabled = false;
 			settings.depthTest = DepthTest.ALWAYS;
 		}


- added basePath method which returns the path of the flash movie

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

--- src/reprise/core/Application.as
+++ src/reprise/core/Application.as
@@ -23,6 +23,8 @@
 	import reprise.external.ResourceLoader;
 	import reprise.ui.DocumentView;
 	import reprise.ui.UIObject;
+	import reprise.utils.PathUtil;
+
 	public class Application extends Sprite
 	{
 		/***************************************************************************
@@ -55,6 +57,11 @@
 		public function rootElement() : DocumentView
 		{
 			return m_rootElement;
+		}
+
+		public function basePath() : String
+		{
+			return PathUtil.stringByDeletingLastPathComponent(stage.loaderInfo.url);
 		}

@@ -114,7 +121,9 @@
 				cssURL = this['cssURL'];
 			}
 			cssURL = stage.loaderInfo.parameters.css_url || cssURL;
-			m_css = addResource(new CSS(cssURL)) as CSS;
+			m_css = new CSS(cssURL);
+			m_css.setBaseURL(applicationURL());
+			addResource(m_css);
 		}

 		protected function loadResources() : void


Transferred from the Adobe Open Source Subversion Repository

Revision: 13173
Author:   gosmith@adobe.com
Date:     2009-12-23T00:22:15.529877Z

Log Message:
-----------
Added ASDoc for the Spark SpinnerAccImpl, NumericStepperAccImpl, and SliderBaseAccImpl, based on the opensource specs. Also made minor edits to ASDoc in other Spark acc impl classes.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SliderBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/SpinnerAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/NumericStepperAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBaseAccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ButtonBarBaseAccImpl.as
@@ -26,12 +26,12 @@

 /**
  *  ButtonBarBaseAccImpl is the accessibility implementation class
- *  for spark.components.ButtonBarBase.
+ *  for spark.components.supportClasses.ButtonBarBase.
  *
  *
Although TabBar has its own accessibility implementation subclass,
  *  ButtonBar simply uses the one for ButtonBarBase.
  *  Therefore, the rest of this description refers to the commonly-used
- *  ButtonBar class rather than the ButtonBarBase base class.

+ *  ButtonBar component rather than the ButtonBarBase base class.

  *
  *
When a Spark ButtonBar is created,
  *  its accessibilityImplementation property


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

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

 package spark.components.mediaClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12380
Author:   smgilson@adobe.com
Date:     2009-12-02T18:37:15.838623Z

Log Message:
-----------
ASDoc edits in preparation for localization

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DisplayLayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarHorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as</path>
<path kind="file" action="M">/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/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListItemDragProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBarBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>

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


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

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

 package spark.automation.delegates.components.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

 package spark.skins.spark
 {


CensusDataSource: Cache processed Census variables info.

--- WeaveJS/src/weavejs/data/source/CensusApi.as
+++ WeaveJS/src/weavejs/data/source/CensusApi.as
@@ -79,12 +79,19 @@
 					return jsonCache.getJsonPromise(dataset.c_geographyLink);
 				});
 		}
+
+		private var _variablesInfoCached:Object;
+		private var _variablesInfoProcessed:Object;
+

 		public function getVariables(dataSetIdentifier:String):WeavePromise/*/<any>/*/
 		{
 			return getVariablesPromise(dataSetIdentifier).then(
 				function (result:Object):Object
 				{
+					if (result.variables === _variablesInfoCached)
+						return _variablesInfoProcessed;
+
 					var variablesInfo:Object = JS.copyObject(result.variables);
 					delete variablesInfo["for"];
 					delete variablesInfo["in"];
@@ -95,8 +102,11 @@
 						var title:String = StandardLib.substitute('{0} ({1})', StandardLib.replace(label, '!!', '\u2014'), key);
 						variablesInfo[key]['title'] = title;
 					}
+
+					_variablesInfoProcessed = variablesInfo;
+					_variablesInfoCached = result.variables;

-					return variablesInfo;
+					return _variablesInfoProcessed;
 				});
 		}

@@ -177,8 +187,8 @@
 			.then(
 				function (geographyInfo:Object):WeavePromise
 				{
-					if (geographyInfo == null) return null;
-					geography_id = dataSource.geographicScope.value;
+					if (geographyInfo == null) return null;
+					geography_id = dataSource.geographicScope.value;
 					geography_filters = dataSource.geographicFilters.getSessionState();
 					api_key = dataSource.apiKey.value;
 					requires = ArrayUtils.copy(geographyInfo[geography_id].requires || []);


Faster padding purpose.

Faster padding purpose.

--- src/printf.as
+++ src/printf.as
@@ -260,21 +260,9 @@
 }

 /** @private */
-function padString(str:String, paddingNum:int, paddingChar:String=" "):String
+function padString(str:String, paddingNum:int, paddingChar:String=" ") : String
 {
     if(paddingChar == null) return str;

-    var i:int;
-    var buf:Array = [];
-    for (i = 0; i < Math.abs(paddingNum) - str.length; i++)
-        buf.push(paddingChar);
-
-    if (paddingNum < 0){
-    	buf.unshift(str);
-    }
-    else{
-    	buf.push(str);
-    }
-
-    return buf.join("");
+    return new Array(paddingNum + 1).join(paddingChar).concat(str);
 }


Edited elsewhere and forgot it there. Now this is the only difference what was done earlier.

git-svn-id: c197267f952b24206666de142881703007ca05d5@13268 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -488,7 +488,10 @@
 		}

 		/**
-		 * Sends ping to server in order to keep the connection alive.
+		 * Sends ping to server in order to keep the connection alive, in case the server
+		 * has not indicated that it would not support it.
+		 *
+		 * TODO: Whitespace keepalive if ping not supported...
 		 */
 		public function sendKeepAlive():void
 		{


Transferred from the Adobe Open Source Subversion Repository

Revision: 17693
Author:   chiedozi@adobe.com
Date:     2010-09-14T00:31:56.367663Z

Log Message:
-----------
Integrated revision 17685 from beta branch

Log Message:
***********
Fixed a bug where view transition performance would degrade if another animation was running when it started.

QE notes:
Doc notes:
Bugs: SDK-27793
Reviewer: Glenn
Tests run:
Is noteworthy for integration:

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

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

--- frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as
@@ -342,6 +342,15 @@
      */
     private var pendingViewTransition:ViewTransition = null;

+	/**
+	 *  @private
+	 *  A variable used to store the trantiion to play after a
+	 *  validation pass.  This needs to be a different variable than
+	 *  pendingViewTransition because the pending transition can
+	 *  change as push and pops come in.
+	 */
+	private var finalViewTransition:ViewTransition;
+
     /**
      *  @private
      *  This flag is set to true if a navigation operation, e.g., pushView()
@@ -1815,7 +1824,7 @@
             transition.navigator = this;

             // Give the transition a chance to prepare before the view updates
-            transition.prepare();
+            transition.captureStartValues();
         }

         // Invalidate the actionBar properties
@@ -1850,16 +1859,15 @@
                 validateNow();
         }

-        // Run transition
+        // Run transition a frame later so that the overhead of creating the view
+		// and the time the player takes to render isn't included in the duration.
+		// See SDK-27793.
         if (transition)
         {
-//            CONFIG::performanceInstrumentation
-            {
-                if (hasEventListener("transitionStart"))
-                    dispatchEvent(new Event("transitionStart", false, false));
-            }
-
-            transition.play();
+			transition.prepareFinalState();
+			finalViewTransition = transition;
+
+			addEventListener(Event.ENTER_FRAME, startViewTransition);
         }
         else
         {
@@ -1867,6 +1875,23 @@
         }
     }

+	/**
+	 *  @private
+	 *  Starts the view transition.
+	 */
+	private function startViewTransition(event:Event):void
+	{
+		removeEventListener(Event.ENTER_FRAME, startViewTransition);
+
+		//            CONFIG::performanceInstrumentation
+		{
+			if (hasEventListener("transitionStart"))
+				dispatchEvent(new Event("transitionStart", false, false));
+		}
+
+		finalViewTransition.play();
+	}
+
     /**
      *  @private
      *  Called when a transition dispatches a COMPLETE event.
@@ -1886,6 +1911,7 @@
                dispatchEvent(new Event("transitionEnd", false, false));
         }

+		finalViewTransition = null;
         endViewChange();
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12126
Author:   klin@adobe.com
Date:     2009-11-23T23:41:51.154822Z

Log Message:
-----------
Recommitting 12078. Fixed a bug in the check-in test that was breaking sometimes.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/ScrollBarTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.as
@@ -39,17 +39,30 @@
 [Event(name="change", type="flash.events.Event")]

 /**
- *  Dispatched before the value of the control changes
- *  as a result of user interaction.
- *
- *  @eventType mx.events.FlexEvent.CHANGING
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="changing", type="mx.events.FlexEvent")]
+ *  Dispatched at the end of a user interaction
+ *  or when an animation ends.
+ *
+ *  @eventType mx.events.FlexEvent.CHANGE_END
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Event(name="changeEnd", type="mx.events.FlexEvent")]
+
+/**
+ *  Dispatched at the start of a user interaction
+ *  or when an animation starts.
+ *
+ *  @eventType mx.events.FlexEvent.CHANGE_START
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Event(name="changeStart", type="mx.events.FlexEvent")]

 /**
  *  Dispatched when the thumb is pressed and then moved by the mouse.
@@ -366,6 +379,19 @@
         return minimum;
     }

+    /**
+     *  @private
+     */
+    override public function changeValueByStep(increase:Boolean = true):void
+    {
+        var prevValue:Number = this.value;
+
+        super.changeValueByStep(increase);
+
+        if (value != prevValue)
+            dispatchEvent(new Event(Event.CHANGE));
+    }
+
     /**
      *  @private
      */
@@ -540,9 +566,9 @@
             system_mouseUpHandler);

         clickOffset = thumb.globalToLocal(new Point(event.stageX, event.stageY));
+
         dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_PRESS));
-
-		dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
+        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
     }

     /**
@@ -563,6 +589,7 @@
         {
             setValue(newValue);
             dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_DRAG));
+            dispatchEvent(new Event(Event.CHANGE));
         }

         event.updateAfterEvent();
@@ -582,8 +609,7 @@
             system_mouseUpHandler);

         dispatchEvent(new TrackBaseEvent(TrackBaseEvent.THUMB_RELEASE));
-
-		dispatchEvent(new Event(Event.CHANGE));
+        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_END));
     }

     //---------------------------------
@@ -641,7 +667,6 @@
         }

         mouseDownTarget = null;
-
     }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12469
Author:   jimurphy@adobe.com
Date:     2009-12-03T22:04:16.560316Z

Log Message:
-----------
fix offsets for FB.  Convert line ending from lf to crlf in svn for the proects directory only.  When checking project files in, be sure to save you files this way.  Another update to make sure happens is set the svn properties svn:eol-style = native and svn:mime-type = text/plain (these have been updated on theses files as well)

QE notes: make sure the proper class is selected
Doc notes: no
Bugs: http://bugs.adobe.com/jira/browse/SDK-24498
Reviewer:
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
133 paths were modified

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

--- frameworks/projects/authoringsupport/src/MyFlexContentHolder.as
+++ frameworks/projects/authoringsupport/src/MyFlexContentHolder.as
@@ -40,4 +40,4 @@
         $scaleX = $scaleY = 1;
     }
 }
-}+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 12633
Author:   dsubrama@adobe.com
Date:     2009-12-08T00:08:59.596563Z

Log Message:
-----------
Metadata nits as requested by Builder/Catalyst.

Vertical/HorizontalLayout paddingLeft/Right/Top/Bottom properties do not need the minValue field since its perfectly legal to have negative padding values.

Spark text classes need the [Inspectable(category="General")] metadata for the text property.

QE notes: None
Doc notes: None
Bugs: SDK-24565
Reviewer: Hans
Tests run: Checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as
@@ -281,7 +281,7 @@

     private var _paddingLeft:Number = 0;

-    [Inspectable(category="General", minValue="0.0")]
+    [Inspectable(category="General")]

     /**
      *  Number of pixels between the container's left edge
@@ -317,7 +317,7 @@

     private var _paddingRight:Number = 0;

-    [Inspectable(category="General", minValue="0.0")]
+    [Inspectable(category="General")]

     /**
      *  Number of pixels between the container's right edge
@@ -353,7 +353,7 @@

     private var _paddingTop:Number = 0;

-    [Inspectable(category="General", minValue="0.0")]
+    [Inspectable(category="General")]

     /**
      *  The minimum number of pixels between the container's top edge and
@@ -389,7 +389,7 @@

     private var _paddingBottom:Number = 0;

-    [Inspectable(category="General", minValue="0.0")]
+    [Inspectable(category="General")]

     /**
      *  The minimum number of pixels between the container's bottom edge and