 import flash.events.FocusEvent;
 import flash.events.MouseEvent;
 import flash.events.KeyboardEvent;
+import flash.system.ApplicationDomain;
 import flash.text.TextField;
 import flash.ui.Keyboard;
 

        // If a TextField has the focus, then check to see if it's already
        // handling mouse wheel events.  For now, we'll make the same 
        // assumption about TextView.
        var focusOwner:InteractiveObject = getFocus();
        if ((focusOwner is TextField) && TextField(focusOwner).mouseWheelEnabled)
            return;    
        if (focusOwner is TextView)
            return;        

        var nSteps:uint = Math.abs(event.delta);
        var unit:ScrollUnit;

        if (verticalScrollBar && verticalScrollBar.visible)
        {
            unit = (event.delta < 0) ? ScrollUnit.DOWN : ScrollUnit.UP;

        }
    }
    
    // To avoid unconditionally linking the TextView class we lazily
    // get a reference if it's been linked already.  See below.
    private static var textViewClassLoaded:Boolean = false;
    private static var textViewClass:Class = null;

    private function mouseWheelHandler(event:MouseEvent):void
    {
        var vp:IViewport = viewport;
