Closed
Bug 74292
Opened 25 years ago
Closed 23 years ago
XUL to Aqua layer
Categories
(Core :: XUL, enhancement)
Tracking
()
RESOLVED
DUPLICATE
of bug 117584
People
(Reporter: hsivonen, Unassigned)
References
(Blocks 1 open bug)
Details
Mac users have two major problems with Mozilla that are blockers in terms of
browser selection:
1) Non-Mac-like UI
2) Performance
Currently, Fizzilla's menus are native, yet they are described in XUL making
them easier to maintain. I suggest this same approach be extended to the rest of
the browser window chrome. That is the information about the UI elements that
are there would come from XUL, but they would be displayed using the native UI
toolkit instead of Gecko.
Benefits:
1) Aqua look
2) Could still use XP JavaScript implementations of the commands bound to the UI
elements with XBL
3) No style system overhead--better performance
4) Less layout engine overhead--better performance
Comment 1•25 years ago
|
||
As discussed with Hyatt, this would be implemented by writing a plugin that
implemented the various native form controls, and then making the XBL talk to
the plugin instead of the XML.
We support that right now. Someone just has to write the plugin (hard) and the
XBL to plugin glue code (easy).
This even works with theme switching.
Comment 2•25 years ago
|
||
We could also use the theme protocol to implement much of this. It can be used to
draw buttons in various states, scrollbars, progress meters. This would save
having to invent yet another plugin architecture.
Comment 3•25 years ago
|
||
You do still have the style system overhead, even with native widgets.
Comment 4•25 years ago
|
||
beard: could you show me the relevant XBL file to do that? (I'm curious, if I
saw a sample I might be able to spot any problems. Don't worry about the XBL
file working; I'm just curious as to what it would look like.)
It's not that we just want the _look_ of native widgets here -- we want the
actual widgets themselves, including all their native key bindings, mouse
handling behaviour, native drag and drop behaviour, and what have you.
| Reporter | ||
Comment 6•25 years ago
|
||
This is not a duplicate of bug 73812. Setting dependency, although some folks
might disagree.
Blocks: 73812
Ian, could this same concept be applied to connect with the OS 8/9 Appearance Mgr.?
Comment 8•24 years ago
|
||
Ian: I don't know the necessary XBL, but the protocol handler I wrote lets you
write various URIs like this:
theme:button?title=OK&width=100&height=32&pressed=false
theme:button?title=OK&width=100&height=32&pressed=true
This would produce a PNG image that can be used whereever other static skin
images would be used. I chose PNG to properly communicate the alpha channel,
because Aqua uses alpha blending extensively.
Blocks: 73812
Comment 9•24 years ago
|
||
beard: that wouldn't handle things like mouse clicks and keyboard bindings
correctly though.
Comment 11•23 years ago
|
||
In fact, this should probably be a duplicate of bug 117584, since that
accomplishes what this was intended to do.
Comment 12•23 years ago
|
||
Yes, the creator of the Pinstripe theme for Aqua used nsTheme.
http://www.kmgerich.com/pinstripe/pinstripe.html
Comment 13•23 years ago
|
||
*** This bug has been marked as a duplicate of 117584 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•