Status Bar Icons No Longer Display

RESOLVED FIXED in seamonkey2.1a3

Status

SeaMonkey
General
P2
major
RESOLVED FIXED
7 years ago
6 years ago

People

(Reporter: therube, Assigned: neil@parkwaycc.co.uk)

Tracking

Trunk
seamonkey2.1a3

Firefox Tracking Flags

(blocking-seamonkey2.1 a3+)

Details

Attachments

(3 attachments, 1 obsolete attachment)

(Reporter)

Description

7 years ago
User-Agent:       Mozilla/5.0 (Windows; Windows NT 6.1; rv:2.0b3pre) Gecko/20100721 SeaMonkey/2.1a3pre
Build Identifier: Mozilla/5.0 (Windows; Windows NT 6.1; rv:2.0b3pre) Gecko/20100721 SeaMonkey/2.1a3pre

 
(Appears that third-party) extensions that placed icons on the Status Bar no longer display.
 

Reproducible: Always

Steps to Reproduce:
 
1. Install an extension that places an icon on the Status Bar
 
Actual Results:  
 
No icon displays.
 

Expected Results:  
 
The icon should display.
 

 
Theme appears not to be an issue.

Regression between 7/20 & 7/21.
http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2010-07-20&enddate=2010-07-21

The extensions are there & do look to work.  They display in about:addons, context menu's work, shortcut keys work, you can open Properties ...

NoScript:
https://addons.mozilla.org/en-US/seamonkey/addon/722/
Actually you will need the latest #dev version here: http://noscript.net/getit#devel

Adblock Plus:
https://addons.mozilla.org/en-US/seamonkey/addon/1865/

Both NoScript & ABP have (options) to place icons on the Status Bar.
NoScript Options -> Appearance -> Status bar icon
ABP Preference -> Options -> Show in status bar

Neither (now) display.

Separately, though likely related, NoScript may display a "Status bar label", which would (normally) sit just above the Status Bar, that no longer displays.  (I believe that regression was a bit earlier.  Will have to check.)

Minefield does not show these issues.
Mozilla/5.0 (Windows; Windows NT 6.1; rv:2.0b3pre) Gecko/20100721 Minefield/4.0b3pre
(Reporter)

Comment 1

7 years ago
Created attachment 459285 [details]
Screenshot with various extension status bar icons displaying.
(Reporter)

Comment 2

7 years ago
Created attachment 459287 [details]
Screenshot with (3rd-party) extensions Status Bar icons missing.

(The two screenshots were actually from different Profiles.   Nevertheless, the premiss is valid.)
(Reporter)

Comment 3

7 years ago
Oh, just some other extensions that also no longer show (other then those mentioned already):

NoSquint: http://xsidebar.mozdev.org/modifiedmisc.html#nosquint
AutoCopy: https://addons.mozilla.org/en-US/firefox/addon/383/
JSView: https://addons.mozilla.org/en-US/firefox/addon/2076/

Comment 4

7 years ago
same for win xp
(Reporter)

Comment 5

7 years ago
> Separately, though likely related, NoScript may display a "Status bar label"

Ignore that comment.  Most likely a NoScript issue with the Trunk.  I'll pursue it there.
(Reporter)

Comment 6

7 years ago
Oops, gave you a wrong range in #1.

http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2010-07-20&enddate=2010-07-22b

Updated

7 years ago
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 7

7 years ago
I see this behavior (losing my NoScript icon) on my Win7-64 installation of

Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b3pre) Gecko/20100724 SeaMonkey/2.1a3pre.

Breaking the ability of extensions to communicate / interact with the user by using the status bar is not a good thing (obviously).
blocking-seamonkey2.1: --- → ?
Priority: -- → P2
Target Milestone: --- → seamonkey2.1a3
Version: unspecified → Trunk
Ok, partially investigated.

I first did not see this on 2.1a2 then realized I had to turn on ABP's status icon from its preferences. Once done I *do* see the icon in 2.1a2 and *not* in my self-built nightly.

