If I understand the problem (which I'm not sure, since the fix you posted
runs code if not Safari), you could create a
OneFlexibleChildLayoutWithSafariXSupport and put your fixes with browser
sniffing in there.  That way folks who don't need it, don't pay for the
sniffing.  There might be a version of Safari some day that behaves like
the other browsers.

My 2 cents,
-Alex

On 9/26/17, 1:25 PM, "Harbs" <harbs.li...@gmail.com> wrote:

>I’m showing how to fix the “non-ForOverflow” layouts.
>
>The problem is that Safari handles flex layouts differently than other
>browsers.
>
>I’d like to use the flexbox layouts and AFAICT, they need browser
>sniffing to work across the board. Ideally, the browser sniffing should
>be included in the layout itself, but I was not sure the best way to do
>that…
>
>> On Sep 26, 2017, at 11:02 PM, Alex Harui <aha...@adobe.com.INVALID>
>>wrote:
>> 
>> I'm not sure if you have the exact same problem as ASDoc, but the ASDoc
>> example is working fine with the "ForOverflow" layouts and no extra code
>> in the app.  Or are you saying ASDoc isn't working for you on some
>>browser?
>> 
>> IMO, that's the whole point of having many different flavors of layouts.
>> Folks can try different ones until they find one that works.  No need to
>> add custom code 3 places in the app.  Fixes for quirks get encapsulated
>> into a PAYG variant of a base component.
>> 
>> My 2 cents,
>> -Alex
>> 
>> On 9/26/17, 12:56 PM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> I ran into the Safari problem in my app.
>>> 
>>> I needed to add code like this:
>>> 
>>> var info:BrowserInfo = BrowserInfo.current();
>>> if(info.browser != "Safari" && info.formFactor.indexOf("iP") == -1){
>>>     outerContainer.percentHeight = 100;
>>>     leftResizeThumb.percentHeight = 100;
>>> }
>>> 
>>> The components look something like this:
>>> 
>>>             <js:Container x="0" y="40" width="100%" 
>>> id="dockAndOuterContainer"
>>> height="0%" style="align-items:stretch">
>>>                     <js:beads>
>>>                             <js:OneFlexibleChildHorizontalLayout
>>>flexibleChild="outerContainer"/>
>>>                     </js:beads>
>>>                     <components:LeftDock id="leftDock"/>
>>>                     <js:Group visible="false" id="leftResizeThumb">
>>>                     </js:Group>
>>>                     <js:Container id="outerContainer"/>
>>>             </js:Container
>>> 
>>> Basically, all browsers except Safari and iOS browsers need to be set
>>>to
>>> 100%. Safari and iOS browsers CANNOT be set to 100%.
>>> 
>>> I’m not sure how to generalize this code…
>>> 
>>> I have it in three places in my app to make it behave correctly.
>>> 
>>> I’ve been meaning to bring up this issue on the dev@ list. Sorry I
>>>didn’t
>>> do it sooner… ;-)
>>> 
>>> Harbs
>>> 
>>>> On Sep 26, 2017, at 10:44 PM, Alex Harui <aha...@adobe.com.INVALID>
>>>> wrote:
>>>> 
>>>> I just reverted ASDoc back to the "ForOverflow" layouts.  ASDoc was
>>>>not
>>>> showing up correctly for me (Safari).  Maybe flex-basis is handled
>>>> differently on different browsers.  We can look into it more later.
>>>> 
>>>> Looking into this did make me glad we are changing over to "Royale" so
>>>> "Flex" and "FlexJS" will not be confused with FlexBox and the flex-xxx
>>>> attributes.
>>>> 
>>>> -Alex
>>>> 
>>>> On 7/31/17, 12:57 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>> 
>>>>> The only example I found was the ASDoc app.
>>>>> 
>>>>> I switched it and it appears to work. (I pushed my changes.)
>>>>> 
>>>>>> On Jul 31, 2017, at 7:35 AM, Alex Harui <aha...@adobe.com.INVALID>
>>>>>> wrote:
>>>>>> 
>>>>>> It will either work in the examples that use it or it won't.  Try it
>>>>>> and
>>>>>> find out.
>>>>>> 
>>>>>> -Alex
>>>>>> 
>>>>>> On 7/30/17, 3:04 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>> 
>>>>>>> I think I just ran into the same issue.
>>>>>>> 
>>>>>>> This layout seems to more-or-less do the job, but it’s kind of
>>>>>>>heavy.
>>>>>>> 
>>>>>>> I did some research into flexbox and it appear that setting
>>>>>>> flex-basis
>>>>>>> to
>>>>>>> 0 does the job. It needs to be set on ONLY the one flexible child.
>>>>>>> 
>>>>>>> Here’s a codepen which shows a use case.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcod
>>>>>>>ep
>>>>>>> en
>>>>>>> .i
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>o%2Fjpdevries%2Fpen%2FoXxPOP&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae0
>>>>>>>8d
>>>>>>> 4d
>>>>>>> 73
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>2638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63637005881876651
>>>>>>>1&
>>>>>>> sd
>>>>>>> at
>>>>>>> a=tSTNYANFFiQ4DMGYbAZaz0dJ9qYDYpcwP2ZoSYRIcG8%3D&reserved=0
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fco
>>>>>>>de
>>>>>>> pe
>>>>>>> n.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>io%2Fjpdevries%2Fpen%2FoXxPOP&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae
>>>>>>>08
>>>>>>> d4
>>>>>>> d7
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>32638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363700588187665
>>>>>>>11
>>>>>>> &s
>>>>>>> da
>>>>>>> ta=tSTNYANFFiQ4DMGYbAZaz0dJ9qYDYpcwP2ZoSYRIcG8%3D&reserved=0>
>>>>>>> 
>>>>>>> I noticed that the OneFlexibleLayouts have code which set the
>>>>>>> flex-basis
>>>>>>> of the children if a percentage value is set. When setting the size
>>>>>>> of
>>>>>>> the one flexible child to 0% this causes the flex-basis to be set
>>>>>>>to
>>>>>>> 0
>>>>>>> and then the one flexible child will fit the remaining space even
>>>>>>>if
>>>>>>> it
>>>>>>> might overflow because of its children.
>>>>>>> 
>>>>>>> I have wasted quite a bit of time before I discovered this. I’m not
>>>>>>> sure
>>>>>>> whether the OneFlexibleLayout classes should be changed, or maybe
>>>>>>>we
>>>>>>> need
>>>>>>> documentation that to fit content that might overflow, the
>>>>>>>percentage
>>>>>>> should be set to 0. It could be there are cases where the entire
>>>>>>> OnFlexibleLayout should be fit when smaller and expand (and not
>>>>>>> scroll)
>>>>>>> when bigger. In that case, the current behavior might be correct.
>>>>>>> 
>>>>>>> Thoughts?
>>>>>>> Harbs
>>>>>>> 
>>>>>>>> On May 23, 2017, at 10:16 AM, aha...@apache.org wrote:
>>>>>>>> 
>>>>>>>> give up on trying to use FlexBox for full-screen 3-pane views.
>>>>>>>> FlexBox
>>>>>>>> seems more happy stretching to content size instead of clipping at
>>>>>>>> the
>>>>>>>> computed flex-ed size.  These custom layouts will do the proper
>>>>>>>> sizing
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Project: 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Frepo&data=02%7C01%7C%7C699
>>>>>>>>bb
>>>>>>>> b1
>>>>>>>> 70
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>>>>>7C
>>>>>>>> 63
>>>>>>>> 63
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>70058818766511&sdata=P%2FMkfZAwCYwpQEoCe5UGx8tW0mZaIZsMdDg6VxlaKWA%
>>>>>>>>3D
>>>>>>>> &r
>>>>>>>> es
>>>>>>>> erved=0
>>>>>>>> Commit: 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fcommit%2Fbdd34d2e&data=02%
>>>>>>>>7C
>>>>>>>> 01
>>>>>>>> %7
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>ce
>>>>>>>> e1
>>>>>>>> %7
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>C0%7C0%7C636370058818766511&sdata=QosBAau8lE4nCS7c%2F8B6GDc%2Bqa%2B
>>>>>>>>pS
>>>>>>>> ko
>>>>>>>> P5
>>>>>>>> 5x3oji5FnI%3D&reserved=0
>>>>>>>> Tree: 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Ftree%2Fbdd34d2e&data=02%7C
>>>>>>>>01
>>>>>>>> %7
>>>>>>>> C%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>e1
>>>>>>>> %7
>>>>>>>> C0
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>%7C0%7C636370058818766511&sdata=T4CCqwtn%2FgFTmAnaI%2BuCXqtX0P75ebp
>>>>>>>>KV
>>>>>>>> ZO
>>>>>>>> xf
>>>>>>>> XOTbIE%3D&reserved=0
>>>>>>>> Diff: 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fdiff%2Fbdd34d2e&data=02%7C
>>>>>>>>01
>>>>>>>> %7
>>>>>>>> C%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>e1
>>>>>>>> %7
>>>>>>>> C0
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>%7C0%7C636370058818766511&sdata=f8WVJXc81KrLMuUgRckULYCfglNL7d%2Bfd
>>>>>>>>jS
>>>>>>>> bB
>>>>>>>> BU
>>>>>>>> 0fRo%3D&reserved=0
>>>>>>>> 
>>>>>>>> Branch: refs/heads/release0.8.0
>>>>>>>> Commit: bdd34d2ef4d8117fa1b222ac470482a42dbea9eb
>>>>>>>> Parents: c505d67
>>>>>>>> Author: Alex Harui <aha...@apache.org>
>>>>>>>> Authored: Mon May 22 10:12:02 2017 -0700
>>>>>>>> Committer: Alex Harui <aha...@apache.org>
>>>>>>>> Committed: Tue May 23 00:15:56 2017 -0700
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> ...eFlexibleChildHorizontalLayoutForOverflow.as | 290
>>>>>>>> ++++++++++++++++++
>>>>>>>> ...xibleChildHorizontalLayoutLockChildHeight.as |  91 ------
>>>>>>>> ...OneFlexibleChildVerticalLayoutForOverflow.as | 291
>>>>>>>> +++++++++++++++++++
>>>>>>>> ...FlexibleChildVerticalLayoutLockChildWidth.as |  93 ------
>>>>>>>> .../Basic/src/main/resources/basic-manifest.xml |   4 +-
>>>>>>>> 5 files changed, 583 insertions(+), 186 deletions(-)
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframewor
>>>>>>>>ks
>>>>>>>> %2
>>>>>>>> Fp
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2F
>>>>>>>>be
>>>>>>>> ad
>>>>>>>> s%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>2Flayouts%2FOneFlexibleChildHorizontalLayoutForOverflow.as&data=02%
>>>>>>>>7C
>>>>>>>> 01
>>>>>>>> %7
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178de
>>>>>>>>ce
>>>>>>>> e1
>>>>>>>> %7
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>C0%7C0%7C636370058818766511&sdata=L7BjG%2BM7nTwguX%2BNaE5Op6BIT7XZr
>>>>>>>>Eq
>>>>>>>> KF
>>>>>>>> op
>>>>>>>> 0D%2Frc0Aw%3D&reserved=0
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> diff --git
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutForOverflow.as
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutForOverflow.as
>>>>>>>> new file mode 100644
>>>>>>>> index 0000000..c6abc22
>>>>>>>> --- /dev/null
>>>>>>>> +++ 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutForOverflow.as
>>>>>>>> @@ -0,0 +1,290 @@
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>+//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> +//
>>>>>>>> +//  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
>>>>>>>> +//
>>>>>>>> +//      
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww
>>>>>>>>.a
>>>>>>>> pa
>>>>>>>> ch
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3
>>>>>>>>ae
>>>>>>>> 08
>>>>>>>> d4
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363700588187
>>>>>>>>66
>>>>>>>> 51
>>>>>>>> 1&
>>>>>>>> sdata=bButr5xXaczhl741iZvjXub0l1B72d%2FvImajqD7mvyA%3D&reserved=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.
>>>>>>>> +//
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>+//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> +package org.apache.flex.html.beads.layouts
>>>>>>>> +{
>>>>>>>> +      import org.apache.flex.core.LayoutBase;
>>>>>>>> +      import org.apache.flex.core.IDocument;
>>>>>>>> +      import org.apache.flex.core.ILayoutChild;
>>>>>>>> +      import org.apache.flex.core.ILayoutHost;
>>>>>>>> +      import org.apache.flex.core.ILayoutView;
>>>>>>>> +      import org.apache.flex.core.ILayoutParent;
>>>>>>>> +      import org.apache.flex.core.IParentIUIBase;
>>>>>>>> +      import org.apache.flex.core.IStrand;
>>>>>>>> +      import org.apache.flex.core.IUIBase;
>>>>>>>> +      import org.apache.flex.core.ValuesManager;
>>>>>>>> +      import org.apache.flex.core.UIBase;
>>>>>>>> +      import org.apache.flex.events.Event;
>>>>>>>> +      import org.apache.flex.geom.Rectangle;
>>>>>>>> +      import org.apache.flex.utils.CSSContainerUtils;
>>>>>>>> +      import org.apache.flex.utils.CSSUtils;
>>>>>>>> +
>>>>>>>> +    /**
>>>>>>>> +     *  The OneFlexibleChildHorizontalLayoutForOverflowis
>>>>>>>> +       *  intended for building apps that clip
>>>>>>>> +       *  and/or scroll the overflow, especially in a
>>>>>>>> +       *  3-pane view like the ASDoc examples.  It does not use
>>>>>>>> +       *  FlexBox because FlexBox wants to grow to the size
>>>>>>>> +       *  of the content without specifying width/height on
>>>>>>>> +       *  the flexible child.  But then the children in
>>>>>>>> +       *  the flexible child cannot use % sizing.
>>>>>>>> +       *  This layout presumes the parent is a known size.
>>>>>>>> +       *
>>>>>>>> +     *  @langversion 3.0
>>>>>>>> +     *  @playerversion Flash 10.2
>>>>>>>> +     *  @playerversion AIR 2.6
>>>>>>>> +     *  @productversion FlexJS 0.0
>>>>>>>> +     */
>>>>>>>> +      public class OneFlexibleChildHorizontalLayoutForOverflow extends
>>>>>>>> LayoutBase implements IOneFlexibleChildLayout, IDocument
>>>>>>>> +      {
>>>>>>>> +        /**
>>>>>>>> +         *  Constructor.
>>>>>>>> +         *
>>>>>>>> +         *  @langversion 3.0
>>>>>>>> +         *  @playerversion Flash 10.2
>>>>>>>> +         *  @playerversion AIR 2.6
>>>>>>>> +         *  @productversion FlexJS 0.0
>>>>>>>> +         */
>>>>>>>> +              public function 
>>>>>>>> OneFlexibleChildHorizontalLayoutForOverflow()
>>>>>>>> +              {
>>>>>>>> +                      super();
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        private var _flexibleChild:String;
>>>>>>>> +
>>>>>>>> +        protected var actualChild:ILayoutChild;
>>>>>>>> +
>>>>>>>> +        /**
>>>>>>>> +         *  @private
>>>>>>>> +         *  The document.
>>>>>>>> +         */
>>>>>>>> +        private var document:Object;
>>>>>>>> +
>>>>>>>> +              /**
>>>>>>>> +               *  The id of the flexible child
>>>>>>>> +               *
>>>>>>>> +               *  @langversion 3.0
>>>>>>>> +               *  @playerversion Flash 10.2
>>>>>>>> +               *  @playerversion AIR 2.6
>>>>>>>> +               *  @productversion FlexJS 0.0
>>>>>>>> +               */
>>>>>>>> +              public function get flexibleChild():String
>>>>>>>> +              {
>>>>>>>> +                      return _flexibleChild;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +              /**
>>>>>>>> +               * @private
>>>>>>>> +               */
>>>>>>>> +              public function set flexibleChild(value:String):void
>>>>>>>> +              {
>>>>>>>> +                      _flexibleChild = value;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        /**
>>>>>>>> +         * @copy org.apache.flex.core.IBeadLayout#layout
>>>>>>>> +         */
>>>>>>>> +              COMPILE::JS
>>>>>>>> +              override public function layout():Boolean
>>>>>>>> +              {
>>>>>>>> +                      var contentView:ILayoutView = layoutView;
>>>>>>>> +
>>>>>>>> +                      actualChild = document[flexibleChild];
>>>>>>>> +
>>>>>>>> +                      var n:int = contentView.numElements;
>>>>>>>> +                      if (n == 0) return false;
>>>>>>>> +
>>>>>>>> +                      for(var i:int=0; i < n; i++) {
>>>>>>>> +                              var child:UIBase = 
>>>>>>>> contentView.getElementAt(i) as UIBase;
>>>>>>>> +                              if (child.element.style["display"] != 
>>>>>>>> "inline-flex" &&
>>>>>>>> child.element.style["display"] != "none")
>>>>>>>> +                                      child.element.style["display"] 
>>>>>>>> = "inline-block";
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      var w:Number = host.width;
>>>>>>>> +                      for(i=0; i < n; i++) {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> UIBase;
>>>>>>>> +                              if (child != actualChild)
>>>>>>>> +                                      w -= child.width;
>>>>>>>> +                      }
>>>>>>>> +                      actualChild.width = w;
>>>>>>>> +                                      
>>>>>>>> +                      return true;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +              COMPILE::SWF
>>>>>>>> +              override public function layout():Boolean
>>>>>>>> +              {
>>>>>>>> +                      var contentView:ILayoutView = layoutView;
>>>>>>>> +                      actualChild = 
>>>>>>>> document.hasOwnProperty(flexibleChild) ?
>>>>>>>> document[flexibleChild] : null;
>>>>>>>> +
>>>>>>>> +                      var n:Number = contentView.numElements;
>>>>>>>> +                      if (n == 0) return false;
>>>>>>>> +                      
>>>>>>>> +                      var maxWidth:Number = 0;
>>>>>>>> +                      var maxHeight:Number = 0;
>>>>>>>> +                      var hostSizedToContent:Boolean =
>>>>>>>>host.isHeightSizedToContent();
>>>>>>>> +                      var hostWidth:Number = host.width;
>>>>>>>> +                      var hostHeight:Number = host.height;
>>>>>>>> +
>>>>>>>> +                      var ilc:ILayoutChild;
>>>>>>>> +                      var data:Object;
>>>>>>>> +                      var canAdjust:Boolean = false;
>>>>>>>> +                      var margins:Object;
>>>>>>>> +
>>>>>>>> +                      var paddingMetrics:Rectangle =
>>>>>>>> CSSContainerUtils.getPaddingMetrics(host);
>>>>>>>> +                      var borderMetrics:Rectangle =
>>>>>>>> CSSContainerUtils.getBorderMetrics(host);
>>>>>>>> +                      
>>>>>>>> +                      // adjust the host's usable size by the 
>>>>>>>> metrics. If
>>>>>>>> hostSizedToContent, then the
>>>>>>>> +                      // resulting adjusted value may be less than 
>>>>>>>> zero.
>>>>>>>> +                      hostWidth -= paddingMetrics.left + 
>>>>>>>> paddingMetrics.right +
>>>>>>>> borderMetrics.left + borderMetrics.right;
>>>>>>>> +                      hostHeight -= paddingMetrics.top + 
>>>>>>>> paddingMetrics.bottom +
>>>>>>>> borderMetrics.top + borderMetrics.bottom;
>>>>>>>> +
>>>>>>>> +                      var xpos:Number = borderMetrics.left + 
>>>>>>>> paddingMetrics.left;
>>>>>>>> +                      var ypos:Number = borderMetrics.top + 
>>>>>>>> paddingMetrics.left;
>>>>>>>> +                      var child:IUIBase;
>>>>>>>> +                      var childHeight:Number;
>>>>>>>> +                      var i:int;
>>>>>>>> +                      var childYpos:Number;
>>>>>>>> +                      var adjustLeft:Number = 0;
>>>>>>>> +                      var adjustRight:Number = hostWidth + 
>>>>>>>> borderMetrics.left +
>>>>>>>> paddingMetrics.left;
>>>>>>>> +
>>>>>>>> +                      // first work from left to right
>>>>>>>> +                      for(i=0; i < n; i++)
>>>>>>>> +                      {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> IUIBase;
>>>>>>>> +                              if (child == null || !child.visible) 
>>>>>>>> continue;
>>>>>>>> +                              if (child == actualChild) break;
>>>>>>>> +
>>>>>>>> +                              margins = childMargins(child, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = child as ILayoutChild;
>>>>>>>> +
>>>>>>>> +                              xpos += margins.left;
>>>>>>>> +
>>>>>>>> +                              childYpos = ypos + margins.top; // 
>>>>>>>> default y position
>>>>>>>> +
>>>>>>>> +                              childHeight = child.height;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height * ilc.percentHeight/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setHeight(childHeight);
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      ilc.setX(xpos);
>>>>>>>> +                                      ilc.setY(childYpos);
>>>>>>>> +
>>>>>>>> +                                      if (!isNaN(ilc.percentWidth)) {
>>>>>>>> +                                              ilc.setWidth(hostWidth 
>>>>>>>> * ilc.percentWidth / 100);
>>>>>>>> +                                      }
>>>>>>>> +
>>>>>>>> +                              } else {
>>>>>>>> +                                      child.x = xpos;
>>>>>>>> +                                      child.y = childYpos;
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              xpos += child.width + margins.right;
>>>>>>>> +                              adjustLeft = xpos;
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      // then work from right to left
>>>>>>>> +                      xpos = hostWidth + borderMetrics.left + 
>>>>>>>> paddingMetrics.left;
>>>>>>>> +
>>>>>>>> +                      for(i=(n-1); actualChild != null && i >= 0; i--)
>>>>>>>> +                      {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> IUIBase;
>>>>>>>> +                              if (child == null || !child.visible) 
>>>>>>>> continue;
>>>>>>>> +                              if (child == actualChild) break;
>>>>>>>> +
>>>>>>>> +                              margins = childMargins(child, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = child as ILayoutChild;
>>>>>>>> +
>>>>>>>> +                              childYpos = ypos + margins.top; // 
>>>>>>>> default y position
>>>>>>>> +
>>>>>>>> +                              childHeight = child.height;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height * ilc.percentHeight/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setHeight(childHeight);
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      if (!isNaN(ilc.percentWidth)) {
>>>>>>>> +                                              ilc.setWidth(hostWidth 
>>>>>>>> * ilc.percentWidth / 100);
>>>>>>>> +                                      }
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              xpos -= child.width + margins.right;
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      ilc.setX(xpos);
>>>>>>>> +                                      ilc.setY(childYpos);
>>>>>>>> +                              } else {
>>>>>>>> +                                      child.x = xpos;
>>>>>>>> +                                      child.y = childYpos;
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              xpos -= margins.left;
>>>>>>>> +                              adjustRight = xpos;
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      // now adjust the actualChild to fill the space.
>>>>>>>> +                      if (actualChild != null) {
>>>>>>>> +                              margins = childMargins(actualChild, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = actualChild as ILayoutChild;
>>>>>>>> +                              childHeight = actualChild.height;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height * ilc.percentHeight/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitHeight)) {
>>>>>>>> +                                              childHeight = 
>>>>>>>> host.height;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setHeight(childHeight);
>>>>>>>> +                              }
>>>>>>>> +                              childYpos = ypos + margins.top;
>>>>>>>> +                              actualChild.x = adjustLeft + 
>>>>>>>> margins.left;
>>>>>>>> +                              actualChild.y = childYpos;
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      
>>>>>>>> ilc.setWidth((adjustRight-margins.right) -
>>>>>>>> (adjustLeft+margins.left));
>>>>>>>> +                              } else {
>>>>>>>> +                                      actualChild.width = 
>>>>>>>> (adjustRight-margins.right) -
>>>>>>>> (adjustLeft+margins.left);
>>>>>>>> +                              }
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +            return true;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        public function setDocument(document:Object, id:String =
>>>>>>>> null):void
>>>>>>>> +        {
>>>>>>>> +            this.document = document;
>>>>>>>> +        }
>>>>>>>> +
>>>>>>>> +    }
>>>>>>>> +
>>>>>>>> +}
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframewor
>>>>>>>>ks
>>>>>>>> %2
>>>>>>>> Fp
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2F
>>>>>>>>be
>>>>>>>> ad
>>>>>>>> s%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>2Flayouts%2FOneFlexibleChildHorizontalLayoutLockChildHeight.as&data
>>>>>>>>=0
>>>>>>>> 2%
>>>>>>>> 7C
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>01%7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c1
>>>>>>>>78
>>>>>>>> de
>>>>>>>> ce
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>e1%7C0%7C0%7C636370058818766511&sdata=Ir1Siye21IUzzijpvWA1XmQN0AbHk
>>>>>>>>tL
>>>>>>>> u%
>>>>>>>> 2F
>>>>>>>> u3h%2BRtBZT0%3D&reserved=0
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> diff --git
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutLockChildHeight.as
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutLockChildHeight.as
>>>>>>>> deleted file mode 100644
>>>>>>>> index d170d23..0000000
>>>>>>>> --- 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildHorizontalLayoutLockChildHeight.as
>>>>>>>> +++ /dev/null
>>>>>>>> @@ -1,91 +0,0 @@
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> -//
>>>>>>>> -//  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
>>>>>>>> -//
>>>>>>>> -//      
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww
>>>>>>>>.a
>>>>>>>> pa
>>>>>>>> ch
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3
>>>>>>>>ae
>>>>>>>> 08
>>>>>>>> d4
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363700588187
>>>>>>>>66
>>>>>>>> 51
>>>>>>>> 1&
>>>>>>>> sdata=bButr5xXaczhl741iZvjXub0l1B72d%2FvImajqD7mvyA%3D&reserved=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.
>>>>>>>> -//
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> -package org.apache.flex.html.beads.layouts
>>>>>>>> -{
>>>>>>>> -      import org.apache.flex.core.LayoutBase;
>>>>>>>> -      import org.apache.flex.core.IDocument;
>>>>>>>> -      import org.apache.flex.core.ILayoutChild;
>>>>>>>> -      import org.apache.flex.core.ILayoutHost;
>>>>>>>> -      import org.apache.flex.core.ILayoutView;
>>>>>>>> -      import org.apache.flex.core.ILayoutParent;
>>>>>>>> -      import org.apache.flex.core.IParentIUIBase;
>>>>>>>> -      import org.apache.flex.core.IStrand;
>>>>>>>> -      import org.apache.flex.core.IUIBase;
>>>>>>>> -      import org.apache.flex.core.ValuesManager;
>>>>>>>> -      import org.apache.flex.core.UIBase;
>>>>>>>> -      import org.apache.flex.events.Event;
>>>>>>>> -      import org.apache.flex.geom.Rectangle;
>>>>>>>> -      import org.apache.flex.utils.CSSContainerUtils;
>>>>>>>> -      import org.apache.flex.utils.CSSUtils;
>>>>>>>> -
>>>>>>>> -    /**
>>>>>>>> -     *  The OneFlexibleChildHorizontalLayoutLockChildHeight
>>>>>>>> -       *  is a subclass of OneFlexibleChildHorizontalLayout
>>>>>>>> -       *  that sets the flexible child's height to be the height
>>>>>>>> -       *  of the host container.  This is useful when you
>>>>>>>> -       *  don't want the actual child's height to dictate the
>>>>>>>> -       *  height of the container in order to force
>>>>>>>> -       *  scrollbars
>>>>>>>> -     *
>>>>>>>> -     *  @langversion 3.0
>>>>>>>> -     *  @playerversion Flash 10.2
>>>>>>>> -     *  @playerversion AIR 2.6
>>>>>>>> -     *  @productversion FlexJS 0.0
>>>>>>>> -     */
>>>>>>>> -      public class OneFlexibleChildHorizontalLayoutLockChildHeight
>>>>>>>> extends
>>>>>>>> OneFlexibleChildHorizontalLayout
>>>>>>>> -      {
>>>>>>>> -        /**
>>>>>>>> -         *  Constructor.
>>>>>>>> -         *
>>>>>>>> -         *  @langversion 3.0
>>>>>>>> -         *  @playerversion Flash 10.2
>>>>>>>> -         *  @playerversion AIR 2.6
>>>>>>>> -         *  @productversion FlexJS 0.0
>>>>>>>> -         */
>>>>>>>> -              public function
>>>>>>>>OneFlexibleChildHorizontalLayoutLockChildHeight()
>>>>>>>> -              {
>>>>>>>> -                      super();
>>>>>>>> -              }
>>>>>>>> -
>>>>>>>> -        /**
>>>>>>>> -         * @copy org.apache.flex.core.IBeadLayout#layout
>>>>>>>> -         */
>>>>>>>> -              override public function layout():Boolean
>>>>>>>> -              {
>>>>>>>> -                      var ret:Boolean = super.layout();
>>>>>>>> -                      if (ret)
>>>>>>>> -                      {
>>>>>>>> -                              var contentView:ILayoutView = 
>>>>>>>> layoutView;
>>>>>>>> -      
>>>>>>>> -                              var n:int = contentView.numElements;
>>>>>>>> -
>>>>>>>> -                              var h:Number = host.height;
>>>>>>>> -                              for(var i:int=0; i < n; i++) {
>>>>>>>> -                                      var child:UIBase = 
>>>>>>>> contentView.getElementAt(i) as UIBase;
>>>>>>>> -                                      if (child != actualChild)
>>>>>>>> -                                              h = child.height;
>>>>>>>> -                              }
>>>>>>>> -                              actualChild.setHeight(h);
>>>>>>>> -                      }
>>>>>>>> -                      return ret;
>>>>>>>> -              }
>>>>>>>> -
>>>>>>>> -    }
>>>>>>>> -
>>>>>>>> -}
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframewor
>>>>>>>>ks
>>>>>>>> %2
>>>>>>>> Fp
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2F
>>>>>>>>be
>>>>>>>> ad
>>>>>>>> s%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>2Flayouts%2FOneFlexibleChildVerticalLayoutForOverflow.as&data=02%7C
>>>>>>>>01
>>>>>>>> %7
>>>>>>>> C%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178dece
>>>>>>>>e1
>>>>>>>> %7
>>>>>>>> C0
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>%7C0%7C636370058818766511&sdata=WdJnx6IGbPwIxUibKB3UqfKTHgHugWIleqB
>>>>>>>>Vs
>>>>>>>> qJ
>>>>>>>> 5f
>>>>>>>> eE%3D&reserved=0
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> diff --git
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutForOverflow.as
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutForOverflow.as
>>>>>>>> new file mode 100644
>>>>>>>> index 0000000..5679f80
>>>>>>>> --- /dev/null
>>>>>>>> +++ 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutForOverflow.as
>>>>>>>> @@ -0,0 +1,291 @@
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>+//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> +//
>>>>>>>> +//  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
>>>>>>>> +//
>>>>>>>> +//      
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww
>>>>>>>>.a
>>>>>>>> pa
>>>>>>>> ch
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3
>>>>>>>>ae
>>>>>>>> 08
>>>>>>>> d4
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363700588187
>>>>>>>>66
>>>>>>>> 51
>>>>>>>> 1&
>>>>>>>> sdata=bButr5xXaczhl741iZvjXub0l1B72d%2FvImajqD7mvyA%3D&reserved=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.
>>>>>>>> +//
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>+//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> +package org.apache.flex.html.beads.layouts
>>>>>>>> +{
>>>>>>>> +      import org.apache.flex.core.LayoutBase;
>>>>>>>> +      import org.apache.flex.core.IDocument;
>>>>>>>> +      import org.apache.flex.core.ILayoutChild;
>>>>>>>> +      import org.apache.flex.core.ILayoutHost;
>>>>>>>> +      import org.apache.flex.core.ILayoutView;
>>>>>>>> +      import org.apache.flex.core.ILayoutParent;
>>>>>>>> +      import org.apache.flex.core.IParentIUIBase;
>>>>>>>> +      import org.apache.flex.core.IStrand;
>>>>>>>> +      import org.apache.flex.core.IStyleableObject;
>>>>>>>> +      import org.apache.flex.core.IUIBase;
>>>>>>>> +      import org.apache.flex.core.ValuesManager;
>>>>>>>> +      import org.apache.flex.core.UIBase;
>>>>>>>> +      import org.apache.flex.events.Event;
>>>>>>>> +      import org.apache.flex.geom.Rectangle;
>>>>>>>> +      import org.apache.flex.utils.CSSContainerUtils;
>>>>>>>> +      import org.apache.flex.utils.CSSUtils;
>>>>>>>> +
>>>>>>>> +    /**
>>>>>>>> +     *  The OneFlexibleChildVerticalLayoutForOverflow is
>>>>>>>> +       *  intended for building apps that clip
>>>>>>>> +       *  and/or scroll the overflow, especially in a
>>>>>>>> +       *  3-pane view like the ASDoc examples.  It does not use
>>>>>>>> +       *  FlexBox because FlexBox wants to grow to the size
>>>>>>>> +       *  of the content without specifying width/height on
>>>>>>>> +       *  the flexible child.  But then the children in
>>>>>>>> +       *  the flexible child cannot use % sizing.
>>>>>>>> +       *  This layout presumes the parent is a known size.
>>>>>>>> +     *
>>>>>>>> +     *  @langversion 3.0
>>>>>>>> +     *  @playerversion Flash 10.2
>>>>>>>> +     *  @playerversion AIR 2.6
>>>>>>>> +     *  @productversion FlexJS 0.0
>>>>>>>> +     */
>>>>>>>> +      public class OneFlexibleChildVerticalLayoutForOverflow extends
>>>>>>>> LayoutBase implements IOneFlexibleChildLayout, IDocument
>>>>>>>> +      {
>>>>>>>> +        /**
>>>>>>>> +         *  Constructor.
>>>>>>>> +         *
>>>>>>>> +         *  @langversion 3.0
>>>>>>>> +         *  @playerversion Flash 10.2
>>>>>>>> +         *  @playerversion AIR 2.6
>>>>>>>> +         *  @productversion FlexJS 0.0
>>>>>>>> +         */
>>>>>>>> +              public function 
>>>>>>>> OneFlexibleChildVerticalLayoutForOverflow()
>>>>>>>> +              {
>>>>>>>> +                      super();
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        private var _flexibleChild:String;
>>>>>>>> +
>>>>>>>> +        protected var actualChild:ILayoutChild;
>>>>>>>> +
>>>>>>>> +        /**
>>>>>>>> +         *  @private
>>>>>>>> +         *  The document.
>>>>>>>> +         */
>>>>>>>> +        private var document:Object;
>>>>>>>> +
>>>>>>>> +              /**
>>>>>>>> +               *  The id of the flexible child
>>>>>>>> +               *
>>>>>>>> +               *  @langversion 3.0
>>>>>>>> +               *  @playerversion Flash 10.2
>>>>>>>> +               *  @playerversion AIR 2.6
>>>>>>>> +               *  @productversion FlexJS 0.0
>>>>>>>> +               */
>>>>>>>> +              public function get flexibleChild():String
>>>>>>>> +              {
>>>>>>>> +                      return _flexibleChild;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +              /**
>>>>>>>> +               * @private
>>>>>>>> +               */
>>>>>>>> +              public function set flexibleChild(value:String):void
>>>>>>>> +              {
>>>>>>>> +                      _flexibleChild = value;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        /**
>>>>>>>> +         * @copy org.apache.flex.core.IBeadLayout#layout
>>>>>>>> +         */
>>>>>>>> +              COMPILE::JS
>>>>>>>> +              override public function layout():Boolean
>>>>>>>> +              {
>>>>>>>> +                      var contentView:ILayoutView = layoutView;
>>>>>>>> +
>>>>>>>> +                      actualChild = document[flexibleChild];
>>>>>>>> +
>>>>>>>> +                      var n:int = contentView.numElements;
>>>>>>>> +                      if (n == 0) return false;
>>>>>>>> +
>>>>>>>> +                      for(var i:int=0; i < n; i++) {
>>>>>>>> +                              var child:UIBase = 
>>>>>>>> contentView.getElementAt(i) as UIBase;
>>>>>>>> +                              if (child.element.style["display"] != 
>>>>>>>> "flex" &&
>>>>>>>> child.element.style["display"] != "none")
>>>>>>>> +                                      child.element.style["display"] 
>>>>>>>> = "block";
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      var h:Number = host.height;
>>>>>>>> +                      for(i=0; i < n; i++) {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> UIBase;
>>>>>>>> +                              if (child != actualChild)
>>>>>>>> +                                      h -= child.height;
>>>>>>>> +                      }
>>>>>>>> +                      actualChild.height = h;
>>>>>>>> +                                      
>>>>>>>> +                      return true;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +              COMPILE::SWF
>>>>>>>> +              override public function layout():Boolean
>>>>>>>> +              {
>>>>>>>> +                      var contentView:ILayoutView = layoutView;
>>>>>>>> +                      actualChild = 
>>>>>>>> document.hasOwnProperty(flexibleChild) ?
>>>>>>>> document[flexibleChild] : null;
>>>>>>>> +
>>>>>>>> +                      var n:Number = contentView.numElements;
>>>>>>>> +                      if (n == 0) return false;
>>>>>>>> +                      
>>>>>>>> +                      var maxWidth:Number = 0;
>>>>>>>> +                      var maxHeight:Number = 0;
>>>>>>>> +                      var hostSizedToContent:Boolean = 
>>>>>>>> host.isWidthSizedToContent();
>>>>>>>> +                      var hostWidth:Number = host.width;
>>>>>>>> +                      var hostHeight:Number = host.height;
>>>>>>>> +
>>>>>>>> +                      var ilc:ILayoutChild;
>>>>>>>> +                      var data:Object;
>>>>>>>> +                      var canAdjust:Boolean = false;
>>>>>>>> +                      var margins:Object;
>>>>>>>> +
>>>>>>>> +                      var paddingMetrics:Rectangle =
>>>>>>>> CSSContainerUtils.getPaddingMetrics(host);
>>>>>>>> +                      var borderMetrics:Rectangle =
>>>>>>>> CSSContainerUtils.getBorderMetrics(host);
>>>>>>>> +                      
>>>>>>>> +                      // adjust the host's usable size by the 
>>>>>>>> metrics. If
>>>>>>>> hostSizedToContent, then the
>>>>>>>> +                      // resulting adjusted value may be less than 
>>>>>>>> zero.
>>>>>>>> +                      hostWidth -= paddingMetrics.left + 
>>>>>>>> paddingMetrics.right +
>>>>>>>> borderMetrics.left + borderMetrics.right;
>>>>>>>> +                      hostHeight -= paddingMetrics.top + 
>>>>>>>> paddingMetrics.bottom +
>>>>>>>> borderMetrics.top + borderMetrics.bottom;
>>>>>>>> +
>>>>>>>> +                      var xpos:Number = borderMetrics.left + 
>>>>>>>> paddingMetrics.left;
>>>>>>>> +                      var ypos:Number = borderMetrics.top + 
>>>>>>>> paddingMetrics.left;
>>>>>>>> +                      var child:IUIBase;
>>>>>>>> +                      var childWidth:Number;
>>>>>>>> +                      var i:int;
>>>>>>>> +                      var childXpos:Number;
>>>>>>>> +                      var adjustTop:Number = 0;
>>>>>>>> +                      var adjustBottom:Number = hostHeight + 
>>>>>>>> borderMetrics.top +
>>>>>>>> paddingMetrics.top;
>>>>>>>> +
>>>>>>>> +                      // first work from top to bottom
>>>>>>>> +                      for(i=0; i < n; i++)
>>>>>>>> +                      {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> IUIBase;
>>>>>>>> +                              if (child == null || !child.visible) 
>>>>>>>> continue;
>>>>>>>> +                              if (child == actualChild) break;
>>>>>>>> +
>>>>>>>> +                              margins = childMargins(child, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = child as ILayoutChild;
>>>>>>>> +
>>>>>>>> +                              ypos += margins.top;
>>>>>>>> +
>>>>>>>> +                              childXpos = xpos + margins.left; // 
>>>>>>>> default x position
>>>>>>>> +
>>>>>>>> +                              childWidth = child.width;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentWidth)) {
>>>>>>>> +                                              childWidth = hostWidth 
>>>>>>>> * ilc.percentWidth/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitWidth)) {
>>>>>>>> +                                              childWidth = hostWidth;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setWidth(childWidth);
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      ilc.setX(childXpos);
>>>>>>>> +                                      ilc.setY(ypos);
>>>>>>>> +
>>>>>>>> +                                      if (!isNaN(ilc.percentHeight)) {
>>>>>>>> +                                              
>>>>>>>> ilc.setHeight(hostHeight * ilc.percentHeight / 100);
>>>>>>>> +                                      }
>>>>>>>> +
>>>>>>>> +                              } else {
>>>>>>>> +                                      child.x = childXpos;
>>>>>>>> +                                      child.y = ypos;
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              ypos += child.height + margins.bottom;
>>>>>>>> +                              adjustTop = ypos;
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      // then work from bottom to top
>>>>>>>> +                      ypos = hostHeight + borderMetrics.top + 
>>>>>>>> paddingMetrics.top;
>>>>>>>> +
>>>>>>>> +                      for(i=(n-1); actualChild != null && i >= 0; i--)
>>>>>>>> +                      {
>>>>>>>> +                              child = contentView.getElementAt(i) as 
>>>>>>>> IUIBase;
>>>>>>>> +                              if (child == null || !child.visible) 
>>>>>>>> continue;
>>>>>>>> +                              if (child == actualChild) break;
>>>>>>>> +
>>>>>>>> +                              margins = childMargins(child, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = child as ILayoutChild;
>>>>>>>> +
>>>>>>>> +                              childXpos = xpos + margins.left; // 
>>>>>>>> default x position
>>>>>>>> +
>>>>>>>> +                              childWidth = child.width;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentWidth)) {
>>>>>>>> +                                              childWidth = hostWidth 
>>>>>>>> * ilc.percentWidth/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitWidth)) {
>>>>>>>> +                                              childWidth = hostWidth;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setWidth(childWidth);
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      if (!isNaN(ilc.percentHeight)) {
>>>>>>>> +                                              
>>>>>>>> ilc.setHeight(hostHeight * ilc.percentHeight / 100);
>>>>>>>> +                                      }
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              ypos -= child.height + margins.bottom;
>>>>>>>> +
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      ilc.setX(childXpos);
>>>>>>>> +                                      ilc.setY(ypos);
>>>>>>>> +                              } else {
>>>>>>>> +                                      child.x = childXpos;
>>>>>>>> +                                      child.y = ypos;
>>>>>>>> +                              }
>>>>>>>> +
>>>>>>>> +                              ypos -= margins.top;
>>>>>>>> +                              adjustBottom = ypos;
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      // now adjust the actualChild to fill the space.
>>>>>>>> +                      if (actualChild != null) {
>>>>>>>> +                              margins = childMargins(actualChild, 
>>>>>>>> hostWidth, hostHeight);
>>>>>>>> +                              ilc = actualChild as ILayoutChild;
>>>>>>>> +                              childWidth = actualChild.width;
>>>>>>>> +                              if (ilc != null)
>>>>>>>> +                              {
>>>>>>>> +                                      if (!isNaN(ilc.percentWidth)) {
>>>>>>>> +                                              childWidth = hostWidth 
>>>>>>>> * ilc.percentWidth/100.0;
>>>>>>>> +                                      }
>>>>>>>> +                                      else if 
>>>>>>>> (isNaN(ilc.explicitWidth)) {
>>>>>>>> +                                              childWidth = hostWidth;
>>>>>>>> +                                      }
>>>>>>>> +                                      ilc.setWidth(childWidth);
>>>>>>>> +                              }
>>>>>>>> +                              childXpos = xpos + margins.left;
>>>>>>>> +                                      
>>>>>>>> +                              actualChild.x = childXpos
>>>>>>>> +                              actualChild.y = adjustTop + margins.top;
>>>>>>>> +                              if (ilc) {
>>>>>>>> +                                      
>>>>>>>> ilc.setHeight((adjustBottom-margins.bottom) -
>>>>>>>> (adjustTop+margins.top));
>>>>>>>> +                              } else {
>>>>>>>> +                                      actualChild.height = 
>>>>>>>> (adjustBottom-margins.bottom) -
>>>>>>>> (adjustTop+margins.top);
>>>>>>>> +                              }
>>>>>>>> +                      }
>>>>>>>> +
>>>>>>>> +                      return true;
>>>>>>>> +              }
>>>>>>>> +
>>>>>>>> +        public function setDocument(document:Object, id:String =
>>>>>>>> null):void
>>>>>>>> +        {
>>>>>>>> +            this.document = document;
>>>>>>>> +        }
>>>>>>>> +    }
>>>>>>>> +
>>>>>>>> +}
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframewor
>>>>>>>>ks
>>>>>>>> %2
>>>>>>>> Fp
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2F
>>>>>>>>be
>>>>>>>> ad
>>>>>>>> s%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>2Flayouts%2FOneFlexibleChildVerticalLayoutLockChildWidth.as&data=02
>>>>>>>>%7
>>>>>>>> C0
>>>>>>>> 1%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178d
>>>>>>>>ec
>>>>>>>> ee
>>>>>>>> 1%
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>7C0%7C0%7C636370058818766511&sdata=4Q4bkts0dp4wvvLUtu2yTYNg%2Fr7jS8
>>>>>>>>bR
>>>>>>>> t4
>>>>>>>> co
>>>>>>>> 3nYbPKc%3D&reserved=0
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> diff --git 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutLockChildWidth.as
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutLockChildWidth.as
>>>>>>>> deleted file mode 100644
>>>>>>>> index 7415299..0000000
>>>>>>>> --- 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/bead
>>>>>>>>s/
>>>>>>>> la
>>>>>>>> yo
>>>>>>>> uts/OneFlexibleChildVerticalLayoutLockChildWidth.as
>>>>>>>> +++ /dev/null
>>>>>>>> @@ -1,93 +0,0 @@
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> -//
>>>>>>>> -//  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
>>>>>>>> -//
>>>>>>>> -//      
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww
>>>>>>>>.a
>>>>>>>> pa
>>>>>>>> ch
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3
>>>>>>>>ae
>>>>>>>> 08
>>>>>>>> d4
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363700588187
>>>>>>>>66
>>>>>>>> 51
>>>>>>>> 1&
>>>>>>>> sdata=bButr5xXaczhl741iZvjXub0l1B72d%2FvImajqD7mvyA%3D&reserved=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.
>>>>>>>> -//
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-//////////////////////////////////////////////////////////////////
>>>>>>>>//
>>>>>>>> //
>>>>>>>> //
>>>>>>>> ////////
>>>>>>>> -package org.apache.flex.html.beads.layouts
>>>>>>>> -{
>>>>>>>> -      import org.apache.flex.core.LayoutBase;
>>>>>>>> -      import org.apache.flex.core.IDocument;
>>>>>>>> -      import org.apache.flex.core.ILayoutChild;
>>>>>>>> -      import org.apache.flex.core.ILayoutHost;
>>>>>>>> -      import org.apache.flex.core.ILayoutView;
>>>>>>>> -      import org.apache.flex.core.ILayoutParent;
>>>>>>>> -      import org.apache.flex.core.IParentIUIBase;
>>>>>>>> -      import org.apache.flex.core.IStrand;
>>>>>>>> -      import org.apache.flex.core.IStyleableObject;
>>>>>>>> -      import org.apache.flex.core.IUIBase;
>>>>>>>> -      import org.apache.flex.core.ValuesManager;
>>>>>>>> -      import org.apache.flex.core.UIBase;
>>>>>>>> -      import org.apache.flex.events.Event;
>>>>>>>> -      import org.apache.flex.geom.Rectangle;
>>>>>>>> -      import org.apache.flex.utils.CSSContainerUtils;
>>>>>>>> -      import org.apache.flex.utils.CSSUtils;
>>>>>>>> -
>>>>>>>> -    /**
>>>>>>>> -     *  The OneFlexibleChildHorizontalLayoutLockChildHeight 
>>>>>>>> -       *  is a subclass of OneFlexibleChildHorizontalLayout
>>>>>>>> -       *  that sets the flexible child's height to be the height
>>>>>>>> -       *  of the host container.  This is useful when you
>>>>>>>> -       *  don't want the actual child's height to dictate the
>>>>>>>> -       *  height of the container in order to force
>>>>>>>> -       *  scrollbars or line wrapping.
>>>>>>>> -     *
>>>>>>>> -     *  @langversion 3.0
>>>>>>>> -     *  @playerversion Flash 10.2
>>>>>>>> -     *  @playerversion AIR 2.6
>>>>>>>> -     *  @productversion FlexJS 0.0
>>>>>>>> -     */
>>>>>>>> -      public class OneFlexibleChildVerticalLayoutLockChildWidth 
>>>>>>>>extends 
>>>>>>>> OneFlexibleChildVerticalLayout
>>>>>>>> -      {
>>>>>>>> -        /**
>>>>>>>> -         *  Constructor.
>>>>>>>> -         *
>>>>>>>> -         *  @langversion 3.0
>>>>>>>> -         *  @playerversion Flash 10.2
>>>>>>>> -         *  @playerversion AIR 2.6
>>>>>>>> -         *  @productversion FlexJS 0.0
>>>>>>>> -         */
>>>>>>>> -              public function 
>>>>>>>> OneFlexibleChildVerticalLayoutLockChildWidth()
>>>>>>>> -              {
>>>>>>>> -                      super();
>>>>>>>> -              }
>>>>>>>> -
>>>>>>>> -        /**
>>>>>>>> -         * @copy org.apache.flex.core.IBeadLayout#layout
>>>>>>>> -         */
>>>>>>>> -              override public function layout():Boolean
>>>>>>>> -              {
>>>>>>>> -                      var ret:Boolean = super.layout();
>>>>>>>> -                      if (ret)
>>>>>>>> -                      {
>>>>>>>> -                              var contentView:ILayoutView = 
>>>>>>>> layoutView;
>>>>>>>> -      
>>>>>>>> -                              var n:int = contentView.numElements;
>>>>>>>> -
>>>>>>>> -                              var w:Number = host.width;
>>>>>>>> -                              for(var i:int=0; i < n; i++) {
>>>>>>>> -                                      var child:UIBase = 
>>>>>>>> contentView.getElementAt(i) as UIBase;
>>>>>>>> -                                      if (child != actualChild)
>>>>>>>> -                                              w = child.width;
>>>>>>>> -                              }
>>>>>>>> -                              
>>>>>>>> -                              actualChild.setWidth(w); 
>>>>>>>> -                      }
>>>>>>>> -                      return ret;
>>>>>>>> -              }
>>>>>>>> -
>>>>>>>> -    }
>>>>>>>> -
>>>>>>>> -}
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit
>>>>>>>>-w
>>>>>>>> ip
>>>>>>>> -u
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframewor
>>>>>>>>ks
>>>>>>>> %2
>>>>>>>> Fp
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>rojects%2FBasic%2Fsrc%2Fmain%2Fresources%2Fbasic-manifest.xml&data=
>>>>>>>>02
>>>>>>>> %7
>>>>>>>> C0
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>1%7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c17
>>>>>>>>8d
>>>>>>>> ec
>>>>>>>> ee
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>1%7C0%7C0%7C636370058818766511&sdata=mPldYCuDfp%2BxQ4QROdu4BWSl3Dh7
>>>>>>>>HP
>>>>>>>> 19
>>>>>>>> VX
>>>>>>>> BR3B3IXOg%3D&reserved=0
>>>>>>>> 
>>>>>>>> 
>>>>>>>>-------------------------------------------------------------------
>>>>>>>>--
>>>>>>>> -
>>>>>>>> diff --git 
>>>>>>>> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml 
>>>>>>>> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>>>>>>>> index 7cbc05d..09bb1a3 100644
>>>>>>>> --- 
>>>>>>>> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>>>>>>>> +++ 
>>>>>>>> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>>>>>>>> @@ -150,8 +150,8 @@
>>>>>>>>  <component id="FlexibleFirstChildHorizontalLayout" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.FlexibleFirstChildHorizon
>>>>>>>>ta
>>>>>>>> lL
>>>>>>>> ay
>>>>>>>> out"/>
>>>>>>>>  <component id="OneFlexibleChildVerticalLayout" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalL
>>>>>>>>ay
>>>>>>>> ou
>>>>>>>> t"
>>>>>>>> />
>>>>>>>>  <component id="OneFlexibleChildHorizontalLayout" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizonta
>>>>>>>>lL
>>>>>>>> ay
>>>>>>>> ou
>>>>>>>> t"/>
>>>>>>>> -    <component id="OneFlexibleChildVerticalLayoutLockChildWidth" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalL
>>>>>>>>ay
>>>>>>>> ou
>>>>>>>> tL
>>>>>>>> ockChildWidth"/>
>>>>>>>> -    <component 
>>>>>>>> id="OneFlexibleChildHorizontalLayoutLockChildHeight" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizonta
>>>>>>>>lL
>>>>>>>> ay
>>>>>>>> ou
>>>>>>>> tLockChildHeight"/>
>>>>>>>> +    <component id="OneFlexibleChildVerticalLayoutForOverflow" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalL
>>>>>>>>ay
>>>>>>>> ou
>>>>>>>> tF
>>>>>>>> orOverflow"/>
>>>>>>>> +    <component id="OneFlexibleChildHorizontalLayoutForOverflow" 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>>class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizonta
>>>>>>>>lL
>>>>>>>> ay
>>>>>>>> ou
>>>>>>>> tForOverflow"/>
>>>>>>>>  <component id="MXMLBeadView" 
>>>>>>>> class="org.apache.flex.html.MXMLBeadView"/>
>>>>>>>> 
>>>>>>>>  <component id="SubAppLoader" 
>>>>>>>> class="org.apache.flex.html.SubAppLoader" />
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>

Reply via email to