Devirtualize a few nsIPresShell bits.
Categories
(Core :: Layout, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: emilio, Assigned: emilio)
Details
Attachments
(1 file)
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Comment 1•7 years ago
|
||
No good reason they're virtual, since there's only one nsIPresShell implementation.
Comment 3•7 years ago
|
||
Well, PresShell.h
is now exposed as mozilla/PresShell.h
. So, if everybody treats PresShell
directly instead of nsIPresShell
, we don't need to devirtualize each method since final class's override methods should be resolved at build time...
Assignee | ||
Comment 4•7 years ago
|
||
(In reply to Masayuki Nakano [:masayuki] (JST, +0900) from comment #3)
Well,
PresShell.h
is now exposed asmozilla/PresShell.h
. So, if everybody treatsPresShell
directly instead ofnsIPresShell
, we don't need to devirtualize each method since final class's override methods should be resolved at build time...
Sure, but that's easier said than done, since most of the users return nsIPresShell (Document::GetShell
and pretty much everything else).
We could do a mass-convert the other way around (move users to mozilla::PresShell
) and see how it goes, then move everything from nsIPresShell to PresShell.
Comment 5•7 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #4)
We could do a mass-convert the other way around (move users to
mozilla::PresShell
) and see how it goes, then move everything from nsIPresShell to PresShell.
Yeah, I really want to do it if I had much time...
Assignee | ||
Comment 6•7 years ago
|
||
$ rg nsIPresShell | wc -l
2122
May not be that terrible actually...
Comment 7•7 years ago
|
||
bugherder |
Description
•