* Test that the preloaded image is actually used and that no preload requests
are made if the resource shouldn't be preloaded
Differential Revision: https://phabricator.services.mozilla.com/D139740
Currently only same origin requests are preloaded and preloads in the
secure context. This may change in the future to match W3C decisions and
Chromes behavior.
Also only images get preloaded. This will change in the future to cover
asset types.
Currently the anchor isn't parsed correctly yet[1], so this will be
fixed in a future patch.
On non-2xx responses of the main document all ongoing preloads get
canceled. Already completed preloads don't get affected and are in the
cache.
It is currently untested whether unused preloads don't have side effects.
Another future patch should cover adding the preload to the devtools.
[1]: https://datatracker.ietf.org/doc/html/rfc8288#section-3.2
Differential Revision: https://phabricator.services.mozilla.com/D137885
This adds a new `quickSuggestRemoteSettingsDataType` Nimbus variable whose value
will be used as the `type` filter when fetching data from remote settings.
Differential Revision: https://phabricator.services.mozilla.com/D145266
As per comments in the bug I never managed to reproduce this locally or
in pernosco, but given the structure of the test (open tab, get element
position, show picker, check picker position in screen coords), it makes
some amount of sense that it could hit this race.
I'm confirming on try that this reduces or fixes the intermittent race
but given it's a oneliner I don't feel too bad sending it for review
early :)
Differential Revision: https://phabricator.services.mozilla.com/D145305
See the comment in the file explaining it. For a case of logging 100k numbers,
this dropped the time per number from 15 microseconds to 9 with the console
closed, and 55 microseconds to 38 with the console open. I think we could shave
off more with a native approach, but I don't know that it's worth it and it's
much more likely for that to introduce bugs.
Differential Revision: https://phabricator.services.mozilla.com/D143782
On Android long lines are truncated by logcat, meaning the base64
images output by wrench's reftest harness get truncated. The glue code
used by the old version of cargo-apk automatically split long lines,
which we then stitched back together again when parsing the
log. However, the glue used by the new cargo-apk no longer does this.
While we could manually split the long strings ourselves, this method
has always been unreliable. Instead, this patch makes us additionally
write stdout and stderr to a file as well as logcat. The test runner
script then pulls this file from the device and scrapes it rather than
the logcat.
Differential Revision: https://phabricator.services.mozilla.com/D145076
This copies over the behavior for style & subdocument restrictions.
Admittedly, with this if/else spagetthi, it would be preferable to
turn this into restriction levels or lump some of the known-to-be-safe
prefs together, but I would prefer we wait a couple of cycles to
make sure this makes it all the way to release before we refactor.
Differential Revision: https://phabricator.services.mozilla.com/D145306
The relevant information was already being set on the final channel when
not performing a process switch [1], but it was not copied for
cross-process redirects, despite being sent to the child process. This
wasn't a problem previously, as we would handle downloads in the parent
process, but with the download panel improvements, it is an issue.
This issue led to the wrong filename being selected by default when
clicking on the save icon in a downloaded PDF from a blob URL, as the
information was lost before being passed to the pdf.js stream filter.
[1]: https://searchfox.org/mozilla-central/rev/87ecd21d3ca517f8d90e49b32bf042a754ed8f18/netwerk/ipc/DocumentChannelChild.cpp#308-315
Differential Revision: https://phabricator.services.mozilla.com/D145255
This list contains items that contain actual user data like
their device name or their downloads path, items that contain
UUIDs that could be used to track users across different
origins, sessions, or private browsing, and values that
either change occassionally or don't have enough entropy to
serve as a long-lived UUID, but do have enough entropy to be
used as a short-term correlatable identified to e.g.
de-anonymize someone use the VPN feature of containers.
Depends on D145259
Differential Revision: https://phabricator.services.mozilla.com/D145260
During testing I started hitting these cases that were not
well-documented for the person hitting the crash, so let's
improve them.
Differential Revision: https://phabricator.services.mozilla.com/D145259
Virtualenv-based objdir detection doesn't work for instrumented builds,
as instrumentation-specific objdirs aren't created.
Resolve this by:
* Removing redundant cwd-based topsrcdir resolution - the
`__file__`-based code path below covers this case.
* Only using virtualenv-based resolving if topsrcdir isn't resolved.
* Documenting that virtualenv-based resolution is problematic for
instrumented builds.
Differential Revision: https://phabricator.services.mozilla.com/D144030
This is failing frequently, and leaks from webdriver restarting the
browser or whatever probably aren't really important.
Differential Revision: https://phabricator.services.mozilla.com/D145278
When running in a Worker, the canvas2d SetFontInternal method can't call GetFontStyleForServo
because it doesn't have a canvasElement or presShell to pass. But we can use the method
ServoCSSParser::ParseFontShorthandForMatching to parse the canvas 'font' property, if we
extend it so as to also return the size from the font shorthand.
(This is incomplete by itself; Emilio's following patch fixes it up, so the intention is to land them together.)
Depends on D144186
Differential Revision: https://phabricator.services.mozilla.com/D144187
These need to be atomic so that they can be accessed by canvas code when running on a worker thread
without calling main-thread-only Preferences APIs.
Depends on D144185
Differential Revision: https://phabricator.services.mozilla.com/D144186