     
     /**
      *  @private 
-     */
-    override mx_internal function validateEstimatedSizesOfChild(child:ILayoutElement):void
-    {
-        var cw:Number;
-        var ch:Number;
-        var c:Number;
-        var oldcw:Number = child.estimatedWidth;
-        var oldch:Number = child.estimatedHeight;
-        // the child actionBar and contentGroup are
-        // constrained to the width of the skin, but their
-        // height is not constrained
-        cw = estimatedWidth;
-        if (isNaN(cw) && !isNaN(explicitWidth))
-            cw = explicitWidth;
-        ch = NaN;
-        
-        child.setEstimatedSize(cw, ch);
-        if (child is ILayoutManagerContainerClient)
-        {
-            var sameWidth:Boolean = isNaN(cw) && isNaN(oldcw) || cw == oldcw;
-            var sameHeight:Boolean = isNaN(ch) && isNaN(oldch) || ch == oldch;
-            if (!(sameHeight && sameWidth))
-            {
-                if (child is IContainerInvalidating)
-                    IContainerInvalidating(child).invalidateEstimatedSizesOfChildren();
-                ILayoutManagerContainerClient(child).validateEstimatedSizesOfChildren();
-            }
-        }
-    }
-    
-    
-    /**
-     *  @private 
      */ 
     override protected function measure():void
     {


package spark.skins.mobile
{
import mx.core.IContainerInvalidating;
import mx.core.ILayoutElement;
import mx.core.mx_internal;
import mx.managers.ILayoutManagerContainerClient;

import spark.components.ActionBar;
import spark.components.Group;
import spark.components.ViewNavigator;
import spark.skins.mobile.supportClasses.MobileSkin;

use namespace mx_internal;

/**
 *  The ActionScript-based skin for view navigators in mobile

        var actionBarHeight:Number = 0;
        
        // The action bar is always placed at 0,0 and stretches the entire
        // width of the navigator
        if (actionBar.includeInLayout)
        {
            actionBarHeight = Math.min(actionBar.getPreferredBoundsHeight(), unscaledHeight);
