GeometryPlotter default line color set to black.

--- WeaveUISpark/src/weave/visualization/plotters/GeometryPlotter.as
+++ WeaveUISpark/src/weave/visualization/plotters/GeometryPlotter.as
@@ -71,6 +71,7 @@
 			// initialize default line & fill styles
 			line.scaleMode.defaultValue.setSessionState(LineScaleMode.NONE);
 			fill.color.internalDynamicColumn.globalName = Weave.DEFAULT_COLOR_COLUMN;
+			line.color.defaultValue.value = 0x000000;

 			linkSessionState(StreamedGeometryColumn.geometryMinimumScreenArea, pixellation);


Fix trailing slash linkification

Fix trailing slash linkification

--- actionscript/com/hipchat/Linkify.as
+++ actionscript/com/hipchat/Linkify.as
@@ -11,7 +11,7 @@
 		// If we have the scheme/protocol, always linkify (don't require a valid TLD)
 		public static const RE_FULL_URL:String = RE_URL_SCHEME+'\\w+(?:.\\w+)'+RE_URL_ENDING;
 		// URLs not starting with a protocol (e.g. www.google.com instead of http://www.google.com)
-		public static const RE_OTHER_URL:String = '\\w[\\w_-]*(?:\\.\\w[\\w_-]*)*\\.'+RE_TLD+'(?:\\/'+RE_URL_ENDING+')?\\b';
+		public static const RE_OTHER_URL:String = '\\w[\\w_-]*(?:\\.\\w[\\w_-]*)*\\.'+RE_TLD+'(?:\\/'+RE_URL_ENDING+')?';

 		// Text to turn in to emoticon images
 		// emoticons.regex is a pattern to be used in the RegExp constructor


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/managers/CursorManagerPriority.as
+++ frameworks/projects/framework/src/mx/managers/CursorManagerPriority.as
@@ -0,0 +1,51 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.managers
+{
+
+/**
+ *  The CursorManagerPriority class defines the constant values for the
+ *  priority argument to the
+ *  CursorManager.setCursor() method.
+ *
+ *  @see mx.managers.CursorManager
+ */
+public final class CursorManagerPriority
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constant that specifies the highest cursor priority when passed
+	 *  as the priority argument to setCursor().
+	 */
+	public static const HIGH:int = 1;
+
+	/**
+	 *  Constant that specifies a medium cursor priority when passed
+	 *  as the priority argument to setCursor().
+	 */
+	public static const MEDIUM:int = 2;
+
+	/**
+	 *  Constant that specifies the lowest cursor priority when passed
+	 *  as the priority argument to setCursor().
+	 */
+	public static const LOW:int = 3;
+}
+
+}


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

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

 package mx.managers
 {


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

--- frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as
@@ -308,4 +308,4 @@
         animateTransitionShaderInstance.shaderProperties = shaderProperties;
     }
 }
-}+}


FLEX-33807 fixed parsing of dates with no seperators

--- frameworks/projects/framework/src/mx/validators/DateValidator.as
+++ frameworks/projects/framework/src/mx/validators/DateValidator.as
@@ -173,6 +173,7 @@

 		var part:int = -1;
 		var lastFormatChar:String = "";
+		var noSeperators:Boolean = true;

 		n = inputFormat.length;
 		for (i = 0; i < n; i++)
@@ -209,6 +210,7 @@
 			}
 			else
 			{
+				noSeperators = false;
 				formatParts[part] = formatChar;
 			}

@@ -318,6 +320,7 @@
 			else
 			{
 				var lastStringChar:String = "";
+				lastFormatChar = "";
 				n = stringValue.length;
 				part = -1;
 				for (i = 0; i < n; i++)
@@ -327,6 +330,7 @@
 						&& (lastStringChar != "");
 					var curentIsDigit:Boolean = (DECIMAL_DIGITS.indexOf(stringChar) >= 0);

+					formatChar = inputFormat.charAt(i);
 					if (validInput.indexOf(stringChar) == -1)
 					{
 						results.push(new ValidationResult(
@@ -339,12 +343,19 @@
 						part++;
 						dateParts[part] = stringChar;
 					}
+					//  TODO will only work if month and day are not specified as single digits
+					else if (lastFormatChar != formatChar && noSeperators)
+					{
+						part++;
+						dateParts[part] = stringChar;
+					}
 					else
 					{
 						dateParts[part] += stringChar;
 					}

 					lastStringChar = stringChar;
+					lastFormatChar = formatChar;
 				}

 				if (formatParts.length != dateParts.length)


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

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

--- frameworks/projects/mx/src/mx/styles/metadata/IconColorStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/IconColorStyles.as
@@ -20,6 +20,11 @@
  *
  *  The default value depends on the component class;
  *  if it is not overridden by the class, the default value is 0x111111.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="iconColor", type="uint", format="Color", inherit="yes")]

@@ -33,5 +38,10 @@
  *
  *  The default value depends on the component class;
  *  if it is not overridden by the class, the default value is 0x999999.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="disabledIconColor", type="uint", format="Color", inherit="yes")]


Transferred from the Adobe Open Source Subversion Repository

Revision: 2464
Author:   jimurphy@adobe.com
Date:     2008-07-14T19:50:33.449468Z

Log Message:
-----------
add flex 4 to trunk

Modified Paths:
--------------
134 paths were modified

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

--- frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
+++ frameworks/projects/framework/src/mx/filters/IBitmapFilter.as
@@ -0,0 +1,9 @@
+package flex.filters
+{
+	import flash.filters.BitmapFilter;
+
+	public interface IBitmapFilter
+	{
+		function clone():BitmapFilter;
+	}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/styles/IStyleManager2.as
+++ frameworks/projects/framework/src/mx/styles/IStyleManager2.as
@@ -0,0 +1,63 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+
+import flash.events.IEventDispatcher;
+import flash.system.ApplicationDomain;
+import flash.system.SecurityDomain;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  This interface is used internally by Flex 3.
+ *  Flex 2.0.1 used the IStyleManager interface.
+ */
+public interface IStyleManager2 extends IStyleManager
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+	//  selectors
+    //----------------------------------
+
+	/**
+	 *  @private
+	 */
+	function get selectors():Array;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  In Flex 2, the static method StyleManager.loadStyleDeclarations()
+	 *  had three parameters and called loadStyleDeclarations()
+	 *  on IStyleManager.
+	 *  In Flex 3, the static method has four parameters and calls
+	 *  this method.
+	 */
+	function loadStyleDeclarations2(
+				url:String, update:Boolean = true,
+				applicationDomain:ApplicationDomain = null,
+				securityDomain:SecurityDomain = null):IEventDispatcher;
+}
+
+}


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

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

 package mx.rpc.soap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19887
Author:   jszeto@adobe.com
Date:     2011-01-22T00:21:36.826316Z

Log Message:
-----------
Mobile SoftKeyboard support updates

Changed Scroller.ensureFocusedElementIsVisible property to a function called ensureElementIsVisible
Changed Scroller auto-scroll behavior to only occur when the soft keyboard is opening

SDK-29211 - Focused TextInput doesn't autoscroll in Scroller when softKeyboard opens

Clear the focusedElement in focusOutHandler

SDK-29196 - If the SoftKeyboard is deactivated while the Scroller is currently animating a throw, the Scroller is left in a bad scroll position

Stop the throw animation when the softKeyboard is deactivated

SDK-29172 - Clicking on a nested List causes the outer scroll position to change

Removed the auto-scroll behavior of Scroller in most cases.

QE notes: none
Doc notes: Need to update the ASDoc of the new Scroller.ensureElementIsVisible function
Bugs: SDK-29211, SDK-29196, SDK-29172
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/spark/src/spark/components/Application.as
+++ frameworks/projects/spark/src/spark/components/Application.as
@@ -1297,18 +1297,18 @@
                 if (resizeForSoftKeyboard && !softKeyboardHandlersAdded)
                 {
                     // Use a high priority so that the application resize will occur first
-                    systemManager.stage.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,
-                                                         softKeyboardActivateHandler, false,
-                                                         EventPriority.BINDING, true);
-                    systemManager.stage.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE,
-                                                         softKeyboardDeactivateHandler, false,
-                                                         EventPriority.BINDING, true);
+                    addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE,
+                                                         softKeyboardActivateHandler, true,
+                                                         EventPriority.DEFAULT, true);
+                    addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE,
+                                                         softKeyboardDeactivateHandler, true,
+                                                         EventPriority.DEFAULT, true);
                     softKeyboardHandlersAdded = true;
                 }
                 else if (!resizeForSoftKeyboard && softKeyboardHandlersAdded)
                 {
-                    systemManager.stage.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, softKeyboardActivateHandler, false);
-                    systemManager.stage.removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, softKeyboardDeactivateHandler, false);
+                    removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATE, softKeyboardActivateHandler, true);
+                    removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, softKeyboardDeactivateHandler, true);
                     softKeyboardHandlersAdded = false;
                 }
             }
