     //--------------------------------------------------------------------------
     
     private var textDisplayGroup:VGroup;
-
+    
     private var _isIOS:Boolean;
+    
+    private var invalidateCaretPosition:Boolean = true;
     
     /**
      *  @private

        if (oldPreferredTextHeight != newPreferredTextHeight)
            invalidateSize();
        
        // Now that we're done with laying out the textDisplay, 
        // size the Group to the StyleableTextField plus padding
        setElementSize(textDisplayGroup, unscaledWidth, paddingTop + textHeight + paddingBottom);
        
        if (promptDisplay)
        {
            promptDisplay.commitStyles();
            setElementSize(promptDisplay, unscaledTextWidth, unscaledTextHeight);
            setElementPosition(promptDisplay, paddingLeft, paddingTop);
        }
    }
    
    private function caret_changeHandler(event:Event):void
    {
        // TODO (jasonsj): caret positioning on iOS
        // textDisplayGroup.verticalScrollPosition = textDisplay.getCharBoundaries(textDisplay.caretIndex).y;
    }
    
    /**
     *  @private
     */
    private function textDisplay_changeHandler(event:Event):void
    {
        textDisplayGroup.invalidateSize();
    }
}
}

use namespace mx_internal;

/**
 *  ActionScript-based skin for TextArea components in mobile applications.
 * 
