             setLayoutBoundsSize(screenBounds.width, screenBounds.height, true);
             // set the explicit width/height to make sure this value sticks regardless 
             // of any other code or layout passes.  Calling setLayoutBoundsSize() before hand
-            // allows us to use postLayout width/height
+            // allows us to use postLayout width/height.
+            // Setting explictWidth/Height sets percentWidth/Height to NaN. 
             this.explicitWidth = width;
             this.explicitHeight = height;
             setLayoutBoundsPosition(0, 0, true);

            videoDisplay.videoObject.deblocking = beforeFullScreenInfo.deblocking;
        }
        
        // remove from top level application:
        PopUpManager.removePopUp(this);
        
        // add back to original parent
        if (beforeFullScreenInfo.parent is IVisualElementContainer)
            beforeFullScreenInfo.parent.addElementAt(this, beforeFullScreenInfo.childIndex);
        else
            beforeFullScreenInfo.parent.addChildAt(this, beforeFullScreenInfo.childIndex);
        
        // want to update pauseWhenHidden, but can't do it here
        // b/c the AIR window thinks it's invisible at this point
        // if we're on a Mac (a bug), so let's just defer this check

        this.y = beforeFullScreenInfo.y;
        this.explicitWidth = beforeFullScreenInfo.explicitWidth;
        this.explicitHeight = beforeFullScreenInfo.explicitHeight;
        this.percentWidth = beforeFullScreenInfo.percentWidth;
        this.percentHeight = beforeFullScreenInfo.percentHeight;
        
        // sometimes there's no video object currently or there might not've been a 
        // video object when we went in to fullScreen mode.  There may be no videoObject
