Transferred from the Adobe Open Source Subversion Repository

Revision: 10006
Author:   gruehle@adobe.com
Date:     2009-09-03T22:04:47.081899Z

Log Message:
-----------
Initial checkin of the "More styles for Spark skins" feature. Details here:
http://opensource.adobe.com/wiki/display/flexsdk/More+Styles+for+Spark+Skins

There are some known issues:
* Panel bottom corners not rounded correctly when the panel has a control bar
* cornerRadius on Tab and DateChooser non functional
* cornerRadius values > 4 have drawing artifacts in the "down" state of Button and button-like components
* TextInput/TextArea incorrectly list lineBreak and verticalAlign as valid styles

This checkin also includes a couple minor unrelated bug fixes:
* Remove MiniDebugTarget. This is a logging target that used MiniDebug, which hasn't worked since Flex 1.5
* Fix RTEs when setting focusSkin to null
* Optimization: don't measure skins if the host component has explicit sizes

QE notes: Yes, many baseline images will need to be regenerated
Doc notes: New ASDoc comments should be scrubbed
Bugs: SDK-22931, SDK-22798, SDK-22217, SDK-19358
Reviewer: Jason
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperIncrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PopUpButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/WindowedApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/logging/targets/MiniDebugTarget.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/StepperDecrButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerDecrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ToggleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/TextAreaSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/EditableComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SparkSkinForHalo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ListSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/TextInputBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SpinnerIncrementButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/halo-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/BorderStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/PanelBorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DropDownListButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ComboBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/NumericStepperTextInputSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/spark/scripts/BorderTestScript.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/ApplicationSkin.mxml</path>

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

--- frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as
+++ frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as
@@ -25,7 +25,12 @@
 [Event(name="contentCreationComplete", type="mx.events.FlexEvent")]

 /**
- *  Documentation is not currently available.
+ *  The IDeferredContentOwner interface defines the properties and methods
+ *  for deferred instantiation.
+ *
+ *  @see spark.components.SkinnableContainer
+ *  @see mx.core.Container
+ *  @see mx.core.INavigatorContent
  *
  *  @langversion 3.0
  *  @playerversion Flash 10


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

--- frameworks/projects/framework/src/mx/events/CollectionEventKind.as
+++ frameworks/projects/framework/src/mx/events/CollectionEventKind.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 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: 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@1260888 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.formatters
 {


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

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

 package mx.managers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17430
Author:   cframpto@adobe.com
Date:     2010-08-20T19:06:10.446088Z

Log Message:
-----------
Setting RadioButtonGroup.selectedValue to null for both the spark and mx versions of this component incorrectly selected the first radio button.  The bug was written as a two-way binding bug that that was not the real issue.

QE notes:
Doc notes:
Bugs: SDK-18391
Reviewer: Kevin
Tests run: checkintests, cyclone
Is noteworthy for integration: no

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

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

--- frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -321,6 +321,14 @@
         // value until it can be put in the group.
         _selectedValue = value;

+        // Clear the exisiting selecton if there is one.
+        if (value == null)
+        {
+            setSelection(null, false);
+            return;
+        }
+
+        // Find the radio button value specified.
         var n:int = numRadioButtons;
         for (var i:int = 0; i < n; i++)
         {
@@ -546,12 +554,15 @@
         if (_selection == value)
             return;

-        if (value == null && _selection != null)
-        {
-            _selection.selected = false;
-            _selection = null;
-            if (fireChange)
-                dispatchEvent(new Event(Event.CHANGE));
+        if (value == null)
+        {
+            if (selection != null)
+            {
+                _selection.selected = false;
+                _selection = null;
+                if (fireChange)
+                    dispatchEvent(new Event(Event.CHANGE));
+            }
         }
         else
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3555
Author:   gosmith@adobe.com
Date:     2008-10-09T23:56:22.137038Z

Log Message:
-----------
TextInput and TextArea now participate in the FocusManager's tab ring. For example, you can tab to an empty TextInput and start entering text.

The selectionAnchorPosition and selectionActivePosition properties of TextView, TextInput, and TextArea are now read-only, in accordance with the spec for these components. You must use the setSelection() method to set the selection.

Reviewer: Deepa
Bugs: SDK-15894, SDK-15898, SDK-16331, SDK-16332, SDK-16414, SDK-16435, SDK-17224, SDK-17239
QA: Please remove any tests where you set selectionAnchorPosition or selectionActivePosition.
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -47,12 +47,11 @@
 import flashx.tcal.operations.FlowOperation;
 import flashx.tcal.operations.SplitParagraphOperation;

-import mx.events.TextOperationEvent;
 import mx.core.IViewport;
-import mx.utils.TextUtil;
-
 import mx.core.UIComponent;
 import mx.events.FlexEvent;
+import mx.events.TextOperationEvent;
+import mx.utils.TextUtil;

 //--------------------------------------
 //  Events
@@ -190,6 +189,35 @@
     //--------------------------------------------------------------------------

     //----------------------------------
+    //  clipContent
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _clipContent:Boolean = true;
+
+    /**
+     *  @copy mx.layout.LayoutBase#clipContent
+     */
+    public function get clipContent():Boolean
+    {
+        return _clipContent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set clipContent(value:Boolean):void
+    {
+        if (value == _clipContent)
+            return;
+
+        _clipContent = value;
+        // TBD implement this
+    }
+
+    //----------------------------------
     //  content
     //----------------------------------

@@ -342,11 +370,11 @@
     }

     //----------------------------------
-    //  horizontal,verticalScrollPositionDelta
-    //----------------------------------
-
-    /**
-     * @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
+    //  horizontal ScrollPositionDelta
+    //----------------------------------
+
+    /**
+     *  @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
      */
     public function horizontalScrollPositionDelta(unit:uint):Number
     {
@@ -383,8 +411,170 @@
         }
     }

