Make nsIControllerContext builtinclass
Categories
(Core :: XUL, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: masayuki, Assigned: masayuki)
References
Details
Attachments
(1 file)
And also we should remove nsIControllerContext.init()
because it causes unnecessary virtual cost which can be done in the constructor.
comm-central needs to remove the following lines:
- https://searchfox.org/comm-central/rev/4fd2bb880f8af2c7979b691eea616f587a9f2d4b/editor/ui/composer/content/ComposerCommands.js#126
- https://searchfox.org/comm-central/rev/4fd2bb880f8af2c7979b691eea616f587a9f2d4b/editor/ui/composer/content/ComposerCommands.js#198
- https://searchfox.org/comm-central/rev/4fd2bb880f8af2c7979b691eea616f587a9f2d4b/editor/ui/composer/content/editingOverlay.js#74
BlueGriffon needs to remove the following line:
Assignee | ||
Comment 1•5 years ago
|
||
nsIControllerContext
isn't implemented with JS even in comm-central nor
BlueGriffon. Therefore, it can be a builtinclass.
Additionally, it's init()
returns always NS_OK
, and always called with
null
from JS, and always called with an instance from C++. So that its the
only implementation, nsBaseCommandController
can have 2 constructors which
does what Init()
currently does.
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Thanks, Masakuki-san, the three C-C call sites look like the were used only in SeaMonkey, but I could be wrong. I'll file a bug.
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/42b4d2faa543 Make nsIControllerContext builtinclass and removes its init() method r=bzbarsky
Comment 4•5 years ago
|
||
bugherder |
Comment 5•5 years ago
|
||
That caused us C++ bustage here:
https://searchfox.org/comm-central/rev/10bc0c1569fab6ccdce1c31413067d1ec0de8c61/common/src/nsCommonModule.cpp#18
nsCommonModule.cpp(18,32): error: call to constructor of 'nsBaseCommandController' is ambiguous
0:18.05 NS_GENERIC_FACTORY_CONSTRUCTOR(nsBaseCommandController)
I'll have to see how to fix that. The constructor now takes a command table:
https://hg.mozilla.org/mozilla-central/rev/42b4d2faa543#l2.14
Description
•