yui/yui3 — comment on commit 7dfbbf759aae9856f6ecc64a3f6e886385843627
File:  line 0
By ericf:

@rgrove I have a couple questions related to this change:

1. Why are we not concerned with iOS 5 in history-hash.js?
2. Don't we need to apply both of these WebKit bug workarounds in any module which uses `window.location` and caches a local reference?

Related to the second point: in both [`pjax-base.js`](https://github.com/yui/yui3/blob/master/src/pjax/js/pjax-base.js#L9-10) and [`app-base.js`](https://github.com/yui/yui3/blob/master/src/app/js/app-base.js#L23) I am messing with `window.location`.

In `app-base.js` I only cache a local reference to `Y.config.win` and only either call `win.location.replace()` or make an assignment to `win.location`; I assume that app-base.js will not have an issue.

I'm more worried about `pjax-base.js`, which has a local reference to `Y.config.win.location` and is accessing `pathname` and `protocol` from the cached reference to the location object; it also calls location's `replace()` method and makes an assignment to `win.location` like `app-base.js`.

What do you suggest we do to mitigate these issue throughout the library such that we won't continue to run into these nasty bugs?