      */
     public function get autoSize():Boolean
     {
-        return _autoSize;
+        if (textView)
+            return textView.autoSize;
+            
+        // want the default to be true
+        var v:* = textViewProperties.autoSize;        
+        return (v === undefined) ? true : v;
     }
 
     /**


            textView.removeEventListener(FlexEvent.ENTER,
                                         textView_enterHandler);
        }
    }
    

     *  @productversion Flex 4
     */
    public var textView:RichEditableText;

    /**
     *  @private
     *  Several properties are proxied to textView.  However, when textView
     *  is not around, we need to store values set on TextBase.  This object 
     *  stores those values.  If textView is around, the values are stored 
     *  on the textView directly.  However, we need to know what values 
     *  have been set by the developer on TextInput/TextArea (versus set on 
     *  the textView or defaults of the textView) as those are values 
     *  we want to carry around if the textView changes (via a new skin). 
     *  In order to store this info effeciently, textViewProperties becomes 
     *  a uint to store a series of BitFlags.  These bits represent whether a 
     *  property has been explicitly set on this TextBase.  When the 
     *  textView is not around, textViewProperties is a typeless 
     *  object to store these proxied properties.  When textView is around,
     *  textViewProperties stores booleans as to whether these properties 
     *  have been explicitly set or not.
     */
    private var textViewProperties:Object = {};
   
    //--------------------------------------------------------------------------
    //
    //  Overridden methods
    //
    //--------------------------------------------------------------------------

    override protected function updateDisplayList(width:Number, height:Number):void
    {
        super.updateDisplayList(width, height);
