This is a good second or third bug for anyone who's already completed a change to Mobile FF, and has a working knowledge of Javascript.
There's two places in our about:config editor where we make a "pref-is-new? y/n" check [1], and [2]
Unfortunately, we're currently checking the dynamic document-list of items currently displayed, and we should be checking the internal global-list.
Both checks need to be modified to make the correct decision. The change at [1] just requires the invalid check to be corrected.
The change at [2] will involve an additional logic change. Currently the flow is:
if (!pref-is-in-list) {
// reload global-list and exit
}
// change item in document-list and fall-through
It needs to be changed to reflect:
if (pref-in-document-list) {
// change item in document-list and exit
}
if (!pref-in-global-list) {
// reload global-list and exit
}
// Pref already in global list, will update document list
// later, fall-through, do nothing for now
[1] http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/config.js?rev=3bdce03e9ec0&mark=90-90#80
[2] http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/config.js?rev=3bdce03e9ec0&mark=475-475#459