Closed Bug 74292 Opened 25 years ago Closed 23 years ago

XUL to Aqua layer

Categories

(Core :: XUL, enhancement)

PowerPC
macOS
enhancement
Not set
normal

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
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.
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.
You do still have the style system overhead, even with native widgets.
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.
Is this a duplicate of bug 73812? - Adam
This is not a duplicate of bug 73812. Setting dependency, although some folks might disagree.
Blocks: 73812
No longer blocks: 73812
Ian, could this same concept be applied to connect with the OS 8/9 Appearance Mgr.?
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.
beard: that wouldn't handle things like mouse clicks and keyboard bindings correctly though.
this would seem to depend on bug 117584
Depends on: 117584
In fact, this should probably be a duplicate of bug 117584, since that accomplishes what this was intended to do.
Yes, the creator of the Pinstripe theme for Aqua used nsTheme. http://www.kmgerich.com/pinstripe/pinstripe.html
Summary: [RFE] XUL to Aqua layer → XUL to Aqua layer
*** 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.