Removing this check would allow us to see leaked URIs created off main thread.
This is OK because we already use a mutex to guard the linkedList
Differential Revision: https://phabricator.services.mozilla.com/D45156
--HG--
extra : moz-landing-system : lando
In FtpChannelParent, we didn't propagate the channel status to FtpChannelChild. This could make child start to do diversion on a failed channel.
Like what we did in http channel, we should send the channel status to child via OnStartRequest message.
Differential Revision: https://phabricator.services.mozilla.com/D45648
--HG--
extra : moz-landing-system : lando
justify-items' initial value is `legacy` and the computed value depends on the
parent's value.
We don't use flex / grid in the scrollbars, so just avoid asserting about this
property.
Differential Revision: https://phabricator.services.mozilla.com/D45673
--HG--
extra : moz-landing-system : lando
The snapping during scene building is unable to take into account scroll
offsets. Since we have already snapped the primitive rects in the raster
space, we know that this can only result in a translation rather than a
size change, and thus is safe to do during frame building.
When we update the transform tree, we now snap the scroll offset in
device space to ensure that scroll offsets should primarily be integer
offsets and not have snapping implications.
The local rect of a picture is calculated during the first picture
traversel. It is composed of already snapped primitives, however the
picture itself may inflate itself, and thus is now snapped again as part
of inflation.
Differential Revision: https://phabricator.services.mozilla.com/D45060
--HG--
extra : moz-landing-system : lando
Now that rounding has been removed from Gecko, we need to start snapping
properly in WebRender. Snapping can change the size of a primitive, and
thus it is problematic to do any later than scene building due to the
GPU caching and sharing of data between clips and such that only differ
in their positioning.
This patch produces a snapping transform which allows any primitive to
snap using information known during scene building. This excludes
animated tranforms which are assumed to be the identity. This allows for
primitives that are marked as will-change: transform but given no
initial transform to render the same as primitives that are not. This
also excludes scroll positioning because that is not known until frame
building. A follow up patch will deal with that.
Differential Revision: https://phabricator.services.mozilla.com/D45059
--HG--
extra : moz-landing-system : lando
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.
Differential Revision: https://phabricator.services.mozilla.com/D45058
--HG--
extra : moz-landing-system : lando
This will be rewritten in a later patch in the series. The shaders will
be provided the correct information and will no longer need to concern
themselves with snapping.
Differential Revision: https://phabricator.services.mozilla.com/D45057
--HG--
extra : moz-landing-system : lando
Repeating/background images may have extra parameters such the stretch
size and tile spacing, that non-repeating images do not require. By
splitting these apart, we can make it easier to infer what we should do
if snapping changes the size of an image primitive, in addition to
reducing the display list size for non-repeating images.
Differential Revision: https://phabricator.services.mozilla.com/D45056
--HG--
extra : moz-landing-system : lando
Add new preference `extensions.webextensions.warnings-as-errors` that
defaults to `true` in tests. Tests that expect warnings are modified
to briefly flip the pref for the specific part of the test that needs
an exception.
As part of the refactor, log entries forschema entries that contain
`"onError": "warn"` will now be prefixed by "Warning" instead of
"Error", to be consistent with the change from bug 1495908.
Differential Revision: https://phabricator.services.mozilla.com/D40548
--HG--
extra : moz-landing-system : lando
Previously, this could be mistaken for the width of the character
sequence.
Differential Revision: https://phabricator.services.mozilla.com/D45522
--HG--
extra : moz-landing-system : lando
Before this patch: surface cache size = min(1GB, system_memory/4)
After this patch: surface cache size = min(32bit ? 1GB : 2GB , system_memory/4)
sizeof(uintptr_t) is the best I can figure out to detect 32bit builds.
Differential Revision: https://phabricator.services.mozilla.com/D45092
--HG--
extra : moz-landing-system : lando
A few changes to HuffmanTableImplementationSaturated:
- we can now create instances of HuffmanTableImplementationSaturated with max bit lengths up to 10;
- we reject cases in which we have more than 256 elements;
- internal indices in HuffmanTableImplementationSaturated are now represented with uint8_t instead of usize_t,
which divides the size of this array by 4 and should improve memory locality.
According to my benchmarking, this decreases duration by ~7%.
Depends on D45644
Differential Revision: https://phabricator.services.mozilla.com/D45722
--HG--
extra : moz-landing-system : lando
We introduce a new implementation of Huffman Tables that trades
space for a fast lookup. For the time being, this implementation
is reserved for tables with a max bitlength of 8 or less.
Depends on D45643
Differential Revision: https://phabricator.services.mozilla.com/D45644
--HG--
extra : moz-landing-system : lando
As we intend to have several implementations of Huffman Table depending
on the size of data, we start by introducing a small abstraction
`HuffmanTableImplementationGeneric` holding a `Variant<...>` with
possible implementations of Huffman Tables.
In this patch, there is only a single implementation `HuffmanTableImplementationMap`.
A followup patch will introduce an alternate fast but space-costly optimized for
small tables.
Differential Revision: https://phabricator.services.mozilla.com/D45643
--HG--
extra : moz-landing-system : lando
Depends on D45498
This makes the test run fine on top of the changes for the session history rewrite.
Differential Revision: https://phabricator.services.mozilla.com/D45499
--HG--
extra : moz-landing-system : lando
This was causing an intermittent in console test because
multiple requests were sent to the server, and sometimes,
some of them after the connection being closed, which
was making the test fail.
With this patch, we only try to fetch a new stacktrace
on componenetWillReceiveProps if the component will have
to deal with a new request.
Differential Revision: https://phabricator.services.mozilla.com/D45808
--HG--
extra : moz-landing-system : lando