0 Replies Latest reply on Jun 3, 2009 1:26 PM by rfrishbe

    [svn:fx-trunk] 7537: VideoPlayer fixes, including focus fixes and some other fixes.

    rfrishbe Level 3

      Revision: 7537

      Author:   rfrishbe@adobe.com

      Date:     2009-06-03 13:25:36 -0700 (Wed, 03 Jun 2009)

       

      Log Message:

      ***********

      VideoPlayer fixes, including focus fixes and some other fixes.

       

      For Focus:

       

      SkinnableComponent:

      - Now check the drawFocusAnyway flag before checking for focusManager.getFocus() != this because in the case of the video player volume bar, we don?\226?\128?\153t actually have a focusManager

       

      TrackBase:

      - Override of focusIn/OutHandler wasn?\226?\128?\153t calling super.focusIn/OutHandler().

       

      Slider:

      - Now instead of overriding setFocus() and calling stage.focus = thumb, we just override drawFocus() and tell the thumb to drawFocus().  This means we keep the focus ourselves and handle the keyDown events on ourself rather than on the thumb. 

       

      FocusSkin:

      - Change the exit-early logic so that we don?\226?\128?\153t exit if we have no focusManager...we only exit if we don?\226?\128?\153t have a focusObject (and we sometimes rely on the focusManager for this focusObject).  FocusObject actually gets slammed in via SkinnableComponent, so this should be fine.

       

      VideoPlayerVolumeBar:

      - On focus in, open the drop down, validate it, and draw the focus on thumb.

       

      VideoPlayer:

      - set tabChildren = true so we can tab into the components

       

      Skins (VideoPlayerSkin.mxml only):

      - Change the layer of focused components with: focusIn="event.target.layer=1" focusOut="event.target.layer=0"

       

       

      Other Changes:

       

      TrackBase:

      - Add official CHANGING event.  Work still needs to be done on dispatching it in all cases correctly.

      - Remove the check for (!enabled) in the thumb_mouseDownHandler...this shouldn?\226?\128?\153t be needed thanks to Jason?\226?\128?\153s change.  We do this in Scroller as well, and I?\226?\128?\153ve got a local change for that which will come later as part of the Change/Changing ARB issue fix.

       

      PopUpAnchor:

      - Needs to take into account the fullScreenRect to get the popup to display correctly in those cases.

       

      FlexEvent:

      - Adding CHANGING event.

       

      VideoPlayerScrubBar:

      - Changed bufferedValue to an Array to handle a Range.

       

      VideoPlayerVolumeBar/VideoPlayerVolumeBarEvent:

      - ?\226?\128?\156rollOverOpenDelay?\226?\128?\156: Change the ?\226?\128?\156behavior property?\226?\128?\157 to a style per the ARB decision.  I intentionally left it as a private static const before to make this change easier.

      - Advertise a new event, mutedChange to go along with a new property muted, rather than rely on mutedButtonClick.

       

      VideoPlayer:

      - Add symbolColor metadata (this was already working...just no metadata for it).  Do I add color here?

      - Add fullScreenHideControlDelay as part of ARB behavioral property decision

      - Changes around volume bar and muted property and muteButtonChanged event.

      - Fiex the full screen case...need to make sure to use globalToLocal() and localToGlobal() when positioning the object since fulLScreenRect is in global coordinates.  Also need to call LayoutManager.getInstance().validateNow() rather than just validateNow() because I need everythignt o be validated since not including the compoennt in a layout may change the coordinates of the parent component.

      - In scrubBar_changeHandler, if scrubbing to the end of a video, don?\226?\128?\153t do it when streaming and you?\226?\128?\153ve called play() because the source is a String...there?\226?\128?\153s a bug in the FLVPlayback that doesn?\226?\128?\153t look like it?\226?\128?\153ll get fixed

      - Fixed a few other bugs..nothing too big

       

      Defaults.css:

      Set the behavioral properties in here

       

      Skins:

      - Set the height explicitly on the ThumbSkin..this is the exact pattern we use for Hslider/Vslider now

      - Fix up the baseColor so it gets cleared in the full screen case

      - Fix up the text styles so we are explicitly setting them in the fullScreen case.  They can now be styled via CSS in the non-fullScreen case and the color style should work.

       

      QE Notes: -

      Doc Notes: -

      Bugs: SDK-21505, SDK-21352, SDK-21504, SDK-21503, SDK-21486, SDK-21485

      Reviewer: Alex, Glenn

      tests: checkintests, mustella tests for Scroller, ScrollBar, Slider

       

      Ticket Links:

      ************

          http://bugs.adobe.com/jira/browse/SDK-21505

          http://bugs.adobe.com/jira/browse/SDK-21352

          http://bugs.adobe.com/jira/browse/SDK-21504

          http://bugs.adobe.com/jira/browse/SDK-21503

          http://bugs.adobe.com/jira/browse/SDK-21486

          http://bugs.adobe.com/jira/browse/SDK-21485

       

      Modified Paths:

      **************

          flex/sdk/trunk/frameworks/projects/flex4/defaults.css

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayer.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerScrubBar.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VideoPlayerVolumeBar.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableCom ponent.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerFullScreenScr ubBarSkin.mxml

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerScrubBarSkin. mxml

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/VideoPlayerSkin.mxml

          flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as

          flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerScrubBa rSkin.mxml

          flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/VideoPlayerSkin.mx ml

       

      Added Paths:

      ***********

          flex/sdk/trunk/frameworks/projects/flex4/src/spark/events/VideoPlayerVolumeBarEvent.as