Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkToggleButtonAutomationImpl.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.automation.delegates.components
+{
+	import flash.display.DisplayObject;
+
+	import mx.automation.Automation;
+	import mx.core.mx_internal;
+
+	import spark.automation.delegates.components.supportClasses.SparkToggleButtonBaseAutomationImpl;
+	import spark.components.ToggleButton;
+
+	use namespace mx_internal;
+
+	[Mixin]
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  ToggleButton control.
+	 *
+	 *  @see spark.components.ToggleButton
+	 *
+	 */
+	public class SparkToggleButtonAutomationImpl extends SparkToggleButtonBaseAutomationImpl
+	{
+
+		include "../../../core/Version.as";
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(spark.components.ToggleButton, SparkToggleButtonAutomationImpl);
+		}
+
+		/**
+		 *  Constructor.
+		 * @param obj ToggleButton object to be automated.
+		 */
+		public function SparkToggleButtonAutomationImpl(obj:spark.components.ToggleButton)
+		{
+			super(obj);
+
+		}
+
+
+	}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8031
Author:   egeorgie@adobe.com
Date:     2009-06-20T01:10:03.288554Z

Log Message:
-----------
Scrub the TODOs in the framework, convert to FIXMEs in the new convention and assigning an owner.

Doc Notes: N/A
Bugs: N/A
Reviewer: Deepa
tests: build, checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/flex4test/src/layouts/WheelLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Group.as</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/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Timeline.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/VolumeBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/ErrorSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SequenceInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectTargetFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/spark/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/CompositeEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutElementHelper.as</path>
<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/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/mediaClasses/StreamingVideoSource.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/PropertyChanges.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/pathSegments/LineSegment.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/flex4/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -206,7 +206,7 @@
      */
     private function addOpenTriggers():void
     {
-        // TODO (jszeto) Change this to be mouseDown. Figure out how to not
+        // FIXME (jszeto): Change this to be mouseDown. Figure out how to not
         // trigger systemManager_mouseDown.
         if (openButton)
         {
@@ -225,7 +225,7 @@
      */
     private function removeOpenTriggers():void
     {
-        // TODO (jszeto) Change this to be mouseDown. Figure out how to not
+        // FIXME (jszeto): Change this to be mouseDown. Figure out how to not
         // trigger systemManager_mouseDown.
         if (openButton)
         {
@@ -244,7 +244,7 @@
      */
     private function addCloseTriggers():void
     {
-        // TODO (jszeto) Change these to be marshall plan compliant
+        // FIXME (jszeto): Change these to be marshall plan compliant
         if (openButton)
         {
             if (isNaN(rollOverOpenDelay))
@@ -270,7 +270,7 @@
      */
     private function removeCloseTriggers():void
     {
-        // TODO (jszeto) Change these to be marshall plan compliant
+        // FIXME (jszeto): Change these to be marshall plan compliant
         if (openButton)
         {
             if (isNaN(rollOverOpenDelay))
@@ -452,7 +452,7 @@
         var target:DisplayObject = event.target as DisplayObject;

         // if the mouse is down, wait until it's released
-        // TODO (rfrishbe): Need to do something when they mouse up in
+        // FIXME (rfrishbe): Need to do something when they mouse up in
         // this case if they mouseup outside of the openButton/dropdown.
         if ((event is MouseEvent && MouseEvent(event).buttonDown) ||
             (event is SandboxMouseEvent && SandboxMouseEvent(event).buttonDown))


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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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: 4144
Author:   gosmith@adobe.com
Date:     2008-11-19T23:31:16.564278Z

Log Message:
-----------
FxComponent, GroupBase, and TextView now override the 'baselinePosition' getter to avoid calling the code in UIComponent that is suitable only for Halo components based on TextField. (It RTEs if it encounters certain Gumbo styles such as a textAlign of "start" rather than "left".)

For now, the baselinePosition of Gumbo components is simply reported as 0, so they won't lay out nicely in FormItems. We will need to properly implement baselinePosition across all Gumbo components, using FTE/TLF.

QE Notes: None
Doc Notes: None
Bugs: SDK-18060
Reviewer: Glenn

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

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


Added back asynchronous support in Theories

--- FlexUnit4/src/org/flexunit/experimental/runners/statements/TheoryBlockRunner.as
+++ FlexUnit4/src/org/flexunit/experimental/runners/statements/TheoryBlockRunner.as
@@ -28,8 +28,10 @@
 package org.flexunit.experimental.runners.statements {
 	import flex.lang.reflect.Klass;

+	import org.flexunit.constants.AnnotationConstants;
 	import org.flexunit.experimental.theories.internals.Assignments;
 	import org.flexunit.internals.namespaces.classInternal;
+	import org.flexunit.internals.runners.statements.ExpectAsync;
 	import org.flexunit.internals.runners.statements.IAsyncStatement;
 	import org.flexunit.runners.BlockFlexUnit4ClassRunner;
 	import org.flexunit.runners.model.FrameworkMethod;
@@ -117,7 +119,8 @@
 		 * @inheritDoc
 		 */
 		override protected function withPotentialAsync( method:FrameworkMethod, test:Object, statement:IAsyncStatement ):IAsyncStatement {
-			return statement;
+			var async:Boolean = ExpectAsync.hasAsync( method, AnnotationConstants.THEORY );
+			return async ? new ExpectAsync( test, statement ) : statement;
 		}
 	}
 }


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

--- frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  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.
+//  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: 7862
Author:   jszeto@adobe.com
Date:     2009-06-15T22:06:23.250745Z

Log Message:
-----------
GraphicElement PARB Changes

mx.core.AdvancedLayoutFeatures
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets

mx.core.IVisualElement
•	Rename layer -> depth

mx.core.UIComponent
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

mx.graphics.GradientBase
•	Remove scaleX

mx.graphics.GradientStroke
•	Add apply(g:Graphics, bounds:Rectangle)

mx.graphics.IStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.LinearGradient
•	Add scaleX

mx.graphics.LinearGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.RadialGradient
•	Add scaleX

mx.graphics.RadialGradientStroke
•	Add scaleX
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.graphics.SolidColorStroke
•	Remove draw
•	Change apply(g:Graphics) -> apply(g:Graphics, bounds:Rectangle)

mx.flash.UIMovieClip
•	Rename offsets -> postLayoutTransformOffsets
•	Rename layer -> depth

spark.components.PopUpAnchor
•	Change popUp type from UIComponent -> IFlexDisplayObject
•	Rename positionPopUp -> calculatePopUpPosition
•	Rename autoSizePopUpWidth -> popUpWidthMatchesAnchorWidth
•	Rename autoSizePopUpHeight -> popUpHeightMatchesAnchorHeight

spark.core.RelativePosition
•	Rename and move spark.core.RelativePosition -> spark.components.PopUpPosition
•	Rename EXACT -> TOP_LEFT (topLeft)

spark.core.SpriteVisualElement
•	Rename layer -> depth
•	Remove computeMatrix

spark.primitives.BitmapImage
•	Change _NORMAL_UINT from protected -> private
•	Change _REPEAT_UINT from protected -> private
•	Change _SCALE_UINT from protected -> private
•	Change resizeModeToUINT from protected -> private
•	Rename drawElement -> draw

spark.primitives.Line
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw

spark.primitives.Path
•	Change graphicsPath fro protected -> mx_internal
•	Rename skipMeasure -> canSkipMeasurement
•	Rename drawElement -> draw
•	Rename renderGraphicsAtScale -> generateGraphicsPath
•	Change generateGraphicsPath from protected -> mx_internal
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing

spark.primitives.Rect
•	Rename drawElement -> draw

spark.primitives.supportClasses.GraphicElement
•	Rename layer -> depth
•	Rename offsets -> postLayoutTransformOffsets
•	Rename getBitmapData -> captureBitmapData
•	Rename notifyElementLayerChanged -> invalidateDisplayObjectSharing
•	Rename skipMeasure -> canSkipMeasurement
•	Add protected hasComplexLayoutMatrix:Boolean getter
•	Remove target
•	Remove computeMatrix
•	Change DEFAULT_MAX_WIDTH from public -> private
•	Change DEFAULT_MAX_HEIGHT from public -> private
•	Change DEFAULT_MIN_WIDTH from public -> private
•	Change DEFAULT_MIN_HEIGHT from public -> private
•	Change allocateLayoutFeatures from protected -> mx_internal
•	Change invalidateTransform from protected -> private
•	Change captureBitmapData from public -> mx_internal
•	Change applyMaskType from protected -> mx_internal
•	Change dispatchPropertyChangeEvent from protected -> private
•	Change applyComputedTransform from protected -> mx_internal
•	Change filterChangedHandler from protected -> private

spark.supportClasses.StrokedElement
•	Rename drawElement -> draw
•	Remove getStroke()
•	Add getStrokeExtents() override

QE Notes: None
Doc Notes: None
Bugs: N/A
Reviewer: Glenn

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/StrokedElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/GraphicElement.as</path>
<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/components/Group.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/flex4/src/spark/primitives/Line.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Ellipse.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/core/SpriteVisualElement.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/flex4/src/spark/primitives/supportClasses/FilledElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.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/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RadialGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/IStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/LinearGradient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/StrokedElement.as
@@ -25,6 +25,8 @@
 import mx.filters.BaseFilter;
 import mx.filters.IBitmapFilter;
 import mx.graphics.IStroke;
+import flash.geom.Point;
+import flash.display.LineScaleMode;

 use namespace mx_internal;

@@ -144,7 +146,7 @@
         var g:Graphics = (drawnDisplayObject as Sprite).graphics;

         beginDraw(g);
-        drawElement(g);
+        draw(g);
         endDraw(g);
     }

@@ -167,7 +169,7 @@
     protected function beginDraw(g:Graphics):void
     {
         if (stroke)
-            stroke.draw(g,new Rectangle(drawX + measuredX,
+            stroke.apply(g,new Rectangle(drawX + measuredX,
             						    drawY + measuredY,
             						    Math.max(width, stroke.weight),
             						    Math.max(height, stroke.weight)));
@@ -191,7 +193,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    protected function drawElement(g:Graphics):void
+    protected function draw(g:Graphics):void
     {
         // override to do your drawing
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21447
Author:   egeorgie@adobe.com
Date:     2011-06-24T03:25:47.685127Z

Log Message:
-----------
Adding SplashScreenImage, SplashScreenImageSource.

Developers can now specify the name of a SplashScreenImage class as the value for the Application's splashScreenImage property. Cool stuff!

QE notes: feature ready for testing
Doc notes: ready for documentation
Bugs:
Reviewer: Chiedo
Tests run: full cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreen.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImage.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as
+++ frameworks/projects/mobilecomponents/src/spark/preloaders/SplashScreenImageSource.as
@@ -0,0 +1,179 @@
+package spark.preloaders
+{
+import mx.core.INavigatorContent;
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+
+/**
+ *  SplashScreenImageSource specifies a Class (typically an embedded image)
+ *  to be displayed as splash screen at a particular device configuration such as
+ *  DPI, orientation and resolution.
+ *
+ *  Developers typically use one or more SplashScreenImageSource
+ *  objects to define a SplashScreenImage class in MXML
+ *  and set the Application's splashScreenImage property to that class.
+ *
+ *  @see spark.preloaders.SplashScreenImage
+ *  @see spark.components.Application#splashScreenImage
+ */
+public class SplashScreenImageSource
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     */
+    public function SplashScreenImageSource()
+    {
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  aspectRatio
+    //----------------------------------
+
+    [Inspectable(category="General", enumeration="portrait,landscape")]
+
+    /**
+     *  The required aspectRatio of the device.
+     *  Can be either StageAspectRatio.PORTRAIT or StageAspectRatio.LANDSCAPE.
+     *
+     *
If not set SplashScreenImage ignores this.

+     */
+    public var aspectRatio:String = null;
+
+    //----------------------------------
+    //  dpi
+    //----------------------------------
+
+    [Inspectable(category="General", enumeration="160,240,320")]
+
+    /**
+     *  The required dpi of the device.
+     *
+     *
A value of NaN is ignored by SplashScreenImage.

+     *
+     *  @default NaN
+     */
+    public var dpi:Number = NaN;
+
+    //----------------------------------
+    //  minResolution
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The required minimum size of the device resolution needed to display the image.
+     *  The device resolution is the maximum of the stage width and height, in pixels.
+     *
+     *  This property can be used to display different images based on the pixel
+     *  resolution of a device.
+     *
+     *
A value of NaN is ignored by the SplashScreenImage.

+     *
+     *  @default NaN
+     */
+    public var minResolution:Number = NaN;
+
+    //----------------------------------
+    //  source
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The image class for the splash screen to use for the defined
+     *  device configuration.  Typically you set this property to an
+     *  embedded resource.
+     *
+     *  For example:
+     *
+     *
source="@Embed('Default.png')"

+     *
+     *  @see spark.preloaders.SplashScreenImage
+     *
+     *  @default null
+     */
+    public var source:Class;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *
+     *  Returns true when this SplashScreenImageSource is applicable to the
+     *  specified device config.
+     */
+    mx_internal function matches(aspectRatio:String, dpi:Number, resolution:Number):Boolean
+    {
+        return (!this.aspectRatio || this.aspectRatio == aspectRatio) &&
+               (isNaN(this.dpi) || this.dpi == dpi) &&
+               (isNaN(this.minResolution) || this.minResolution <= resolution);
+    }
+
+    /**
+     *  @private
+     *
+     *  Helper function to use when sorting SplashScreenImageSource objects.
+     *
+     *  More specific (with more explicit settings) objects will end up in the beginning of
+     *  the sorted array.
+     */
+    mx_internal function betterThan(source:SplashScreenImageSource):Boolean
+    {
+        if (this.specificity() != source.specificity())
+        {
+            return this.specificity() > source.specificity();
+        }
+        else
+        {
+           return getMinResolution() > source.getMinResolution();
+        }
+    }
+
+    /**
+     *  @private
+     *  Helper function used when comparing two SplashScreenImageSource objects
+     */
+    private function getMinResolution():Number
+    {
+        return isNaN(minResolution) ? 0 : minResolution;
+    }
+
+    /**
+     *  @private
+     *  Returns how many explicit settings there are for this SplashScreenImageSource
+     */
+    private function specificity():int
+    {
+        var result:int = 0;
+
+        if (aspectRatio)
+            result++;
+
+        if (!isNaN(dpi))
+            result++;
+
+        if (!isNaN(minResolution))
+            result++;
+
+        return result;
+    }
+}
+}


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
+++ frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
@@ -0,0 +1,304 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.styles
+{
+
+import flash.display.DisplayObject;
+import mx.core.UIComponent;
+import mx.core.IUITextField;
+import mx.core.mx_internal;
+import mx.styles.IStyleClient;
+import mx.styles.StyleProxy;
+
+use namespace mx_internal;
+
+[ExcludeClass]
+
+/**
+ *  @private
+ *  This is an all-static class with methods for building the protochains
+ *  that Flex uses to look up CSS style properties.
+ */
+public class StyleProtoChain
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  If the styleName property points to a UIComponent, then we search
+	 *  for stylable properties in the following order:
+	 *
+	 *  1) Look for inline styles on this object
+	 *  2) Look for inline styles on the styleName object
+	 *  3) Look for class selectors on the styleName object
+	 *  4) Look for type selectors on the styleName object
+	 *  5) Look for type selectors on this object
+	 *  6) Follow the usual search path for the styleName object
+	 *
+	 *  If this object doesn't have any type selectors, then the
+	 *  search path can be simplified to two steps:
+	 *
+	 *  1) Look for inline styles on this object
+	 *  2) Follow the usual search path for the styleName object
+	 */
+	public static function initProtoChainForUIComponentStyleName(
+									obj:IStyleClient):void
+	{
+		var styleName:IStyleClient = IStyleClient(obj.styleName);
+		var target:DisplayObject = obj as DisplayObject;
+
+		// Push items onto the proto chain in reverse order, beginning with
+		// 6) Follow the usual search path for the styleName object
+		var nonInheritChain:Object = styleName.nonInheritingStyles;
+		if (!nonInheritChain || nonInheritChain == UIComponent.STYLE_UNINITIALIZED)
+        {
+			nonInheritChain = StyleManager.stylesRoot;
+
+            if (nonInheritChain.effects)
+                obj.registerEffects(nonInheritChain.effects);
+        }
+
+		var inheritChain:Object = styleName.inheritingStyles;
+		if (!inheritChain || inheritChain == UIComponent.STYLE_UNINITIALIZED)
+			inheritChain = StyleManager.stylesRoot;
+
+		// If there's no type selector on this object, then we can collapse
+		// 6 steps to 2 (see above)
+		var typeSelectors:Array = obj.getClassStyleDeclarations();
+		var n:int = typeSelectors.length;
+
+		// If we are a StyleProxy and we aren't building the protochain from
+		// our type selectors, then we need to build the protochain from
+		// the styleName since styleName.nonInheritingStyles is always null.
+		if (styleName is StyleProxy)
+		{
+			if (n == 0)
+			{
+				// 4) Look for type selectors on the styleName object
+				// 3) Look for class selectors on the styleName object
+				// 2) Look for inline styles on the styleName object
+				nonInheritChain = addProperties(nonInheritChain, styleName, false);
+			}
+			target = StyleProxy(styleName).source as DisplayObject;
+		}
+
+		for (var i:int = 0; i < n; i++)
+		{
+			var typeSelector:CSSStyleDeclaration = typeSelectors[i];
+
+			// If there's no *inheriting* type selector on this object, then we
+			// can still collapse 6 steps to 2 for the inheriting properties.
+
+			// 5) Look for type selectors on this object
+			inheritChain = typeSelector.addStyleToProtoChain(inheritChain, target);
+
+			// 4) Look for type selectors on the styleName object
+			// 3) Look for class selectors on the styleName object
+			// 2) Look for inline styles on the styleName object
+			inheritChain = addProperties(inheritChain, styleName, true);
+
+			// 5) Look for type selectors on this object
+			nonInheritChain = typeSelector.addStyleToProtoChain(nonInheritChain, target);
+
+			// 4) Look for type selectors on the styleName object
+			// 3) Look for class selectors on the styleName object
+			// 2) Look for inline styles on the styleName object
+			nonInheritChain = addProperties(nonInheritChain, styleName, false);
+
+			if (typeSelector.effects)
+				obj.registerEffects(typeSelector.effects);
+		}
+
+		// 1) Look for inline styles on this object
+
+		obj.inheritingStyles =
+			obj.styleDeclaration ?
+        	obj.styleDeclaration.addStyleToProtoChain(inheritChain, target) :
+			inheritChain;
+
+		obj.nonInheritingStyles =
+			obj.styleDeclaration ?
+			obj.styleDeclaration.addStyleToProtoChain(nonInheritChain, target) :
+			nonInheritChain;
+	}
+
+	/**
+	 *  See the comment for the initProtoChainForUIComponentStyleName
+	 *  function. The comment for that function includes a six-step
+	 *  sequence. This sub-function implements the following pieces
+	 *  of that sequence:
+	 *
+	 *  2) Look for inline styles on the styleName object
+	 *  3) Look for class selectors on the styleName object
+	 *  4) Look for type selectors on the styleName object
+	 *
+	 *   This piece is broken out as a separate function so that it
+	 *  can be called recursively when the styleName object has a
+	 *  styleName property is itself another UIComponent.
+	 */
+	private	static function addProperties(chain:Object, obj:IStyleClient,
+										  bInheriting:Boolean):Object
+	{
+		// Only use a filter map if styleName is a StyleProxy and we are building the nonInheritingStyles chain
+		var filterMap:Object = obj is StyleProxy && !bInheriting ? StyleProxy(obj).filterMap : null;
+
+		// StyleProxy's usually have sources that are DisplayObject's, but a StyleProxy can also have
+		// another StyleProxy as it's source (Example: CalendarLayout's source is a StyleProxy for DateChooser,
+		// whose style is a StyleProxy for DateField)
+
+		// The way we use target is a bit hacky, but we always assume that styles (if pointed to DisplayObjects)
+		// are the parent (or atleast an ancestor), and we rely on this down the line (such as in
+		// DataGridColumn.addStyleToProtoChain)
+		var curObj:IStyleClient = obj;
+		while (curObj is StyleProxy)
+		{
+			curObj = StyleProxy(curObj).source;
+		}
+		var target:DisplayObject = curObj as DisplayObject;
+
+		// 4) Add type selectors
+		var typeSelectors:Array = obj.getClassStyleDeclarations();
+		var n:int = typeSelectors.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			var typeSelector:CSSStyleDeclaration = typeSelectors[i];
+            chain = typeSelector.addStyleToProtoChain(chain, target, filterMap);
+
+            if (typeSelector.effects)
+                obj.registerEffects(typeSelector.effects);
+		}
+
+		// 3) Add class selectors
+		var styleName:Object = obj.styleName;
+		if (styleName)
+		{
+			var classSelector:CSSStyleDeclaration;
+
+			if (typeof(styleName) == "object")
+			{
+				if (styleName is CSSStyleDeclaration)
+				{
+					// Get the style sheet referenced by the styleName property.
+					classSelector = CSSStyleDeclaration(styleName);
+				}
+				else
+				{
+					// If the styleName property is another UIComponent, then
+					// recursively add type selectors, class selectors, and
+					// inline styles for that UIComponent
+					chain = addProperties(chain, IStyleClient(styleName),
+										  bInheriting);
+				}
+			}
+			else
+			{
+				// Get the style sheet referenced by the styleName property.
+				classSelector =
+					StyleManager.getStyleDeclaration("." + styleName);
+			}
+
+			if (classSelector)
+			{
+                chain = classSelector.addStyleToProtoChain(chain, target, filterMap);
+
+				if (classSelector.effects)
+					obj.registerEffects(classSelector.effects);
+			}
+		}
+
+		// 2) Add inline styles
+        if (obj.styleDeclaration)
+            chain = obj.styleDeclaration.addStyleToProtoChain(chain, target, filterMap);
+
+		return chain;
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function initTextField(obj:IUITextField):void
+	{
+		// TextFields never have any inline styles or type selector, so
+		// this is an optimized version of the initObject function (above)
+		var styleName:Object = obj.styleName;
+		var classSelector:CSSStyleDeclaration;
+
+		if (styleName)
+		{
+			if (typeof(styleName) == "object")
+			{
+				if (styleName is CSSStyleDeclaration)
+				{
+					// Get the style sheet referenced by the styleName property.
+					classSelector = CSSStyleDeclaration(styleName);
+				}
+				else if (styleName is StyleProxy)
+				{
+					obj.inheritingStyles =
+						IStyleClient(styleName).inheritingStyles;
+
+					obj.nonInheritingStyles = addProperties(StyleManager.stylesRoot, IStyleClient(styleName), false);
+
+					return;
+				}
+				else
+				{
+					// styleName points to a UIComponent, so just set
+					// this TextField's proto chains to be the same
+					// as that UIComponent's proto chains.
+
+					obj.inheritingStyles =
+						IStyleClient(styleName).inheritingStyles;
+					obj.nonInheritingStyles =
+						IStyleClient(styleName).nonInheritingStyles;
+					return;
+				}
+			}
+			else
+			{
+				// Get the style sheet referenced by the styleName property
+				classSelector =
+					StyleManager.getStyleDeclaration("." + styleName);
+			}
+		}
+
+		// To build the proto chain, we start at the end and work forward.
+		// We'll start by getting the tail of the proto chain, which is:
+		//  - for non-inheriting styles, the global style sheet
+		//  - for inheriting styles, my parent's style object
+		var inheritChain:Object = IStyleClient(obj.parent).inheritingStyles;
+		var nonInheritChain:Object = StyleManager.stylesRoot;
+		if (!inheritChain)
+			inheritChain = StyleManager.stylesRoot;
+
+		// Next is the class selector
+		if (classSelector)
+		{
+            inheritChain =
+				classSelector.addStyleToProtoChain(inheritChain, DisplayObject(obj));
+
+            nonInheritChain =
+				classSelector.addStyleToProtoChain(nonInheritChain, DisplayObject(obj));
+		}
+
+        obj.inheritingStyles = inheritChain;
+        obj.nonInheritingStyles = nonInheritChain;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 2506
Author:   jimurphy@adobe.com
Date:     2008-07-16T13:25:03.893431Z

Log Message:
-----------
Merged 3.0.x revisions [2417,2458,2504] -> trunk
-I also manually updated modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java to implement flex2.linker.LinkerConfiguration due to a name change in trunk
-removed player 9 stuff

Modified Paths:
--------------
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.project" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.project</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/DependencyChecker.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/IResourceManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.actionScriptProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.actionScriptProperties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/air-config.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/mac/Install Flash Player 10 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/oem/internal/LinkerConfiguration.java</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings/org.eclipse.core.resources.prefs</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.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/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.flexLibProperties" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.flexLibProperties</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/lnx/install_flash_player_9_linux.tar.gz</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibrariesNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DependencyNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 Plugin.exe</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/mac/Install Flash Player 9 UB.dmg</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/MarshalMouseEvent.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/resources/LocaleSorter.as" copyfrom-rev="2504" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/LocaleSorter.as</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/win/Install Flash Player 9 ActiveX.exe</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework" copyfrom-rev="2504" action="A">/flex/sdk/trunk/development/eclipse/flex/airframework</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollThumb.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 Plugin.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DefNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/in/player/win/Install Flash Player 10 ActiveX.exe</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/LibraryNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/ScriptNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/asc/src/java/macromedia/asc/util/ContextStatics.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/nodes/DepNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/ChannelSet.as</path>
<path kind="dir" copyfrom-path="/flex/sdk/branches/3.0.x/development/eclipse/flex/airframework/.settings" copyfrom-rev="2504" action="R">/flex/sdk/trunk/development/eclipse/flex/airframework/.settings</path>
<path kind="file" action="D">/flex/sdk/trunk/in/player/10/lnx/Flash Player.app.zip</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/libs/player/9</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -8893,8 +8893,8 @@
         pt = DisplayObject(event.target).localToGlobal(pt);
         mouseDownPoint = globalToLocal(pt);

-        systemManager.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true, 0, true);
-        systemManager.addEventListener(MarshalMouseEvent.MOUSE_UP, mouseLeaveHandler, false, 0, true);
+        ISystemManager2(systemManager).getSandboxRoot().addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true, 0, true);
+        ISystemManager2(systemManager).getSandboxRoot().addEventListener(MarshalMouseEvent.MOUSE_UP, mouseLeaveHandler, false, 0, true);

         if (!dragEnabled)
         {
@@ -8916,8 +8916,8 @@

     private function mouseIsUp():void
     {
-        systemManager.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
-        systemManager.removeEventListener(MarshalMouseEvent.MOUSE_UP, mouseLeaveHandler);
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler, true);
+        ISystemManager2(systemManager).getSandboxRoot().removeEventListener(MarshalMouseEvent.MOUSE_UP, mouseLeaveHandler);

         if (!dragEnabled && dragScrollingInterval != 0)
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 13130
Author:   aharui@adobe.com
Date:     2009-12-21T22:11:16.929419Z

Log Message:
-----------
Needed to add masking code to ListBase as well.

QE Notes: I saw 5 bitmap failures in gumbo/components/MXItemRenderer.  The baselines show a few pixels of text that were not properly clipped.  There could be other bitmaps like that wherever DG or List were used.

Doc Notes: None
Bugs: SDK-24794
Reviewer: Corey
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/components/DataGrid mustella/gumbo/components/MXItemRenderer

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -6349,10 +6349,10 @@
         {
             var item:DisplayObject = lastRowItems[i];
             var yOffset:Number = item.y - rowY;
-            if (item is IUITextField)
-                item.height = rowHeight - yOffset;
+            if (item is IUITextField && !IUITextField(item).embedFonts)
+                item.height = Math.max(rowHeight - yOffset, 0);
             else
-                item.mask = createItemMask(0, rowY + yOffset, rowWidth, rowHeight - yOffset);
+                item.mask = createItemMask(0, rowY + yOffset, rowWidth, Math.max(rowHeight - yOffset, 0));
         }
     }

@@ -6432,7 +6432,7 @@
         for (var i:int = 0; i < numColumns; i++)
         {
             var item:DisplayObject = lastRowItems[i];
-            if (item is IUITextField)
+            if (item is IUITextField && !IUITextField(item).embedFonts)
             {
                 if (item.height != rowHeight - (item.y - lastRowInfo.y))
                     item.height = rowHeight - (item.y - lastRowInfo.y);


Transferred from the Adobe Open Source Subversion Repository

Revision: 10925
Author:   dsubrama@adobe.com
Date:     2009-10-08T01:52:06.333135Z

Log Message:
-----------
Redo the implementation of dragging & selection being handled upon mouseDown in List. Evtim will fix up the behavior such that in a multi-select action, mousing down in a selected item will drag the selected set while mousing down in a non-selected item will select that item anew.

QA: Yes, but don't include in those 3 tests till Evtim checks in, hopefully tomorrow
Doc: No
Checkintests: Pass
Other tests: List tests pass, List D&D tests pass with 3 exclusions.
Noteworthy for Integration: No

Modified Paths:
--------------
<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/spark/src/spark/components/List.as</path>

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

--- frameworks/projects/spark/src/spark/components/DropDownList.as
+++ frameworks/projects/spark/src/spark/components/DropDownList.as
@@ -582,9 +582,9 @@
     /**
      *  @private
      */
-    override protected function item_clickHandler(event:MouseEvent):void
-    {
-        super.item_clickHandler(event);
+    override protected function item_mouseDownHandler(event:MouseEvent):void
+    {
+        super.item_mouseDownHandler(event);
         userProposedSelectedIndex = selectedIndex;
         closeDropDown(true);
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4743
Author:   aharui@adobe.com
Date:     2009-01-29T22:28:50.531343Z

Log Message:
-----------
Bunches of FxButtonBar bugs

Most notable change: Re-factored ButtonBar's topology to look less like a container of Buttons and more like a control with child buttons.  The child buttons no longer actually get focus although they appear to.

QE Notes: None
Doc Notes: None
Bugs: SDK-18305, SDK-18366, SDK-18369, SDK-18374, SDK-18376, SDK-18393, SDK-13592, SDK-18611, SDK-18648
Reviewer: Glenn
tests: checkintests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/ISelectableRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -15,6 +15,8 @@
 import flash.events.Event;
 import flash.events.MouseEvent;

+import mx.core.ISelectableRenderer;
+import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.utils.BitFlagUtil;

@@ -51,7 +53,7 @@
  *
  *  @includeExample examples/FxToggleButtonExample.mxml
  */
-public class FxToggleButton extends FxButton
+public class FxToggleButton extends FxButton implements ISelectableRenderer
 {
     include "../core/Version.as";

@@ -67,6 +69,8 @@
     public function FxToggleButton()
     {
         super();
+
+        flags = BitFlagUtil.update(flags, allowDeselectionFlag, true);
     }

     // -----------------------------------------------------------------------
@@ -83,8 +87,38 @@
     /**
      *  @private
      */
-    protected static const lastFlag:uint = selectedFlag;
-
+    protected static const showFocusIndicatorFlag:uint = FxButton.lastFlag << 2;
+
+    /**
+     *  @private
+     */
+    protected static const allowDeselectionFlag:uint = FxButton.lastFlag << 4;
+
+    /**
+     *  @private
+     */
+    protected static const lastFlag:uint = allowDeselectionFlag;
+
+    /**
+     *  true if the button can be set to
+	 *  selected = false
+     */
+    public function get allowDeselection():Boolean
+    {
+        return BitFlagUtil.isSet(flags, allowDeselectionFlag);
+    }
+
+    /**
+     *  @private
+     */
+    public function set allowDeselection(value:Boolean):void
+    {
+        if (BitFlagUtil.isSet(flags, allowDeselectionFlag) == value)
+            return;
+
+        flags = BitFlagUtil.update(flags, allowDeselectionFlag, value);
+    }
+
     [Bindable]

     /**
@@ -110,6 +144,29 @@
         invalidateButtonState();
     }

+    /**
+     *  true if the button should display
+     *  as if it has focus even if it doesn't.
+     */
+    public function get showFocusIndicator():Boolean
+    {
+        return BitFlagUtil.isSet(flags, showFocusIndicatorFlag);
+    }
+
+    /**
+     *  @private
+     */
+    public function set showFocusIndicator(value:Boolean):void
+    {
+        if (BitFlagUtil.isSet(flags, showFocusIndicatorFlag) == value)
+            return;
+
+        flags = BitFlagUtil.update(flags, showFocusIndicatorFlag, value);
+
+		mx_internal::drawFocusAnyway = true;
+		drawFocus(value);
+    }
+
     //--------------------------------------------------------------------------
     //
     //  States
@@ -134,6 +191,9 @@
     {
         super.onClick(event);

+		if (selected && !allowDeselection)
+			return;
+
         selected = !selected;
         dispatchEvent(new Event(Event.CHANGE));
         event.updateAfterEvent();


Transferred from the Adobe Open Source Subversion Repository

Revision: 8318
Author:   srahim@adobe.com
Date:     2009-06-26T18:15:33.860209Z

Log Message:
-----------
ASDoc updates

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -27,6 +27,15 @@
  *
You can get or set this state programmatically
  *  by using the selected property.

  *
+ *  @mxml
+ *
+ *
The <ToggleButton> tag inherits all of the tag
+ *  attributes of its superclass and adds no tag attributes:

+ *

+ *  <ToggleButton/>
+ *

+ *
+ *  @see spark.skins.spark.ToggleButtonSkin
  *  @includeExample examples/ToggleButtonExample.mxml
  *
  *  @langversion 3.0


Passes on error when callback is null

Passes on error when callback is null

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -54,6 +54,9 @@
 		{
 			if (!type)
 				throw new IllegalOperationError("Type cannot be null when registering a callback");
+
+			if (callback == null)
+				throw new IllegalOperationError("Callback cannot be null when registering a type");

 			if (callback.length !== 0)
 				throw new IllegalOperationError("Callback function registered for {0} must not have arguments".replace("{0}", getQualifiedClassName(type)));


Transferred from the Adobe Open Source Subversion Repository

Revision: 20294
Author:   cframpto@adobe.com
Date:     2011-02-11T18:03:36.811198Z

Log Message:
-----------
Fix summary sentences in ASdoc which was just reformatted.

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

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as

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

--- frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
@@ -10,7 +10,7 @@
 ////////////////////////////////////////////////////////////////////////////////

 /**
- *  Number of text columns (adopts default value if undefined during cascade).
+ *  Number of text columns.
  *
  *
For the Spark theme, see
  *  flashx.textLayout.formats.ITextLayoutFormat.columnCount.

@@ -27,8 +27,7 @@
 [Style(name="columnCount", type="Object", inherit="no")]

 /**
- *  Amount of gutter space, in pixels, to leave between the columns
- *  (adopts default value if undefined during cascade).
+ *  Amount of gutter space, in pixels, to leave between the columns.
  *
  *
For the Spark theme, see
  *  flashx.textLayout.formats.ITextLayoutFormat.columnGap.

@@ -45,7 +44,7 @@
 [Style(name="columnGap", type="Number", format="Length", inherit="no")]

 /**
- *  Column width in pixels (adopts default value if undefined during cascade).
+ *  Column width in pixels.
  *
  *
For the Spark theme, see
  *  flashx.textLayout.formats.ITextLayoutFormat.columnWidth.


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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/HSliderDataTip.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/HSliderDataTip.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.skins.mobile.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19325
Author:   clucier@adobe.com
Date:     2010-12-13T20:17:04.998196Z

Log Message:
-----------
We now disable background processing (disable layout) during mobile view transitions.  Added mode to PerfReporter such that FPS is computed via ENTER_FRAME events instead of RENDER (was a pain to have to invoke stage.invalidate() at all the right places, for interval based animations). Disabled frameRate zooming in ViewNavigator.

QE notes: None
Doc notes: None
Bugs: SDK-28657, SDK-28755
Reviewer: Chiedo
Tests run: Checkin, TransitionTests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/CrossFadeViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/impl/PerfReporter.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/mobile/TransitionTests/src/TransitionTests.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/tests/performance/PerfLib/src/perflib/IPerfReporter.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as
@@ -308,15 +308,8 @@
         // Prepare our start and end view elements by positioning them prior to
         // the start of our transition, ensuring that they are cached as
         // surfaces, and adjust z-order if necessary.
-
         var slideTargets:Array = new Array();

-        if (cachedNavigator && mode != SlideViewTransitionMode.COVER)
-            slideTargets.push(cachedNavigator);
-
-        if (mode != SlideViewTransitionMode.UNCOVER)
-            slideTargets.push(targetNavigator.contentGroup);
-
         navigatorProps.contentGroupIncludeInLayout = targetNavigator.contentGroup.includeInLayout;
         targetNavigator.contentGroup.includeInLayout = false;

@@ -430,16 +423,22 @@
         // Validate to ensure our snapshots are rendered.
         transitionGroup.validateNow();

+        // Setup slide targets as appropriate.
+        if (cachedNavigator && mode != SlideViewTransitionMode.COVER)
+            slideTargets.push(cachedNavigator.displayObject);
+
+        if (mode != SlideViewTransitionMode.UNCOVER)
+            slideTargets.push(targetNavigator.contentGroup);
+
         // Construct animation sequence.
-        var animation:Move = new Move();
-        if (verticalTransition)
-            animation.yBy = slideDistance;
-        else
-            animation.xBy = slideDistance;
-        animation.targets = slideTargets;
-        animation.easer = easer;
-        animation.duration = duration;
-        return animation;
+        var animate:Animate = new Animate();
+        var vector:Vector.<MotionPath> = new Vector.<MotionPath>();
+        vector.push(new SimpleMotionPath(animatedProperty, null, null, slideDistance));
+        animate.motionPaths = vector;
+        animate.duration = duration;
+        animate.easer = easer;
+        animate.targets = slideTargets;
+        return animate;
     }

     /**


Fix delete triangle

Fix delete triangle

--- src/aerys/minko/render/geometry/stream/IndexStream.as
+++ src/aerys/minko/render/geometry/stream/IndexStream.as
@@ -140,7 +140,7 @@
 			var v1 : uint = _data.readShort();
 			var v2 : uint = _data.readShort();

-			_data.position = triangleIndex * 12;
+			_data.position = triangleIndex * 6;
 			_data.writeShort(v0);
 			_data.writeShort(v1);
 			_data.writeShort(v2);


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

--- frameworks/projects/rpc/src/mx/rpc/xml/Schema.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/Schema.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.rpc.xml
 {


Keep our pending data in an extensible object so that we can easily preserve it
across server switches, when it would otherwise be cleared out.

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@365 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/whirled/client/SceneDirector.as
+++ src/as/com/threerings/whirled/client/SceneDirector.as
@@ -161,24 +161,26 @@
         var refuse :Boolean = _locdir.checkRepeatMove();

         // complain if we're over-writing a pending request
-        if (_pendingSceneId != -1) {
+        if (_pendingData != null) {
             if (refuse) {
                 log.warning("Refusing moveTo; We have a request outstanding " +
-                            "[psid=" + _pendingSceneId + ", nsid=" + sceneId + "].");
+                            "[psid=" + _pendingData.sceneId + ", nsid=" + sceneId + "].");
                 return false;

             } else {
-                log.warning("Overriding stale moveTo request [psid=" + _pendingSceneId +
+                log.warning("Overriding stale moveTo request [psid=" + _pendingData.sceneId +
                             ", nsid=" + sceneId + "].");
             }
         }

-        // load up the pending scene so that we can communicate it's most recent version to the
-        // server
-        _pendingModel = loadSceneModel(sceneId);
+        // create and initialize a new pending data record
+        _pendingData = createPendingData();
+
+        // load up the cached pending scene so that we can communicate its version to the server
+        _pendingData.model = loadSceneModel(sceneId);

         // make a note of our pending scene id
-        _pendingSceneId = sceneId;
+        _pendingData.sceneId = sceneId;

         // all systems go
         return true;
@@ -191,7 +193,7 @@
      */
     public function getPendingModel () :SceneModel
     {
-        return _pendingModel;
+        return _pendingData == null ? null : _pendingData.model;
     }

     // from interface SceneService_SceneMoveListener
@@ -199,22 +201,20 @@
     {
         // our move request was successful, deal with subscribing to our new place object
         _locdir.didMoveTo(placeId, config);
+
+        // keep track of our previous scene info
+        _previousSceneId = _sceneId;
+
+        // clear out the old info
+        clearScene();
+
+        // make the pending scene the active scene
+        _sceneId = _pendingData.sceneId;
+        _pendingData = null;

         // since we're committed to moving to the new scene, we'll parallelize and go ahead and
         // load up the new scene now rather than wait until subscription to our place object
         // succeeds
-
-        // keep track of our previous scene info
-        _previousSceneId = _sceneId;
-
-        // clear out the old info
-        clearScene();
-
-        // make the pending scene the active scene
-        _sceneId = _pendingSceneId;
-        _pendingSceneId = -1;
-
-        // load the new scene model
         _model = loadSceneModel(_sceneId);

         // complain if we didn't find a scene
@@ -235,7 +235,7 @@
                  ", updates=" + updates + "].");

         // apply the updates to our cached scene
-        var model :SceneModel = loadSceneModel(_pendingSceneId);
+        var model :SceneModel = loadSceneModel(_pendingData.sceneId);
         var failure :Boolean = false;
         for each (var update :SceneUpdate in updates) {
             try {
@@ -261,10 +261,10 @@
         if (failure) {
             // delete the now half-booched scene model from the repository
             try {
-                _screp.deleteSceneModel(_pendingSceneId);
+                _screp.deleteSceneModel(_pendingData.sceneId);
             } catch (ioe :IOError) {
                 log.warning("Failure removing booched scene model " +
-                            "[sceneId=" + _pendingSceneId + "].");
+                            "[sceneId=" + _pendingData.sceneId + "].");
                 log.logStackTrace(ioe);
             }

@@ -302,6 +302,11 @@
     // from interface SceneService_SceneMoveListener
     public function moveRequiresServerSwitch (hostname :String, ports :TypedArray) :void
     {
+        log.info("Scene switch requires server switch [host=" + hostname +
+                 ", ports=" + ports + "].");
+        // keep track of our current pending data because it will be cleared when we log off of
+        // this server and onto the next one
+        var pendingData :PendingData = _pendingData;
         // ship on over to the other server
         _wctx.getClient().moveToServer(hostname, ports, new ConfirmAdapter(
             function (reason :String) :void { // failed
@@ -309,6 +314,7 @@
             },
             function () :void { // succeeded
                 // resend our move request now that we're connected to the new server
+                _pendingData = pendingData;
                 sendMoveRequest();
             }
         ));
@@ -317,9 +323,9 @@
     // documentation inherited from interface
     public function requestFailed (reason :String) :void
     {
-        // clear out our pending request oid
-        var sceneId :int = _pendingSceneId;
-        _pendingSceneId = -1;
+        // clear out our pending info
+        var sceneId :int = _pendingData.sceneId;
+        _pendingData = null;

         // let our observers know that something has gone horribly awry
         _locdir.failedToMoveTo(sceneId, reason);
@@ -399,18 +405,45 @@
         }
     }

+    // documentation inherited
+    override public function clientDidLogoff (event :ClientEvent) :void
+    {
+        super.clientDidLogoff(event);
+
+        // clear out our business
+        clearScene();
+        _scache.clear();
+        _pendingData = null;
+        _previousSceneId = -1;
+        _sservice = null;
+    }
+
+    /**
+     * Issues the scene move request using information from the supplied pending data.
+     */
     protected function sendMoveRequest () :void
     {
         // check the version of our cached copy of the scene to which we're requesting to move; if
         // we were unable to load it, assume a cached version of zero
         var sceneVers :int = 0;
-        if (_pendingModel != null) {
-            sceneVers = _pendingModel.version;
+        if (_pendingData.model != null) {
+            sceneVers = _pendingData.model.version;
         }

         // issue a moveTo request
-        log.info("Issuing moveTo(" + _pendingSceneId + ", " + sceneVers + ").");
-        _sservice.moveTo(_wctx.getClient(), _pendingSceneId, sceneVers, this);
+        log.info("Issuing moveTo(" + _pendingData.sceneId + ", " + sceneVers + ").");
+        _sservice.moveTo(_wctx.getClient(), _pendingData.sceneId, sceneVers, this);
+    }
+
+    /**
+     * Creates a pending scene move request. Derived classes may wish to extend this data with
+     * additional information to be tracked during movement between scenes. This is encapsulated so
+     * that if a scene move requires a switch to a new server, all necessary data can be properly
+     * tracked during the server switch.
+     */
+    protected function createPendingData () :PendingData
+    {
+        return new PendingData();
     }

     /**
@@ -468,20 +501,6 @@
         }
     }

-    // documentation inherited
-    override public function clientDidLogoff (event :ClientEvent) :void
-    {
-        super.clientDidLogoff(event);
-
-        // clear out our business
-        clearScene();
-        _scache.clear();
-        _pendingSceneId = -1;
-        _pendingModel = null;
-        _previousSceneId = -1;
-        _sservice = null;
-    }
-
     // from BasicDirector
     override protected function registerServices (client :Client) :void
     {
@@ -522,12 +541,9 @@
     /** The id of the scene we currently occupy. */
     protected var _sceneId :int = -1;

-    /** Our most recent copy of the scene model for the scene we're about to enter. */
-    protected var _pendingModel :SceneModel;
-
-    /** The id of the scene for which we have an outstanding moveTo
-     * request, or -1 if we have no outstanding request. */
-    protected var _pendingSceneId :int = -1;
+    /** Information for the scene for which we have an outstanding moveTo request, or null if we
+     * have no outstanding request. */
+    protected var _pendingData :PendingData;

     /** The id of the scene we previously occupied. */
     protected var _previousSceneId :int = -1;


XIFF-38: set fields to the registration extension properly.

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

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -466,7 +466,7 @@

 			for ( var i:String in fieldMap )
 			{
-				ext[i] = fieldMap[i];
+				ext.setField(i, fieldMap[i]);
 			}
 			if (key != null)
 			{
@@ -1257,7 +1257,7 @@
 		}

 		/**
-		 *
+		 *
 		 * @param	packet
 		 */
 		private function handleSessionError(packet:IQ):void


Transferred from the Adobe Open Source Subversion Repository

Revision: 3516
Author:   jimurphy@adobe.com
Date:     2008-10-08T00:32:26.683603Z

Log Message:
-----------
various fixes caused during the rename:
-gumbo manifest,fixed typo
-halo-manifest.xml, fixed flex 4 graphics section with updated mx.graphics package names
-mxml-2009-manifest.xml, fixed FxVGroup to be VGroup
-removed flex directory
-fixed bad rename of AnimationEvent and updated with FlexEvent

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.as</path>
<path kind="dir" action="D">/flex/sdk/trunk/frameworks/projects/flex4/src/flex</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/effects/effectClasses/FxFadeInstance.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/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/gumbo-manifest.xml</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -33,7 +33,7 @@
  *  selectionActivePosition properties have changed
  *  due to a user interaction.
  */
-[Event(name="selectionChange", type="mx.events.AnimationEvent")]
+[Event(name="selectionChange", type="mx.events.FlexEvent")]

 /**
  *  Dispatched before a user editing operation occurs.


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

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

 package mx.managers.marshalClasses
 {


Removed MathUtils dependency

Removed MathUtils dependency

--- com/zehfernando/input/binding/KeyActionBinder.as
+++ com/zehfernando/input/binding/KeyActionBinder.as
@@ -1,6 +1,5 @@
 package com.zehfernando.input.binding {
 	import com.zehfernando.signals.SimpleSignal;
-	import com.zehfernando.utils.MathUtils;

 	import flash.display.Stage;
 	import flash.events.Event;
@@ -209,7 +208,7 @@
 					// A sensitive binding, send changed value signals instead

 					// Dispatches signal
-					(actionsActivations[filteredControls[i].action] as ActivationInfo).sensitiveValues[filteredControls[i].action] = MathUtils.map(control.value, control.minValue, control.maxValue, (filteredControls[i].binding as GamepadSensitiveBinding).minValue, (filteredControls[i].binding as GamepadSensitiveBinding).maxValue);
+					(actionsActivations[filteredControls[i].action] as ActivationInfo).sensitiveValues[filteredControls[i].action] = (control.value - control.minValue) / (control.maxValue - control.minValue) * ((filteredControls[i].binding as GamepadSensitiveBinding).maxValue - (filteredControls[i].binding as GamepadSensitiveBinding).minValue) + (filteredControls[i].binding as GamepadSensitiveBinding).minValue;
 					_onSensitiveActionChanged.dispatch(filteredControls[i].action, (actionsActivations[filteredControls[i].action] as ActivationInfo).value);
 				} else {
 					// A standard action binding, send activated/deactivated signals


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/effects/easing/Circular.as
+++ frameworks/projects/framework/src/mx/effects/easing/Circular.as
@@ -0,0 +1,96 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-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.effects.easing
+{
+
+/**
+ *  The Circular class defines three easing functions to implement
+ *  circular motion with Flex effect classes.
+ *
+ *  For more information, see http://www.robertpenner.com/profmx.
+ */
+public class Circular
+{
+	include "../../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  The easeIn() method starts motion slowly,
+     *  and then accelerates motion as it executes.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeIn(t:Number, b:Number,
+								  c:Number, d:Number):Number
+	{
+		return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;
+	}
+
+    /**
+     *  The easeOut() method starts motion fast,
+     *  and then decelerates motion as it executes.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeOut(t:Number, b:Number,
+								   c:Number, d:Number):Number
+	{
+		return c * Math.sqrt(1 - (t = t/d - 1) * t) + b;
+	}
+
+    /**
+     *  The easeInOut() method combines the motion
+     *  of the easeIn() and easeOut() methods
+	 *  to start the motion slowly, accelerate motion, then decelerate.
+     *
+     *  @param t Specifies time.
+	 *
+     *  @param b Specifies the initial position of a component.
+	 *
+     *  @param c Specifies the total change in position of the component.
+	 *
+     *  @param d Specifies the duration of the effect, in milliseconds.
+     *
+     *  @return Number corresponding to the position of the component.
+     */
+	public static function easeInOut(t:Number, b:Number,
+									 c:Number, d:Number):Number
+	{
+		if ((t /= d / 2) < 1)
+			return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;
+
+		return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5257
Author:   jszeto@adobe.com
Date:     2009-03-11T22:12:50.289894Z

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

SDK-19314 Arrow keys which move a slider's thumb also scroll the player window.

If we handle an arrow key or HOME/END, then we stop it from propagating.

SDK-19443 FxHSlider doesnt position tooltip/datatip correctly when on the right edge of the flex app

Added logic to ensure that the dataTip stays in the bounds of the screen

SDK-19384 @review tags are appearing before asdoc descriptions, causing empty ASDoc tooltips in Flex Builder

Removed all occurrences of @review since it is no longer used.

QE Notes: n/a
Doc Notes: n/a
Bugs: SDK-19314, SDK-19443, SDK-19384
Reviewer: Ryan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/DropDownBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -454,7 +454,6 @@
     }

     /**
-     *  @review
      *  Returns an array of strings of all CSS selectors registered with the StyleManager.
      *  Pass items in this array to the getStyleDeclaration function to get the corresponding CSSStyleDeclaration.
      *  Note that class selectors are prepended with a period.


Transferred from the Adobe Open Source Subversion Repository

Revision: 3734
Author:   pfarland@adobe.com
Date:     2008-10-18T05:13:34.132420Z

Log Message:
-----------
Fixing advanced CSS descendant selectors for the alpha release.

- We now check descendant types against any superclass.

- Removed StyleProtoChain.getClassStyleDeclarations()'s recursive "Class" lookup for each superclass of an IStyleClient during the search for type selectors in the hierarchy. This was replaced with a simple describeType-based description (called once per type).

- Added a method to report whether any advanced styles had been registered with the StyleManager to optimize style declaration matching for the default case of simple style declarations.

- Removed advanced selector cache key calculation from StyleProtoChain in favor of the legacy simple type level cache. Future work may be required to cache advanced, display list sensitive style information.

- Fixed the specificity calculation for global selectors.

QE: Yes
Doc: No.
Checkintests: Pass
mxunit styles tests: Pass
select mustella styles tests: Pass
Reviewer: Glenn

Bugs:
SDK-17351 - [Advanced CSS] Descendant selectors don't work for Application
SDK-17361 - [Advanced CSS] If you use descendant and id selectors together, the id selector doesn't work correctly
SDK-17385 - [Advanced CSS] If you use descendant and class selectors together, the class selector doesn't work correctly

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSSelector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/NameUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StyleModule.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm</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/modules/compiler/src/java/flex2/compiler/css/StyleDef.vm</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/IStyleManager3.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -268,6 +268,13 @@

     /**
      *  @private
+     *  Whether any advanced selectors have been registered with this style
+     *  manager.
+     */
+    private var _hasAdvancedSelectors:Boolean;
+
+    /**
+     *  @private
      *  A map of CSS subjects that have pseudo selectors. If a subject does
      *  have a pseudo selector, a state change requires styles to be
      *  recalculated.
@@ -361,6 +368,34 @@
     public function set inheritingStyles(value:Object):void
     {
         _inheritingStyles = value;
+    }
+
+    //----------------------------------
+    //  typeHierarchyCache
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _typeHierarchyCache:Object;
+
+    /**
+     *  @private
+     */
+    public function get typeHierarchyCache():Object
+    {
+        if (_typeHierarchyCache == null)
+            _typeHierarchyCache = {};
+
+        return _typeHierarchyCache;
+    }
+
+    /**
+     * @private
+     */
+    public function set typeHierarchyCache(value:Object):void
+    {
+        _typeHierarchyCache = value;
     }

     //----------------------------------
@@ -435,6 +470,16 @@
     		theSelectors.push(i);

     	return theSelectors;
+    }
+
+    /**
+     *  Determines whether any of the selectors registered with the style
+     *  manager have been advanced selectors (descendant selector, id selector,
+     *  non-global class selector, pseudo selector).
+     */
+    public function hasAdvancedSelectors():Boolean
+    {
+        return _hasAdvancedSelectors;
     }

     /**
@@ -491,6 +536,10 @@

             _pseudoSubjects[subject] = true;
         }
+
+        // Record whether this is an advanced selector
+        if (styleDeclaration.isAdvanced())
+            _hasAdvancedSelectors = true;

         // Flush cache and start over.
         if (_typeSelectorCache)