**Do you want to request a *feature* or report a *bug*?**
Bug

**What is the current behavior?**
When an input field changes from "email" to "text", an exception TypeError will be thrown from setSelection.
![Screenshot](https://raw.githubusercontent.com/adrianimboden/react-bug-reproduction/master/screenshot.png)

**Reproduction**
See here: https://github.com/adrianimboden/react-bug-reproduction

**What is the expected behavior?**
It should not crash because of an uncaught exception

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
master (https://github.com/facebook/react/commit/4ca7855ca062d5d7dfca83c86acf46731e1e57ef)
Firefox

This would be my proposed change to fix the issue: https://github.com/adrianimboden/react/commit/db923b8c3c1cb23ad9fb150c160ce56f39dd3cae
}
  }
}
/**
 * @getSelection: Gets the selection bounds of a focused textarea, input or
 * contentEditable node.
 * -@input: Look up selection bounds of this input
 * -@return {start: selectionStart, end: selectionEnd}
 */
export function getSelection(input) {
  let selection;
  if ('selectionStart' in input) {
    
    selection = {
      start: input.selectionStart,
      end: input.selectionEnd,
    };
  } else {
    
    selection = ReactDOMSelection.getOffsets(input);
  }
  return selection || {start: 0, end: 0};
}
/**
 * @setSelection: Sets the selection bounds of a textarea or input and focuses
 * the input.
 * -@input     Set selection bounds of this input or textarea
 * -@offsets   Object of same form that is returned from get*
 */
export function setSelection(input, offsets) {