We had the same list of attributes in multiple places, put it in
Theme.cpp.
Only a few states can change widget state. Just hardcode them in
RestyleManager.cpp (where there was already some of it) instead of
reusing a weird API.
Shouldn't have any behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D222160
In a column-oriented flex container, if a flex item's intrinsic inline size or
its descendants' inline size contributions depend on the item's block size,
`NS_FRAME_DESCENDANT_INTRINSIC_ISIZE_DEPENDS_ON_BSIZE` will be set. In this
case, when determining the flex item's cross-size, we need to mark the flex
item's intrinsic inline size as dirty such that its (auto) inline size is
recomputed when constructing its `ReflowInput`.
`testing/web-platform/tests/css/css-sizing/intrinsic-percent-replaced-017.html`
is the test coverage for this patch.
Differential Revision: https://phabricator.services.mozilla.com/D222231
That is, a definite max block-size and an auto block-size should not compute a
definite percentage basis in the block axis.
Note that we accidentally pass
`testing/web-platform/tests/css/css-sizing/intrinsic-percent-replaced-017.html`.
After applying this patch, the test starts to fail, but it will be fixed in the
next part.
Differential Revision: https://phabricator.services.mozilla.com/D222230
This test suite was previously using the keepProcessesAlive pref to reduce
process churn, and is the original motivation behind the new change. As there
are a number of test failures if we turn on the pref for all test suties, only
turn it on for this specific test suite to allow the change to land sooner.
Differential Revision: https://phabricator.services.mozilla.com/D221383
If set to a non-zero value, this pref will change the process shutdown logic to
use an IdleTaskRunner to clean up a process when it is no longer in use, rather
than immediately marking the process as unable to be re-used.
This is most beneficial when runnning tests, which can sometimes rapidly
cycle between processes, inefficiently starting up and shutting them
down very rapidly.
Due some test failures due to tests depending on the old process re-use
behaviour, this pref is being landed disabled such that it can be enabled for
specific test suites.
Differential Revision: https://phabricator.services.mozilla.com/D220192
Due to changes in how processes are selected when doing BFCached
navigations, the process will be re-used for the navigation meaning we
no longer need to add logic explicitly keeping it alive.
This also tweaks the code which checks this to explicitly stop checking
any keepProcessesAlive prefs for these origin-specific remote types.
Differential Revision: https://phabricator.services.mozilla.com/D220191
This patch finally removes the shared libraries code that was inside
tools/profiler and uses the one in base profiler everywhere.
Differential Revision: https://phabricator.services.mozilla.com/D220887
We already had this early return on the shared-libraries code that was on the
tools/profiler directory. Adding this check here as well to keep the both files
in sync. It will help us deduplicating the shared libraries code later.
Differential Revision: https://phabricator.services.mozilla.com/D220908
This method was used only internally, and having this method declaration causes
issues. That's this method was already like this in tools/profiler version of
this but it wasn't implemented here.
Differential Revision: https://phabricator.services.mozilla.com/D220886
While testing the de-duplication on Linux and macOS, I noticed that the
symbolication was completely broken due to having incorrect library names in
libs array. They were always like: "<obj-dir>/dist/bin/libxul.so" instead of
"libxul.so". The library names are found from their paths, and apparently we
were using an incorrect path separator for Linux and macOS, "\" instead of "/".
Differential Revision: https://phabricator.services.mozilla.com/D220885
These methods were already inside the shared libraries that was in
tools/profiler. Adding these methods here to make the implementations closer
and make the deduplication easier in the following commits.
Differential Revision: https://phabricator.services.mozilla.com/D220882
We will remove the libxul implementation soon and use the one in mozglue.
We can't keep these structs inside the mozglue, so we have to move them to
somewhere else in libxul. This file made the most sense since it's the one who
implements their methods.
Differential Revision: https://phabricator.services.mozilla.com/D220880
Already today we reconfigure capturers without stopping them in cases where they
are shared between multiple gUM/gDM requests: We find the device capability
(for cameras) that satisfies all the requested capabilities (downscaling, frame
dropping allowed) and call StartCapture again with that.
Thus, there is no concern about camera backends not supporting this call
sequence.
Desktop capture backends have a simpler API (only Start, for Stop they have to
be destroyed) and are not actually re-started. Resolution is always captured in
full and frame rate is controlled by the timer that triggers CaptureFrame().
This patch makes content processes not request capture to be stopped when
updating their requested capability. This means the path described above will be
exercised more. This also brings with it some invariants that no longer hold,
but are handled explicitly instead: capabilities for a captureId may now be
updated on the fly, without prior removal.
Differential Revision: https://phabricator.services.mozilla.com/D222242
See bug 1918942 for an analysis. This patch prevents dropmarker's cross-size
from being stretched, restoring its size to the content size of
`arrow-down-12.svg` (12px x 12px).
Differential Revision: https://phabricator.services.mozilla.com/D222232