Transferred from the Adobe Open Source Subversion Repository

Revision: 19091
Author:   matamel@adobe.com
Date:     2010-12-07T09:23:18.346453Z

Log Message:
-----------
Bug: BLZ-600 - Trailing slash could impact cross-domain request in streaming channels
QA: Yes
Doc: No

Details: Check and remove the trailing slashes before adding the open parameter to the url string.

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as

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

--- frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
@@ -43,12 +43,12 @@
  *  Dispatched when the StreamingConnectionHandler receives a status command from the server.
  *
  *  @eventType flash.events.StatusEvent
- *
+ *
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion BlazeDS 4
- *  @productversion LCDS 3
+ *  @productversion LCDS 3
  */
 [Event(name="status", type="flash.events.StatusEvent")]

@@ -56,12 +56,12 @@
  *  A helper class that is used by the streaming channels to open an internal
  *  HTTP connection to the server that is held open to allow the server to
  *  stream data down to the client with no poll overhead.
- *
+ *
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion BlazeDS 4
- *  @productversion LCDS 3
+ *  @productversion LCDS 3
  */
 public class StreamingConnectionHandler extends EventDispatcher
 {
@@ -74,12 +74,12 @@
     /**
      *  The code for the StatusEvent dispatched by this handler when a disconnect
      *  command is received from the server.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public static const DISCONNECT_CODE:String = "disconnect";

@@ -91,58 +91,58 @@

     /**
      *  Parameter name for the command passed in the request for a new streaming connection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const COMMAND_PARAM_NAME:String = "command";

     /**
      *  A request to open a streaming connection passes this 'command' in the request URI to the
      *  remote endpoint.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const OPEN_COMMAND:String = "open";

     /**
      *  A request to close a streaming connection passes this 'command' in the request URI to the
      *  remote endpoint.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const CLOSE_COMMAND:String = "close";

     /**
      *  Parameter name for the stream id; passed with commands for an existing streaming connection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const STREAM_ID_PARAM_NAME:String = "streamId";

     /**
      *  Parameter name for the version param passed in the request for a new streaming connection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const VERSION_PARAM_NAME:String = "version";

@@ -150,12 +150,12 @@
      *  Indicates the stream version used for this channel's stream connection.
      *  Currently just version 1. If the protocol over the wire needs to change in the future
      *  this gives us a way to indicate the change.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private static const VERSION_1:String = "1";

@@ -186,12 +186,12 @@
      *
 	 *  @param channel The Channel that uses this class.
 	 *  @param log Reference to the logger for the associated Channel.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function StreamingConnectionHandler(channel:Channel, log:ILogger)
     {
@@ -208,12 +208,12 @@

     /**
      * The Channel that uses this class.
-  	 *
+  	 *
   	 *  @langversion 3.0
   	 *  @playerversion Flash 9
   	 *  @playerversion AIR 1.1
   	 *  @productversion BlazeDS 4
-  	 *  @productversion LCDS 3
+  	 *  @productversion LCDS 3
      */
      protected var channel:Channel;

@@ -221,12 +221,12 @@
      *  Byte buffer used to store the current chunk from the remote endpoint.
      *  Once a full chunk has been buffered, a message instance encoded in binary
      *  AMF format can be read from the chunk and dispatched.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     protected var chunkBuffer:ByteArray;

@@ -234,23 +234,23 @@
      *  Counter that keeps track of how many data bytes remain to be read for the current chunk.
      *  A sentinal value of -1 indicates an initial state (either waiting for the first chunk or
      *  just finished parsing the previous chunk).
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     protected var dataBytesToRead:int = -1;

     /**
      *  Index into the chunk buffer pointing to the first byte of chunk data.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     protected var dataOffset:int;

@@ -265,7 +265,7 @@
      *  The server-assigned id for the streaming connection.
      */
     protected var streamId:String;
-
+
     /**
      *  @private
      *  Optional token to append to request URLs; generally contains a session token.
@@ -274,47 +274,47 @@

     /**
      *  Storage for the hex-format chunk size value from the byte stream.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private var hexChunkSize:String;

     /**
      *  Current parse state on the streaming connection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private var state:int = INIT_STATE;

     /**
      *  URLStream used to open a streaming connection from the server to
      *  the client over HTTP.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private var streamingConnection:URLStream;

     /**
      *  URLStream used to close the original streaming connection opened from
      *  the server to the client over HTTP.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
 	private var streamingConnectionCloser:URLStream;

@@ -330,18 +330,18 @@
      *
      *  @param appendToURL The string to append such as session id to the endpoint
      *  url while making the streaming connection request.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function openStreamingConnection(appendToURL:String=null):void
     {
         state = INIT_STATE;
         _appendToURL = appendToURL;
-
+
     	// Construct the streaming connection if needed.
         if (streamingConnection == null)
         {
@@ -359,8 +359,13 @@
         {
             var request:URLRequest = new URLRequest();
             var url:String = channel.endpoint;
+
+            if (url.charAt(url.length - 1) == '/')
+                url = url.substring(0, url.length -1);
+
             if (_appendToURL != null)
                 url += _appendToURL;
+
             request.url = url + "?" + COMMAND_PARAM_NAME + "=" + OPEN_COMMAND + "&" + VERSION_PARAM_NAME + "=" + VERSION_1;
             request.method = URLRequestMethod.POST;
             var postParams:URLVariables = new URLVariables();
@@ -373,12 +378,12 @@

     /**
      *  Used by the streaming channels to shut down the streaming connection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function closeStreamingConnection():void
     {
@@ -387,7 +392,7 @@
         hexChunkSize = null;
         dataBytesToRead = -1;
         dataOffset = 0;
-
+
         // First, close the existing connection.
         if (streamingConnection != null)
         {
@@ -466,12 +471,12 @@
      *  returns null and subclasses must override this method.
      *
      *  @return Returns the message that was read.
-	 *
+	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion BlazeDS 4
-	 *  @productversion LCDS 3
+	 *  @productversion LCDS 3
      */
     protected function readMessage():IMessage
     {
@@ -490,12 +495,12 @@
      *  has been closed by the server by re-dispatching the event for the channel.
      *
      *  @param event The COMPLETE Event.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamCompleteHandler(event:Event):void
     {
@@ -507,12 +512,12 @@
      *  re-dispatching the event for the channel.
      *
      *  @param event The HTTPStatusEvent.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamHttpStatusHandler(event:HTTPStatusEvent):void
     {
@@ -524,12 +529,12 @@
      *  re-dispatching the event for the channel.
      *
      *  @param event The IOErrorEvent.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamIoErrorHandler(event:IOErrorEvent):void
     {
@@ -542,12 +547,12 @@
      *  not advance the channel to a connected state yet.
      *
      *  @param event The OPEN Event.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamOpenHandler(event:Event):void
     {
@@ -560,12 +565,12 @@
      *  encoded in binary AMF format or a block of bytes to read off the network but skip any processing of.
      *
      *  @param event The ProgressEvent.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamProgressHandler(event:ProgressEvent):void
     {
@@ -713,7 +718,7 @@
                                 var statusEvent:StatusEvent = new StatusEvent(StatusEvent.STATUS, false, false, DISCONNECT_CODE, "status");
                                 dispatchEvent(statusEvent);
                                 // Exit parse loop - channel shut down will reset parser state.
-                                return;
+                                return;
                             }
                             else  // Regular message; dispatch it.
                             {
@@ -723,7 +728,7 @@
                             // The connection may now be closed, so check for this case here.
                             if (state == CLOSED_STATE)
                                 return;
-
+
                         }
                         state = RESET_BUFFER_STATE;
                     }
@@ -767,12 +772,12 @@
      *  re-dispatching the event for the channel.
      *
      *  @param event The SecurityErrorEvent.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion BlazeDS 4
-     *  @productversion LCDS 3
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     private function streamSecurityErrorHandler(event:SecurityErrorEvent):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9316
Author:   hmuller@adobe.com
Date:     2009-08-14T21:10:07.389891Z

Log Message:
-----------
When ScrollerLayout adds/removes a scrollbar it now invalidates the size of both the
Scroller and the viewport, if the viewport's layout is useVirtualLayout=true.  This is
a heuristic that assumes that the need for a scrollbar implies that the Scroller's
measured size may have been wrong.  The second inavlidateSize() call was added because
the viewport's measured size may have changed at updateDisplayList() time, too late
to have been factored into the ScrollerLayout/measure().

QE Notes: Mustella tests pass (thanks Steve, Ella)
Doc Notes:
Bugs: sdk-21520, sdk-22668
Reviewer: Evtim

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ScrollerLayout.as
@@ -13,6 +13,7 @@
 {
 import flash.geom.Point;

+import mx.core.IInvalidating;
 import mx.core.IUIComponent;
 import mx.core.ScrollPolicy;
 import mx.utils.MatrixUtil;
@@ -558,6 +559,14 @@
         if ((invalidationCount < 2) && (((vsbVisible != oldShowVSB) && vAuto) || ((hsbVisible != oldShowHSB) && hAuto)))
         {
             target.invalidateSize();
+
+            // If the viewport's layout is virtual, it's possible that its
+            // measured size changed as a consequence of laying it out,
+            // so we invalidate its size as well.
+            var viewportGroup:GroupBase = viewport as GroupBase;
+            if (viewportGroup && viewportGroup.layout && viewportGroup.layout.useVirtualLayout)
+                viewportGroup.invalidateSize();
+
             invalidationCount += 1;
         }
         else


Transferred from the Adobe Open Source Subversion Repository

Revision: 5220
Author:   chaase@adobe.com
Date:     2009-03-10T15:55:06.496289Z

Log Message:
-----------
New Transform effects to handle correctly doing Move, Rotate, and Scale operations simultaneously. Also, added keyframe capabilities to new effects system (necessary for the transform effects, shouldn't affect operation of other effects). Fixed various issues with effects/transition infrastructure as necessary. Added transform utility functions to UIComponent, AdvancedLayoutFeatures, and GraphicElement.

QE Notes: This will break existing new effects tests due to changes in core Animation and AnimationEvent classes, QE is disabling them for now and will add them back in as changes are made.
Doc Notes: None
Bugs:
Reviewer: Ely (transform utilities) and Jason (the rest)
tests: checkintests, Mustella tests/Effects, tests/ListDataEffects

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformScale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxRotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxMoveInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/effectClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/events/AnimationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/AnimationProperty.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformMove3D.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransformRotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -27,6 +27,7 @@
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.geom.Transform;
+import flash.geom.Vector3D;

 import mx.components.Group;
 import mx.core.AdvancedLayoutFeatures;
@@ -1857,13 +1858,43 @@
 	 *  @playerversion AIR 1.5
 	 *  @productversion Flex 4
 	 */
-    public function transformAround(rx:Number,ry:Number,rz:Number,sx:Number,sy:Number,sz:Number,tx:Number,ty:Number,tz:Number):void
-    {
+    public function transformAround(transformCenter:Vector3D,
+                                    scale:Vector3D = null,
+                                    rotation:Vector3D = null,
+                                    translation:Vector3D = null,
+                                    postLayoutScale:Vector3D = null,
+                                    postLayoutRotation:Vector3D = null,
+                                    postLayoutTranslation:Vector3D = null):void
+    {
+        //TODO: optimize for simple translations
         allocateLayoutFeatures();
         var previous:Boolean = needsDisplayObject;
-        layoutFeatures.transformAround(rx,ry,rz,sx,sy,sz,tx,ty,tz,true);
-		invalidateTransform(previous != needsDisplayObject);
-    }
+        layoutFeatures.transformAround(transformCenter,scale,rotation,translation,postLayoutScale,postLayoutRotation,postLayoutTranslation);
+        invalidateTransform(previous != needsDisplayObject);
+    }
+
+    public function transformPointToParent(transformCenter:Vector3D,position:Vector3D,postLayoutPosition:Vector3D):void
+    {
+        if(layoutFeatures != null)
+        {
+            layoutFeatures.transformPointToParent(true,transformCenter,position,postLayoutPosition);
+        }
+        else
+        {
+            if(position != null)
+            {
+                position.x = transformCenter.x + _x;
+                position.y = transformCenter.y + _y;
+                position.z = 0;
+            }
+            if (postLayoutPosition != null)
+            {
+                postLayoutPosition.x = transformCenter.x + _x;
+                postLayoutPosition.y = transformCenter.y + _y;
+                postLayoutPosition.z = 0;
+            }
+        }
+    }

     //----------------------------------
     //  transformX


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 17130
Author:   jasonsj@adobe.com
Date:     2010-07-30T00:55:05.428457Z

Log Message:
-----------
- Fix null-ing out of ActionBar titleContent
- PARB API changes for ActionBar layout properties

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run:
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/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ActionBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -40,16 +40,16 @@
         hLayout.horizontalAlign = HorizontalAlign.LEFT;
         hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
-		hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
+        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
         navigationGroup.layout = hLayout;
         addChild(navigationGroup);

         titleGroup = new Group();
         hLayout = new HorizontalLayout();
         hLayout.horizontalAlign = HorizontalAlign.LEFT;
-		hLayout.verticalAlign = VerticalAlign.MIDDLE;
+        hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
-		hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
+        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
         titleGroup.layout = hLayout;
         titleGroup.clipAndEnableScrolling = true;
         addChild(titleGroup);
@@ -57,9 +57,9 @@
         actionGroup = new Group();
         hLayout = new HorizontalLayout();
         hLayout.horizontalAlign = HorizontalAlign.RIGHT;
-		hLayout.verticalAlign = VerticalAlign.MIDDLE;
+        hLayout.verticalAlign = VerticalAlign.MIDDLE;
         hLayout.gap = 0;
-		hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
+        hLayout.paddingLeft = hLayout.paddingTop = hLayout.paddingRight = hLayout.paddingBottom = 10;
         actionGroup.layout = hLayout;
         addChild(actionGroup);

@@ -67,7 +67,7 @@
         titleDisplay.setStyle("fontSize", "18");
         titleDisplay.setStyle("verticalAlign", "middle");
         titleDisplay.setStyle("color", "0xFFFFFF");
-		titleDisplay.setStyle("fontWeight", "bold");
+        titleDisplay.setStyle("fontWeight", "bold");
     }

     override protected function measure():void
@@ -86,8 +86,9 @@
         var right:Number = unscaledWidth;

         // Position groups
-		// FIXME (chiedozi): Prevent measurements from being negative.  Figure out
-		// minimums for each group.
+        // FIXME (chiedozi): Prevent measurements from being negative.  Figure out
+        // minimums for each group.
+        // FIXME (jasonsj): Why are we checking includeInLayout
         if (navigationGroup.numElements > 0 && navigationGroup.includeInLayout)
         {
             left += navigationGroup.measuredWidth;
@@ -101,10 +102,10 @@
             actionGroup.setLayoutBoundsSize(unscaledWidth - right, unscaledHeight);
         }

-		var titleGroupWidth:Number = right - left;
-		if (titleGroupWidth < 0)
-			titleGroupWidth = 0;
-
+        var titleGroupWidth:Number = right - left;
+        if (titleGroupWidth < 0)
+        	titleGroupWidth = 0;
+
         titleGroup.setLayoutBoundsPosition(left, 0);
         titleGroup.setLayoutBoundsSize(titleGroupWidth, unscaledHeight);


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

--- frameworks/projects/mx/src/mx/controls/menuClasses/IMenuItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/menuClasses/IMenuItemRenderer.as
@@ -0,0 +1,91 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.controls.menuClasses
+{
+
+import mx.controls.Menu;
+
+/**
+ *  The IMenuItemRenderer interface defines the interface
+ *  that a menu item renderer for a Menu control must implement.
+ *
+ *  The menu item renderers are often recycled. Once they are created,
+ *  they may be used again simply by being given new data.
+ *  Therefore, in individual implementations, component developers must
+ *  make sure that component properties are not assumed to contain
+ *  specific initial, or default values.
+ *
+ *  To implement this interface, a component developer must define a
+ *  setter and getter method that implements the menu property.
+ *  Typically, the setter method writes the value of the data property
+ *  to an internal variable, and the getter method returns the current
+ *  value of the internal variable, as the following example shows:
+ *

+ *     // Internal variable for the property value.
+ *     private var _menu:Menu;
+ *
+ *     // Define the getter method.
+ *     public function get menu():Menu
+ *     {
+ *         return _menu;
+ *     }
+ *
+ *     // Define the setter method.
+ *     public function set menu(value:Menu):void
+ *     {
+ *         _menu = value;
+ *     }
+ *

+ */
+public interface IMenuItemRenderer
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  menu
+	//----------------------------------
+
+	/**
+	 *  A reference to this menu item renderer's Menu control,
+	 *  if it contains one. This would indicate that this menu item
+	 *  renderer is a branch node, capable of popping up a sub menu.
+	 *
+	 *  @return The reference to the Menu control.
+	 */
+	function get menu():Menu;
+
+	/**
+	 *  @private
+	 */
+	function set menu(value:Menu):void;
+
+	/**
+     *  The width of the icon
+     */
+    function get measuredIconWidth():Number;
+
+    /**
+     *  The width of the type icon (radio/check)
+     */
+    function get measuredTypeIconWidth():Number;
+
+    /**
+     *  The width of the branch icon
+     */
+    function get measuredBranchIconWidth():Number;
+}
+
+}


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

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

 package spark.components.mediaClasses


Adds m4v to valid file type allowed <= 10MB

--- flexEditor/src/org/arisgames/editor/components/GameEditorMediaPickerUploadFormView.as
+++ flexEditor/src/org/arisgames/editor/components/GameEditorMediaPickerUploadFormView.as
@@ -183,7 +183,7 @@
 				{
 					trace("File to Upload: Name = '" + fileChooser.fileList[k].name + "'");
 					fileChosen = fileChooser.fileList[k];
-					if(fileChosen.type == "mov"){
+					if(fileChosen.type == "mov" || fileChosen.type == "m4v"){
 						if(fileChosen.size <= AppConstants.MAX_VIDEO_UPLOAD_SIZE){
 							fileName.text = fileChosen.name;
 							fileOK = true;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7889
Author:   dsubrama@adobe.com
Date:     2009-06-16T20:01:19.393557Z

Log Message:
-----------
First batch of PARB changes to List, ListBase, ItemRenderer and IItemRenderer as documented here: https://zerowing.corp.adobe.com/display/flex/PARB_RENAME_LIST

QA: Yes
Docs: Yes
Checkintests: Pass

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/IItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/DefaultComplexItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/IndexChangedEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>

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

--- frameworks/projects/framework/src/mx/events/IndexChangedEvent.as
+++ frameworks/projects/framework/src/mx/events/IndexChangedEvent.as
@@ -44,7 +44,8 @@
      *  The IndexChangedEvent.CHANGE constant defines the value of the
      *  type property of the event object for a change event,
      *  which indicates that an index has changed, such as when and Accordion control
-     *  changes the displayed panel or a ViewStack changes views.
+     *  changes the displayed panel, a ViewStack changes views or a List-based control
+     *  changes its selection.
      *
      *
The properties of the event object have the following values:

      *

@@ -162,47 +163,8 @@
     public static const HEADER_SHIFT:String = "headerShift";

     /**
-     *  The IndexChangedEvent.SELECTION_CHANGED constant defines the value of the
-     *  type property of the event object for a selectionChanged event,
-     *  which indicates that the current selection has changed.
-     *
-     *
The properties of the event object have the following values:

-     *

-     *
Property	Value

-     *
bubbles	false

-     *
cancelable	false

-     *
currentTarget	The Object that defines the
-     *       event listener that handles the event. For example, if you use
-     *       myButton.addEventListener() to register an event listener,
-     *       myButton is the value of the currentTarget.

-     *
inputType	Indicates whether this event
-     *         was caused by a mouse or keyboard interaction.

-     *
newIndex	The zero-based index of the
-     *       selected item.

-     *
oldIndex	The zero-based index of the
-     *       previously selected item.

-     *
relatedObject	null

-     *
target	The Object that dispatched the event;
-     *       it is not always the Object listening for the event.
-     *       Use the currentTarget property to always access the
-     *       Object listening for the event.

-     *
TriggerEvent	The event that
-     *        triggered this event.

-     *
Type	IndexChangedEvent.HEADER_SHIFT

-     *

-     *
-     *  @eventType selectionChanged
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public static const SELECTION_CHANGED:String = "selectionChanged";
-
-    /**
-     *  The IndexChangedEvent.SELECTION_CHANGING constant defines the value of the
-     *  type property of the event object for a selectionChanging event,
+     *  The IndexChangedEvent.CHANGING constant defines the value of the
+     *  type property of the event object for a changing event,
      *  which indicates that the current selection is about to change.
      *
      *
The properties of the event object have the following values:

@@ -230,18 +192,18 @@
      *
Type	IndexChangedEvent.HEADER_SHIFT

      *

      *
-      *  @eventType selectionChanging
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public static const SELECTION_CHANGING:String = "selectionChanging";
+      *  @eventType changing
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const CHANGING:String = "changing";

     /**
-     *  The IndexChangedEvent.ITEM_FOCUS_CHANGED constant defines the value of the
-     *  type property of the event object for a itemFocusChanging event,
+     *  The IndexChangedEvent.CARET_CHANGE constant defines the value of the
+     *  type property of the event object for a caretChange event,
      *  which indicates that the current item in focus is about to change.
      *
      *
The properties of the event object have the following values:

@@ -269,14 +231,14 @@
      *
Type	IndexChangedEvent.HEADER_SHIFT

      *

      *
-      *  @eventType itemFocusChanged
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public static const ITEM_FOCUS_CHANGED:String = "itemFocusChanged";
+      *  @eventType caretChange
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public static const CARET_CHANGE:String = "caretChange";

     //--------------------------------------------------------------------------
     //
@@ -315,8 +277,7 @@
                                       relatedObject:DisplayObject = null,
                                       oldIndex:Number = -1,
                                       newIndex:Number = -1,
-                                      triggerEvent:Event = null,
-                                      multipleSelectionChange:Boolean = false)
+                                      triggerEvent:Event = null)
     {
         super(type, bubbles, cancelable);


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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3186
Author:   shodgson@adobe.com
Date:     2008-09-11T23:10:56.925158Z

Log Message:
-----------
ASDoc fixes for the MXML RPC concurrency property

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/mxml/Concurrency.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as
+++ frameworks/projects/rpc/src/mx/rpc/remoting/mxml/RemoteObject.as
@@ -125,12 +125,15 @@
     * Value that indicates how to handle multiple calls to the same service. The default
     * value is multiple. The following values are permitted:
     *

-    *
multiple Existing requests are not cancelled, and the developer is
+    *
multiple - Existing requests are not cancelled, and the developer is
     * responsible for ensuring the consistency of returned data by carefully
     * managing the event stream. This is the default.

-    *
single Only a single request at a time is allowed on the operation;
-    * multiple requests generate a fault.

-    *
last Making a request cancels any existing request.

+    *
single - Making only one request at a time is allowed on the method; additional requests made
+    * while a request is outstanding are immediately faulted on the client and are not sent to the server.

+    *
last - Making a request causes the client to ignore a result or fault for any current outstanding request.
+    * Only the result or fault for the most recent request will be dispatched on the client.
+    * This may simplify event handling in the client application, but care should be taken to only use
+    * this mode when results or faults for requests may be safely ignored.

     *

     */
     public function get concurrency():String


handle generic constant binding

handle generic constant binding

--- frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/ContainerDataBinding.as
+++ frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/ContainerDataBinding.as
@@ -229,7 +229,15 @@
             gb.destinationData = binding.destination;
 			gb.destinationFunction = binding.destFunc;
             gb.source = binding.source;
-            setupWatchers(gb, index, watchers.watchers, null);
+            if (watchers.watchers.length)
+                setupWatchers(gb, index, watchers.watchers, null);
+            else
+            {
+                // should be a constant expression.
+                // the value doesn't matter as GenericBinding
+                // should get the value from the source
+                gb.valueChanged(null);
+            }
         }

         private function setupWatchers(gb:GenericBinding, index:int, watchers:Array, parentWatcher:WatcherBase):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 22480
Author:   chiedozi@adobe.com
Date:     2011-09-09T22:24:02.098478Z

Log Message:
-----------
Layout is now disabled immediately after prepareForPlay() is called on a ViewTransition to fix some layout interaction bugs

QE notes:
Doc notes:
Bugs:SDK-31208
Reviewer: Evtim
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -729,10 +729,6 @@
             if (hasEventListener(FlexEvent.TRANSITION_START))
                 dispatchEvent(new FlexEvent(FlexEvent.TRANSITION_START));

-            // Disable layout manager if requested.
-            if (suspendBackgroundProcessing)
-                UIComponent.suspendBackgroundProcessing();
-
             effect.play();
         }
         else
@@ -802,6 +798,10 @@
             // Prepare full transition of navigator in its entirety.
             effect = createConsolidatedEffect();
         }
+
+        // Disable layout manager if requested.
+        if (suspendBackgroundProcessing)
+            UIComponent.suspendBackgroundProcessing();
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 19060
Author:   harishs@adobe.com
Date:     2010-12-06T17:34:15.020965Z

Log Message:
-----------
QE notes: Did checkintests, performed full cyclone run. There were 19 failures in mustella report. QE Judy (Mingzhou Gao and Joann Chung Anderson) confirmed that they are known problems.
Doc notes: As part of Sort and Sortfield updates, the asdoc comments were updated to reflect globalization changes.
Bugs: Fixed sdk-28493, 28691,28494, 28345, 28320, 28387, 28314, 28145
Reviewer: Gordon Smith
Tests run: cyclone, checkintests, bugs testfiles
Is noteworthy for integration: Sort and Sortfield updated with globalization support using the new spark globalization sort classes.
Number and CurrencyValidators support national digits and unicode minus symbols.
groupingPattern property dropped for Number and Currency Validators.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/BasicTests-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/NumberValidatorBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ICollectionView.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ISortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/BasicTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/NumberValidator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/olap/OLAPCube.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/CurrencyValidator.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections/SortField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/bundles/en_US/validators.properties</path>
<path kind="dir" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/collections</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/HierarchicalCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/validators/supportClasses/GlobalizationUtils.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/olap/DefaultCubeImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/scripts/SortTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/Sort.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/tests/basicTests/spark/views/SortTests.mxml</path>

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

--- frameworks/projects/mx/src/mx/controls/treeClasses/HierarchicalCollectionView.as
+++ frameworks/projects/mx/src/mx/controls/treeClasses/HierarchicalCollectionView.as
@@ -17,7 +17,7 @@

 import mx.collections.ICollectionView;
 import mx.collections.IViewCursor;
-import mx.collections.Sort;
+import mx.collections.ISort;
 import mx.collections.XMLListAdapter;
 import mx.collections.XMLListCollection;
 import mx.collections.errors.ItemPendingError;
@@ -202,7 +202,7 @@
     *  @private
      *  Not Supported in Tree.
      */
-    public function get sort():Sort
+    public function get sort():ISort
 	{
 	    return null;
 	}
@@ -211,7 +211,7 @@
      *  @private
      *  Not Supported in Tree.
      */
-    public function set sort(value:Sort):void
+    public function set sort(value:ISort):void
 	{
 	    //No Impl
 	}


tests

tests

--- testSrc/com/kemsky/TestStream.as
+++ testSrc/com/kemsky/TestStream.as
@@ -385,10 +385,11 @@
         public function testSet():void
         {
             var s:Stream = $(1, 2, 3);
+            s.setItem(3, 0);
+            s.setItem(4, -2);
             s.setItem(1, 2);
-            s.setItem(3, 0);
             assertEquals(s[0], 3);
-            assertEquals(s[1], 2);
+            assertEquals(s[1], 4);
             assertEquals(s[2], 1);
         }

@@ -420,6 +421,10 @@
             e.addItem(4);
             assertEquals(e.length, 2);
             assertEquals(e.second, 4);
+
+            e.addItem(5, -2);
+            assertEquals(e.length, 3);
+            assertEquals(e.first, 5);
         }

         [Test]
@@ -429,6 +434,7 @@
             assertEquals(s.getItem(0), 1);
             assertEquals(s.getItem(1), 2);
             assertEquals(s.getItem(2), 3);
+            assertEquals(s.getItem(-3), 1);

             assertTrue(s.getItem(3) === undefined);
         }
@@ -442,6 +448,12 @@
             s.removeItem(1);
             assertEquals(s.length, 1);
             assertEquals(s[0], 2);
+
+            var result:Boolean = s.removeItem(-1);
+            assertEquals(s.length, 0);
+            assertEquals(result, true);
+
+            assertEquals(s.removeItem(0), false);
         }

         [Test]


Added small safety check to Signal.

Added small safety check to Signal.

--- src/org/osflash/signals/Signal.as
+++ src/org/osflash/signals/Signal.as
@@ -65,6 +65,8 @@
 		/** @inheritDoc */
 		public function addOnce(listener:Function):void
 		{
+			// If the listener has been added as once, don't do anything.
+			if (onceListeners[listener]) return;
 			if (listeners.indexOf(listener) >= 0 && !onceListeners[listener])
 				throw new IllegalOperationError('You cannot add() then addOnce() the same listener without removing the relationship first.');


prevent bubbling of flash.events.Event.  We don't want flash events in the system, just org.apache.flex.events.Events

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/staticControls/beads/controllers/EditableTextKeyboardController.as
@@ -78,6 +78,8 @@
 		 */
 		private function inputChangeHandler( event:Object ) : void
 		{
+            // this will otherwise bubble an event of flash.events.Event
+            event.stopImmediatePropagation();
 			model.text = textField.text;
 		}
 	}


Transferred from the Adobe Open Source Subversion Repository

Revision: 22530
Author:   smgilson@adobe.com
Date:     2011-09-13T18:46:50.197449Z

Log Message:
-----------
Update ASDoc for SplitViewNav and SplitViewNavigatorSkin.as

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
+++ frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as
@@ -33,8 +33,8 @@
 //--------------------------------------

 /**
- *  This skin state is triggered when the aspectRatio of the main
- *  application is changed to portrait.
+ *  The skin state when the aspectRatio of the main
+ *  application is portrait.
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
@@ -43,8 +43,8 @@
 [SkinState("portrait")]

 /**
- *  The state is triggered when the aspectRatio of the main
- *  application is changed to landscape.
+ *  The skin state when the aspectRatio of the main
+ *  application is landscape.
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
@@ -59,37 +59,56 @@
 [IconFile("SplitViewNavigator.png")]

 /**
- *  SplitViewNavigator is a component responsible for displaying multiple
- *  ViewNavigators at the same time in a single container.  SplitViewNavigator
- *  takes ViewnNavigatorBase objects as children and lays them out as
- *  defined by its layout property.  This component is useful for
- *  creating a master/detail interface on a mobile device. There is no limit to
- *  the amount of child navigators this component can manage.
+ *  The SplitViewNavigator container displays multiple
+ *  ViewNavigator or TabbedViewNavigator components at the same time in a single container.
+ *  Each child of the SplitViewNavigator defines one pane of the screen.
+ *  Because its children are view navigators, the view navigator for each
+ *  pane contains its own view stack and action bar.
+ *
+ *
SplitViewNavigator takes ViewnNavigatorBase objects as children, and lays them out as
+ *  defined by its layout property.
+ *  This component is useful for creating a master/detail interface on a mobile device.
+ *  There is no limit to the amount of child navigators this component can manage.

+ *
+ *
Note: Because of the screen space required to display multiple panes
+ *  simultaneously, Adobe recommends that you only use the SplitViewNavigator on a tablet.

  *
  *
If the autoHideFirstViewNavigator property is set to
- *  true, the SplitViewNavigator will automatically hide the
+ *  true, the SplitViewNavigator automatically hides the
  *  navigator that is at index 0 when the top level application has a
- *  portrait aspect ratio.  The navigator will be redisplayed when the
- *  application is reoriented into a landsacpe orientation.  A developer
- *  can manually hide and show a navigator by toggling the visble
+ *  portrait aspect ratio.
+ *  The navigator reappears when the application is reoriented to a landsacpe aspect ratio.
+ *  You can manually hide and show a navigator by toggling the visble
  *  flag on the child.  When set, the includeInLayout property
  *  of that child will be set to match.

  *
- *
SplitViewNavigator adds the additional functionalilty of temporarily
- *  displaying the first navigator inside a Callout component.  When the
- *  showFirstViewNavigatorInCallout() method is called, the
+ *
SplitViewNavigator lets you  display the first navigator in a Callout component.
+ *  When you call the showFirstViewNavigatorInCallout() method, the
  *  first navigator is displayed in a callout until the
  *  hideViewNavigatorCallout() method is called, or the user
- *  touches outside the bounds of the callout.  It is important to note that
- *  when a navigator is displayed in a callout, it is reparented as a child of
- *  that container.  This means using IVisualElementContainer methods such as
+ *  touches outside the bounds of the callout.
+ *  It is important to note that when a navigator is displayed in a callout,
+ *  it is reparented as a child of that container.
+ *  This means that using IVisualElementContainer methods such as
  *  getElementAt() on SplitViewNavigator may not return the
- *  expected results.  If a developer wants to access the first or second
- *  navigator, it is recommended that they use the getViewNavigatorAt()
- *  method.  These will always return the correct navigator regardless of whether
+ *  expected results.
+ *  If you want to access the first or second  navigator, Adobe recommends
+ *  that you use the getViewNavigatorAt()  method.
+ *  This method always returns the correct navigator regardless of whether
  *  a navigator is in a callout or not.

+ *
+ *  @mxml
The <s:SplitViewNavigator> tag inherits all of the tag
+ *  attributes of its superclass and adds the following tag attributes:

+ *
+ *

+ *  <s:SplitViewNavigator
+ *    Properties
+ *    autoHideFirstViewNavigator="false"
+ *  />
+ *

  *
- *  @see spark.components.ViewNavigatorBase
+ *  @see spark.skins.mobile.SplitViewNavigatorSkin
+ *  @see spark.components.supportClasses.ViewNavigatorBase
  *  @see spark.components.ViewNavigator
  *  @see spark.components.TabbedViewNavigator
  *  @see spark.components.Application#aspectRatio
@@ -97,7 +116,7 @@
  *
  *  @langversion 3.0
  *  @playerversion AIR 3
- *  @productversion Flex 4.5.2
+ *  @productversion Flex 4.6
  */
 public class SplitViewNavigator extends ViewNavigatorBase
 {
@@ -112,7 +131,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function SplitViewNavigator()
     {
@@ -128,9 +147,13 @@
     [SkinPart(required="false")]
     /**
      *  The Callout used to display a navigator when
-     *  showFirstViewNavigatorInCallout() is called.  When creating
-     *  a custom MXML skin, this component should not be on the display list, but
-     *  instead declared inside a fx:Declarations tag.
+     *  showFirstViewNavigatorInCallout() is called.
+     *  When creating a custom MXML skin, this component should not be on the display list,
+     *  but instead declared inside a fx:Declarations tag.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
      */
     public var viewNavigatorCallout:Callout;

@@ -140,13 +163,13 @@
     //
     //--------------------------------------------------------------------------

-	/**
-	 *  @private
+    /**
+     *  @private
      *  Tracks what the last aspectRatio of the application was to determine
      *  whether the component should hide or show the first navigator when
      *  autoHideFirstNavigator is set to true.
-	 */
-	private var lastAspectRatio:String;
+     */
+    private var lastAspectRatio:String;

     /**
      *  @private
@@ -166,41 +189,43 @@
     // Properties
     //
     //--------------------------------------------------------------------------
-
+
     //----------------------------------
     //  autoHideFirstViewNavigator
     //----------------------------------

     private var _autoHideFirstViewNavigator:Boolean = false;

-	[Inspectable(category="General", defaultValue="false")]
-    /**
-     *  This flag indicates whether the visibility of the first view navigator should
-	 *  automatically be toggled when the device receives an orientation change event.
-	 *  When true, the first navigator is hidden as the device enters the portrait
-	 *  orientation, and shown when entering a landscape orientation.
-     *
-     *
If this flag is set to true while the application is in a portrait
+    [Inspectable(category="General", defaultValue="false")]
+    /**
+     *  Specifies whether the visibility of the first view navigator should
+     *  automatically be toggled when the device receives an orientation change event.
+     *  When true, the first navigator is hidden as the device enters the portrait
+     *  orientation, and shown when entering a landscape orientation.
+     *
+     *
If this flag is set to true while the application is in a portrait
      *  orientation, the navigator is not hidden until the next orientation
      *  resize event.

+     *
+     *  @default false
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     public function get autoHideFirstViewNavigator():Boolean
     {
         return _autoHideFirstViewNavigator;
     }
-
+
     /**
      *  @private
      */
     public function set autoHideFirstViewNavigator(value:Boolean):void
     {
-		if (_autoHideFirstViewNavigator == value)
-			return;
-
+        if (_autoHideFirstViewNavigator == value)
+            return;
+
         _autoHideFirstViewNavigator = value;
     }

@@ -250,11 +275,11 @@
     //  numViewNavigators
     //----------------------------------
     /**
-     *  The number of navigators managed by this container
-     *
-     *  @langversion 3.0
-     *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  The number of navigators managed by this container.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
      */
     public function get numViewNavigators():int
     {
@@ -268,21 +293,22 @@
     //--------------------------------------------------------------------------

     /**
-     *  This method returns a specific child navigator independent of the container's
-     *  child display hierarchy.  Since a child navigator is not parented by this
+     *  Returns a specific child navigator independent of the container's
+     *  child display hierarchy.
+     *  Since a child navigator is not parented by this
      *  container when visible inside a callout, this method should be used instead of
      *  getElementAt().
      *
-     *
When a callout is open, the navigator at index 0 will refer to the
+     *
When a callout is open, the navigator at index 0 refers to the
      *  navigator in the callout.

      *
-     *  @param index Index of the navigator to retrieve
-     *
-     *  @return The navigator at the specified index, null if one does not exist
-     *
-     *  @langversion 3.0
-     *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @param index Index of the navigator to retrieve.
+     *
+     *  @return The navigator at the specified index, null if one does not exist.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
      */
     public function getViewNavigatorAt(index:int):ViewNavigatorBase
     {
@@ -304,24 +330,24 @@
     }

     /**
-     *  Displays the child navigator at index 0 inside a callout.  The navigator
-     *  is reparented as a child of the callout.
+     *  Displays the child navigator at index 0 inside a callout.
+     *  The navigator is reparented as a child of the callout.
      *
      *
Since the navigator is reparented, using getElementAt(0)
-     *  will not return the first navigator, but will return the second one.
-     *  It is recommended that developers use the getViewNavigatorAt()
+     *  does not return the first navigator, but returns the second.
+     *  Adobe recommends that you use the getViewNavigatorAt()
      *  method to access the navigators.

      *
      *
The callout height is fixed by the component but can be changed by
-     *  reskinning or by manually setting the height property on the
+     *  reskinning or by manually setting the height property on the
      *  viewNavigatorCallout skinPart.

      *
-     *
If the callout is already open or the callout skinpart does not exist,
-     *  this method will do nothing.

-     *
-     *  @langversion 3.0
-     *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *
If the callout is already open or the callout skin part does not exist,
+     *  this method does nothing.

+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
      */
     public function showFirstViewNavigatorInCallout(owner:DisplayObjectContainer):void
     {
@@ -330,38 +356,38 @@

     /**
      *  Hides the navigator callout if its open.  The navigator that was
-     *  displayed in the callout will be reparented as a child of this
+     *  displayed in the callout is reparented as a child of this
      *  SplitViewNavigator.
      *
      *
This method is automatically called if the user touches outside
      *  of the callout when it is visible.  The navigator inside the callout
-     *  will be invisible after the callout is closed.

-     *
-     *
After closing the callout, the navigator that was shown will remain
+     *  is hidden after the callout closes.

+     *
+     *
After closing the callout, the navigator that was shown remains
      *  invisible unless autoHideFirstViewNavigator is true
-     *  and the device orientation is landscape.  In all other cases, the
-     *  visibility of the first navigator will need to be set to true
-     *  to make it visible again.

-     *
-     *  @langversion 3.0
-     *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  and the device orientation is landscape.
+     *  In all other cases, the visibility of the first navigator needs to be set
+     *  to true to make it visible again.

+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.6
      */
     public function hideViewNavigatorCallout():void
     {
-		if (!viewNavigatorCallout|| !viewNavigatorCallout.isOpen)
-			return;
-
+        if (!viewNavigatorCallout|| !viewNavigatorCallout.isOpen)
+            return;
+
         viewNavigatorCallout.addEventListener(PopUpEvent.CLOSE, navigatorCallout_closeHandler);
-		viewNavigatorCallout.close(true);
-		viewNavigatorCallout.removeEventListener('mouseDownOutside', navigatorCallout_mouseDownOutsideHandler);
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Private Methods
-	//
-	//--------------------------------------------------------------------------
+        viewNavigatorCallout.close(true);
+        viewNavigatorCallout.removeEventListener('mouseDownOutside', navigatorCallout_mouseDownOutsideHandler);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Private Methods
+    //
+    //--------------------------------------------------------------------------

     /**
      *  @private
@@ -448,24 +474,24 @@
         }
     }

-	/**
-	 *  @private
-	 */
-	mx_internal function application_resizeHandler(event:ResizeEvent):void
-	{
-		if (numViewNavigators == 0)
-			return;
-
-		var aspectRatio:String = FlexGlobals.topLevelApplication.aspectRatio;
-
-		// Only do the logic below if the aspectRatio has changed
-		if (lastAspectRatio == aspectRatio)
-			return;
-
-		lastAspectRatio = aspectRatio;
-
-		if (autoHideFirstViewNavigator)
-		{
+    /**
+     *  @private
+     */
+    mx_internal function application_resizeHandler(event:ResizeEvent):void
+    {
+        if (numViewNavigators == 0)
+            return;
+
+        var aspectRatio:String = FlexGlobals.topLevelApplication.aspectRatio;
+
+        // Only do the logic below if the aspectRatio has changed
+        if (lastAspectRatio == aspectRatio)
+            return;
+
+        lastAspectRatio = aspectRatio;
+
+        if (autoHideFirstViewNavigator)
+        {
             // The navigator in the callout needs to be immediately reparented
             // when the orientation changes since we don't provide orientation
             // effects.  Because of this, we don't want to see any close
@@ -482,12 +508,12 @@
             {
                 toggleFirstNavigatorVisibility();
             }
-		}
+        }

         // The navigator callout is always hidden if the orientation changes
         hideViewNavigatorCallout();
-	}
-
+    }
+
     /**
      *  @private
      */
@@ -509,54 +535,54 @@
         }
     }

-	/**
-	 *  @private
-	 */
-	private function navigatorCallout_mouseDownOutsideHandler(event:Event):void
-	{
-		hideViewNavigatorCallout();
-	}
-
-	/**
-	 *  @private
-	 */
-	private function setupNavigator(navigator:ViewNavigatorBase):void
-	{
-		navigator.setParentNavigator(this);
-
-		// Add weak listeners for hide and show events on the navigator.  When
-		// a navigator is hidden, its container is removed from layout.
-		navigator.addEventListener(FlexEvent.HIDE, navigator_visibilityChangedHandler, false, EventPriority.DEFAULT, true);
-		navigator.addEventListener(FlexEvent.SHOW, navigator_visibilityChangedHandler, false, EventPriority.DEFAULT, true);
+    /**
+     *  @private
+     */
+    private function navigatorCallout_mouseDownOutsideHandler(event:Event):void
+    {
+        hideViewNavigatorCallout();
+    }
+
+    /**
+     *  @private
+     */
+    private function setupNavigator(navigator:ViewNavigatorBase):void
+    {
+        navigator.setParentNavigator(this);
+
+        // Add weak listeners for hide and show events on the navigator.  When
+        // a navigator is hidden, its container is removed from layout.
+        navigator.addEventListener(FlexEvent.HIDE, navigator_visibilityChangedHandler, false, EventPriority.DEFAULT, true);
+        navigator.addEventListener(FlexEvent.SHOW, navigator_visibilityChangedHandler, false, EventPriority.DEFAULT, true);

         // Remove the navigator from layout if it isn't visible
         if (navigator.visible == false)
             navigator.includeInLayout = false;
-	}
-
-	/**
-	 *  @private
-	 */
-	private function cleanUpNavigator(navigator:ViewNavigatorBase):void
-	{
-		navigator.setParentNavigator(null);
-		navigator.removeEventListener(FlexEvent.HIDE, navigator_visibilityChangedHandler);
-		navigator.removeEventListener(FlexEvent.SHOW, navigator_visibilityChangedHandler);
-	}
-
-	/**
-	 *  @private
-	 */
-	private function navigator_visibilityChangedHandler(event:FlexEvent):void
-	{
-		var navigator:ViewNavigatorBase = event.target as ViewNavigatorBase;
-
+    }
+
+    /**
+     *  @private
+     */
+    private function cleanUpNavigator(navigator:ViewNavigatorBase):void
+    {
+        navigator.setParentNavigator(null);
+        navigator.removeEventListener(FlexEvent.HIDE, navigator_visibilityChangedHandler);
+        navigator.removeEventListener(FlexEvent.SHOW, navigator_visibilityChangedHandler);
+    }
+
+    /**
+     *  @private
+     */
+    private function navigator_visibilityChangedHandler(event:FlexEvent):void
+    {
+        var navigator:ViewNavigatorBase = event.target as ViewNavigatorBase;
+
         if (event.type == FlexEvent.HIDE && navigator == _calloutNavigator)
             hideViewNavigatorCallout();

         navigator.includeInLayout = navigator.visible;
-	}
-
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Overriden Methods: ViewNavigatorBase
@@ -568,7 +594,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     override public function loadViewData(value:Object):void
     {
@@ -595,7 +621,7 @@
      *
      *  @langversion 3.0
      *  @playerversion AIR 3
-     *  @productversion Flex 4.5.2
+     *  @productversion Flex 4.6
      */
     override public function saveViewData():Object
     {
@@ -615,7 +641,7 @@
     //  Overridden Methods: UIComponent
     //
     //--------------------------------------------------------------------------
-
+
     /**
      *  @private
      */


Transferred from the Adobe Open Source Subversion Repository

Revision: 5224
Author:   jszeto@adobe.com
Date:     2009-03-10T21:06:53.989833Z

Log Message:
-----------
Flex SDK Bug Fixes

SDK-19772 Initially invisible graphic element can not be made visible

When visible is false, we were both setting the displayObject invisible and not drawing the graphics. When visible was then set to true, we changed the displayObject visibility, but didn't draw the graphics. The fix is to always draw the graphics when we are not sharing our displayObject. This way we simply toggle visibility on the displayObject on/off, instead of having to perform a redraw.

SDK-19581 BitmapFill incorrectly handle source property

Updated code to match code in BitmapGraphic. If the source is a class, we still need to check the type of the newly instantiated instance of that class.

SDK-19085 unexpected behaviour when setting scaleX < 3 on a LinearGradient

Internally, we no longer allow scaleX to be less than 2. Visually, this shouldn't have much impact.

QE Notes: n/a
Doc Notes: n/a
Bugs: SDK-19772, SDK-19581, SDK-19085
Reviewer: Evtim, Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -3207,7 +3207,7 @@
         if (shareIndex <= 0 && drawnDisplayObject is ISharedGraphicsDisplayObject)
             ISharedGraphicsDisplayObject(drawnDisplayObject).graphics.clear();

-        if (visible)
+        if (visible || shareIndex == -1)
             updateDisplayList(_width, _height);

         // If we aren't doing any more invalidation, send out an UpdateComplete event


updated documentation

updated documentation

Change-Id: I710dd1df715c58b6383ae06dc737eac462d11de6

--- WeaveAPI/src/weave/api/detectLinkableObjectChange.as
+++ WeaveAPI/src/weave/api/detectLinkableObjectChange.as
@@ -20,9 +20,8 @@
 	/**
 	 * This function is used to detect if callbacks of a linkable object were triggered since the last time this function
 	 * was called with the same parameters, likely by the observer.  Note that once this function returns true, subsequent calls will
-	 * return false until the callbacks are triggered again, unless clearChangedNow is set to false.  It may be a good idea to specify
-	 * a private object as the observer so no other code can call detectLinkableObjectChange with the same observer and linkableObject
-	 * parameters.
+	 * return false until the callbacks are triggered again.  It's a good idea to specify a private object or function as the observer
+	 * so no other code can call detectLinkableObjectChange with the same observer and linkableObject parameters.
 	 * @param observer The object that is observing the change.
 	 * @param linkableObject The object that is being observed.
 	 * @param moreLinkableObjects More objects that are being observed.
@@ -33,7 +32,7 @@
 	{
 		var changeDetected:Boolean = false;
 		moreLinkableObjects.unshift(linkableObject);
-		// it's important not to short-circuit with a boolean OR (||) because we need to clear the 'changed' flag on each object.
+		// it's important not to short-circuit like a boolean OR (||) because we need to clear the 'changed' flag on each object.
 		for each (linkableObject in moreLinkableObjects)
 			if (Internal.detectLinkableObjectChange(observer, linkableObject, true)) // clear 'changed' flag
 				changeDetected = true;


fixed null pointer error

fixed null pointer error

Change-Id: I21a3fb9a5c737d44741d1ed792f2d73e61aef538

--- WeaveData/src/weave/data/KeySets/StringDataFilter.as
+++ WeaveData/src/weave/data/KeySets/StringDataFilter.as
@@ -37,7 +37,7 @@

 		private var _enabled:Boolean;
 		private var _includeMissingKeyTypes:Boolean;
-		private var _stringLookup:Object;
+		private var _stringLookup:Object = {};
 		private var _keyType:String;
 		private var _keyLookup:Dictionary = new Dictionary(true);


Code clean

Code clean

--- collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/PopUpUtil.as
+++ collect-flex/collect-flex-client/src/main/flex/org/openforis/collect/util/PopUpUtil.as
@@ -69,6 +69,7 @@
 			var componentBounds:Rectangle = inputField.getBounds(inputField.stage);

 			var x:Number, y:Number;
+			var adjustedPosition:Point;
 			switch(position) {
 				case POSITION_RIGHT:
 					x = componentBounds.x + inputField.width;
@@ -83,7 +84,7 @@
 							y = componentBounds.y;
 							break;
 					}
-					var adjustedPosition:Point = getAdjustedPositionVertically(popUp, new Point(x, y));
+					adjustedPosition = getAdjustedPositionVertically(popUp, new Point(x, y));
 					x = adjustedPosition.x;
 					y = adjustedPosition.y;
 					break;
@@ -100,7 +101,7 @@
 							y = componentBounds.y;
 							break;
 					}
-					var adjustedPosition:Point = getAdjustedPositionVertically(popUp, new Point(x, y));
+					adjustedPosition = getAdjustedPositionVertically(popUp, new Point(x, y));
 					x = adjustedPosition.x;
 					y = adjustedPosition.y;
 					break;
@@ -117,7 +118,7 @@
 							break;
 					}
 					y = componentBounds.y + inputField.height;
-					var adjustedPosition:Point = getAdjustedPositionHorizontally(popUp, new Point(x, y));
+					adjustedPosition = getAdjustedPositionHorizontally(popUp, new Point(x, y));
 					x = adjustedPosition.x;
 					y = adjustedPosition.y;
 					break;
@@ -134,7 +135,7 @@
 							break;
 					}
 					y = componentBounds.y - popUp.height;
-					var adjustedPosition:Point = getAdjustedPositionHorizontally(popUp, new Point(x, y));
+					adjustedPosition = getAdjustedPositionHorizontally(popUp, new Point(x, y));
 					x = adjustedPosition.x;
 					y = adjustedPosition.y;
 					break;


Transferred from the Adobe Open Source Subversion Repository

Revision: 7836
Author:   chaase@adobe.com
Date:     2009-06-15T14:37:21.379918Z

Log Message:
-----------
PARB changes for effects. This includes various property renames, a couple of class renames, moving 3 classes to a sub-package, and various doc cleanups. This also includes changing a handful of Array properties to typed Vectors.

QE: This breaks Mustella due to the renames
Doc: Docs will need to be updated to reflect the changes as well
Bugs: None
Reviewer: Jason
Tests: checkintests, Thermo's transitionbug test

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/EasingFraction.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/KeyFrame.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/RGBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/HSBInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/RepeatBehavior.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/IInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/CallActionInstance.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/SimpleMotionPath.as" copyfrom-rev="7748" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/SimpleMotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/HSBColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/IAnimationTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/CrossFade.pbk</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/WipeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -22,9 +22,9 @@
 import mx.effects.Effect;

 import spark.effects.Animate;
-import spark.effects.KeyFrame;
-import spark.effects.MotionPath;
 import spark.effects.animation.Animation;
+import spark.effects.animation.Keyframe;
+import spark.effects.animation.MotionPath;
 import spark.effects.easing.IEaser;
 import spark.effects.easing.Linear;

@@ -251,7 +251,8 @@
      * time, so the new keyframe must be inserted in the proper place according to its
      * time value and the startDelay time passed in
      */
-    private function insertKeyframe(keyframes:Array, newKF:KeyFrame, startDelay:Number = 0):void
+    private function insertKeyframe(keyframes:Vector.<Keyframe>,
+        newKF:Keyframe, startDelay:Number = 0):void
     {
         newKF.time += startDelay;
         for (var i:int = 0; i < keyframes.length; i++)
@@ -333,7 +334,7 @@
         }
         else
         {
-            motionPaths = [];
+            motionPaths = new Vector.<MotionPath>();
             // TODO (chaase): too early to reset instanceStartTime - might use
             // it below
             instanceStartTime = newEffectStartTime;
@@ -460,7 +461,7 @@
                 {
                     for (j = 0; j < animProp.keyframes.length; ++j)
                     {
-                        var kf:KeyFrame = animProp.keyframes[j];
+                        var kf:Keyframe = animProp.keyframes[j];
                         if (animProp.property == "translationX")
                             kf.value += transformCenter.x;
                         else
@@ -472,16 +473,17 @@
         for (s in autoProps)
         {
             var mp:MotionPath = new MotionPath(s);
-            mp.keyframes = [new KeyFrame(0, null), new KeyFrame(duration, null)];
+            mp.keyframes = new <Keyframe>[new Keyframe(0, null),
+                new Keyframe(duration, null)];
             mp.scaleKeyframes(duration);
             if (!motionPaths)
-                motionPaths = [];
+                motionPaths = new Vector.<MotionPath>();
             motionPaths.push(mp);
         }
         // TODO (chaase): We probably need to advertise percentWidth/Height
         // in the affected properties/styles arrays; we don't pick these up
         // in the transition propertyChanges automatically otherwise
-        if (propertyChanges && !disableConstraints)
+        if (propertyChanges && !disableLayout)
         {
             setupConstraintAnimation("left");
             setupConstraintAnimation("right");


登録されたサウンドデータを取得するメソッド追加

登録されたサウンドデータを取得するメソッド追加

--- project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundConductor.as
+++ project/SoundConductor/src/jp/hiiragi/managers/soundConductor/SoundConductor.as
@@ -379,6 +379,25 @@
 			return soundId;
 		}

+
+		/**
+		 * 登録されたサウンドデータを取得します.
+		 * @param soundId
+		 * @return
+		 */
+		public static function getRegisteredSoundData(soundId:SoundId):RegisteredSoundData
+		{
+			for each (var registeredSoundData:RegisteredSoundData in _registeredSoundList)
+			{
+				if (registeredSoundData.soundId == soundId)
+				{
+					return registeredSoundData;
+				}
+			}
+
+			return null;
+		}
+
 		/**
 		 * 登録した音を、登録解除します.
 		 * @param soundId