docs: function ( clipboardData, node, root ) {
      var body = node.ownerDocument.body;
      var html, text;
  
      // Firefox will add an extra new line for BRs at the end of block when
      // calculating innerText, even though they don't actually affect display.
      // So we need to remove them first.
      cleanupBRs( node, root, true );
  
      node.setAttribute( 'style',
                         'position:fixed;overflow:hidden;bottom:100%;right:100%;' );
      body.appendChild( node );
      html = node.innerHTML;
      text = node.innerText || node.textContent;
  
      // Firefox (and others?) returns unix line endings (\n) even on Windows.
      // If on Windows, normalise to \r\n, since Notepad and some other crappy
      // apps do not understand just \n.
      if ( isWin ) {
        text = text.replace( /\r?\n/g, '\r\n' );
      }
  
      clipboardData.setData( 'text/html', html );
      clipboardData.setData( 'text/plain', text );
  
      body.removeChild( node );
    }