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%2Fcodepen
>>>> .i
>>>> 
>>>> o%2Fjpdevries%2Fpen%2FoXxPOP&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08d4d
>>>> 73
>>>> 
>>>> 2638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636370058818766511&sd
>>>> at
>>>> a=tSTNYANFFiQ4DMGYbAZaz0dJ9qYDYpcwP2ZoSYRIcG8%3D&reserved=0
>>>> 
>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcodepe
>>>> n.
>>>> 
>>>> io%2Fjpdevries%2Fpen%2FoXxPOP&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08d4
>>>> d7
>>>> 
>>>> 32638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636370058818766511&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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Frepo&data=02%7C01%7C%7C699bbb1
>>>>> 70
>>>>> 
>>>>> b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63
>>>>> 63
>>>>> 
>>>>> 70058818766511&sdata=P%2FMkfZAwCYwpQEoCe5UGx8tW0mZaIZsMdDg6VxlaKWA%3D&r
>>>>> es
>>>>> erved=0
>>>>> Commit: 
>>>>> 
>>>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fcommit%2Fbdd34d2e&data=02%7C01
>>>>> %7
>>>>> 
>>>>> C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1
>>>>> %7
>>>>> 
>>>>> C0%7C0%7C636370058818766511&sdata=QosBAau8lE4nCS7c%2F8B6GDc%2Bqa%2BpSko
>>>>> P5
>>>>> 5x3oji5FnI%3D&reserved=0
>>>>> Tree: 
>>>>> 
>>>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Ftree%2Fbdd34d2e&data=02%7C01%7
>>>>> C%
>>>>> 
>>>>> 7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7
>>>>> C0
>>>>> 
>>>>> %7C0%7C636370058818766511&sdata=T4CCqwtn%2FgFTmAnaI%2BuCXqtX0P75ebpKVZO
>>>>> xf
>>>>> XOTbIE%3D&reserved=0
>>>>> Diff: 
>>>>> 
>>>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fdiff%2Fbdd34d2e&data=02%7C01%7
>>>>> C%
>>>>> 
>>>>> 7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7
>>>>> C0
>>>>> 
>>>>> %7C0%7C636370058818766511&sdata=f8WVJXc81KrLMuUgRckULYCfglNL7d%2BfdjSbB
>>>>> 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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframeworks%2
>>>>> Fp
>>>>> 
>>>>> rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2Fbead
>>>>> s%
>>>>> 
>>>>> 2Flayouts%2FOneFlexibleChildHorizontalLayoutForOverflow.as&data=02%7C01
>>>>> %7
>>>>> 
>>>>> C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1
>>>>> %7
>>>>> 
>>>>> C0%7C0%7C636370058818766511&sdata=L7BjG%2BM7nTwguX%2BNaE5Op6BIT7XZrEqKF
>>>>> op
>>>>> 0D%2Frc0Aw%3D&reserved=0
>>>>> ----------------------------------------------------------------------
>>>>> diff --git 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildHorizontalLayoutForOverflow.as
>>>>> 
>>>>> b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/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/beads/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.apa
>>>>> ch
>>>>> 
>>>>> e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08
>>>>> d4
>>>>> 
>>>>> d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63637005881876651
>>>>> 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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframeworks%2
>>>>> Fp
>>>>> 
>>>>> rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2Fbead
>>>>> s%
>>>>> 
>>>>> 2Flayouts%2FOneFlexibleChildHorizontalLayoutLockChildHeight.as&data=02%
>>>>> 7C
>>>>> 
>>>>> 01%7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178de
>>>>> ce
>>>>> 
>>>>> e1%7C0%7C0%7C636370058818766511&sdata=Ir1Siye21IUzzijpvWA1XmQN0AbHktLu%
>>>>> 2F
>>>>> u3h%2BRtBZT0%3D&reserved=0
>>>>> ----------------------------------------------------------------------
>>>>> diff --git 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildHorizontalLayoutLockChildHeight.as
>>>>> 
>>>>> b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildHorizontalLayoutLockChildHeight.as
>>>>> deleted file mode 100644
>>>>> index d170d23..0000000
>>>>> --- 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/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.apa
>>>>> ch
>>>>> 
>>>>> e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08
>>>>> d4
>>>>> 
>>>>> d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63637005881876651
>>>>> 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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframeworks%2
>>>>> Fp
>>>>> 
>>>>> rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2Fbead
>>>>> s%
>>>>> 
>>>>> 2Flayouts%2FOneFlexibleChildVerticalLayoutForOverflow.as&data=02%7C01%7
>>>>> C%
>>>>> 
>>>>> 7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7
>>>>> C0
>>>>> 
>>>>> %7C0%7C636370058818766511&sdata=WdJnx6IGbPwIxUibKB3UqfKTHgHugWIleqBVsqJ
>>>>> 5f
>>>>> eE%3D&reserved=0
>>>>> ----------------------------------------------------------------------
>>>>> diff --git 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildVerticalLayoutForOverflow.as
>>>>> 
>>>>> b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/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/beads/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.apa
>>>>> ch
>>>>> 
>>>>> e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08
>>>>> d4
>>>>> 
>>>>> d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63637005881876651
>>>>> 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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframeworks%2
>>>>> Fp
>>>>> 
>>>>> rojects%2FBasic%2Fsrc%2Fmain%2Fflex%2Forg%2Fapache%2Fflex%2Fhtml%2Fbead
>>>>> s%
>>>>> 
>>>>> 2Flayouts%2FOneFlexibleChildVerticalLayoutLockChildWidth.as&data=02%7C0
>>>>> 1%
>>>>> 
>>>>> 7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178decee
>>>>> 1%
>>>>> 
>>>>> 7C0%7C0%7C636370058818766511&sdata=4Q4bkts0dp4wvvLUtu2yTYNg%2Fr7jS8bRt4
>>>>> co
>>>>> 3nYbPKc%3D&reserved=0
>>>>> ----------------------------------------------------------------------
>>>>> diff --git 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildVerticalLayoutLockChildWidth.as
>>>>> 
>>>>> b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/la
>>>>> yo
>>>>> uts/OneFlexibleChildVerticalLayoutLockChildWidth.as
>>>>> deleted file mode 100644
>>>>> index 7415299..0000000
>>>>> --- 
>>>>> 
>>>>> a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/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.apa
>>>>> ch
>>>>> 
>>>>> e.org%2Flicenses%2FLICENSE-2.0&data=02%7C01%7C%7C699bbb170b2c4f0bf3ae08
>>>>> d4
>>>>> 
>>>>> d732638a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63637005881876651
>>>>> 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-wip
>>>>> -u
>>>>> 
>>>>> s.apache.org%2Frepos%2Fasf%2Fflex-asjs%2Fblob%2Fbdd34d2e%2Fframeworks%2
>>>>> Fp
>>>>> 
>>>>> rojects%2FBasic%2Fsrc%2Fmain%2Fresources%2Fbasic-manifest.xml&data=02%7
>>>>> C0
>>>>> 
>>>>> 1%7C%7C699bbb170b2c4f0bf3ae08d4d732638a%7Cfa7b1b5a7b34438794aed2c178dec
>>>>> ee
>>>>> 
>>>>> 1%7C0%7C0%7C636370058818766511&sdata=mPldYCuDfp%2BxQ4QROdu4BWSl3Dh7HP19
>>>>> 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.FlexibleFirstChildHorizontalL
>>>>> ay
>>>>> out"/>
>>>>>   <component id="OneFlexibleChildVerticalLayout" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayou
>>>>> t"
>>>>> />
>>>>>   <component id="OneFlexibleChildHorizontalLayout" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLay
>>>>> ou
>>>>> t"/>
>>>>> -    <component id="OneFlexibleChildVerticalLayoutLockChildWidth" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayou
>>>>> tL
>>>>> ockChildWidth"/>
>>>>> -    <component id="OneFlexibleChildHorizontalLayoutLockChildHeight" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLay
>>>>> ou
>>>>> tLockChildHeight"/>
>>>>> +    <component id="OneFlexibleChildVerticalLayoutForOverflow" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildVerticalLayou
>>>>> tF
>>>>> orOverflow"/>
>>>>> +    <component id="OneFlexibleChildHorizontalLayoutForOverflow" 
>>>>> 
>>>>> class="org.apache.flex.html.beads.layouts.OneFlexibleChildHorizontalLay
>>>>> ou
>>>>> tForOverflow"/>
>>>>>   <component id="MXMLBeadView" 
>>>>> class="org.apache.flex.html.MXMLBeadView"/>
>>>>> 
>>>>>   <component id="SubAppLoader" 
>>>>> class="org.apache.flex.html.SubAppLoader" />
>>>>> 
>>>> 
>>> 
>> 
>> 
> 


Reply via email to