@@ -1583,7 +1583,7 @@
         {
             // Get the keyboard size
             var keyboardRect:Rectangle = stage.softKeyboardRect;
-
+
             var sm:SystemManager = systemManager as SystemManager;
             var scaleFactor:Number = 1;

@@ -1594,7 +1594,7 @@
             var appHeight:Number = (stage.stageHeight - keyboardRect.height) / scaleFactor;

             if (appHeight != height)
-            {
+            {
                 setActualSize(width, appHeight);
                 validateNow(); // Validate so that other listeners like Scroller get the updated dimensions
             }
@@ -1609,10 +1609,7 @@
     private function softKeyboardDeactivateHandler(event:SoftKeyboardEvent):void
     {
         if (this === FlexGlobals.topLevelApplication)
-        {
-            // Get the keyboard size
-            var keyboardRect:Rectangle = stage.softKeyboardRect;
-
+        {
             var sm:SystemManager = systemManager as SystemManager;
             var scaleFactor:Number = 1;


Transferred from the Adobe Open Source Subversion Repository

Revision: 11596
Author:   rfrishbe@adobe.com
Date:     2009-11-10T00:36:35.849792Z

Log Message:
-----------
Some changes to the new OSMF video player classes.  Some PARB renames, like videoElement->videoDisplay and playWhenHidden -> pauseWhenHidden as well as some fundamental changes around events.

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/VideoPlayerSkin2.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -43,7 +43,6 @@
 import spark.components.supportClasses.TextBase;
 import spark.components.supportClasses.ToggleButtonBase;
 import spark.events.TrackBaseEvent;
-import spark.events.VideoEvent;

 use namespace mx_internal;

@@ -52,99 +51,34 @@
 //--------------------------------------

 /**
- *  Dispatched when the NetConnection is closed,
- *  whether by being timed out, by calling the close() method,
- *  or by loading a new video stream.  This event is only dispatched
- *  with RTMP streams, never HTTP.
+ * Dispatched when the data is received as a download operation progresses.
  *
- *  @eventType spark.events.VideoEvent.CLOSE
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
+ * @eventType flash.events.ProgressEvent
  */
-[Event(name="close", type="spark.events.VideoEvent")]
-
-/**
- * Dispatched when playing completes because the player reached the end of the FLV file.
- * The component does not dispatch the event if you call the stop() or
- * pause() methods
- * or click the corresponding controls.
+[Event(name="bytesDownloadedChange",type="org.osmf.events.BytesDownloadedChangeEvent")]
+
+/**
+ * Dispatched when the MediaPlayer's state has changed.
+ *
+ * @eventType org.osmf.events.PlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE
+ */
+[Event(name="mediaPlayerStateChange", type="org.osmf.events.MediaPlayerStateChangeEvent")]
+
+/**
+ * Dispatched when the playhead property of the MediaPlayer has changed.
+ * This value is updated at the interval set by
+ * the MediaPlayer's playheadUpdateInterval property.
  *
- *  @eventType spark.events.VideoEvent.COMPLETE
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
+ * @eventType org.osmf.events.PlayheadChangeEvent.PLAYHEAD_CHANGE
+ **/
+[Event(name="playheadChange",type="org.osmf.events.PlayheadChangeEvent")]
+
+/**
+ * Dispatched when the duration property of the media has changed.
+ *
+ * @eventType org.osmf.events.DurationChangeEvent.DURATION_CHANGE
  */
-[Event(name="complete", type="spark.events.VideoEvent")]
-
-/**
- *  Dispatched the first time the FLV file's metadata is reached.
- *  The event object has an info property that contains the
- *  info object received by the NetStream.onMetaData event callback.
- *
- *  @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.VideoEvent")]
-
-/**
- *  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.
- *
- *  @eventType spark.events.VideoEvent.PLAYHEAD_UPDATE
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="playheadUpdate", type="spark.events.VideoEvent")]
-
-/**
- *  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.
- *  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.
- *
- *
Dispatched only for a progressive HTTP download. Indicates progress in number of
- *  downloaded bytes. The event object has the bytesLoaded and bytesTotal
- *  properties

- *
- *  @eventType flash.events.ProgressEvent.PROGRESS
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="progress", type="flash.events.ProgressEvent")]
-
-/**
- *  Dispatched when the video is loaded and ready to display.
- *
- *
This event is dispatched the first time the VideoPlayer
- *  enters a responsive state after a new FLV is loaded
- *  with the play() or load() method.
- *  It is dispatched once for each FLV loaded.

- *
- *  @eventType spark.events.VideoEvent.READY
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
-[Event(name="ready", type="spark.events.VideoEvent")]
+[Event(name="durationChange", type="org.osmf.events.DurationChangeEvent")]

 //--------------------------------------
 //  Styles
@@ -180,7 +114,7 @@
 //--------------------------------------

 /**
- *  Unitialized State of the VideoPlayer.
+ *  Uninitialized State of the VideoPlayer.
  *  The Video Player has been constructed at this point,
  *  but the source has not been set and no connection
  *  attempt is in progress.
@@ -266,7 +200,7 @@
 [SkinState("disabled")]

 /**
- *  Unitialized State of the VideoPlayer when
+ *  Uninitialized State of the VideoPlayer when
  *  in full screen mode.
  *  The Video Player has been constructed at this point,
  *  but the source has not been set and no connection
@@ -362,6 +296,7 @@
 //  Excluded APIs
 //--------------------------------------

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

 //--------------------------------------
@@ -378,7 +313,7 @@
  *  It supports playback of FLV and F4v files. The VideoPlayer control
  *  contains a full-featured UI for controlling video playback.
  *
- *
VideoElement is the chromeless version.

+ *
VideoDisplay is the chromeless version.

  *
  *
The VideoPlayer control has the following default characteristics:

  *

@@ -404,7 +339,7 @@
  *

  *

  *
- *  @see spark.primitives.VideoElement
+ *  @see spark.components.VideoDisplay
  *  @see spark.skins.spark.VideoPlayerSkin
  *  @see spark.skins.spark.mediaClasses.fullScreen.FullScreenButtonSkin
  *  @see spark.skins.spark.mediaClasses.fullScreen.MuteButtonSkin
@@ -435,13 +370,12 @@

  *    Properties
  *    autoPlay="true"
- *    autoRewind="false"
- *    enabled=""
+ *    autoRewind="true"
  *    loop="false"
- *    maintainAspectRatio="true"
+ *    scaleMode="letterbox"
  *    muted="false"
  *    source=""
- *    volume=".75"
+ *    volume="1"
  *
  *    Events
  *    close="No default"
@@ -506,7 +440,7 @@
     /**
      *  @private
      */
-    private static const PLAY_WHEN_HIDDEN_PROPERTY_FLAG:uint = 1 << 7;
+    private static const PAUSE_WHEN_HIDDEN_PROPERTY_FLAG:uint = 1 << 7;

     /**
      *  @private
@@ -530,13 +464,7 @@
     public function VideoPlayer2()
     {
         super();
-
-        bufferingTimer = new Timer(250);
-        bufferingTimer.addEventListener(TimerEvent.TIMER, bufferingTimer_timerHandler);
-        bufferingTimer.start();
-    }
-
-    private var bufferingTimer:Timer;
+    }

     //--------------------------------------------------------------------------
     //
@@ -554,7 +482,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public var videoElement:VideoDisplay;
+    public var videoDisplay:VideoDisplay;

     [SkinPart(required="false")]

@@ -704,22 +632,22 @@

     /**
      *  @private
-     *  Several properties are proxied to videoElement.  However, when videoElement
+     *  Several properties are proxied to videoDisplay.  However, when videoDisplay
      *  is not around, we need to store values set on VideoPlayer.  This object
-     *  stores those values.  If videoElement is around, the values are stored
-     *  on the videoElement directly.  However, we need to know what values
+     *  stores those values.  If videoDisplay is around, the values are stored
+     *  on the videoDisplay directly.  However, we need to know what values
      *  have been set by the developer on the VideoPlayer (versus set on
-     *  the videoElement or defaults of the videoElement) as those are values
-     *  we want to carry around if the videoElement changes (via a new skin).
-     *  In order to store this info effeciently, videoElementProperties becomes
+     *  the videoDisplay or defaults of the videoDisplay) as those are values
+     *  we want to carry around if the videoDisplay changes (via a new skin).
+     *  In order to store this info effeciently, videoDisplayProperties becomes
      *  a uint to store a series of BitFlags.  These bits represent whether a
      *  property has been explicitely set on this VideoPlayer.  When the
-     *  contentGroup is not around, videoElementProperties is a typeless
-     *  object to store these proxied properties.  When videoElement is around,
-     *  videoElementProperties stores booleans as to whether these properties
+     *  contentGroup is not around, videoDisplayProperties is a typeless
+     *  object to store these proxied properties.  When videoDisplay is around,
+     *  videoDisplayProperties stores booleans as to whether these properties
      *  have been explicitely set or not.
      */
-    private var videoElementProperties:Object = {};
+    private var videoDisplayProperties:Object = {};

     //--------------------------------------------------------------------------
     //
@@ -753,8 +681,8 @@
     {
         super.enabled = value;

-        if (videoElement)
-            videoElement.enabled = value;
+        if (videoDisplay)
+            videoDisplay.enabled = value;
     }

     //--------------------------------------------------------------------------
@@ -770,7 +698,9 @@
     [Inspectable(category="General", defaultValue="true")]

     /**
-     *  @copy spark.primitives.VideoElement#autoPlay
+     *  @copy spark.components.VideoDisplay#autoPlay
+     *
+     *  @default true
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -779,13 +709,13 @@
      */
     public function get autoPlay():Boolean
     {
-        if (videoElement)
-        {
-            return videoElement.autoPlay;
-        }
-        else
-        {
-            var v:* = videoElementProperties.autoPlay;
+        if (videoDisplay)
+        {
+            return videoDisplay.autoPlay;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.autoPlay;
             return (v === undefined) ? true : v;
         }
     }
@@ -795,15 +725,15 @@
      */
     public function set autoPlay(value:Boolean):void
     {
-        if (videoElement)
-        {
-            videoElement.autoPlay = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.autoPlay = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 AUTO_PLAY_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.autoPlay = value;
+            videoDisplayProperties.autoPlay = value;
         }
     }

@@ -814,7 +744,9 @@
     [Inspectable(category="General", defaultValue="true")]

     /**
-     *  @copy spark.primitives.VideoElement#autoRewind
+     *  @copy spark.components.VideoDisplay#autoRewind
+     *
+     *  @default true
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -823,13 +755,13 @@
      */
     public function get autoRewind():Boolean
     {
-        if (videoElement)
-        {
-            return videoElement.autoRewind;
-        }
-        else
-        {
-            var v:* = videoElementProperties.autoRewind
+        if (videoDisplay)
+        {
+            return videoDisplay.autoRewind;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.autoRewind;
             return (v === undefined) ? true : v;
         }
     }
@@ -839,15 +771,15 @@
      */
     public function set autoRewind(value:Boolean):void
     {
-        if (videoElement)
-        {
-            videoElement.autoRewind = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.autoRewind = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 AUTO_REWIND_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.autoRewind = value;
+            videoDisplayProperties.autoRewind = value;
         }
     }

@@ -855,11 +787,13 @@
     //  bytesLoaded
     //----------------------------------

-    [Bindable("currentTimeChanged")]
     [Inspectable(Category="General", defaultValue="0")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#bytesLoaded
+    [Bindable("bytesDownloadedChange")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#bytesLoaded
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -868,8 +802,8 @@
      */
     public function get bytesLoaded():Number
     {
-        if (videoElement)
-            return videoElement.bytesLoaded;
+        if (videoDisplay)
+            return videoDisplay.bytesLoaded;
         else
             return 0;
     }
@@ -879,9 +813,12 @@
     //----------------------------------

     [Inspectable(Category="General", defaultValue="0")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#bytesTotal
+    [Bindable("mediaPlayerStateChange")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#bytesTotal
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -890,8 +827,8 @@
      */
     public function get bytesTotal():Number
     {
-        if (videoElement)
-            return videoElement.bytesTotal;
+        if (videoDisplay)
+            return videoDisplay.bytesTotal;
         else
             return 0;
     }
@@ -900,12 +837,13 @@
     //  currentTime
     //----------------------------------

-    [Bindable("playheadUpdate")]
-    [Bindable("playheadTimeChanged")]
     [Inspectable(Category="General", defaultValue="0")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#currentTime
+    [Bindable("playheadChange")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#currentTime
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -914,8 +852,8 @@
      */
     public function get currentTime():Number
     {
-        if (videoElement)
-            return videoElement.currentTime;
+        if (videoDisplay)
+            return videoDisplay.currentTime;
         else
             return 0;
     }
@@ -927,7 +865,9 @@
     [Inspectable(Category="General", defaultValue="false")]

     /**
-     *  @copy spark.primitives.VideoElement#loop
+     *  @copy spark.components.VideoDisplay#loop
+     *
+     *  @default false
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -936,13 +876,13 @@
      */
     public function get loop():Boolean
     {
-        if (videoElement)
-        {
-            return videoElement.loop;
-        }
-        else
-        {
-            var v:* = videoElementProperties.loop;
+        if (videoDisplay)
+        {
+            return videoDisplay.loop;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.loop;
             return (v === undefined) ? false : v;
         }
     }
@@ -952,59 +892,15 @@
      */
     public function set loop(value:Boolean):void
     {
-        if (videoElement)
-        {
-            videoElement.loop = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.loop = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 LOOP_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.loop = value;
-        }
-    }
-
-    //----------------------------------
-    //  scaleMode
-    //----------------------------------
-
-    [Inspectable(Category="General", defaultValue="true")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#scaleMode
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get scaleMode():String
-    {
-        if (videoElement)
-        {
-            return videoElement.scaleMode;
-        }
-        else
-        {
-            var v:* = videoElementProperties.scaleMode;
-            return (v === undefined) ? "letterbox" : v;
-        }
-    }
-
-    /**
-     *  @private
-     */
-    public function set scaleMode(value:String):void
-    {
-        if (videoElement)
-        {
-            videoElement.scaleMode = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
-                SCALE_MODE_PROPERTY_FLAG, true);
-        }
-        else
-        {
-            videoElementProperties.scaleMode = value;
+            videoDisplayProperties.loop = value;
         }
     }

@@ -1016,7 +912,9 @@
     [Bindable("volumeChanged")]

     /**
-     *  @copy spark.primitives.VideoElement#muted
+     *  @copy spark.components.VideoDisplay#muted
+     *
+     *  @default false
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1025,13 +923,13 @@
      */
     public function get muted():Boolean
     {
-        if (videoElement)
-        {
-            return videoElement.muted;
-        }
-        else
-        {
-            var v:* = videoElementProperties.muted;
+        if (videoDisplay)
+        {
+            return videoDisplay.muted;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.muted;
             return (v === undefined) ? false : v;
         }
     }
@@ -1041,15 +939,15 @@
      */
     public function set muted(value:Boolean):void
     {
-        if (videoElement)
-        {
-            videoElement.muted = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.muted = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 MUTED_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.muted = value;
+            videoDisplayProperties.muted = value;
         }

         if (volumeBar)
@@ -1059,13 +957,60 @@
     }

     //----------------------------------
+    //  pauseWhenHidden
+    //----------------------------------
+
+    [Inspectable(category="General", defaultValue="true")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#pauseWhenHidden
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get pauseWhenHidden():Boolean
+    {
+        if (videoDisplay)
+        {
+            return videoDisplay.pauseWhenHidden;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.pauseWhenHidden;
+            return (v === undefined) ? false : v;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    public function set pauseWhenHidden(value:Boolean):void
+    {
+        if (videoDisplay)
+        {
+            videoDisplay.pauseWhenHidden = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
+                PAUSE_WHEN_HIDDEN_PROPERTY_FLAG, true);
+        }
+        else
+        {
+            videoDisplayProperties.pauseWhenHidden = value;
+        }
+    }
+
+    //----------------------------------
     //  playing
     //----------------------------------

     [Inspectable(category="General")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#playing
+    [Bindable("mediaPlayerStateChange")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#playing
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1074,73 +1019,69 @@
      */
     public function get playing():Boolean
     {
-        if (videoElement)
-            return videoElement.playing;
+        if (videoDisplay)
+            return videoDisplay.playing;
         else
             return false;
     }

     //----------------------------------
-    //  playWhenHidden
-    //----------------------------------
-
-    [Inspectable(category="General", defaultValue="false")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#playWhenHidden
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get playWhenHidden():Boolean
-    {
-        if (videoElement)
-        {
-            return videoElement.playWhenHidden;
-        }
-        else
-        {
-            var v:* = videoElementProperties.playWhenHidden;
-            return (v === undefined) ? false : v;
-        }
-    }
-
-    /**
-     *  @private
-     */
-    public function set playWhenHidden(value:Boolean):void
-    {
-        if (videoElement)
-        {
-            videoElement.playWhenHidden = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
-                PLAY_WHEN_HIDDEN_PROPERTY_FLAG, true);
-        }
-        else
-        {
-            videoElementProperties.playWhenHidden = value;
-        }
-    }
-
-    override public function setVisible(value:Boolean, noEvent:Boolean=false) : void
-    {
-        super.setVisible(value, noEvent);
-
-        if (videoElement)
-            videoElement.mx_internal::parentVisibility = value;
+    //  scaleMode
+    //----------------------------------
+
+    [Inspectable(Category="General", defaultValue="true")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#scaleMode
+     *
+     *  @default letterbox
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function get scaleMode():String
+    {
+        if (videoDisplay)
+        {
+            return videoDisplay.scaleMode;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.scaleMode;
+            return (v === undefined) ? "letterbox" : v;
+        }
+    }
+
+    /**
+     *  @private
+     */
+    public function set scaleMode(value:String):void
+    {
+        if (videoDisplay)
+        {
+            videoDisplay.scaleMode = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
+                SCALE_MODE_PROPERTY_FLAG, true);
+        }
+        else
+        {
+            videoDisplayProperties.scaleMode = value;
+        }
     }

     //----------------------------------
     //  source
     //----------------------------------

+    [Inspectable(category="General", defaultValue="null")]
     [Bindable("sourceChanged")]
-    [Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#source
+
+    /**
+     *  @copy spark.components.VideoDisplay#source
+     *
+     *  @default null
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1149,13 +1090,13 @@
      */
     public function get source():Object
     {
-        if (videoElement)
-        {
-            return videoElement.source;
-        }
-        else
-        {
-            var v:* = videoElementProperties.source;
+        if (videoDisplay)
+        {
+            return videoDisplay.source;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.source;
             return (v === undefined) ? null : v;
         }
     }
@@ -1165,15 +1106,15 @@
      */
     public function set source(value:Object):void
     {
-        if (videoElement)
-        {
-            videoElement.source = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.source = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 SOURCE_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.source = value;
+            videoDisplayProperties.source = value;
         }
     }

@@ -1185,7 +1126,7 @@

     /**
      *  @private
-     *  @copy spark.primitives.VideoElement#thumbnailSource
+     *  @copy spark.components.VideoDisplay#thumbnailSource
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1194,13 +1135,13 @@
      */
     mx_internal function get thumbnailSource():Object
     {
-        if (videoElement)
-        {
-            return videoElement.thumbnailSource;
-        }
-        else
-        {
-            var v:* = videoElementProperties.thumbnailSource;
+        if (videoDisplay)
+        {
+            return videoDisplay.thumbnailSource;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.thumbnailSource;
             return (v === undefined) ? null : v;
         }
     }
@@ -1210,15 +1151,15 @@
      */
     mx_internal function set thumbnailSource(value:Object):void
     {
-        if (videoElement)
-        {
-            videoElement.thumbnailSource = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.thumbnailSource = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 THUMBNAIL_SOURCE_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.thumbnailSource = value;
+            videoDisplayProperties.thumbnailSource = value;
         }
     }

@@ -1226,13 +1167,13 @@
     //  duration
     //----------------------------------

-    [Bindable("complete")]
-    [Bindable("metadataReceived")]
-    [Bindable("totalTimeChanged")]
     [Inspectable(Category="General", defaultValue="0")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#duration
+    [Bindable("durationChange")]
+
+    /**
+     *  @copy spark.components.VideoDisplay#duration
+     *
+     *  @default 0
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1241,8 +1182,8 @@
      */
     public function get duration():Number
     {
-        if (videoElement)
-            return videoElement.duration;
+        if (videoDisplay)
+            return videoDisplay.duration;
         else
             return 0;
     }
@@ -1251,11 +1192,13 @@
     //  volume
     //----------------------------------

+    [Inspectable(category="General", defaultValue="1.0")]
     [Bindable("volumeChanged")]
-    [Inspectable(category="General", defaultValue="1.0")]
-
-    /**
-     *  @copy spark.primitives.VideoElement#volume
+
+    /**
+     *  @copy spark.components.VideoDisplay#volume
+     *
+     *  @default 1
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1264,13 +1207,13 @@
      */
     public function get volume():Number
     {
-        if (videoElement)
-        {
-            return videoElement.volume;
-        }
-        else
-        {
-            var v:* = videoElementProperties.volume;
+        if (videoDisplay)
+        {
+            return videoDisplay.volume;
+        }
+        else
+        {
+            var v:* = videoDisplayProperties.volume;
             return (v === undefined) ? 1 : v;
         }
     }
@@ -1280,15 +1223,15 @@
      */
     public function set volume(value:Number):void
     {
-        if (videoElement)
-        {
-            videoElement.volume = value;
-            videoElementProperties = BitFlagUtil.update(videoElementProperties as uint,
+        if (videoDisplay)
+        {
+            videoDisplay.volume = value;
+            videoDisplayProperties = BitFlagUtil.update(videoDisplayProperties as uint,
                 VOLUME_PROPERTY_FLAG, true);
         }
         else
         {
-            videoElementProperties.volume = value;
+            videoDisplayProperties.volume = value;
         }
     }

@@ -1297,13 +1240,13 @@
     //  Overridden methods
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  @private
      */
     override protected function getCurrentSkinState():String
     {
-        var state:String = videoElement.videoPlayer.state.name;
+        var state:String = videoDisplay.videoPlayer.state.name;

         // now that we have our video player's current state (atleast the one we care about)
         // and that we've set the previous state to something we care about, let's figure
@@ -1323,121 +1266,121 @@
      */
     override protected function partAdded(partName:String, instance:Object):void
     {
-        if (instance == videoElement)
-        {
-            videoElement.addEventListener(PlayheadChangeEvent.PLAYHEAD_CHANGE, videoElement_playHeadChangeHandler);
-            videoElement.addEventListener(BytesDownloadedChangeEvent.BYTES_DOWNLOADED_CHANGE, videoElement_bytesDownloadedChangeHandler);
-            videoElement.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoElement_mediaPlayerStateChangeHandler);
-            videoElement.addEventListener(DurationChangeEvent.DURATION_CHANGE, videoElement_durationChangeHandler);
+        if (instance == videoDisplay)
+        {
+            videoDisplay.addEventListener(PlayheadChangeEvent.PLAYHEAD_CHANGE, videoDisplay_playHeadChangeHandler);
+            videoDisplay.addEventListener(BytesDownloadedChangeEvent.BYTES_DOWNLOADED_CHANGE, videoDisplay_bytesDownloadedChangeHandler);
+            videoDisplay.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoDisplay_mediaPlayerStateChangeHandler);
+            videoDisplay.addEventListener(DurationChangeEvent.DURATION_CHANGE, videoDisplay_durationChangeHandler);

             // just strictly for binding purposes
-            videoElement.addEventListener("sourceChanged", dispatchEvent);
-            videoElement.addEventListener("volumeChanged", videoElement_volumeChangedHandler);
+            videoDisplay.addEventListener("sourceChanged", dispatchEvent);
+            videoDisplay.addEventListener("volumeChanged", videoDisplay_volumeChangedHandler);

             // copy proxied values from videoProperties (if set) to video

             var newVideoProperties:uint = 0;

-            if (videoElementProperties.source !== undefined)
+            if (videoDisplayProperties.source !== undefined)
             {
-                videoElement.source = videoElementProperties.source;
+                videoDisplay.source = videoDisplayProperties.source;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     SOURCE_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.autoPlay !== undefined)
+            if (videoDisplayProperties.autoPlay !== undefined)
             {
-                videoElement.autoPlay = videoElementProperties.autoPlay;
+                videoDisplay.autoPlay = videoDisplayProperties.autoPlay;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     AUTO_PLAY_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.volume !== undefined)
+            if (videoDisplayProperties.volume !== undefined)
             {
-                videoElement.volume = videoElementProperties.volume;
+                videoDisplay.volume = videoDisplayProperties.volume;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     VOLUME_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.autoRewind !== undefined)
+            if (videoDisplayProperties.autoRewind !== undefined)
             {
-                videoElement.autoRewind = videoElementProperties.autoRewind;
+                videoDisplay.autoRewind = videoDisplayProperties.autoRewind;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     AUTO_REWIND_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.loop !== undefined)
+            if (videoDisplayProperties.loop !== undefined)
             {
-                videoElement.loop = videoElementProperties.loop;
+                videoDisplay.loop = videoDisplayProperties.loop;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     LOOP_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.scaleMode !== undefined)
+            if (videoDisplayProperties.scaleMode !== undefined)
             {
-                videoElement.scaleMode = videoElementProperties.scaleMode;
+                videoDisplay.scaleMode = videoDisplayProperties.scaleMode;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     SCALE_MODE_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.muted !== undefined)
+            if (videoDisplayProperties.muted !== undefined)
             {
-                videoElement.muted = videoElementProperties.muted;
+                videoDisplay.muted = videoDisplayProperties.muted;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     MUTED_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.playWhenHidden !== undefined)
+            if (videoDisplayProperties.pauseWhenHidden !== undefined)
             {
-                videoElement.playWhenHidden = videoElementProperties.playWhenHidden;
+                videoDisplay.pauseWhenHidden = videoDisplayProperties.pauseWhenHidden;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
-                    PLAY_WHEN_HIDDEN_PROPERTY_FLAG, true);
+                    PAUSE_WHEN_HIDDEN_PROPERTY_FLAG, true);
             }

-            if (videoElementProperties.thumbnailSource !== undefined)
+            if (videoDisplayProperties.thumbnailSource !== undefined)
             {
-                videoElement.thumbnailSource = videoElementProperties.thumbnailSource;
+                videoDisplay.thumbnailSource = videoDisplayProperties.thumbnailSource;
                 newVideoProperties = BitFlagUtil.update(newVideoProperties as uint,
                     THUMBNAIL_SOURCE_PROPERTY_FLAG, true);
             }

             // these are state properties just carried over from an old video element
-            if (videoElementProperties.currentTime !== undefined ||
-                videoElementProperties.playing !== undefined)
+            if (videoDisplayProperties.currentTime !== undefined ||
+                videoDisplayProperties.playing !== undefined)
             {
-                videoElement_updateCompleteHandlerProperties = {
-                    autoPlay: videoElement.autoPlay,
-                        playing: videoElementProperties.playing,
-                        currentTime: videoElementProperties.currentTime};
+                videoDisplay_updateCompleteHandlerProperties = {
+                    autoPlay: videoDisplay.autoPlay,
+                        playing: videoDisplayProperties.playing,
+                        currentTime: videoDisplayProperties.currentTime};

-                // so the videoElement doesn't start playing...we'll handle it instead in
-                // videoElement_updateCompleteHandler
-                videoElement.autoPlay = false;
+                // so the videoDisplay doesn't start playing...we'll handle it instead in
+                // videoDisplay_updateCompleteHandler
+                videoDisplay.autoPlay = false;

-                videoElement.addEventListener(FlexEvent.UPDATE_COMPLETE, videoElement_updateCompleteHandler);
+                videoDisplay.addEventListener(FlexEvent.UPDATE_COMPLETE, videoDisplay_updateCompleteHandler);
             }

-            videoElementProperties = newVideoProperties;
-
-            videoElement.enabled = enabled;
+            videoDisplayProperties = newVideoProperties;
+
+            videoDisplay.enabled = enabled;

             if (volumeBar)
             {
-                volumeBar.value = videoElement.volume;
-                volumeBar.muted = videoElement.muted;
+                volumeBar.value = videoDisplay.volume;
+                volumeBar.muted = videoDisplay.muted;
             }

             if (muteButton)
             {
-                muteButton.volume = videoElement.volume;
-                muteButton.muted = videoElement.muted;
+                muteButton.volume = videoDisplay.volume;
+                muteButton.muted = videoDisplay.muted;
             }

             if (scrubBar)
                 updateScrubBar();

             if (currentTimeDisplay)
-                updatecurrentTime();
+                updateCurrentTime();

             if (durationDisplay)
                 updateDuration();
@@ -1460,7 +1403,7 @@
         }
         else if (instance == muteButton)
         {
-            if (videoElement)
+            if (videoDisplay)
             {
                 muteButton.muted = muted;
                 muteButton.volume = volume;
@@ -1472,18 +1415,19 @@
         {
             volumeBar.minimum = 0;
             volumeBar.maximum = 1;
-            if (videoElement)
+            if (videoDisplay)
             {
                 volumeBar.value = volume;
                 volumeBar.muted = muted;
             }

+            // FIXME (rfrishbe): revisit this after kevin fixes it
             volumeBar.addEventListener(FlexEvent.VALUE_COMMIT, volumeBar_valueCommitHandler);
             volumeBar.addEventListener(FlexEvent.MUTED_CHANGE, volumeBar_mutedChangeHandler);
         }
         else if (instance == scrubBar)
         {
-            if (videoElement)
+            if (videoDisplay)
                 updateScrubBar();

             scrubBar.addEventListener(TrackBaseEvent.THUMB_PRESS, scrubBar_thumbPressHandler);
@@ -1497,12 +1441,12 @@
         }
         else if (instance == currentTimeDisplay)
         {
-            if (videoElement)
-                updatecurrentTime();
+            if (videoDisplay)
+                updateCurrentTime();
         }
         else if (instance == durationDisplay)
         {
-            if (videoElement)
+            if (videoDisplay)
                 updateDuration();
         }
     }
@@ -1510,31 +1454,31 @@
     /**
      *  @private
      *  Holds the state of the video element when the skin is being swapped out.
-     *  This is so the new videoElement can load up and start playing
+     *  This is so the new videoDisplay can load up and start playing
      *  where it left off.
      */
-    private var videoElement_updateCompleteHandlerProperties:Object;
-
-    /**
-     *  @private
-     *  We only listen for the updateComplete event on the videoElement when
-     *  a skin has been swapped.  This is so we can push the old videoElement's
+    private var videoDisplay_updateCompleteHandlerProperties:Object;
+
+    /**
+     *  @private
+     *  We only listen for the updateComplete event on the videoDisplay when
+     *  a skin has been swapped.  This is so we can push the old videoDisplay's
      *  state in to the new object, and we can start playing the video
      *  where it left off.
      */
-    private function videoElement_updateCompleteHandler(event:FlexEvent):void
-    {
-        if (videoElement_updateCompleteHandlerProperties.autoPlay)
-            videoElement.autoPlay = true;
-
-        if (videoElement_updateCompleteHandlerProperties.currentTime !== undefined)
-            videoElement.seek(videoElement_updateCompleteHandlerProperties.currentTime);
-
-        if (videoElement_updateCompleteHandlerProperties.playing)
-            videoElement.play();
-
-        videoElement_updateCompleteHandlerProperties = null;
-        videoElement.removeEventListener(FlexEvent.UPDATE_COMPLETE, videoElement_updateCompleteHandler);
+    private function videoDisplay_updateCompleteHandler(event:FlexEvent):void
+    {
+        if (videoDisplay_updateCompleteHandlerProperties.autoPlay)
+            videoDisplay.autoPlay = true;
+
+        if (videoDisplay_updateCompleteHandlerProperties.currentTime !== undefined)
+            videoDisplay.seek(videoDisplay_updateCompleteHandlerProperties.currentTime);
+
+        if (videoDisplay_updateCompleteHandlerProperties.playing)
+            videoDisplay.play();
+
+        videoDisplay_updateCompleteHandlerProperties = null;
+        videoDisplay.removeEventListener(FlexEvent.UPDATE_COMPLETE, videoDisplay_updateCompleteHandler);
     }

     /**
@@ -1542,62 +1486,62 @@
      */
     override protected function partRemoved(partName:String, instance:Object):void
     {
-        if (instance == videoElement)
-        {
-            // validate before doing anything with the videoElement.
+        if (instance == videoDisplay)
+        {
+            // validate before doing anything with the videoDisplay.
             // This is so if the video element hasn't been validated, it won't start playing.
             // plus this way we'll get a valid currentTime and all those other properties
             // we are interested in.
-            videoElement.validateNow();
+            videoDisplay.validateNow();

             // copy proxied values from video (if explicitely set) to videoProperties

             var newVideoProperties:Object = {};

-            if (BitFlagUtil.isSet(videoElementProperties as uint, SOURCE_PROPERTY_FLAG))
-                newVideoProperties.source = videoElement.source;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, AUTO_PLAY_PROPERTY_FLAG))
-                newVideoProperties.autoPlay = videoElement.autoPlay;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, VOLUME_PROPERTY_FLAG))
-                newVideoProperties.volume = videoElement.volume;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, AUTO_REWIND_PROPERTY_FLAG))
-                newVideoProperties.autoRewind = videoElement.autoRewind;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, LOOP_PROPERTY_FLAG))
-                newVideoProperties.loop = videoElement.loop;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, SCALE_MODE_PROPERTY_FLAG))
-                newVideoProperties.scaleMode = videoElement.scaleMode;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, MUTED_PROPERTY_FLAG))
-                newVideoProperties.muted = videoElement.muted;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, PLAY_WHEN_HIDDEN_PROPERTY_FLAG))
-                newVideoProperties.playWhenHidden = videoElement.playWhenHidden;
-
-            if (BitFlagUtil.isSet(videoElementProperties as uint, THUMBNAIL_SOURCE_PROPERTY_FLAG))
-                newVideoProperties.thumbnailSource = videoElement.thumbnailSource;
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, SOURCE_PROPERTY_FLAG))
+                newVideoProperties.source = videoDisplay.source;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, AUTO_PLAY_PROPERTY_FLAG))
+                newVideoProperties.autoPlay = videoDisplay.autoPlay;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, VOLUME_PROPERTY_FLAG))
+                newVideoProperties.volume = videoDisplay.volume;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, AUTO_REWIND_PROPERTY_FLAG))
+                newVideoProperties.autoRewind = videoDisplay.autoRewind;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, LOOP_PROPERTY_FLAG))
+                newVideoProperties.loop = videoDisplay.loop;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, SCALE_MODE_PROPERTY_FLAG))
+                newVideoProperties.scaleMode = videoDisplay.scaleMode;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, MUTED_PROPERTY_FLAG))
+                newVideoProperties.muted = videoDisplay.muted;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, PAUSE_WHEN_HIDDEN_PROPERTY_FLAG))
+                newVideoProperties.pauseWhenHidden = videoDisplay.pauseWhenHidden;
+
+            if (BitFlagUtil.isSet(videoDisplayProperties as uint, THUMBNAIL_SOURCE_PROPERTY_FLAG))
+                newVideoProperties.thumbnailSource = videoDisplay.thumbnailSource;

             // push our current state (where we were in the video and whether we were playing)
             // so that the new skin gets these as well
-            newVideoProperties.currentTime = videoElement.currentTime;
-            newVideoProperties.playing = videoElement.playing;
-
-            videoElement.stop();
-
-            videoElementProperties = newVideoProperties;
-
-            videoElement.removeEventListener(PlayheadChangeEvent.PLAYHEAD_CHANGE, videoElement_playHeadChangeHandler);
-            videoElement.removeEventListener(DurationChangeEvent.DURATION_CHANGE, videoElement_durationChangeHandler);
-            videoElement.removeEventListener(BytesDownloadedChangeEvent.BYTES_DOWNLOADED_CHANGE, videoElement_bytesDownloadedChangeHandler);
-            videoElement.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoElement_mediaPlayerStateChangeHandler);
+            newVideoProperties.currentTime = videoDisplay.currentTime;
+            newVideoProperties.playing = videoDisplay.playing;
+
+            videoDisplay.stop();
+
+            videoDisplayProperties = newVideoProperties;
+
+            videoDisplay.removeEventListener(PlayheadChangeEvent.PLAYHEAD_CHANGE, videoDisplay_playHeadChangeHandler);
+            videoDisplay.removeEventListener(DurationChangeEvent.DURATION_CHANGE, videoDisplay_durationChangeHandler);
+            videoDisplay.removeEventListener(BytesDownloadedChangeEvent.BYTES_DOWNLOADED_CHANGE, videoDisplay_bytesDownloadedChangeHandler);
+            videoDisplay.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoDisplay_mediaPlayerStateChangeHandler);

             // just strictly for binding purposes
