 import mx.core.ScrollUnit;
 import mx.events.PropertyChangeEvent;
 import mx.managers.IFocusManagerComponent;
+import flash.display.InteractiveObject;
 
 include "../styles/metadata/AdvancedCharacterFormatTextStyles.as"
 include "../styles/metadata/AdvancedContainerFormatTextStyles.as"

            viewport.clipContent = true;
            skin.addElementAt(viewport, 0);
            viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, viewport_propertyChangeHandler);
        }
        if (verticalScrollBar)
            verticalScrollBar.viewport = viewport;

        var vp:IViewport = viewport;
        if (!vp || event.isDefaultPrevented())
            return;
            
        // 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;
