Open Bug 986503 Opened 7 years ago Updated 5 years ago

Merge CustomizableUI.jsm and CustomizableWidgets.jsm to reduce compartment overhead

Categories

(Firefox :: Toolbars and Customization, defect)

defect
Not set
normal

Tracking

()

People

(Reporter: mconley, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [Australis:P-])

In bug 860642, we split out the widget definitions from CustomizableUI.jsm into CustomizableWidgets.jsm in an effort to reduce the complexity of CustomizableUI.jsm.

The JSM route was chosen arbitrarily by myself[1]. Maybe we should try doing a preprocessing include instead?

According to https://groups.google.com/forum/#!topic/mozilla.dev.platform/sAuhWQOAWic, CustomizableUI and CustomizableWidgets are new compartments contributing to the creeping start-up memory usage.

[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=860642#c2
Hardware: x86_64 → All
Mike, what do you mean by preprocessing include here? As in just |#include "CustomizableWidgets.jsm"|? I'm happy to try it out and see if there's any memory improvement.
Flags: needinfo?(mconley)
Yeah, that would be sufficient. Though the final patch we may want to rename from CustomizableWidgets.jsm to CustomizableWidgets.inc.jsm to make it clear that the file is included, like we do for tabs.inc.css, etc.

Keeping .jsm at the end helps with syntax highlighting by editors.
Flags: needinfo?(mconley)
The other option is loadSubScript which has the advantage of not needing a build step on OSs which use symlinks for the object directory. This means you can simply restart the browser after editing without needing to build.
You need to log in before you can comment on or make changes to this bug.