Closed Bug 1375691 Opened 7 years ago Closed 7 years ago

Make RadioNodeList final and cleanup the code using it

Categories

(Core :: DOM: Core & HTML, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: MatsPalmgren_bugz, Assigned: MatsPalmgren_bugz)

References

Details

(Keywords: perf)

Attachments

(1 file)

      No description provided.
The data in the mRequiredRadioButtonCounts hashtable is either a content node,
or a RadioNodeList.  We know this because that's what this class inserts
and no one else has direct access to it.  So it's a bit silly pretend it
might be something else using nsIDOMNodeList/nsINodeList/nsBaseContentList.

Let's just MOZ_ASSERT it's a RadioNodeList unless it QI's to nsIContent.
Also, make the RadioNodeList class final to enable the compiler to
devirtualize some calls.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=3be13bca20672995fe600211b3a9f15799305931
Attachment #8880632 - Flags: review?(bzbarsky)
Comment on attachment 8880632 [details] [diff] [review]
Make RadioNodeList final and cleanup the code using it

r=me; I expects this code dates back to when there was multiple inheritance from nsISupports going on here; e.g. before bug 460512 was fixed, when we had:

  class nsBaseContentList : public nsIDOMNodeList,
                            public nsINodeList
Attachment #8880632 - Flags: review?(bzbarsky) → review+
Pushed by mpalmgren@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0db8583ea48c
Make RadioNodeList final and cleanup the code using it.  r=bz
https://hg.mozilla.org/mozilla-central/rev/0db8583ea48c
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: