After bug 960746 lands, the restore zoom functionality is the only event relying on the OnHistory* listeners (e.g. ). As per bug 960746 comment 48, these listeners don't necessarily result in a page load event, meaning this restore zoom functionality may occur when we don't actually load a new page. If possible, we should move this restore functionality to a stable event such as onLocationChange (as per bug 960746). Afterwards, unregister the history listener and delete the associated methods . : https://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/browser.js?rev=d63fe263014c#4449 : https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISHistoryListener
Note that this move may not be possible because we may need the "restoreZoom" information before the onLocationChange (or other) event - analyze where it's used and make sure the update can occur at this later point.
Probably obsoleted by APZ and no longer needed (compare bug 1337325).