This small tweak makes it ergonomic to remove variables from the
inherited environment. Using `null` to signal "removal", distinct
from `undefined` for "ignored", seems to be an accepted idiom in these
types of JS interfaces.
Differential Revision: https://phabricator.services.mozilla.com/D95896
These assertions were intended to protect us from trying to build a result
node from a non existing database id. In practice it is totally possible that
between the time an entry is added and the time it is notified, something else
executes a removal of the same entry.
The assertions are thus converted into warnings, so that we can still notice
them when running manual tests, but they won't cause test failures, since it's
a condition that can happen during test runs, but not a bug.
Differential Revision: https://phabricator.services.mozilla.com/D96224
1. Remove old irrelevant comments
2. Tidy up the CSS a bit
3. Fix hover/active states for table headers and the close button
4. Fix dark mode for the close button
Differential Revision: https://phabricator.services.mozilla.com/D96060
When the orientation changes, we must recalculate the maximum height and width.
For portrait orientation, marginTop and marginBottom should be compared to the
paper width, and for landscape orientation, they should be compared to the paper
height (vice versa for marginLeft and marginRight).
If the custom margin values are valid after an orientation switch, they will
persist. If they are no longer valid, they will be reset to the default values,
and the margin dropdown will still have custom selected.
Differential Revision: https://phabricator.services.mozilla.com/D96099
This patch adds a new checkbox to the print UI for two-sided printing.
The checkbox is only visible if the currently selected printer supports
two-sided printing.
Notable Changes:
- Add new section and checkbox for two-sided printing.
- Add new getter to settings proxy for supportsDuplex.
- Add new setter/getter to settings proxy for printDuplex.
- Add new test for no duplex with PDF printer.
- Add new test for toggle duplex in portrait orientation.
- Add new test for toggle duplex in landscape orientation.
- Add new test for toggle orientation with duplex checked.
- Correctly set duple mode in GTK print settings.
Depends on D94026
Differential Revision: https://phabricator.services.mozilla.com/D93621
This patch adds a new checkbox to the print UI for two-sided printing.
The checkbox is only visible if the currently selected printer supports
two-sided printing.
Notable Changes:
- Add new section and checkbox for two-sided printing.
- Add new getter to settings proxy for supportsDuplex.
- Add new setter/getter to settings proxy for printDuplex.
- Add new test for no duplex with PDF printer.
- Add new test for toggle duplex in portrait orientation.
- Add new test for toggle duplex in landscape orientation.
- Add new test for toggle orientation with duplex checked.
- Correctly set duple mode in GTK print settings.
Depends on D94026
Differential Revision: https://phabricator.services.mozilla.com/D93621
They cause differences between the x86-64 and arm64 halves of a
universal build, and are not necessary in release builds.
As a side effect, we now end up normalizing Info.plist contents.
Differential Revision: https://phabricator.services.mozilla.com/D96015
Since python creates little-endian utf-16 consistently whether
cross-compiling from Linux or compiling natively on macOS, we could
write a small script that essentially replaces iconv. On the other hand,
we're also doing some manual preprocessing on the InfoPlist.strings.in
files, and we might as well use the preprocessor for that.
So, we augment the preprocessor to allow an explicit output encoding
other than utf-8, and use the preprocessor instead of `sed | iconv`.
Differential Revision: https://phabricator.services.mozilla.com/D96013
Back in bug 382762, it was originally set to contain the application
name, and the Makefile parts have remained, but the application name was
removed in later iterations because back then, the crash reporter would
be shipped with XulRunner and that would be a problem for XulRunner
apps.
XulRunner is long dead, so we can go back to the original idea.
The real motive behind this is that InfoPlist.strings.in needs to be
converted to UTF-16 at build time, and that while we currently do that
with iconv, we want to change that, and a convenient way to do so is to
use the preprocessor, but then the preprocessor doesn't like that this
specific InfoPlist.strings.in doesn't have any preprocessing directives,
so this adds one.
Differential Revision: https://phabricator.services.mozilla.com/D96012
(Instead of applying it directly to the menulist).
Since it's not inherited, we need to get the right value over to the scrollbox.
For that, export it from the arrowscrollbox, with the same name as the places
menupopup uses for the same purpose.
Differential Revision: https://phabricator.services.mozilla.com/D95887
This supports one manifestparser expression per line in the 'skip-if',
'fail-if' and 'run-if' keys. As a side effect the:
skip-if = foo ||
bar
syntax is no longer supported. Instead it can be:
skip-if =
foo # bug 123
bar # bug 456
Differential Revision: https://phabricator.services.mozilla.com/D95927
BONUS: Improve the docs for adding new metric type in C++ and JS,
added two missing steps to the C++ part and changed the layout
a bit to make it easier to follow.
Differential Revision: https://phabricator.services.mozilla.com/D95314
We scan for addon changes twice, once early in startup (usually with no scanning) and once after ui startup. We hold on to the startup data, and during both scans we restore that data into the addon location instances. The problem here is if we install a builtin in-between these scans. The new data from the install would get overwitten by the old data. In some cases this caused addons to disappear (e.g. old data has incorrect path). Other issues covered here is that we would never remove addon data for builtins removed from the system, and we would additionally mark builtins as sideloads, which caused other side effects (particularly with search addons) where we would not load the addon, but fortunately the search service later re-installes them.
Differential Revision: https://phabricator.services.mozilla.com/D95422