Open Bug 73325 Opened 24 years ago Updated 2 years ago

[XUL Syntax] Group commands and broadcasters in sets, allow keys to work anywhere

Categories

(Core :: XUL, defect)

defect

Tracking

()

mozilla1.2alpha

People

(Reporter: bugzilla, Unassigned)

Details

(Whiteboard: [XUL1.0])

Make <command/>s and <broadcaster/>s live in <commandset/>s and 
<broadcasterset/>s, respectively.  commandset and broadcasterset will be valid 
tags for 1.0
I'll probably take this when I finish the other bug.
Blocks: 70753
Whiteboard: [XUL1.0]
Target Milestone: --- → mozilla1.0
I'd reword this.  We're not talking about actual C++ code restrictions... we're
just talking about enforcing a convention in our XUL Files.
I was talking about actual restrictions in the language.  Why should keys only 
work in sets, but broadcasters and commands work anywhere? (I know why, since 
you explained it to me, but it doesn't make sense from a consistency point of 
view).
Blake, without a validating XML schema, there's no way we can enforce
containment restrictions.  We can't deliberately make broadcasters not work
outside of broadcastersets, because in XUL *anything* can be a broadcaster.

This is perfectly legal:

<menuitem id="foo"/>

<menuitem id="foocopy" observes="foo"/>

I'm reluctant to special-case <broadcaster> tags, since they really don't have
any special meaning.  I think we should just clean up our XUL to put them in
sets and be done with it.
Okay.  I still don't think, then, that it makes any sense to force keys to be 
inside a keyset. That only makes sense from an implementation point of view (a 
perspective that most users of xul won't have).
Fair enough.  I'll take a patch that makes keys work anywhere.
Sets in general are much more efficient, because we won't resolve style on the
contents of the set (since the set tag will have display: none).

In other words, I don't mind making all of these things work anywhere, but we
should force all our XUL to use sets to avoid bad performance (which you'd get
if you just started putting keys or broadcasters in boxes, underneath the window
tag, etc.).

dave
Cool.  Taking this to allow keys to live everywhere, but also put broadcasters, 
commands and keys in sets throughout our xul.

(Not sure if this is really a syntax change anymore...)
Assignee: hyatt → blakeross
Summary: [XUL Syntax] Force commands and broadcasters to live in sets → [XUL Syntax] Group commands and broadcasters in sets, allow keys to work anywhere
do we resolve styles on <script>?
Not doing syntax stuff anymore. Someone else will have to do this.
Assignee: blakeross → hyatt
Status: NEW → ASSIGNED
Target Milestone: mozilla1.0 → mozilla1.0.1
Moving non nsbeta1+ XUL 1.0 bugs to mozilla1.2
Target Milestone: mozilla1.0.1 → mozilla1.2
No longer blocks: 70753
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
Assignee: hyatt → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.