I will be investigating/disecting further to see exactly where the bug lies (I'm not certain if its our side, or something the ABP developer and others need to fix on their end, but I wish to find out so at the worse case we can tell them what to do).

Assigning to myself, at least while I investigate.
Assignee: nobody → bugspam.Callek
[All testing for me done on Windows]
Nightly for July 20 = Has Icon
Built from http://hg.mozilla.org/mozilla-central/rev/c71dba463f85
and Built from http://hg.mozilla.org/comm-centra/rev/ee1f364c20a5

Nightly for July 21 = No Icon
Built from http://hg.mozilla.org/mozilla-central/rev/584d7e1b6854
62a9693b8d4b
and Built from http://hg.mozilla.org/comm-central/rev/62a9693b8d4b


Regression ranges:
c-c: http://hg.mozilla.org/comm-central/pushloghtml?fromchange=ee1f364c20a5&tochange=62a9693b8d4b
m-c: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c71dba463f85&tochange=584d7e1b6854

The range seems to indicate this could be KaiRo's fault.

Comment 10

7 years ago
Now i remember that i see this problem after applying Personas patch.

Updated

7 years ago
OS: Windows 7 → All
Hardware: x86 → All
(Assignee)

Comment 11

7 years ago
Early on in the creation of the window (before dynamic overlays load), a reference is made to the status bar element. This causes dynamic overlays to fail to overlay the status bar. The failure appears to be related to the XBL binding on the status bar since if I comment out its content then the overlay succeeds. The details of the reference are included below but this is a potential future issue as accessing the status bar element from inline script in navigator.js causes previous builds to fail in a similar way.

Inline script in charsetOverlay.js accesses the documentElement in order to work out which charset load listener to add. This then triggers the constructor for general.xml#root-element which looks for a lightweightthemesattribute and if so loads the lightweight theme consumer which retrives the status bar element so that it can set some attributes and styles on it.
(Assignee)

Comment 12

7 years ago
So, accessing the element triggers the XBL binding early, nut since overlays don't notify, the overlaid elements never make it into the XBL children. The easy way to verify this is to view the status bar element in DOM Inspector with and without anonymous nodes.

Comment 13

7 years ago
How does Firefox make it succeed? For the moment, they still have a status bar after all, and it works with lwthemes and 3rd-party overlays.

Updated

7 years ago
blocking-seamonkey2.1: ? → a3+
(Assignee)

Comment 14

7 years ago
Created attachment 460829 [details] [diff] [review]
Possible patch

The easiest solution from my point of view is to defer charset menu init until we get an event that it might be interested in. We then attach the real event handler, so if the event was for the wrong target then too bad, but at least we didn't miss an event for the correct target.

Note to self: this is a -w patch, don't check it in!
Attachment #460829 - Flags: review?(gavin.sharp)
(Assignee)

Comment 15

7 years ago
Created attachment 461299 [details] [diff] [review]
Updated for review comments

i.e. using load instead of pageshow, which fires first anyway.
Assignee: bugspam.Callek → neil
Status: NEW → ASSIGNED
Attachment #461299 - Flags: review?(gavin.sharp)
(Assignee)

Comment 16

7 years ago
Comment on attachment 460829 [details] [diff] [review]
Possible patch

Sigh, missed a checkbox...
Attachment #460829 - Attachment is obsolete: true
Attachment #460829 - Flags: review?(gavin.sharp)
Attachment #461299 - Flags: review?(gavin.sharp) → review+
(Assignee)

Comment 17

7 years ago
Comment on attachment 461299 [details] [diff] [review]
Updated for review comments

This stops charsetOverlay.js from touching elements and causing XBL binding to happen at an unsafe time (i.e. before layout has started).
Attachment #461299 - Flags: approval2.0?
Comment on attachment 461299 [details] [diff] [review]
Updated for review comments

a2.0=me
Attachment #461299 - Flags: approval2.0? → approval2.0+
(Assignee)

Comment 19

7 years ago
Pushed changeset 89b995bca723 to mozilla-central.
Status: ASSIGNED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED

Comment 20

7 years ago
I'm still have this problem in my linux build. Also changeset 89b995bca723 description says "Bug 522770 followup to fix shared build bustage r=khuey" ...

Comment 21

7 years ago
> Pushed changeset 89b995bca723 to mozilla-central.
ITYM:
http://hg.mozilla.org/mozilla-central/rev/e5e95e3947c3
(Assignee)

Comment 22

7 years ago
Sorry, copy/paste error, I meant changeset e5e95e3947c3

Comment 23

7 years ago
Well, my NoScript and AdBlock Plus statusbar icons still missing. Fedora 13

Build identifier: Mozilla/5.0 (X11; Linux i686; rv:2.0b3pre) Gecko/20100802 NOT Firefox/3.5.5 SeaMonkey/2.1a3pre

about:buildconfig
Source

Built from http://hg.mozilla.org/mozilla-central/rev/a4d86c3a3494
Build platform
target
i686-pc-linux-gnu
Build tools
Compiler 	Version 	Compiler flags
gcc 	gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) 	-Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -Os -freorder-blocks -fomit-frame-pointer
c++ 	gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC) 	-fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -Os -freorder-blocks -fomit-frame-pointer
Configure arguments