-    /**
-     * @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
+    //----------------------------------
+    //  multiline
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _multiline:Boolean = true;
+
+    /**
+     *  Determines whether the user can enter multiline text.
+     *  If true, the Enter key starts a new paragraph.
+     *  If false, the Enter key doesn't affect the text
+     *  but causes the TextView to dispatch an "enter" event.
+     *
+     *  @default true
+     */
+    public function get multiline():Boolean
+    {
+        return _multiline;
+    }
+
+    /**
+     *  @private
+     */
+    public function set multiline(value:Boolean):void
+    {
+        _multiline = value;
+    }
+
+    //----------------------------------
+    //  selectionActivePosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _selectionActivePosition:int = -1;
+
+    /**
+     *  The active position of the selection.
+     *  The "active" point is the end of the selection
+     *  which is changed when the selection is extended.
+     *  The active position may be either the start
+     *  or the end of the selection.
+     *
+     *  @default -1
+     */
+    public function get selectionActivePosition():int
+    {
+        return _selectionActivePosition;
+    }
+
+    //----------------------------------
+    //  selectionAnchorPosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _selectionAnchorPosition:int = -1;
+
+    /**
+     *  The anchor position of the selection.
+     *  The "anchor" point is the stable end of the selection
+     *  when the selection is extended.
+     *  The anchor position may be either the start
+     *  or the end of the selection.
+     *
+     *  @default -1
+     */
+    public function get selectionAnchorPosition():int
+    {
+        return _selectionAnchorPosition;
+    }
+
+    //----------------------------------
+    //  text
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _text:String = "";
+
+    /**
+     *  @private
+     */
+    private var textChanged:Boolean = false;
+
+    /**
+     *  The text String displayed by this TextView..
+     */
+    public function get text():String
+    {
+        if (textInvalid)
+        {
+            _text = TextUtil.extractText(textFlow);
+            textInvalid = false;
+        }
+
+        return _text;
+    }
+
+    /**
+     *  @private
+     */
+    public function set text(value:String):void
+    {
+        if (value == _text)
+            return;
+
+        _text = value;
+        textChanged = true;
+
+        invalidateProperties();
+        invalidateSize();
+        invalidateDisplayList();
+    }
+
+    //----------------------------------
+    //  verticalScrollPosition
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _verticalScrollPosition:Number = 0;
+
+    /**
+     *  @private
+     */
+    private var verticalScrollPositionChanged:Boolean = false;
+
+    [Bindable("scrollPositionChanged")]
+
+    /**
+     *  Documentation is not currently available.
+     */
+    public function get verticalScrollPosition():Number
+    {
+        return _verticalScrollPosition;
+    }
+
+    /**
+     *  @private
+     */
+    public function set verticalScrollPosition(value:Number):void
+    {
+        if (value == _verticalScrollPosition)
+            return;
+
+        _verticalScrollPosition = value;
+        verticalScrollPositionChanged = true;
+
+        invalidateProperties();
+    }
+
+    //----------------------------------
+    //  verticalScrollPositionDelta
+    //----------------------------------
+
+    /**
+     *  @copy mx.layout.LayoutBase#horizontalScrollPositionDelta
      */
     public function verticalScrollPositionDelta(unit:uint):Number
     {
@@ -422,229 +612,6 @@
     }

     //----------------------------------
-    //  clipContent
-    //----------------------------------
-
-    private var _clipContent:Boolean = true;
-
-    /**
-     * @copy mx.layout.LayoutBase#clipContent
-     */
-    public function get clipContent():Boolean
-    {
-        return _clipContent;
-    }
-
-    /**
-     *  @private
-     */
-    public function set clipContent(value:Boolean):void
-    {
-        if (value == _clipContent)
-            return;
-
-        _clipContent = value;
-        // TBD implement this
-    }
-
-
-    //----------------------------------
-    //  multiline
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _multiline:Boolean = true;
-
-    /**
-     *  Determines whether the user can enter multiline text.
-     *  If true, the Enter key starts a new paragraph.
-     *  If false, the Enter key doesn't affect the text
-     *  but causes the TextView to dispatch an "enter" event.
-     *
-     *  @default true
-     */
-    public function get multiline():Boolean
-    {
-        return _multiline;
-    }
-
-    /**
-     *  @private
-     */
-    public function set multiline(value:Boolean):void
-    {
-        _multiline = value;
-    }
-
-    //----------------------------------
-    //  selectionActivePosition
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _selectionActivePosition:int = -1;
-
-    /**
-     *  @private
-     */
-    private var selectionActivePositionChanged:Boolean = false;
-
-    /**
-     *  The active position of the selection.
-     *  The "active" point is the end of the selection
-     *  which is changed when the selection is extended.
-     *  The active position may be either the start
-     *  or the end of the selection.
-     *
-     *  @default -1
-     */
-    public function get selectionActivePosition():int
-    {
-        return _selectionActivePosition;
-    }
-
-    /**
-     *  @private
-     */
-    public function set selectionActivePosition(value:int):void
-    {
-        if (value == _selectionActivePosition)
-            return;
-
-        _selectionActivePosition = value;
-        selectionActivePositionChanged = true;
-
-        invalidateProperties();
-    }
-
-    //----------------------------------
-    //  selectionAnchorPosition
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _selectionAnchorPosition:int = -1;
-
-    /**
-     *  @private
-     */
-    private var selectionAnchorPositionChanged:Boolean = false;
-
-    /**
-     *  The anchor position of the selection.
-     *  The "anchor" point is the stable end of the selection
-     *  when the selection is extended.
-     *  The anchor position may be either the start
-     *  or the end of the selection.
-     *
-     *  @default -1
-     */
-    public function get selectionAnchorPosition():int
-    {
-        return _selectionAnchorPosition;
-    }
-
-    /**
-     *  @private
-     */
-    public function set selectionAnchorPosition(value:int):void
-    {
-        if (value == _selectionAnchorPosition)
-            return;
-
-        _selectionAnchorPosition = value;
-        selectionAnchorPositionChanged = true;
-
-        invalidateProperties();
-    }
-
-    //----------------------------------
-    //  text
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _text:String = "";
-
-    /**
-     *  @private
-     */
-    private var textChanged:Boolean = false;
-
-    /**
-     *  The text String displayed by this TextView..
-     */
-    public function get text():String
-    {
-        if (textInvalid)
-        {
-            _text = TextUtil.extractText(textFlow);
-            textInvalid = false;
-        }
-
-        return _text;
-    }
-
-    /**
-     *  @private
-     */
-    public function set text(value:String):void
-    {
-        if (value == _text)
-            return;
-
-        _text = value;
-        textChanged = true;
-
-        invalidateProperties();
-        invalidateSize();
-        invalidateDisplayList();
-    }
-
-    //----------------------------------
-    //  verticalScrollPosition
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _verticalScrollPosition:Number = 0;
-
-    /**
-     *  @private
-     */
-    private var verticalScrollPositionChanged:Boolean = false;
-
-    [Bindable("scrollPositionChanged")]
-
-    /**
-     *  Documentation is not currently available.
-     */
-    public function get verticalScrollPosition():Number
-    {
-        return _verticalScrollPosition;
-    }
-
-    /**
-     *  @private
-     */
-    public function set verticalScrollPosition(value:Number):void
-    {
-        if (value == _verticalScrollPosition)
-            return;
-
-        _verticalScrollPosition = value;
-        verticalScrollPositionChanged = true;
-
-        invalidateProperties();
-    }
-
-    //----------------------------------
     //  widthInChars
     //----------------------------------

@@ -734,16 +701,6 @@
             textChanged = false;
             contentChanged = false;
             textAttributeChanged = false;
-        }
-
-        // Apply the specified selection indices to the TextFlow.
-        if (selectionAnchorPositionChanged || selectionActivePositionChanged)
-        {
-            textFlow.interactionManager.setSelection(
-                _selectionAnchorPosition, _selectionActivePosition);
-
-            selectionAnchorPositionChanged = false;
-            selectionActivePositionChanged = false;
         }

         var containerController:IContainerController =
