
Loading…
Fix for #1122 #1125
It fixes it for me, tested with Firefox 37 and 39. If you are still reproducing the issue even with this change, perhaps you could investigate further?
I'm not entirely clear on why there has to be a special path for about:blank and about:newtab at all, to be honest - why do those two need to call onNavigation where everything else just calls setIcon?
It might be worth revisiting that about:blank code, then. When I remove any special case and just use:
onTabSelect: function({target}) {
vAPI.setIcon(vAPI.tabs.getTabId(target), getOwnerWindow(target));
return;
},
the popup works perfectly well when clicking the New Tab button.
That is how it was before.
The popup shows up, yes, but onNavigation doesn't fire for those about pages when a tab is opened (you can see that the toolbar button stays gray).
I'm not sure if it's worth dealing with these cases, because I can't think any scenario which could cause trouble, but to keep this workaround and fix the issue at the same time, checking busyFlags only for Fennec would be enough.
Well, it's up to you, if you want to just stick in an if vAPI.fennec check in. I still think it would be better to have onTabSelect only call setIcon and never onNavigate, then if the grey icon needs fixing come up with a better workaround elsewhere...
Some further investigation: tabsProgressListener.onLocationChange doesn't seem to fire for about:blank, but interestingly, webProgressListener does. Which means the stuff we were discussing in #1084 might actually have some tangible benefit after all! Using that branch, together with the simplified onTabSelect function, it actually does the job and the icon goes red as expected.
Alright, let's use webProgressListener.
Great. I've merged in the webProgressListener branch, and I'll create a new pull request for that one (as this one seems to think there are 58 changed files, which is not right!)
Edit: it is #1135
- +1 −1 dist/description/description-ar.txt
- +1 −1 dist/description/description-hu.txt
- +2 −2 dist/description/description-ru.txt
- BIN doc/img/page-block.png
- +0 −4 platform/chromium/vapi-background.js
- +35 −7 platform/firefox/frameModule.js
- +5 −1 platform/firefox/frameScript.js
- +39 −75 platform/firefox/vapi-background.js
- +18 −0 platform/safari/vapi-background.js
- +12 −4 src/_locales/ar/messages.json
- +15 −7 src/_locales/bg/messages.json
- +10 −2 src/_locales/ca/messages.json
- +10 −2 src/_locales/cs/messages.json
- +10 −2 src/_locales/da/messages.json
- +10 −2 src/_locales/de/messages.json
- +10 −2 src/_locales/el/messages.json
- +10 −2 src/_locales/en/messages.json
- +10 −2 src/_locales/es/messages.json
- +10 −2 src/_locales/et/messages.json
- +16 −8 src/_locales/fa/messages.json
- +10 −2 src/_locales/fi/messages.json
- +10 −2 src/_locales/fil/messages.json
- +10 −2 src/_locales/fr/messages.json
- +10 −2 src/_locales/he/messages.json
- +10 −2 src/_locales/hi/messages.json
- +10 −2 src/_locales/hr/messages.json
- +29 −21 src/_locales/hu/messages.json
- +12 −4 src/_locales/id/messages.json
- +10 −2 src/_locales/it/messages.json
- +10 −2 src/_locales/ja/messages.json
- +10 −2 src/_locales/ko/messages.json
- +12 −4 src/_locales/lt/messages.json
- +11 −3 src/_locales/lv/messages.json
- +10 −2 src/_locales/mr/messages.json
- +10 −2 src/_locales/nb/messages.json
- +10 −2 src/_locales/nl/messages.json
- +10 −2 src/_locales/pl/messages.json
- +10 −2 src/_locales/pt_BR/messages.json
- +10 −2 src/_locales/pt_PT/messages.json
- +10 −2 src/_locales/ro/messages.json
- +10 −2 src/_locales/ru/messages.json
- +10 −2 src/_locales/sk/messages.json
- +12 −4 src/_locales/sl/messages.json
- +10 −2 src/_locales/sq/messages.json
- +10 −2 src/_locales/sr/messages.json
- +10 −2 src/_locales/sv/messages.json
- +12 −4 src/_locales/te/messages.json
- +14 −6 src/_locales/tr/messages.json
- +11 −3 src/_locales/uk/messages.json
- +10 −2 src/_locales/vi/messages.json
- +11 −3 src/_locales/zh_CN/messages.json
- +10 −2 src/_locales/zh_TW/messages.json
- +9 −7 src/document-blocked.html
- +43 −13 src/js/document-blocked.js
- +1 −1 src/js/messaging.js
- +2 −2 src/js/static-net-filtering.js
- +20 −0 src/js/storage.js
- +60 −0 src/js/traffic.js
Not sure why busyFlags can be undefined, but through testing it can be, and when it is, it causes #1122