src/common/js/winjs/js/ui.js
function Flyout_checkKeyboardFit() {
                    // Special Flyout positioning rules to determine if the Flyout needs to adjust its
                    // position because of the IHM. If the Flyout needs to adjust for the IHM, it will reposition
                    // itself to be pinned to either the top or bottom edge of the visual viewport.
                    // - Too Tall, above top, or below bottom.

                    var keyboardMovedUs = false;
                    var viewportHeight = _Overlay._Overlay._keyboardInfo._visibleDocHeight;
                    var adjustedMarginBoxHeight = this._currentPosition.contentHeight + this._currentPosition.verticalMarginBorderPadding;
                    if (adjustedMarginBoxHeight > viewportHeight) {
                        // The Flyout is now too tall to fit in the viewport, pin to top and adjust height.
                        keyboardMovedUs = true;
                        this._currentPosition.top = _Constants.pinToBottomEdge;
                        this._currentPosition.contentHeight = viewportHeight - this._currentPosition.verticalMarginBorderPadding;
                        this._currentPosition.doesScroll = true;
                    } else if (this._currentPosition.top >= 0 &&
                        this._currentPosition.top + adjustedMarginBoxHeight > _Overlay._Overlay._keyboardInfo._visibleDocBottom) {
                        // Flyout clips the bottom of the viewport. Pin to bottom.
                        this._currentPosition.top = _Constants.pinToBottomEdge;
                        keyboardMovedUs = true;
                    } else if (this._currentPosition.top === _Constants.pinToBottomEdge) {
                        // We were already pinned to the bottom, so our position on screen will change
                        keyboardMovedUs = true;
                    }

                    // Signals use of basic fadein animation
                    this._keyboardMovedUs = keyboardMovedUs;
                }
function Flyout_checkKeyboardFit() {
                    // Special Flyout positioning rules to determine if the Flyout needs to adjust its
                    // position because of the IHM. If the Flyout needs to adjust for the IHM, it will reposition
                    // itself to be pinned to either the top or bottom edge of the visual viewport.
                    // - Too Tall, above top, or below bottom.

                    var keyboardMovedUs = false;
                    var viewportHeight = _Overlay._Overlay._keyboardInfo._visibleDocHeight;
                    var adjustedMarginBoxHeight = this._currentPosition.contentHeight + this._currentPosition.verticalMarginBorderPadding;
                    if (adjustedMarginBoxHeight > viewportHeight) {
                        // The Flyout is now too tall to fit in the viewport, pin to top and adjust height.
                        keyboardMovedUs = true;
                        this._currentPosition.top = _Constants.pinToBottomEdge;
                        this._currentPosition.contentHeight = viewportHeight - this._currentPosition.verticalMarginBorderPadding;
                        this._currentPosition.doesScroll = true;
                    } else if (this._currentPosition.top >= 0 &&
                        this._currentPosition.top + adjustedMarginBoxHeight > _Overlay._Overlay._keyboardInfo._visibleDocBottom) {
                        // Flyout clips the bottom of the viewport. Pin to bottom.
                        this._currentPosition.top = _Constants.pinToBottomEdge;
                        keyboardMovedUs = true;
                    } else if (this._currentPosition.top === _Constants.pinToBottomEdge) {
                        // We were already pinned to the bottom, so our position on screen will change
                        keyboardMovedUs = true;
                    }

                    // Signals use of basic fadein animation
                    this._keyboardMovedUs = keyboardMovedUs;
                }
function Flyout_checkKeyboardFit ( ) { // Special Flyout positioning rules to determine if the Flyout needs to adjust its // position because of the IHM. If the Flyout needs to adjust for the IHM, it will reposition // itself to be pinned to either the top or bottom edge of the visual viewport. // - Too Tall, above top, or below bottom. var keyboardMovedUs = false ; var viewportHeight = _Overlay . _Overlay . _keyboardInfo . _visibleDocHeight ; var adjustedMarginBoxHeight = this . _currentPosition . contentHeight + this . _currentPosition . verticalMarginBorderPadding ; if ( adjustedMarginBoxHeight > viewportHeight ) { // The Flyout is now too tall to fit in the viewport, pin to top and adjust height. keyboardMovedUs = true ; this . _currentPosition . top = _Constants . pinToBottomEdge ; this . _currentPosition . contentHeight = viewportHeight - this . _currentPosition . verticalMarginBorderPadding ; this . _currentPosition . doesScroll = true ; } else if ( this . _currentPosition . top >= 0 && this . _currentPosition . top + adjustedMarginBoxHeight > _Overlay . _Overlay . _keyboardInfo . _visibleDocBottom ) { // Flyout clips the bottom of the viewport. Pin to bottom. this . _currentPosition . top = _Constants . pinToBottomEdge ; keyboardMovedUs = true ; } else if ( this . _currentPosition . top === _Constants . pinToBottomEdge ) { // We were already pinned to the bottom, so our position on screen will change keyboardMovedUs = true ; } // Signals use of basic fadein animation this . _keyboardMovedUs = keyboardMovedUs ; }
If you were not pinned to the bottom, you might have to be now.
If you were not pinned to the bottom you might have to be now .