@@ -1012,7 +969,9 @@
     public function setSelection(anchorPosition:int = 0,
                                  activePosition:int = int.MAX_VALUE):void
     {
-        textFlow.interactionManager.setSelection(anchorPosition, activePosition);
+        textFlow.interactionManager.setSelection(anchorPosition,
+                                                 activePosition);
+        textFlow.flowComposer.updateAllContainers();
     }

     /**


Fix embed SDK-Remote test suite.

Fix embed SDK-Remote test suite.

	* src/tests/liburbi-check.as: Also define URBI_PATH.
	Be sure to issue messages when embedded urbi-console is not found.

--- sdk-remote/src/tests/liburbi-check.as
+++ sdk-remote/src/tests/liburbi-check.as
@@ -101,20 +101,22 @@
 # If this SDK-Remote is part of the Kernel package, then we should not
 # use an installed urbi-console, but rather the one which is part of
 # this package.
-if test -x $abs_top_builddir/../src/urbi-console; then
+if test -d $abs_top_srcdir/../../src/kernel; then
+  stderr "This SDK-Remote is part of a kernel package."
   URBI_SERVER=$abs_top_builddir/../src/urbi-console
   export URBI_PATH=$abs_top_srcdir/../share
 else
-  # Leaves trailing files, so run it in subdir.
-  find_urbi_server
+  stderr "This SDK-Remote is standalone."
 fi
+# Leaves trailing files, so run it in subdir.
+find_urbi_server

-# compute expected output
+# Compute expected output.
 sed -n -e 's@//= @@p' $chk.cc >output.exp
 touch error.exp
 echo 0 >status.exp

-#start it
+# Start it.
 valgrind=$(instrument "server.val")
 cmd="$valgrind $URBI_SERVER --port 0 -w server.port --period $period"
 echo "$cmd" >server.cmd
@@ -123,7 +125,7 @@

 my_sleep 2

-#start the test
+# Start the test.
 valgrind=$(instrument "remote.val")
 cmd="$valgrind ../../tests localhost $(cat server.port) $meraw"
 echo "$cmd" >remote.cmd


Transferred from the Adobe Open Source Subversion Repository

Revision: 10653
Author:   egeorgie@adobe.com
Date:     2009-09-28T19:34:37.823932Z

Log Message:
-----------
Add APIs for detecting whether an IVisualElement is in 3D, or an ILayoutElement has 3D matrix. Small cleanup for "depth" property and ASDoc comments, "depth" is now consistently non-bindable.

QE notes: None
Doc notes: None
Bugs: None
Reviewer: Ryan
Tests run: checkintests, mustella (Group, layout3D)

Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/SpriteVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.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/projects/framework/src/mx/core/ILayoutElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/ILayoutElement.as
+++ frameworks/projects/framework/src/mx/core/ILayoutElement.as
@@ -22,9 +22,9 @@
  *  size and position the elements of the GroupBase based containers.
  *
  *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public interface ILayoutElement extends IEventDispatcher
 {
@@ -44,9 +44,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get left():Object;

@@ -71,9 +71,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get right():Object;

@@ -98,9 +98,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get top():Object;

@@ -125,9 +125,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get bottom():Object;

@@ -155,9 +155,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get horizontalCenter():Object;

@@ -185,9 +185,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get verticalCenter():Object;

@@ -213,9 +213,9 @@
      *  @default null
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get baseline():Object;

@@ -255,9 +255,9 @@
      *  @default NaN
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get percentWidth():Number;

@@ -279,9 +279,9 @@
      *  @default NaN
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get percentHeight():Number;

@@ -294,9 +294,9 @@
      *  @copy mx.core.UIComponent#includeInLayout
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function get includeInLayout():Boolean;

@@ -322,9 +322,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number;

@@ -345,9 +345,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number;

@@ -364,9 +364,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getMinBoundsWidth(postLayoutTransform:Boolean = true):Number;

@@ -383,9 +383,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getMinBoundsHeight(postLayoutTransform:Boolean = true):Number;

@@ -402,9 +402,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number;

@@ -421,9 +421,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number;

@@ -446,9 +446,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number;

@@ -471,9 +471,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number;

@@ -491,9 +491,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number;

@@ -511,9 +511,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number;

@@ -530,9 +530,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutBoundsX(postLayoutTransform:Boolean = true):Number;

@@ -549,9 +549,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number;

@@ -571,9 +571,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void;

@@ -608,9 +608,9 @@
      *  @see #getLayoutMatrix3D
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function setLayoutBoundsSize(width:Number,
                                  height:Number,
@@ -639,9 +639,9 @@
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutMatrix():Matrix;

@@ -678,11 +678,25 @@
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function setLayoutMatrix(m:Matrix, invalidateLayout:Boolean):void;
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void;
+
+    /**
+     *  True if the element has 3D Matrix.
+     *
+     *  Use hasLayoutMatrix3D instead of calling and examining the
+     *  value of getLayoutMatrix3D() as that method returns a valid
+     *  matrix even when the element is in 2D.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function get hasLayoutMatrix3D():Boolean;

     /**
      *  Returns the layout transform Matrix3D for this element.
@@ -707,9 +721,9 @@
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function getLayoutMatrix3D():Matrix3D;

@@ -747,11 +761,11 @@
      *  @see mx.graphics.baseClasses.GraphicElement#offsets
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    function setLayoutMatrix3D(m:Matrix3D, invalidateLayout:Boolean):void;
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void;

     /**
      * A utility method to update the rotation, scale, and translation of the
@@ -773,9 +787,9 @@
      * of the transform
      *
      *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     function transformAround(transformCenter:Vector3D,
                                     scale:Vector3D = null,


Transferred from the Adobe Open Source Subversion Repository

Revision: 5884
Author:   aharui@adobe.com
Date:     2009-04-02T19:41:42.277153Z

Log Message:
-----------
Defend ButtonBar from null DataProvider

QE Notes: None
Doc Notes: None
Bugs: sdk-20448
Reviewer: alex
tests: checkintests, mustella/gumbo/buttonbar

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as

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

--- frameworks/projects/spark/src/spark/components/ButtonBar.as
+++ frameworks/projects/spark/src/spark/components/ButtonBar.as
@@ -443,7 +443,7 @@
      */
     private function adjustLayering(focusedIndex:int):void
     {
-        var n:int = dataProvider.length;
+        var n:int = dataProvider ? dataProvider.length : 0;
         for (var i:int = 0; i < n; i++)
         {
             var renderer:IVisualElement = IVisualElement(dataGroup.getElementAt(i));
@@ -466,6 +466,9 @@
             return;

         if (!enabled)
+            return;
+
+        if (!dataProvider)
             return;

         var length:int = dataProvider.length;
@@ -554,7 +557,7 @@
      */
     private function drawButtonFocus(index:int, focused:Boolean):void
     {
-        var n:int = dataProvider.length;
+        var n:int = dataProvider ? dataProvider.length : 0;
         if (n > 0 && index < n)
         {
             var renderer:IItemRenderer =


Transferred from the Adobe Open Source Subversion Repository

Revision: 8627
Author:   jszeto@adobe.com
Date:     2009-07-16T18:40:07.408921Z

Log Message:
-----------
Adding copyright headers to filter classes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/ShaderFilter.as
+++ frameworks/projects/spark/src/spark/filters/ShaderFilter.as
@@ -1,7 +1,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
 //  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2008 Adobe Systems Incorporated
+//  Copyright 2008 Adobe Systems Incorporated
 //  All Rights Reserved.
 //
 //  NOTICE: Adobe permits you to use, modify, and distribute this file


When have multi-selection of mixed UIElement types, hides the non-common attribute editors.

--- Bin/Data/Scripts/Editor/AttributeEditor.as
+++ Bin/Data/Scripts/Editor/AttributeEditor.as
@@ -400,7 +400,7 @@
     if (sameName)
         LoadAttributeEditor(parent, value, info, editable, sameValue, values);
     else
-        parent.Remove();
+        parent.visible = false;

     inLoadAttributeEditor = false;
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 15923
Author:   chaase@adobe.com
Date:     2010-05-06T18:05:24.751600Z

Log Message:
-----------
Initial checkin of "Transition Interruption" feature. Set Transition.interruptionBehavior="stop" to get the new behavior, where interrupting transitions start from where the previous transition is at, rather than end()'ing the previous transition first. The default behavior is the same as it always was; transitionBehavior="end" is the default property, and that uses the previous behavior of ending the previous Transition.
New API: Transition.interruptionBehavior, mx.states.InterruptionBehavior

QE notes: Check out the spec for the details on the new API
Doc notes: none
Bugs: none
Reviewer: Jason
Tests run: checkintests, Mustella (mx/effects, spark/effects)
Is noteworthy for integration: Yes - feature requested by downstream teams

Modified Paths:
--------------
<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/spark/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/Transition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.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/framework/src/mx/states/InterruptionBehavior.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/states/Transition.as
+++ frameworks/projects/framework/src/mx/states/Transition.as
@@ -204,6 +204,25 @@
      *  @productversion Flex 3
      */
 	public var autoReverse:Boolean = false;
+
+    /**
+     *  This property controls how this transition behaves with respect to
+     *  any currently-running transition. By default, the current transition will
+     *  end, which snaps all values to their end values. This was the default
+     *  behavior as of Flex 4, before this property existed. But if the value
+     *  "stop" is selected for this property, the previous transition will stop
+     *  in place, leaving values where they are and the next transition will
+     *  start with those values.
+     *
+     *
This property takes precedence over the autoReverse
+     *  property, so that if interruptionBehavior is set to "stop"
+     *  on a transition, that transition will stop a running transition in place
+     *  and will be played, even if the previous transition is the reverse of the
+     *  new one.

+     *
+     *  @default InterruptionBehavior.END
+     */
+    public var interruptionBehavior:String = InterruptionBehavior.END;
 }

 }


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

--- frameworks/projects/spark/src/spark/core/IEditableText.as
+++ frameworks/projects/spark/src/spark/core/IEditableText.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2010 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////
 package spark.core
 {
 import flash.accessibility.AccessibilityProperties;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3047
Author:   gruehle@adobe.com
Date:     2008-08-29T22:18:20.601349Z

Log Message:
-----------
Checking in for Jason.

This is the big display object sharing optimization for Group. Adjacent graphic elements that do not require their own display object now draw into a common shared display object.

There should be no functionality changes. The only exception is masks on graphic elements are broken. If you find any other functional differences, please file a bug.

The changes have been cycloned by the SDK QE and Thermo.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/IDisplayObjectElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/BitmapGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/graphicsClasses/TextGraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/Ellipse.as
+++ frameworks/projects/spark/src/spark/primitives/Ellipse.as
@@ -54,7 +54,7 @@
 	 */
 	override protected function drawElement(g:Graphics):void
 	{
-		g.drawEllipse(0, 0, width, height);
+		g.drawEllipse(drawX, drawY, width, height);
 	}
 }


clean up test

clean up test

--- microphone/src/test/flex/TestApp.as
+++ microphone/src/test/flex/TestApp.as
@@ -17,6 +17,103 @@
 import org.flexunit.asserts.assertTrue;
 import org.flexunit.async.Async;
 import org.fluint.uiImpersonation.UIImpersonator;
+
+// ffmpeg -loglevel debug -f f32be -acodec pcm_f32be -ar 16000 -ac 1 -channel_layout mono -i audio.raw -b:a 32000 -f mp4 -acodec aac audio.mp4
+// audio.raw = 276480 bytes, audio.mp4 = 18899 bytes
+
+/*
+ ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
+ built with Apple LLVM version 7.0.2 (clang-700.1.81)
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfontconfig --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libspeex --enable-libfdk-aac --enable-libopus --enable-libx265 --enable-libdcadec --enable-nonfree --enable-vda
+ libavutil      55. 17.103 / 55. 17.103
+ libavcodec     57. 24.102 / 57. 24.102
+ libavformat    57. 25.100 / 57. 25.100
+ libavdevice    57.  0.101 / 57.  0.101
+ libavfilter     6. 31.100 /  6. 31.100
+ libavresample   3.  0.  0 /  3.  0.  0
+ libswscale      4.  0.100 /  4.  0.100
+ libswresample   2.  0.101 /  2.  0.101
+ libpostproc    54.  0.100 / 54.  0.100
+ Splitting the commandline.
+ Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
+ Reading option '-f' ... matched as option 'f' (force format) with argument 'f32be'.
+ Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'pcm_f32be'.
+ Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '16000'.
+ Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
+ Reading option '-channel_layout' ... matched as option 'channel_layout' (set channel layout) with argument 'mono'.
+ Reading option '-i' ... matched as input file with argument 'audio.raw'.
+ Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '32000'.
+ Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
+ Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'.
+ Reading option 'audio.mp4' ... matched as output file.
+ Finished splitting the commandline.
+ Parsing a group of options: global .
+ Applying option loglevel (set logging level) with argument debug.
+ Successfully parsed a group of options.
+ Parsing a group of options: input file audio.raw.
+ Applying option f (force format) with argument f32be.
+ Applying option acodec (force audio codec ('copy' to copy stream)) with argument pcm_f32be.
+ Applying option ar (set audio sampling rate (in Hz)) with argument 16000.
+ Applying option ac (set number of audio channels) with argument 1.
+ Applying option channel_layout (set channel layout) with argument mono.
+ Successfully parsed a group of options.
+ Opening an input file: audio.raw.
+ [file @ 0x7f97b9d17360] Setting default whitelist 'file'
+ [f32be @ 0x7f97ba00fa00] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
+ [f32be @ 0x7f97ba00fa00] All info found
+ [f32be @ 0x7f97ba00fa00] Estimating duration from bitrate, this may be inaccurate
+ [f32be @ 0x7f97ba00fa00] After avformat_find_stream_info() pos: 204800 bytes read:229376 seeks:0 frames:50
+ Input #0, f32be, from 'audio.raw':
+ Duration: 00:00:04.32, bitrate: 512 kb/s
+ Stream #0:0, 50, 1/16000: Audio: pcm_f32be, 16000 Hz, mono, flt, 512 kb/s
+ Successfully opened the file.
+ Parsing a group of options: output file audio.mp4.
+ Applying option b:a (video bitrate (please use -b:v)) with argument 32000.
+ Applying option f (force format) with argument mp4.
+ Applying option acodec (force audio codec ('copy' to copy stream)) with argument aac.
+ Successfully parsed a group of options.
+ Opening an output file: audio.mp4.
+ [file @ 0x7f97b9d17dc0] Setting default whitelist 'file'
+ Successfully opened the file.
+ detected 8 logical cores
+ [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'time_base' to value '1/16000'
+ [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'sample_rate' to value '16000'
+ [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'sample_fmt' to value 'flt'
+ [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'channel_layout' to value '0x4'
+ [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] tb:1/16000 samplefmt:flt samplerate:16000 chlayout:0x4
+ [audio format for output stream 0:0 @ 0x7f97b9d1bb20] Setting 'sample_fmts' to value 'fltp'
+ [audio format for output stream 0:0 @ 0x7f97b9d1bb20] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350'
+ [audio format for output stream 0:0 @ 0x7f97b9d1bb20] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:0'
+ [AVFilterGraph @ 0x7f97b9d16f40] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
+ [auto-inserted resampler 0 @ 0x7f97b9d1c260] [SWR @ 0x7f97ba05fc00] Using fltp internally between filters
+ [auto-inserted resampler 0 @ 0x7f97b9d1c260] ch:1 chl:mono fmt:flt r:16000Hz -> ch:1 chl:mono fmt:fltp r:16000Hz
+ Output #0, mp4, to 'audio.mp4':
+ Metadata:
+ encoder         : Lavf57.25.100
+ Stream #0:0, 0, 1/16000: Audio: aac (LC) ([64][0][0][0] / 0x0040), 16000 Hz, mono, fltp, 32 kb/s
+ Metadata:
+ encoder         : Lavc57.24.102 aac
+ Stream mapping:
+ Stream #0:0 -> #0:0 (pcm_f32be (native) -> aac (native))
+ Press [q] to stop, [?] for help
+ cur_dts is invalid (this is harmless if it occurs once at the start per stream)
+ Last message repeated 1 times
+ [output stream 0:0 @ 0x7f97b9d1b960] EOF on sink link output stream 0:0:default.
+ No more output streams to write to, finishing.
+ [aac @ 0x7f97ba057000] Trying to remove 512 more samples than there are in the queue
+ size=      18kB time=00:00:04.35 bitrate=  34.7kbits/s speed=64.1x
+ video:0kB audio:17kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.758254%
+ Input file #0 (audio.raw):
+ Input stream #0:0 (audio): 68 packets read (276480 bytes); 68 frames decoded (69120 samples);
+ Total: 68 packets (276480 bytes) demuxed
+ Output file #0 (audio.mp4):
+ Output stream #0:0 (audio): 68 frames encoded (69120 samples); 69 packets muxed (17870 bytes);
+ Total: 69 packets (17870 bytes) muxed
+ 68 frames successfully decoded, 0 decoding errors
+ [AVIOContext @ 0x7f97b9d1b260] Statistics: 30 seeks, 92 writeouts
+ [aac @ 0x7f97ba057000] Qavg: 107.061
+ [AVIOContext @ 0x7f97b9d17400] Statistics: 276480 bytes read, 0 seeks
+ */

 public class TestApp {

@@ -47,105 +144,6 @@
             assertNotNull(container.stage);
             var rootSprite:Sprite = new Sprite();
             container.addChild(rootSprite);
-
-            // ffmpeg -loglevel debug -f f32be -acodec pcm_f32be -ar 16000 -ac 1 -channel_layout mono -i audio.raw -b:a 32000 -f mp4 -acodec aac audio.mp4
-
-            /*
-             ffmpeg version 3.0 Copyright (c) 2000-2016 the FFmpeg developers
-             built with Apple LLVM version 7.0.2 (clang-700.1.81)
-             configuration: --prefix=/usr/local/Cellar/ffmpeg/3.0 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfontconfig --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libspeex --enable-libfdk-aac --enable-libopus --enable-libx265 --enable-libdcadec --enable-nonfree --enable-vda
-             libavutil      55. 17.103 / 55. 17.103
-             libavcodec     57. 24.102 / 57. 24.102
-             libavformat    57. 25.100 / 57. 25.100
-             libavdevice    57.  0.101 / 57.  0.101
-             libavfilter     6. 31.100 /  6. 31.100
-             libavresample   3.  0.  0 /  3.  0.  0
-             libswscale      4.  0.100 /  4.  0.100
-             libswresample   2.  0.101 /  2.  0.101
-             libpostproc    54.  0.100 / 54.  0.100
-             Splitting the commandline.
-             Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
-             Reading option '-f' ... matched as option 'f' (force format) with argument 'f32be'.
-             Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'pcm_f32be'.
-             Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '16000'.
-             Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
-             Reading option '-channel_layout' ... matched as option 'channel_layout' (set channel layout) with argument 'mono'.
-             Reading option '-i' ... matched as input file with argument 'audio.raw'.
-             Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '32000'.
-             Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
-             Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'aac'.
-             Reading option 'audio.mp4' ... matched as output file.
-             Finished splitting the commandline.
-             Parsing a group of options: global .
-             Applying option loglevel (set logging level) with argument debug.
-             Successfully parsed a group of options.
-             Parsing a group of options: input file audio.raw.
-             Applying option f (force format) with argument f32be.
-             Applying option acodec (force audio codec ('copy' to copy stream)) with argument pcm_f32be.
-             Applying option ar (set audio sampling rate (in Hz)) with argument 16000.
-             Applying option ac (set number of audio channels) with argument 1.
-             Applying option channel_layout (set channel layout) with argument mono.
-             Successfully parsed a group of options.
-             Opening an input file: audio.raw.
-             [file @ 0x7f97b9d17360] Setting default whitelist 'file'
-             [f32be @ 0x7f97ba00fa00] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
-             [f32be @ 0x7f97ba00fa00] All info found
-             [f32be @ 0x7f97ba00fa00] Estimating duration from bitrate, this may be inaccurate
-             [f32be @ 0x7f97ba00fa00] After avformat_find_stream_info() pos: 204800 bytes read:229376 seeks:0 frames:50
-             Input #0, f32be, from 'audio.raw':
-             Duration: 00:00:04.32, bitrate: 512 kb/s
-             Stream #0:0, 50, 1/16000: Audio: pcm_f32be, 16000 Hz, mono, flt, 512 kb/s
-             Successfully opened the file.
-             Parsing a group of options: output file audio.mp4.
-             Applying option b:a (video bitrate (please use -b:v)) with argument 32000.
-             Applying option f (force format) with argument mp4.
-             Applying option acodec (force audio codec ('copy' to copy stream)) with argument aac.
-             Successfully parsed a group of options.
-             Opening an output file: audio.mp4.
-             [file @ 0x7f97b9d17dc0] Setting default whitelist 'file'
-             Successfully opened the file.
-             detected 8 logical cores
-             [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'time_base' to value '1/16000'
-             [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'sample_rate' to value '16000'
-             [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'sample_fmt' to value 'flt'
-             [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] Setting 'channel_layout' to value '0x4'
-             [graph 0 input from stream 0:0 @ 0x7f97b9d1b640] tb:1/16000 samplefmt:flt samplerate:16000 chlayout:0x4
-             [audio format for output stream 0:0 @ 0x7f97b9d1bb20] Setting 'sample_fmts' to value 'fltp'
-             [audio format for output stream 0:0 @ 0x7f97b9d1bb20] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350'
-             [audio format for output stream 0:0 @ 0x7f97b9d1bb20] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:0'
-             [AVFilterGraph @ 0x7f97b9d16f40] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
-             [auto-inserted resampler 0 @ 0x7f97b9d1c260] [SWR @ 0x7f97ba05fc00] Using fltp internally between filters
-             [auto-inserted resampler 0 @ 0x7f97b9d1c260] ch:1 chl:mono fmt:flt r:16000Hz -> ch:1 chl:mono fmt:fltp r:16000Hz
-             Output #0, mp4, to 'audio.mp4':
-             Metadata:
-             encoder         : Lavf57.25.100
-             Stream #0:0, 0, 1/16000: Audio: aac (LC) ([64][0][0][0] / 0x0040), 16000 Hz, mono, fltp, 32 kb/s
-             Metadata:
-             encoder         : Lavc57.24.102 aac
-             Stream mapping:
-             Stream #0:0 -> #0:0 (pcm_f32be (native) -> aac (native))
-             Press [q] to stop, [?] for help
-             cur_dts is invalid (this is harmless if it occurs once at the start per stream)
-             Last message repeated 1 times
-             [output stream 0:0 @ 0x7f97b9d1b960] EOF on sink link output stream 0:0:default.
-             No more output streams to write to, finishing.
-             [aac @ 0x7f97ba057000] Trying to remove 512 more samples than there are in the queue
-             size=      18kB time=00:00:04.35 bitrate=  34.7kbits/s speed=64.1x
-             video:0kB audio:17kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.758254%
-             Input file #0 (audio.raw):
-             Input stream #0:0 (audio): 68 packets read (276480 bytes); 68 frames decoded (69120 samples);
-             Total: 68 packets (276480 bytes) demuxed
-             Output file #0 (audio.mp4):
-             Output stream #0:0 (audio): 68 frames encoded (69120 samples); 69 packets muxed (17870 bytes);
-             Total: 69 packets (17870 bytes) muxed
-             68 frames successfully decoded, 0 decoding errors
-             [AVIOContext @ 0x7f97b9d1b260] Statistics: 30 seeks, 92 writeouts
-             [aac @ 0x7f97ba057000] Qavg: 107.061
-             [AVIOContext @ 0x7f97b9d17400] Statistics: 276480 bytes read, 0 seeks
-             */
-
-            // audio.raw = 276480 bytes, audio.mp4 = 18899 bytes
-

             const inputCodec:String = 'pcm_f32be';
             const inputSampleRate:int = 16000;


I need this to be clonable now on the client.

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@5193 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/crowd/data/OccupantInfo.as
+++ src/as/com/threerings/crowd/data/OccupantInfo.as
@@ -21,6 +21,7 @@

 package com.threerings.crowd.data {

+import com.threerings.util.ClassUtil;
 import com.threerings.util.Cloneable;
 import com.threerings.util.Integer;
 import com.threerings.util.Name;
@@ -97,7 +98,11 @@
      */
     public function clone () :Object
     {
-        throw new Error("Clone not implemented. Implement if you need it.");
+        var that :OccupantInfo = ClassUtil.newInstance(this) as OccupantInfo;
+        that.bodyOid = this.bodyOid;
+        that.username = this.username;
+        that.status = this.status;
+        return that;
     }

     // documentation inherited from interface DSet_Entry


Remove unnecessary duplicate spaces to clean up code

--- Arguments/src/ValueObjects/AGORAParameters.as
+++ Arguments/src/ValueObjects/AGORAParameters.as
@@ -27,63 +27,63 @@
 		public var AND:String = "and";

 		//constants
-		public  var MOD_PON:String = "Modus Ponens";
-		public  var MOD_TOL:String = "Modus Tollens";
-		public  var COND_SYLL:String = "Conditional Syllogism";
-		public  var DIS_SYLL:String = "Disjunctive Syllogism";
-		public  var NOT_ALL_SYLL:String = "Not-All Syllogism";
-		public  var CONST_DILEM:String = "Constructive Dilemma";
+		public var MOD_PON:String = "Modus Ponens";
+		public var MOD_TOL:String = "Modus Tollens";
+		public var COND_SYLL:String = "Conditional Syllogism";
+		public var DIS_SYLL:String = "Disjunctive Syllogism";
+		public var NOT_ALL_SYLL:String = "Not-All Syllogism";
+		public var CONST_DILEM:String = "Constructive Dilemma";

-		public  var IF_THEN:String = "If-then";
-		public  var IMPLIES:String = "Implies";
-		public  var WHENEVER:String = "Whenever";
-		public  var ONLY_IF:String = "Only if";
-		public  var ONLY_IF_OR:String = "OnlyIfOR";
-		public  var ONLY_IF_AND:String = "OnlyIfAnd";
-		public  var PROVIDED_THAT:String = "Provided that";
-		public  var SUFFICIENT_CONDITION:String = "Sufficient condition";
-		public  var NECESSARY_CONDITION:String = "Necessary Condition";
+		public var IF_THEN:String = "If-then";
+		public var IMPLIES:String = "Implies";
+		public var WHENEVER:String = "Whenever";
+		public var ONLY_IF:String = "Only if";
+		public var ONLY_IF_OR:String = "OnlyIfOR";
+		public var ONLY_IF_AND:String = "OnlyIfAnd";
+		public var PROVIDED_THAT:String = "Provided that";
+		public var SUFFICIENT_CONDITION:String = "Sufficient condition";
+		public var NECESSARY_CONDITION:String = "Necessary Condition";

-		public  const DB_IF_THEN:String = "ifthen";
-		public  const DB_IMPLIES:String = "implies";
-		public  const DB_WHENEVER:String = "whenever";
-		public  const DB_ONLY_IF:String = "onlyif";
-		public  const DB_PROVIDED_THAT:String = "providedthat";
-		public  const DB_SUFFICIENT:String = "sufficient";
-		public  const DB_NECESSARY:String = "necessary";
+		public const DB_IF_THEN:String = "ifthen";
+		public const DB_IMPLIES:String = "implies";
+		public const DB_WHENEVER:String = "whenever";
+		public const DB_ONLY_IF:String = "onlyif";
+		public const DB_PROVIDED_THAT:String = "providedthat";
+		public const DB_SUFFICIENT:String = "sufficient";
+		public const DB_NECESSARY:String = "necessary";

-		public  const MPIfThen:String = "MPifthen";
-		public  const MPimplies:String = "MPimplies";
-		public  const MPwhenever:String = "MPwhenever";
-		public  const MPonlyif:String = "MPonlyif";
-		public  const MPprovidedthat:String = "MPprovidedthat";
-		public  const MPsufficient:String = "MPsufficient";
-		public  const MPnecessary:String = "MPnecessary";
-		public  const dbMP:String = "MP";
-		public  const MTifthen:String = "MTifthen";
-		public  const MTimplies:String = "MTimplies";
-		public  const MTwhenever:String = "MTwhenever";
-		public  const MTonlyif:String = "MTonlyif";
-		public  const MTonlyiffor:String = "MTonlyiffor";
-		public  const MTprovidedthat:String = "MTprovidedthat";
-		public  const MTsufficient:String = "MTsufficient";
-		public  const MTnecessary:String = "MTnecessary";
-		public  const dbMT:String = "MT";
-		public  const DisjSyl:String = "DisjSyl";
-		public  const dbDisjSyl:String = "DisjSyl";
-		public  const NotAllSyll:String = "NotAllSyl";
-		public  const dbNotAllSyll:String = "NotAllSyl";
-		public  const EQiff:String = "EQiff";
-		public  const EQnecsuf:String = "EQnecsuf";
-		public  const EQ:String = "EQ";
-		public  const CSifthen:String = "CSifthen";
+		public const MPIfThen:String = "MPifthen";
+		public const MPimplies:String = "MPimplies";
+		public const MPwhenever:String = "MPwhenever";
+		public const MPonlyif:String = "MPonlyif";
+		public const MPprovidedthat:String = "MPprovidedthat";
+		public const MPsufficient:String = "MPsufficient";
+		public const MPnecessary:String = "MPnecessary";
+		public const dbMP:String = "MP";
+		public const MTifthen:String = "MTifthen";
+		public const MTimplies:String = "MTimplies";
+		public const MTwhenever:String = "MTwhenever";
+		public const MTonlyif:String = "MTonlyif";
+		public const MTonlyiffor:String = "MTonlyiffor";
+		public const MTprovidedthat:String = "MTprovidedthat";
+		public const MTsufficient:String = "MTsufficient";
+		public const MTnecessary:String = "MTnecessary";
+		public const dbMT:String = "MT";
+		public const DisjSyl:String = "DisjSyl";
+		public const dbDisjSyl:String = "DisjSyl";
+		public const NotAllSyll:String = "NotAllSyl";
+		public const dbNotAllSyll:String = "NotAllSyl";
+		public const EQiff:String = "EQiff";
+		public const EQnecsuf:String = "EQnecsuf";
+		public const EQ:String = "EQ";
+		public const CSifthen:String = "CSifthen";

-		public  const CSimplies:String = "CSimplies";
-		public  const dbCS:String = "CS";
-		public  const CDaltclaim:String = "CDaltclaim";
-		public  const CDpropclaim:String = "CDpropclaim";
-		public  const dbCD:String = "CD";
-		public  const Unset:String = "Unset";
+		public const CSimplies:String = "CSimplies";
+		public const dbCS:String = "CS";
+		public const CDaltclaim:String = "CDaltclaim";
+		public const CDpropclaim:String = "CDpropclaim";
+		public const dbCD:String = "CD";
+		public const Unset:String = "Unset";


Fix STOPPED event not triggered in a timely fashion

The stopped event from the http client was not triggered immediately on
clean up but after the connection was closed. If a call to streamStatus
would be made between clean up and connection closed event it would
throw an exception.

--- src/com/axis/httpclient/HTTPClient.as
+++ src/com/axis/httpclient/HTTPClient.as
@@ -38,6 +38,7 @@
       this.ns.dispose();
       this.nc.close();
       this.currentState = 'stopped';
+      dispatchEvent(new ClientEvent(ClientEvent.STOPPED));
       return true;
     }

@@ -78,7 +79,7 @@
     }

     private function onConnectionStatus(event:NetStatusEvent):void {
-      if ('NetConnection.Connect.Closed' === event.info.code) {
+      if ('NetConnection.Connect.Closed' === event.info.code && this.currentState !== 'stopped') {
         this.currentState = 'stopped';
         dispatchEvent(new ClientEvent(ClientEvent.STOPPED));
         this.ns.dispose();


fixed bugs with non-mercator projections

Change-Id: I68797f03092835e4ba9b08b6ce35376ab3bbb584

--- WeaveData/src/weave/services/wms/CustomWMS.as
+++ WeaveData/src/weave/services/wms/CustomWMS.as
@@ -9,6 +9,7 @@
 	import org.openscales.proj4as.ProjConstants;

 	import weave.api.WeaveAPI;
+	import weave.api.core.ICallbackCollection;
 	import weave.api.getCallbackCollection;
 	import weave.api.primitives.IBounds2D;
 	import weave.api.registerLinkableChild;
@@ -54,7 +55,7 @@
 			return coords && coords.length == 4 && StandardLib.getArrayType(coords) == Number;
 		}

-		public const wmsURL:LinkableString = registerLinkableChild(this,new LinkableString(),getImageAttributes);
+		public const wmsURL:LinkableString = registerLinkableChild(this,new LinkableString("http://tile.openstreetmap.org/{z}/{x}/{y}.png"),getImageAttributes);
 		public const tileProjectionSRS:LinkableString = registerLinkableChild(this,new LinkableString("EPSG:3857"));
 		public const maxZoom:LinkableNumber = registerLinkableChild(this,new LinkableNumber(18));

@@ -73,36 +74,44 @@

 		private function getImageAttributes():void
 		{
-			if(!wmsURL.value)
+			if (!wmsURL.value)
 				return;

-			//http://tiles.domain.com/layer/{z}/{x}/{y}.png
-			getAllowedBounds(_tempDataBounds);
-			_tempScreenBounds.setBounds(0, 0, 256, 256);
-
-			var basicReq:String = getTileUrl(new Coordinate(0,0,0), _tempDataBounds, _tempScreenBounds);
-			var instance:CustomWMS = this;
-			WeaveAPI.URLRequestUtils.getContent(
-				this,
-				new URLRequest(basicReq),
-				function(event:ResultEvent,token:Object=null):void
-				{
-					_imageWidth = (event.result as Bitmap).width;
-					_imageHeight = (event.result as Bitmap).height;
-					imageAttributesSet = true;
-					getCallbackCollection(instance).triggerCallbacks();
-				},
-				function(event:FaultEvent,token:Object=null):void
-				{
-					//setting defaults values of 256 if there is an error in the request
-					_imageWidth = 256;
-					_imageHeight = 256;
-					imageAttributesSet = true;
-					getCallbackCollection(instance).triggerCallbacks();
-				}
+			var callbacks:ICallbackCollection = getCallbackCollection(this);
+			if (tileUrlContainsXYZ())
+			{
+				getAllowedBounds(_tempDataBounds);
+				_tempScreenBounds.setBounds(0, 0, 256, 256);

-			)
-
+				var basicReq:String = getTileUrl(new Coordinate(0,0,0), _tempDataBounds, _tempScreenBounds);
+				WeaveAPI.URLRequestUtils.getContent(
+					this,
+					new URLRequest(basicReq),
+					getImageWidthHeight,
+					setDefaults
+				)
+			}
+			else
+			{
+				setDefaults();
+			}
+
+			function getImageWidthHeight(event:ResultEvent, token:Object = null):void
+			{
+				_imageWidth = (event.result as Bitmap).width;
+				_imageHeight = (event.result as Bitmap).height;
+				imageAttributesSet = true;
+				callbacks.triggerCallbacks();
+			}
+			function setDefaults(event:FaultEvent = null, token:Object = null):void
+			{
+				//setting defaults values of 256 if there is an error in the request
+				_imageWidth = 256;
+				_imageHeight = 256;
+				imageAttributesSet = true;
+				if (event)
+					callbacks.triggerCallbacks();
+			}
 		}

 		override public function requestImages(dataBounds:IBounds2D, screenBounds:IBounds2D, preferLowerQuality:Boolean = false, layerLowerQuality:Boolean = false):Array
@@ -129,12 +138,9 @@
 				}
 			}

-			// now determine the data bounds we need to covert in lat/lon
+			// calculate min and max tile x and y for the dataBounds
 			_tempDataBounds.copyFrom(dataBounds);
 			_tempAllowedBounds.constrainBounds(_tempDataBounds, false);
-			WeaveAPI.ProjectionManager.transformBounds(tileProjectionSRS.value, "EPSG:4326", _tempDataBounds);
-
-			// calculate min and max tile x and y for the zoom level
 			dataBoundsToTileXY(_tempDataBounds, zoomScale);

 			// if the tile range is unreasonable, cut it down to a more reasonable range
@@ -221,6 +227,8 @@
 			inputAndOutput.makeSizePositive();
 			if (tileProjectionSRS.value == 'EPSG:3857')
 			{
+				WeaveAPI.ProjectionManager.transformBounds("EPSG:3857", "EPSG:4326", _tempDataBounds);
+
 				inputAndOutput.xMin = zoomScale * (inputAndOutput.xMin + 180) / 360.0;
 				inputAndOutput.xMax = zoomScale * (inputAndOutput.xMax + 180) / 360.0;

@@ -326,9 +334,14 @@
 				_tempCoord.z = higherQualZoomLevel;
 		}

+		private function tileUrlContainsXYZ():Boolean
+		{
+			return wmsURL.value && wmsURL.value.search(/\{[xyz]\}/) >= 0;
+		}
+
 		private function getTileUrl(coord:Coordinate, data:IBounds2D, screen:IBounds2D):String
 		{
-			if (!wmsURL || !wmsURL.value)
+			if (!wmsURL.value)
 				return null;

 			return StandardLib.replace(wmsURL.value,
@@ -336,7 +349,7 @@
 				'{y}', String(coord.y),
 				'{z}', String(coord.z),
 				'{bbox}', [data.getXMin(), data.getYMin(), data.getXMax(), data.getYMax()].join(','),
-				'{size}', [screen.getXCoverage(), screen.getYCoverage()].join(',')
+				'{size}', [Math.round(screen.getXCoverage()), Math.round(screen.getYCoverage())].join(',')
 			);
 		}


XIFF-38: Made XMPPConnection throw event from getRegistrationFields_result

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

--- src/org/jivesoftware/xiff/core/XMPPConnection.as
+++ src/org/jivesoftware/xiff/core/XMPPConnection.as
@@ -477,6 +477,8 @@
 				var event:RegistrationFieldsEvent = new RegistrationFieldsEvent();
 				event.fields = fields;
 				event.data = ext;
+
+				dispatchEvent(event);
 			}
 			catch (e:Error)
 			 {


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

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


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

--- frameworks/projects/framework/src/mx/events/EffectEvent.as
+++ frameworks/projects/framework/src/mx/events/EffectEvent.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2008 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.events
 {


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

--- frameworks/projects/framework/src/mx/utils/GraphicsUtil.as
+++ frameworks/projects/framework/src/mx/utils/GraphicsUtil.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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
+//
+//      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@1274416 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/mxml/WebService.as
@@ -128,12 +128,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


Transferred from the Adobe Open Source Subversion Repository

Revision: 7054
Author:   gosmith@adobe.com
Date:     2009-05-19T04:55:28.921976Z

Log Message:
-----------
TextGraphicElement now exposes non-inheriting backgroundColor and backgroundAlpha styles for drawing a background within the entire bounding rectangle of the component. We're adding this because TLF supports backgroundColor and backgroundAlpha on pieces of text.

QE Notes: None
Doc Notes: None
Bugs: Part of SDK-19818
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -188,14 +188,6 @@
      *  Used in getEmbeddedFontContext().
      */
     private static var staticTextFormat:TextFormat;
-
-    /**
-     *  @private
-     *  Used for debugging.
-     *  Set this to an RGB uint to draw an opaque background
-     *  so that you can see the bounds of the component.
-     */
-    mx_internal static var backgroundColor:Object = null;

     //--------------------------------------------------------------------------
     //
@@ -475,32 +467,6 @@
         }
     }

-   //--------------------------------------------------------------------------
-    //
-    //  Overridden methods: UIComponent
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    override protected function updateDisplayList(unscaledWidth:Number,
-    											  unscaledHeight:Number):void
-    {
-    	super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-    	// Draw an optional background for debugging.
-    	var bc:Object = backgroundColor;
-    	if (bc != null)
-    	{
-	    	var g:Graphics = Sprite(drawnDisplayObject).graphics;
-	        g.lineStyle();
-	        g.beginFill(uint(bc));
-	       	g.drawRect(drawX, drawY, unscaledWidth, unscaledHeight);
-	        g.endFill();
-	    }
-    }
-
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: GraphicElement


Transferred from the Adobe Open Source Subversion Repository

Revision: 18806
Author:   rfrishbe@adobe.com
Date:     2010-11-23T19:19:42.998594Z

Log Message:
-----------
Fixing a scroller edge-case: If scroller's not on stage at time of mouseup (because someone clicked the back button), we don't RTE anymore, and we end the scroll immediately.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -2210,6 +2210,17 @@
         // allow 0% faster if they used everything
         const RATIO_TO_USE:Number = 1.0;

+		// if off screen for some reason, let's end scrolling:
+		if (!scroller.stage)
+		{
+			// don't do anything
+			scrollEndEvent = new TouchInteractionEvent(TouchInteractionEvent.TOUCH_INTERACTION_END, true);
+			scrollEndEvent.relatedObject = scroller;
+			scrollEndEvent.reason = TouchInteractionReason.SCROLL;
+			dispatchBubblingEventOnMouseDownedDisplayObject(scrollEndEvent);
+			return;
+		}
+
         // for the max size, we couldn't decide between using screen width/height or
         // scroller width/height, so we're using a weighted average for it
         var widthToUseForRatio:Number = (2*scroller.width + scroller.stage.stageWidth)/3;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3481
Author:   hmuller@adobe.com
Date:     2008-10-03T21:56:11.325817Z

Log Message:
-----------
Bug fixes

Added a special case to VerticalLayout::verticalScrollPositionDelta
and HorizontalLayout::horizontalScrollPositionDelta to handle a single
item that fills the entire viewport.  Made a similar change to
Vertical,HorizontalLayout::inView().  This also fixes bug 17148.

Revised Vertical,HorizontalLayout::updateScrollPosition() to handle
cases where there's no item overlapping one or both ends of
the scrollRect.

QE: No
Doc: No
Checkintests: Pass
Reviewer: Evtim
Bugs:
  SDK-17143 - Scroller Keyboard navigation is incorrect if viewport is DataGroup
  SDK-17148 - inView() is returning a number greater than 1 for a Group item that is partially in the viewport
  SDK-17147 - VerticalLayout's inView() method always returns zero when Setting verticalScrollPosition to show only the last item in a Group
  SDK-17140 - inView() method always returns 0 after moving the Group's viewport with verticalScrollPosition

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/Scroller.as
+++ frameworks/projects/spark/src/spark/components/Scroller.as
@@ -370,7 +370,6 @@
         if (instance == verticalScrollBar)
         {
         	verticalScrollBar.addEventListener("valueCommit", vsb_valueCommitHandler);
-        	//verticalScrollBar.minHeight = 0;
         }

         if (instance == horizontalScrollBar)
@@ -419,8 +418,8 @@
                 case Keyboard.PAGE_DOWN:
                 case Keyboard.HOME:
                 case Keyboard.END:
-                    vspDelta = vp.verticalScrollPositionDelta(event.keyCode);
-                    break;
+                     vspDelta = vp.verticalScrollPositionDelta(event.keyCode);
+                     break;
             }
             if (!isNaN(vspDelta))
             {
@@ -436,6 +435,8 @@
             {
                 case Keyboard.LEFT:
                 case Keyboard.RIGHT:
+                case Keyboard.HOME:
+                case Keyboard.END:
                     hspDelta = vp.horizontalScrollPositionDelta(event.keyCode);
                     break;
             }


Limit variable scope.

Limit variable scope.

--- swfcat.as
+++ swfcat.as
@@ -151,15 +151,16 @@
         */
         private function should_disable():Boolean
         {
-            const UA_LIST:Array = [
-                /\bmobile\b/i,
-                /\bandroid\b/i,
-                /\bopera mobi\b/i,
-            ];
             var ua:String;

             ua = ExternalInterface.call("window.navigator.userAgent.toString");
             if (ua != null) {
+                const UA_LIST:Array = [
+                    /\bmobile\b/i,
+                    /\bandroid\b/i,
+                    /\bopera mobi\b/i,
+                ];
+
                 for (var i:uint = 0; i < UA_LIST.length; i++) {
                     var re:RegExp = UA_LIST[i];