There's a lot of overhead to loading scripts from <script> tags in
browser.xul. They're loaded asynchronously, and can't begin loading until
after we begin loading browser.xul. They're loaded using off-main-thread
compilation, which means we need to create and merge a new JS zone for each
script we load that way. They don't benefit from the startup cache at all.
If we load those scripts using the subscript loader, they're loaded from the
preloader cache, and begin loading as early as possible. And they're all
loaded into a single off-thread zone, which means there are less zones to
create and merge. From a quick test, this seems to save about 20-40ms on
Windows ts_paint talos runs.
The main downside is that subscript loader scripts don't benefit from lazy
parsing, so we might wind up increasing memory usage if most of the functions
in those scripts aren't used very often. But we should hopefully be able to
fix that by migrating more browser JS to lazy loading.
MozReview-Commit-ID: Lozb0d0QweC
Currently, we use 'noautohide' to avoid closing the picker when the anchored
input box is clicked. However, 'noautohide' does not work well on some Linux
distributions and noautohide panels behave differently to regular panels when
mousing over another window. So, 'nolluponanchor' is what we want here.
MozReview-Commit-ID: CfkufnbUw4v
The dropmarker gets the urlbar-icon class for consistency with the other URL bar icons. On this occasion, I increased the urlbar-icon padding and removed the margin to match the photon spec. Also added a rudimentary hover effect.
#urlbar-icons is renamed to #page-action-buttons to better reflect its meaning, and because .urlbar-icon is now used outside of this container.
#urlbar-wrapper wrapper isn't needed anymore -- we can just set the switchingtabs attribute directly on #urlbar.
MozReview-Commit-ID: EiuUW71IKgU
Because we generate IDs for special nodes, we should update the inDefaultState getter to actually consider
these nodes to match even when the ids differ. This wasn't an issue before because specials weren't in the
default set for any nodes.
MozReview-Commit-ID: AI85yt2LuJD
* Filmstrip style svg animation for start download notification, vertically centered to allow for variable-height toolbar buttons
* Simultaneous identifer "dip" animation on the icon for download start
* Identifier icon bounce animation for download finish (no notification animation in the #downloads-animation-container)
* Always measure the anchor element as toolbarheight may change in a session (e.g. switching to compact mode)
* Conditionally include the start/finish pngs for non-Photon builds
* Have #downloads-notification-anchor hidden by default, and show it before measuring for placement. This avoids the interference with scrolling/APZ when the notifier element is tall enough to overlap the tabbrowser element
MozReview-Commit-ID: LJF6iV9HiJi