-            videoElement.removeEventListener("sourceChanged", dispatchEvent);
-            videoElement.removeEventListener("volumeChanged", videoElement_volumeChangedHandler);
+            videoDisplay.removeEventListener("sourceChanged", dispatchEvent);
+            videoDisplay.removeEventListener("volumeChanged", videoDisplay_volumeChangedHandler);
         }
         else if (instance == playButton)
         {
@@ -1644,9 +1588,9 @@
     //--------------------------------------------------------------------------

     /**
-     *  @throws TypeError If the skin hasn't been loaded and there is no videoElement.
+     *  @throws TypeError If the skin hasn't been loaded and there is no videoDisplay.
      *
-     *  @copy spark.primitives.VideoElement#pause()
+     *  @copy spark.components.VideoDisplay#pause()
      *
      *
      *  @langversion 3.0
@@ -1656,14 +1600,14 @@
      */
     public function pause():void
     {
-        videoElement.pause();
-    }
-
-    /**
-     *  @copy spark.primitives.VideoElement#play()
+        videoDisplay.pause();
+    }
+
+    /**
+     *  @copy spark.components.VideoDisplay#play()
      *
      *  @throws TypeError if the skin hasn't been loaded up yet
-     *                    and there's no videoElement.
+     *                    and there's no videoDisplay.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1672,14 +1616,14 @@
      */
     public function play():void
     {
-        videoElement.play();
-    }
-
-    /**
-     *  @copy spark.primitives.VideoElement#seek()
+        videoDisplay.play();
+    }
+
+    /**
+     *  @copy spark.components.VideoDisplay#seek()
      *
      *  @throws TypeError if the skin hasn't been loaded up yet
-     *                    and there's no videoElement.
+     *                    and there's no videoDisplay.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1688,14 +1632,14 @@
      */
     public function seek(time:Number):void
     {
-        videoElement.seek(time);
-    }
-
-    /**
-     *  @copy spark.primitives.VideoElement#stop()
+        videoDisplay.seek(time);
+    }
+
+    /**
+     *  @copy spark.components.VideoDisplay#stop()
      *
      *  @throws TypeError if the skin hasn't been loaded up yet
-     *                    and there's no videoElement.
+     *                    and there's no videoDisplay.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -1704,7 +1648,7 @@
      */
     public function stop():void
     {
-        videoElement.stop();
+        videoDisplay.stop();
     }

     /**
@@ -1712,18 +1656,22 @@
      */
     private function updateScrubBar():void
     {
-        if (!videoElement)
+        if (!videoDisplay)
             return;

         if (!scrubBarMouseCaptured && !scrubBarChanging)
         {
             scrubBar.minimum = 0;
-            scrubBar.maximum = videoElement.duration;
-            scrubBar.value = videoElement.currentTime;
+            scrubBar.maximum = videoDisplay.duration;
+            scrubBar.value = videoDisplay.currentTime;
         }

         scrubBar.bufferedStart = 0;
-        scrubBar.bufferedEnd = (videoElement.bytesLoaded/videoElement.bytesTotal)*videoElement.duration;
+
+        if (videoDisplay.bytesTotal == 0)
+            scrubBar.bufferedEnd = 0;
+        else
+            scrubBar.bufferedEnd = (videoDisplay.bytesLoaded/videoDisplay.bytesTotal)*videoDisplay.duration;
     }

     /**
@@ -1769,7 +1717,7 @@
     /**
      *  @private
      */
-    private function updatecurrentTime():void
+    private function updateCurrentTime():void
     {
         currentTimeDisplay.text = formatTimeValue(currentTime);
     }
@@ -1783,13 +1731,13 @@
     /**
      *  @private
      */
-    private function videoElement_playHeadChangeHandler(event:PlayheadChangeEvent):void
+    private function videoDisplay_playHeadChangeHandler(event:PlayheadChangeEvent):void
     {
         if (scrubBar)
             updateScrubBar();

         if (currentTimeDisplay)
-            updatecurrentTime();
+            updateCurrentTime();

         dispatchEvent(event);
     }
@@ -1797,7 +1745,7 @@
     /**
      *  @private
      */
-    private function videoElement_bytesDownloadedChangeHandler(event:BytesDownloadedChangeEvent):void
+    private function videoDisplay_bytesDownloadedChangeHandler(event:BytesDownloadedChangeEvent):void
     {
         if (scrubBar)
             updateScrubBar();
@@ -1808,7 +1756,7 @@
     /**
      *  @private
      */
-    private function videoElement_mediaPlayerStateChangeHandler(event:MediaPlayerStateChangeEvent):void
+    private function videoDisplay_mediaPlayerStateChangeHandler(event:MediaPlayerStateChangeEvent):void
     {
         invalidateSkinState();

@@ -1827,7 +1775,7 @@
     /**
      *  @private
      */
-    private function videoElement_durationChangeHandler(event:DurationChangeEvent):void
+    private function videoDisplay_durationChangeHandler(event:DurationChangeEvent):void
     {
         if (scrubBar)
             updateScrubBar();
@@ -1841,7 +1789,7 @@
     /**
      *  @private
      */
-    private function videoElement_volumeChangedHandler(event:Event):void
+    private function videoDisplay_volumeChangedHandler(event:Event):void
     {
         if (volumeBar)
         {
@@ -1897,7 +1845,10 @@
             // need it to go into full screen state for the skin
             invalidateSkinState();

-            var oldPlayWhenHidden:Boolean = playWhenHidden;
+            // keep track of pauseWhenHidden b/c we will set it to false temporarily
+            // so that the video does not pause when we reparent it to the top
+            // level application
+            var oldPauseWhenHidden:Boolean = pauseWhenHidden;

             // let's get it off of our layout system so it doesn't interfere with
             // the sizing and positioning. Then let's resize it to be
@@ -1908,11 +1859,12 @@
                 y: this.y,
                 width: this.getPreferredBoundsWidth(false),
                 height: this.getPreferredBoundsHeight(false),
-//                smoothing: videoElement.videoPlayer.smoothing,
-//                deblocking: videoElement.videoPlayer.deblocking,
+                // FIXME (rfrishbe):
+//                smoothing: videoDisplay.videoPlayer.smoothing,
+//                deblocking: videoDisplay.videoPlayer.deblocking,
                 includeInLayout: this.includeInLayout};
             includeInLayout = false;
-            playWhenHidden = true;
+            pauseWhenHidden = false;

             // remove from old parent
             if (parent is IVisualElementContainer)
@@ -1942,8 +1894,8 @@
             invalidateDisplayList();

             // this is for video performance reasons
-//            videoElement.videoPlayer.smoothing = false;
-//            videoElement.videoPlayer.deblocking = 0;
+//            videoDisplay.videoPlayer.smoothing = false;
+//            videoDisplay.videoPlayer.deblocking = 0;

             this.validateNow();

@@ -1959,7 +1911,7 @@
             fullScreenHideControlTimer.addEventListener(TimerEvent.TIMER_COMPLETE,
                 fullScreenHideControlTimer_timerCompleteHandler, false, 0, true);

-            playWhenHidden = oldPlayWhenHidden;
+            pauseWhenHidden = oldPauseWhenHidden;

             // use stage or systemManager?
             systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_DOWN, resetFullScreenHideControlTimer);
@@ -2023,8 +1975,11 @@
         if (event.fullScreen)
             return;

-        var oldPlayWhenHidden:Boolean = playWhenHidden;
-        playWhenHidden = true;
+        // keep track of pauseWhenHidden b/c we will set it to false temporarily
+        // so that the video does not pause when we reparent it to the top
+        // level application
+        var oldPauseWhenHidden:Boolean = pauseWhenHidden;
+        pauseWhenHidden = false;

         // set the fullScreen variable back to false and remove this event listener
         fullScreen = false;
@@ -2047,8 +2002,8 @@
         this.y = beforeFullScreenInfo.y;
         this.setLayoutBoundsSize(beforeFullScreenInfo.width, beforeFullScreenInfo.height);

-//        videoElement.videoPlayer.smoothing = beforeFullScreenInfo.smoothing;
-//        videoElement.videoPlayer.deblocking = beforeFullScreenInfo.deblocking;
+//        videoDisplay.videoPlayer.smoothing = beforeFullScreenInfo.smoothing;
+//        videoDisplay.videoPlayer.deblocking = beforeFullScreenInfo.deblocking;

         // remove from top level application:
         if (parent is IVisualElementContainer)
@@ -2068,7 +2023,7 @@
             beforeFullScreenInfo.parent.addChildAt(this, beforeFullScreenInfo.childIndex);

         includeInLayout = beforeFullScreenInfo.includeInLayout;
-        playWhenHidden = oldPlayWhenHidden;
+        pauseWhenHidden = oldPauseWhenHidden;

         beforeFullScreenInfo = null;

@@ -2201,11 +2156,5 @@

         scrubBarChanging = false;
     }
-
-    private function bufferingTimer_timerHandler(event:TimerEvent):void
-    {
-        if (videoElement && scrubBar)
-            updateScrubBar();
-    }
 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 15855
Author:   klin@adobe.com
Date:     2010-04-30T20:37:13.071924Z

Log Message:
-----------
Initial ConstraintLayout and FormItemLayout checkin.

-I had to modify LayoutElementHelper to correctly parse column/row based constraints. parseConstraintExp now takes an Object. It returns only a number if there's no column/row based constraints and an array of [boundary, constraint].
-ConstraintLayout currently supports left, right, top, bottom for single spanning elements.
-FormItemLayout extends from ConstraintLayout now.
-Modified manifest so you can use ConstraintColumn and ConstraintRow in the spark namespace.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/FormItemLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/layouts/ConstraintLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/FormItemLayout.as
+++ frameworks/projects/spark/src/spark/layouts/FormItemLayout.as
@@ -1,11 +1,80 @@
 package spark.layouts
 {
-    // Placeholder for real FormItemLayout
+import mx.containers.utilityClasses.ConstraintColumn;
+import mx.core.mx_internal;
+
+import spark.components.supportClasses.GroupBase;
+
+use namespace mx_internal;
+
+public class FormItemLayout extends ConstraintLayout
+{
+    public function FormItemLayout()
+    {
+        super();
+    }

-    public class FormItemLayout
+    // true if setLayoutColumnWidths has been called.
+    private var useLayoutColumnWidths:Boolean = false;
+
+    /**
+     *  @private
+     *  Only resize columns and rows if setLayoutColumnWidths hasn't been called.
+     */
+    override public function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
     {
-        public function FormItemLayout()
+        checkUseVirtualLayout();
+
+        var layoutTarget:GroupBase = target;
+        if (!layoutTarget)
+            return;
+
+        if (!useLayoutColumnWidths)
+            measureAndPositionColumnsAndRows();
+
+        layoutContent(unscaledWidth, unscaledHeight);
+
+        useLayoutColumnWidths = false;
+    }
+
+    /**
+     *  @private
+     *  Used by layout to get the measured column widths
+     */
+    mx_internal function getMeasuredColumnWidths():Vector.<Number>
+    {
+        measureAndPositionColumnsAndRows();
+
+        var constraintColumns:Vector.<ConstraintColumn> = this.constraintColumns;
+        var numCols:int = constraintColumns.length;
+        var columnWidths:Vector.<Number> = new Vector.<Number>(numCols, true);
+
+        for (var i:int = 0; i < numCols; i++)
+            columnWidths[i] = constraintColumns[i].width;
+
+        return columnWidths;
+    }
+
+    /**
+     *  @private
+     *  Used by layout to set the column widths for updateDisplayList. Must
+     *  call this if you want to override the default widths of the columns.
+     */
+    mx_internal function setLayoutColumnWidths(value:Vector.<Number>):void
+    {
+        //apply new measurements and position the columns again.
+        useLayoutColumnWidths = true;
+
+        var constraintColumns:Vector.<ConstraintColumn> = this.constraintColumns;
+        var numCols:int = constraintColumns.length;
+        var totalWidth:Number = 0;
+
+        for (var i:int = 0; i < numCols; i++)
         {
+            constraintColumns[i].setActualWidth(value[i]);
+            constraintColumns[i].x = totalWidth;
+            totalWidth += value[i];
         }
     }
+}
 }


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

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

 package mx.charts.styles
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 685
Author:   smgilson@adobe.com
Date:     2008-02-28T20:42:16.838828Z

Log Message:
-----------
Exclude CrossDomainRSLItem.as from ASDocs

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as

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

--- frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
+++ frameworks/projects/framework/src/mx/core/CrossDomainRSLItem.as
@@ -36,38 +36,39 @@
 [ExcludeClass]

 /**
- *	Cross-domain RSL Item Class.
+ *  Cross-domain RSL Item Class.
  *
- * 	The rsls are typically located on a different host than the loader.
+ *  The rsls are typically located on a different host than the loader.
  *  There are signed and unsigned Rsls, both have a digest to confirm the
  *  correct rsl is loaded.
  *  Signed Rsls are loaded by setting the digest of the URLRequest.
  *  Unsigned Rsls are check using actionScript to calculate a sha-256 hash of
  *  the loaded bytes and compare them to the expected digest.
- *
+ *
+ *  @private
  */
 public class CrossDomainRSLItem extends RSLItem
 {
     include "../core/Version.as";

-	//--------------------------------------------------------------------------
-	//
-	//  Variables
-	//
-	//--------------------------------------------------------------------------
-
-	private var rslUrls:Array;	// first url is the primary url in the url parameter, others are failovers
-	private var policyFileUrls:Array; // optional policy files, parallel array to rslUrls
-	private var digests:Array;		// option rsl digest, parallel array to rslUrls
-	private var isSigned:Array;		// each entry is a boolean value. "true" if the rsl in the parallel array is signed
-	private var hashTypes:Array;     //  type of hash used to create the digest
-	private var urlIndex:int = 0;	// index into url being loaded in rslsUrls and other parallel arrays
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var rslUrls:Array;  // first url is the primary url in the url parameter, others are failovers
+    private var policyFileUrls:Array; // optional policy files, parallel array to rslUrls
+    private var digests:Array;      // option rsl digest, parallel array to rslUrls
+    private var isSigned:Array;     // each entry is a boolean value. "true" if the rsl in the parallel array is signed
+    private var hashTypes:Array;     //  type of hash used to create the digest
+    private var urlIndex:int = 0;   // index into url being loaded in rslsUrls and other parallel arrays
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------

     /**
     * Create a cross-domain RSL item to load.
@@ -86,114 +87,114 @@
     * @param hashTypes Array of boolean, may not be null. Each boolean value specifies if the RSL to be
     *                  loaded is a signed or unsigned RSL. If the value is true the RSL is signed.
     *                  If the value is false the RSL is unsigned.
-    */
-	public function CrossDomainRSLItem(rslUrls:Array,
-							 policyFileUrls:Array,
-							 digests:Array,
-							 hashTypes:Array,
-							 isSigned:Array)
-	{
-		super(rslUrls[0]);
-
-		this.rslUrls = rslUrls;
-		this.policyFileUrls = policyFileUrls;
-		this.digests = digests;
-		this.hashTypes = hashTypes;
-		this.isSigned = isSigned;
-	}
-
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden Methods
-	//
-	//--------------------------------------------------------------------------
-
-
-	/**
-	 *
-	 * Load an RSL.
+    */
+    public function CrossDomainRSLItem(rslUrls:Array,
+                             policyFileUrls:Array,
+                             digests:Array,
+                             hashTypes:Array,
+                             isSigned:Array)
+    {
+        super(rslUrls[0]);
+
+        this.rslUrls = rslUrls;
+        this.policyFileUrls = policyFileUrls;
+        this.digests = digests;
+        this.hashTypes = hashTypes;
+        this.isSigned = isSigned;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Methods
+    //
+    //--------------------------------------------------------------------------
+
+
+    /**
+     *
+     * Load an RSL.
     *
     * @param progressHandler       receives ProgressEvent.PROGRESS events, may be null
     * @param completeHandler       receives Event.COMPLETE events, may be null
-    * @param ioErrorHandler	       receives IOErrorEvent.IO_ERROR events, may be null
+    * @param ioErrorHandler        receives IOErrorEvent.IO_ERROR events, may be null
     * @param securityErrorHandler  receives SecurityErrorEvent.SECURITY_ERROR events, may be null
-    * @param rslErrorHandler  	   receives RSLEvent.RSL_ERROR events, may be null
+    * @param rslErrorHandler       receives RSLEvent.RSL_ERROR events, may be null
     *
-	*/
-	override public function load(progressHandler:Function,
-	                              completeHandler:Function,
-            	                  ioErrorHandler:Function,
-	                              securityErrorHandler:Function,
-	                              rslErrorHandler:Function):void
-    {
-	    chainedProgressHandler = progressHandler;
-	    chainedCompleteHandler = completeHandler;
-	    chainedIOErrorHandler = ioErrorHandler;
-	    chainedSecurityErrorHandler = securityErrorHandler;
-	    chainedRSLErrorHandler = rslErrorHandler;
+    */
+    override public function load(progressHandler:Function,
+                                  completeHandler:Function,
+                                  ioErrorHandler:Function,
+                                  securityErrorHandler:Function,
+                                  rslErrorHandler:Function):void
+    {
+        chainedProgressHandler = progressHandler;
+        chainedCompleteHandler = completeHandler;
+        chainedIOErrorHandler = ioErrorHandler;
+        chainedSecurityErrorHandler = securityErrorHandler;
+        chainedRSLErrorHandler = rslErrorHandler;

 /*
         // Debug loading of swf files

         trace("begin load of " + url);
-				if (Security.sandboxType == Security.REMOTE)
-		{
-			trace(" in REMOTE sandbox");
-		}
-		else if (Security.sandboxType == Security.LOCAL_TRUSTED)
-		{
-			trace(" in LOCAL_TRUSTED sandbox");
-		}
-		else if (Security.sandboxType == Security.LOCAL_WITH_FILE)
-		{
-			trace(" in LOCAL_WITH_FILE sandbox");
-		}
-		else if (Security.sandboxType == Security.LOCAL_WITH_NETWORK)
-		{
-			trace(" in LOCAL_WITH_NETWORK sandbox");
-		}
+                if (Security.sandboxType == Security.REMOTE)
+        {
+            trace(" in REMOTE sandbox");
+        }
+        else if (Security.sandboxType == Security.LOCAL_TRUSTED)
+        {
+            trace(" in LOCAL_TRUSTED sandbox");
+        }
+        else if (Security.sandboxType == Security.LOCAL_WITH_FILE)
+        {
+            trace(" in LOCAL_WITH_FILE sandbox");
+        }
+        else if (Security.sandboxType == Security.LOCAL_WITH_NETWORK)
+        {
+            trace(" in LOCAL_WITH_NETWORK sandbox");
+        }
 */

-		urlRequest = new URLRequest(rslUrls[urlIndex]);
-		var loader:URLLoader = new URLLoader();
-		loader.dataFormat = URLLoaderDataFormat.BINARY;
-
-		// We needs to listen to certain events.
-
-		loader.addEventListener(
-			ProgressEvent.PROGRESS, itemProgressHandler);
-
-		loader.addEventListener(
-			Event.COMPLETE, itemCompleteHandler);
-
-		loader.addEventListener(
-			IOErrorEvent.IO_ERROR, itemErrorHandler);
-
-		loader.addEventListener(
-			SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler);
-
-		if (policyFileUrls.length > urlIndex &&
-			policyFileUrls[urlIndex] != "")
-		{
-			Security.loadPolicyFile(policyFileUrls[urlIndex]);
-		}
-
-		if (isSigned[urlIndex])
-		{
-		    if (urlRequest.hasOwnProperty("digest"))
-		    {
-    		    // load a signed rsl by specifying the digest
-	    	    urlRequest.digest = digests[urlIndex];
-		    }
-		    else if (hasFailover())
-		    {
-		        loadFailover();
-		        return;
-		    }
-    		else
-    		{
+        urlRequest = new URLRequest(rslUrls[urlIndex]);
+        var loader:URLLoader = new URLLoader();
+        loader.dataFormat = URLLoaderDataFormat.BINARY;
+
+        // We needs to listen to certain events.
+
+        loader.addEventListener(
+            ProgressEvent.PROGRESS, itemProgressHandler);
+
+        loader.addEventListener(
+            Event.COMPLETE, itemCompleteHandler);
+
+        loader.addEventListener(
+            IOErrorEvent.IO_ERROR, itemErrorHandler);
+
+        loader.addEventListener(
+            SecurityErrorEvent.SECURITY_ERROR, itemErrorHandler);
+
+        if (policyFileUrls.length > urlIndex &&
+            policyFileUrls[urlIndex] != "")
+        {
+            Security.loadPolicyFile(policyFileUrls[urlIndex]);
+        }
+
+        if (isSigned[urlIndex])
+        {
+            if (urlRequest.hasOwnProperty("digest"))
+            {
+                // load a signed rsl by specifying the digest
+                urlRequest.digest = digests[urlIndex];
+            }
+            else if (hasFailover())
+            {
+                loadFailover();
+                return;
+            }
+            else
+            {
                 // B Feature: externalize error message
                 var rslError:ErrorEvent = new ErrorEvent(RSLEvent.RSL_ERROR);
                 rslError.text = "Flex Error #1002: Flash Player 9.0.60 and above is required to support signed RSLs. Problem occurred when trying to load the RSL " +
@@ -201,65 +202,65 @@
                                 ".  Upgrade your Flash Player and try again.";
                 super.itemErrorHandler(rslError);
                 return;
-    		}
-		}
-		loader.load(urlRequest);
-	}
-
-
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Complete the load of the cross-domain rsl by loading it into the current
-	 *  application domain. The load was started by loadCdRSL.
-	 *
-	 *  @param - urlLoader from the complete event.
-	 *
-	 *  @return - true if the load was completed successfully or unsuccessfully,
-	 *            false if the load of a failover rsl was started
-	 */
-	private function completeCdRslLoad(urlLoader:URLLoader):Boolean
-	{
-		// handle player bug #204244, complete event without data after an error
-		if (urlLoader == null || urlLoader.data == null || ByteArray(urlLoader.data).bytesAvailable == 0)
-		{
-			return true;
-		}
-
-		// load the bytes into the current application domain.
-		var loader:Loader = new Loader();
-		var context:LoaderContext = new LoaderContext();
-		context.applicationDomain = ApplicationDomain.currentDomain;
-		context.securityDomain = null;
-
-		// If the AIR flag is available then set it to true so we can
-		// load the RSL without a security error.
-		if ("allowLoadBytesCodeExecution" in context)
-		{
-			context["allowLoadBytesCodeExecution"] = true;
-		}
-
-		// verify the digest, if any, is correct
-		if (digests[urlIndex] != null && String(digests[urlIndex]).length > 0)
-		{
-		    var verifiedDigest:Boolean = false;
+            }
+        }
+        loader.load(urlRequest);
+    }
+
+
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Complete the load of the cross-domain rsl by loading it into the current
+     *  application domain. The load was started by loadCdRSL.
+     *
+     *  @param - urlLoader from the complete event.
+     *
+     *  @return - true if the load was completed successfully or unsuccessfully,
+     *            false if the load of a failover rsl was started
+     */
+    private function completeCdRslLoad(urlLoader:URLLoader):Boolean
+    {
+        // handle player bug #204244, complete event without data after an error
+        if (urlLoader == null || urlLoader.data == null || ByteArray(urlLoader.data).bytesAvailable == 0)
+        {
+            return true;
+        }
+
+        // load the bytes into the current application domain.
+        var loader:Loader = new Loader();
+        var context:LoaderContext = new LoaderContext();
+        context.applicationDomain = ApplicationDomain.currentDomain;
+        context.securityDomain = null;
+
+        // If the AIR flag is available then set it to true so we can
+        // load the RSL without a security error.
+        if ("allowLoadBytesCodeExecution" in context)
+        {
+            context["allowLoadBytesCodeExecution"] = true;
+        }
+
+        // verify the digest, if any, is correct
+        if (digests[urlIndex] != null && String(digests[urlIndex]).length > 0)
+        {
+            var verifiedDigest:Boolean = false;
             if (!isSigned[urlIndex])
             {
                 // verify an unsigned rsl
                 if (hashTypes[urlIndex] == SHA256.TYPE_ID)
                 {
-               		// get the bytes from the rsl and calculate the hash
-               		var rslDigest:String = null;
-               		if (urlLoader.data != null)
-               		{
-               			rslDigest = SHA256.computeDigest(urlLoader.data);
-               		}
+                    // get the bytes from the rsl and calculate the hash
+                    var rslDigest:String = null;
+                    if (urlLoader.data != null)
+                    {
+                        rslDigest = SHA256.computeDigest(urlLoader.data);
+                    }

                     if (rslDigest == digests[urlIndex])
                     {
@@ -268,10 +269,10 @@
                 }
             }
             else
-			{
+            {
                 // signed rsls are verified by the player
                 verifiedDigest = true;
-            }
+            }

             if (!verifiedDigest)
             {
@@ -288,13 +289,13 @@

                 return !hasFailover;
             }
-		}
-
-		// load the rsl into memory
-		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBytesCompleteHandler);
-		loader.loadBytes(urlLoader.data, context);
+        }
+
+        // load the rsl into memory
+        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadBytesCompleteHandler);
+        loader.loadBytes(urlLoader.data, context);
         return true;
-	}
+    }

     /**
@@ -313,13 +314,13 @@
     */
     public function loadFailover():void
     {
-		// try to load the failover from the same node again
+        // try to load the failover from the same node again
         if (urlIndex < rslUrls.length)
         {
             trace("Failed to load RSL " + rslUrls[urlIndex]);
             trace("Failing over to RSL " + rslUrls[urlIndex+1]);
-    		urlIndex++;        // move to failover url
-    		url = rslUrls[urlIndex];
+            urlIndex++;        // move to failover url
+            url = rslUrls[urlIndex];
             load(chainedProgressHandler,
                  chainedCompleteHandler,
                  chainedIOErrorHandler,
@@ -330,50 +331,50 @@

-	//--------------------------------------------------------------------------
-	//
-	//  Overridden Event Handlers
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	override public function itemCompleteHandler(event:Event):void
-	{
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function itemCompleteHandler(event:Event):void
+    {
         // complete loading the cross-domain rsl by calling loadBytes.
         completeCdRslLoad(event.target as URLLoader);
-	}
-
-	/**
-	 *  @private
-	 */
-	override public function itemErrorHandler(event:ErrorEvent):void
-	{
-		// if a failover exists, try to load it. Otherwise call super()
-		// for default error handling.
-		if (hasFailover())
-		{
-		    trace(decodeURI(event.text));
-		    loadFailover();
-		}
-		else
-		{
-			super.itemErrorHandler(event);
-		}
-	}
-
-
-	/**
-	 * loader.loadBytes() has a complete event.
-	 * Done loading this rsl into memory. Call the completeHandler
-	 * to start loading the next rsl.
-	 *
-	 *  @private
-	 */
+    }
+
+    /**
+     *  @private
+     */
+    override public function itemErrorHandler(event:ErrorEvent):void
+    {
+        // if a failover exists, try to load it. Otherwise call super()
+        // for default error handling.
+        if (hasFailover())
+        {
+            trace(decodeURI(event.text));
+            loadFailover();
+        }
+        else
+        {
+            super.itemErrorHandler(event);
+        }
+    }
+
+
+    /**
+     * loader.loadBytes() has a complete event.
+     * Done loading this rsl into memory. Call the completeHandler
+     * to start loading the next rsl.
+     *
+     *  @private
+     */
     private function loadBytesCompleteHandler(event:Event):void
     {
-   	    super.itemCompleteHandler(event);
+        super.itemCompleteHandler(event);
     }
 }
 }


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

--- frameworks/projects/mx/src/mx/skins/halo/SliderHighlightSkin.as
+++ frameworks/projects/mx/src/mx/skins/halo/SliderHighlightSkin.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-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.skins.halo
 {


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

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

 package mx.messaging.events
 {