     }
 
     //----------------------------------
+    //  selectionVisibility
+    //----------------------------------
+
+    /**
+     *  @private
+     */
+    private var _selectionVisibility:String =
+        TextSelectionVisibility.WHEN_FOCUSED;
+
+    /**
+     *  @private
+     */
+    private var selectionVisibilityChanged:Boolean = false;
+
+    /**
+     *  Documentation is not currently available.
+     * 
+     *  @default null
+     */
+    public function get selectionVisibility():String 
+    {
+        return _selectionVisibility;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set selectionVisibility(value:String):void
+    {
+        if (value == _selectionVisibility)
+            return;
+        
+        _selectionVisibility = value;
+        selectionVisibilityChanged = true;
+
+        invalidateProperties();
+    }
+
+    //----------------------------------
     //  text
     //----------------------------------
 

import flash.events.Event;
import flash.events.FocusEvent;

import mx.components.TextView;
import mx.components.baseClasses.FxComponent;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.events.TextOperationEvent;

        {
            textView.restrict = _restrict;
            restrictChanged = false;
        }

        if (selectionVisibilityChanged)
        {
            textView.selectionVisibility = _selectionVisibility;
            selectionVisibilityChanged = false;
        }
        
        if (mx_internal::textChanged)
