evalAfterBackForwardNavigation causes hang when page can't be cached I was trying to write a test case for back/forward navigation where cacheing the page should be disallowed. This hangs DRT because evalAfterBackForwardNavigation keeps getting called by my onload every time the first page is reload. We need some sort of loop check for evalAfterBackForwardNavigation.
Created attachment 5789 [details] test case
I didn't consider a page not making it into the cache when I wrote the NavigationController class. The simple solution here is to have evalAfterBackForwardNavigation execute only once per page. In the future, if someone wants to use it more than once on a page, they can dream up a more interesting hashing solution.
We could also use something like if (!navigationController.didNavigate) {...} or navigationController.setState(true) if (!navigationController.getState()) to make things arbitrarily extensible. valueForUndefinedKey would be helpful here, but it doesn't work yet.