--enable-application=suite --enable-optimize --disable-debug --disable-crashreporter --enable-application=suite --enable-optimize --disable-debug --disable-crashreporter --enable-application=../suite --disable-official-branding --with-branding=../suite/branding/nightly --cache-file=.././config.cache --srcdir=/home/misak/workspace/src/mozilla

Comment 24

7 years ago
Mozilla/5.0 (Windows; Windows NT 5.1; rv:2.0b3pre) Gecko/20100802 SeaMonkey/2.1a3pre - Build ID: 20100802005711

Icons still missing

Comment 25

7 years ago
Do you have NoScript installed by chance? It looks like that add-on has a bug that triggers the same behavior, possibly doing the same that charsetOverlay did until it was fixed here...

Comment 26

7 years ago
I have NoScript installed but disabled when I post 1st message. Now I deinstall it.
No changes.
No one addons icon in statusbar.

Comment 27

7 years ago
Same for Mozilla/5.0 (X11; Linux i686; rv:2.0b3pre) Gecko/20100802 SeaMonkey/2.1a3pre - Build ID: 20100802013443

Comment 28

7 years ago
(In reply to comment #26)
> I have NoScript installed but disabled when I post 1st message. Now I deinstall
> it.

If you also have installed Adblock Plus you need to disable it too. After disabling both add-ons the status bar icons are shown again.
(Reporter)

Comment 29

7 years ago
Adblock Plus, alone, should be working.

Appears that /at least/ two extensions are now known to cause icons to (again) disappear; NoScript & xsidebar.

NoScript thread: http://forums.informaction.com/viewtopic.php?f=10&t=4786
(Assignee)

Comment 30

7 years ago
I posted an explanation in the mozilla.dev.extensions newsgroup:

news://news.mozilla.org:119/g56dnTkfUJt7rsrRnZ2dnUVZ_jWdnZ2d@mozilla.org

Comment 31

7 years ago
I've fixed the problem in xSidebar and pushed out another 1.2alpha:
http://downloads.mozdev.org/xsidebar/xsidebar-1.unstable.xpi

But the problem also exists with random other extensions e.g. nightly tester tools. Interestingly enough with the Organize Statusbars extension installed and having moved at least one statusbar button to a non default location, all the buttons now show up. This was initially why I never saw the problem having had OSB installed for a long time.
(Assignee)

Comment 32

7 years ago
(In reply to comment #31)
> Interestingly enough with the Organize Statusbars extension installed and
> having moved at least one statusbar button to a non default location, all the
> buttons now show up. This was initially why I never saw the problem having
> had OSB installed for a long time.
Either ordinal attributes or DOM manipulations probably cause XBL to rebuild the statusbar logical child list thus working around the problem.
Blocks: 579672

Comment 33

6 years ago
Just a FYI bug 554279 fixed a similar problem with toolbar initialization and fixed it by moving the code in the toolbar constructor to a readystate event listener. See attachment 497706 [details] [diff] [review].
You need to log in before you can comment on or make changes to this bug.