Closed Bug 909366 Opened 11 years ago Closed 11 years ago

Australis: Switching LWT re-constructs XBL bindings, leading to all kinds of sadness

Categories

(Firefox :: Toolbars and Customization, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 28

People

(Reporter: Gijs, Assigned: Gijs)

References

Details

(Whiteboard: [Australis:M9][Australis:P2])

Attachments

(1 file)

STR:

1. Switch to an(other) LWT.

ER:
Nothing in customizable UI really does/changes anything

AR:
The XBL of the navbar (and maybe other toolbars) gets reconstructed. This means it calls registerToolbar again. This means it registers itself another time (creating another instance of OverflowableToolbar) and re-runs buildArea, which creates problems with the downloads-indicator, etc. etc. Sadness all around. Let's not.
This sounds bad. When registerToolbar is called, can't we short circuit if it's already been registered?
(In reply to Jared Wein [:jaws] from comment #1)
> This sounds bad. When registerToolbar is called, can't we short circuit if
> it's already been registered?

Yes. But really, the whole issue exposes 3 linked issues:

- (I don't understand why) we have separate functional toolbar bindings depending on the lwtheme: https://mxr.mozilla.org/projects-central/source/ux/browser/themes/windows/browser-aero.css#188 (https://bugzilla.mozilla.org/show_bug.cgi?id=803546#c12)
- We could potentially toggle draggability of toolbars in the same binding, using an attribute or property or something, which makes more sense to me than having separate bindings for it (although that's partially because XBL's inheritance model isn't great)
- And yes, we should make sure that when the constructor is repeatedly called, the 2nd to nth calls are no-op. This is probably the simplest solution, but at the very least I'd like to understand the first thing I mentioned - why does this change with LTWs on aero?
Let's at least do this to solve this short-term, it doesn't stop us from investigating the first two issues.
Attachment #795925 - Flags: review?(jaws)
Assignee: nobody → gijskruitbosch+bugs
Attachment #795925 - Flags: review?(jaws) → review+
https://hg.mozilla.org/projects/ux/rev/4154345daff7
Whiteboard: [Australis:P2] → [Australis:M9][Australis:P2][fixed-in-ux]
Shouldn't this be [leave open]? Or do you want to file follow ups?
(In reply to Florian Bender from comment #5)
> Shouldn't this be [leave open]? Or do you want to file follow ups?

The latter. Deep in some other stuff right now, setting needinfo so I don't forget.
Flags: needinfo?(gijskruitbosch+bugs)
Depends on: 925349
Filed bug 925349.
Status: NEW → ASSIGNED
Flags: needinfo?(gijskruitbosch+bugs)
https://hg.mozilla.org/mozilla-central/rev/4154345daff7
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [Australis:M9][Australis:P2][fixed-in-ux] → [Australis:M9][Australis:P2]
Target Milestone: --- → Firefox 28
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: