In late beta and later, `xul.dll` does notexport the check function, and
`firefox.exe` does not try to load it. Unfortunately, a partial update
can result in these two being mismatched -- and does so often enough to
be a beta topcrash.
Suppress this crash by checking whether the diagnostic function is
actually exported and found, rather than asserting that it must be.
(This patch is explicitly just a bandaid, and doesn't address the
underlying issue of the two binaries being mismatching versions.)
Differential Revision: https://phabricator.services.mozilla.com/D218798
It's only used in non-compositing WMs, to implement popup transparency,
and it's completely untested.
Instead, do not draw shadows and rounded corners on those WMs.
Differential Revision: https://phabricator.services.mozilla.com/D219141
The new GeckoChildID type introduced in this patch is inspired by the existing
ContentParentID type used by ContentParent, but is currently distinct. It is
supported by all process types at the GeckoChildProcessHost level and can be
read for the current process from anywhere.
As this type is similar in many ways to the process type, and should be
available as early as possible within child processes, this was added alongside
the GeckoProcessType value within mozglue to make that easier to do.
The type was chosen to be an int32_t to make it feel similar to a PID, which we
currently use for process identity comparisons across the codebase. The
intention is for GeckoChildID to be preferred for these within-gecko checks, as
these IDs will not be re-used and can be known earlier during child process
creation.
Differential Revision: https://phabricator.services.mozilla.com/D217117
The CCIntervalMarker marker accepts a CycleCollectorResults struct as one of it's parameters and emits each field individually during StreamJSONMarkerData. This is difficult to translate to a perfetto track event, so instead pass each field directly to profiler_add_marker so that the parameters line up with the PayloadFields descriptions.
Differential Revision: https://phabricator.services.mozilla.com/D217411
The CCIntervalMarker marker accepts a CycleCollectorResults struct as one of it's parameters and emits each field individually during StreamJSONMarkerData. This is difficult to translate to a perfetto track event, so instead pass each field directly to profiler_add_marker so that the parameters line up with the PayloadFields descriptions.
Differential Revision: https://phabricator.services.mozilla.com/D217411
This patch adds convenience methods to throw on ErrorResult and
reject on Promise directly from a MediaResult which has an nsresult
and a message.
Differential Revision: https://phabricator.services.mozilla.com/D212834
Updated Content Security Policy reporting to align with current W3C reporting standards. Reporting now supports
the usage of the report-to directive, which utilizes a client's response header field to determine where a report
should be sent upon a content security policy violation occurring. Unlike the previous report-uri directive, which
parsed endpoint URIs directly from the response header, report-to utilizes endpoint groups to store the URIs
that will receive the report. This patch handles the reception of a CSP violation, creation of a report from said
violation, and report delivery, while the parsing of the endpoint URIs are handled by D193461. While the deprecated
report-uri directive remains supported, it is now only used for reporting if a client does not specify a report-
to header.
Differential Revision: https://phabricator.services.mozilla.com/D197480
This patch adds convenience methods to throw on ErrorResult and
reject on Promise directly from a MediaResult which has an nsresult
and a message.
Differential Revision: https://phabricator.services.mozilla.com/D212834
This patch adds convenience methods to throw on ErrorResult and
reject on Promise directly from a MediaResult which has an nsresult
and a message.
Differential Revision: https://phabricator.services.mozilla.com/D212834
Omnijar::Init can detect corrupted zip files and react accordingly. It
cannot fail if omni.ja is just missing, as we might run in a
configuration where resources are loaded directly from the modules
directory. We thus add also a canary load of the AppConstants
module to XRE_mainRun as soon as we have a JS context.
Differential Revision: https://phabricator.services.mozilla.com/D205026