angular/angular.js — pull request #9587 by mzgol (2014-10-13 11:31:11+00:00)
Title: fix($browser): account for IE deserializing history.state on each read

IE 10-11+ deserialize history.state on every read, causing simple comparisons
against history.state always return false. Account for that caching
`history.state` on every hashchange or popstate event.

Also, prevent firing onUrlChange callbacks twice if both popstate and hashchange
event were fired.