code: function _getViewportOverflows ( query, context ) {
          var windowProps, bodyProps,
              overflowPropNames = [ "overflow"],
              bodyOverflowPropNames = [ "overflow" ];
  
          if ( query.getHorizontal ) {
              overflowPropNames.push( "overflowX" );
              bodyOverflowPropNames.push( "overflowX" );
          }
          if ( query.getVertical ) {
              overflowPropNames.push( "overflowY" );
              bodyOverflowPropNames.push( "overflowY" );
          }
  
          windowProps = getCss( context.documentElement, overflowPropNames, { toLowerCase: true } );
          bodyProps = getCss( context.body, bodyOverflowPropNames, { toLowerCase: true } );
  
          return getAppliedViewportOverflows( windowProps, bodyProps );
      }
docs: Returns the applied overflow for the viewport (documentElement) and body in an aggregated `{ window: ...,
  body: ...}` hash. Helper for hasScrollbar().
  
  If we deal with window or body scroll bars, we always need the settings for both body and window (documentElement)
  because they are interdependent. See getAppliedViewportOverflows().
  
  @param {Object} query
  @param {Object} context
  @returns {{window: AppliedOverflow, body: AppliedOverflow}}