- Convert the object used to represent permissions to the format
used in the optional permissions UI (property hosts becomes origins)
- Turn Extension.userPermissions into a getter
MozReview-Commit-ID: Dc44DMfKjG
- Convert the object used to represent permissions to the format
used in the optional permissions UI (property hosts becomes origins)
- Turn Extension.userPermissions into a getter
MozReview-Commit-ID: Dc44DMfKjG
- Convert the object used to represent permissions to the format
used in the optional permissions UI (property hosts becomes origins)
- Turn Extension.userPermissions into a getter
MozReview-Commit-ID: Dc44DMfKjG
Due to the asynchronous behavior of history, it's possible a race condition
causes a page to be used when it was about to be removed.
For example a bookmark to a page could be added between the point where we
decide the page is an orphan, and the point where we actually remove the page.
Notifications in such a case may be improperly ordered, and there is no cheap
way to guarantee we won't notify a removal in such a case.
Since applicable solutions would be too expensive (code and perf wise), for now
just remove the assertion we can't satisfy, and protect removals from possibly
creating unexpected orphans.
Testing this would require a special setup where we can guarantee thread
scheduling order, so for now this comes without a test. Regardless it's
basically only adding safety guards.
MozReview-Commit-ID: KYkaqAv8fCB
There are some optimizations, both existing and under way, that allow us to
share some stylesheet data between documents that they're loaded into. Keeping
cached sheets around as long as they're still in use should be a net memory
savings.
MozReview-Commit-ID: HUZzs6HhuFM
This patch fixes the regex defined by IDENTIFIER_PATTERN in
toolkit/components/telemetry/parse_events.py to be less strict and fixes the
relative documentation.
To be precise, before this fix, the regex did not allow the category "ui" (which is described
in the documentation at the webpage
https://gecko.readthedocs.io/en/latest/toolkit/components/telemetry/telemetry/collection/events.html)
to be matched so the documentation was wrong.
The reason for that was that the regex required at least one extra character or
number to be in the string, so for example "uig" would have matched.
With this fix the category "ui" is allowed and matched by the new regex and the documentaion
(https://gecko.readthedocs.io/en/latest/toolkit/components/telemetry/telemetry/collection/events.html#limits)
is updated to reflect the change.
MozReview-Commit-ID: ID2aKOM1v7
The crashreporter client will send a crash ping autonomously only when it
finds a valid TelemetryServerUrl annotation. This patch makes this annotation
conditional on all the preferences that regulate sending pings (including
official telemetry flags) and prevents it from sending pings before the user
has been notified of the privacy policy.
This is achieved by adding a new _annotateCrashReport() method to the
TelemetrySend obejct which can be called before we've initialized the rest of
the components. It is invoked manually early in the startup process so that
startup crashes are properly annotated, then it's invoked again when the user
is informed of the privacy policy as well as when one of the relevant
preferences is altered. This ensures that the annotations are stripped if the
user disables uploading pings without having to restart Firefox.
MozReview-Commit-ID: 2DKnoWGT1Bp
This patch changes the crashreporter client code as well as the crash service
code to compute a SHA256 hash of a crash' minidump file and add it to the
crash ping. The crash service code computes the hash on the fly before handing
over the crash to the crash manager; the crash manager will then add it to the
crash ping. The crashreporter client on the other hand sends the hash via the
ping it generates but it also adds it to the event file so that the crash
manager can pick it up and send it along with its own crash ping. On Fennec
the crashreporter activity takes care of computing the hash.
SHA256 hash computation uses nsICryptoHash in the crash service, the
java.security.MessageDigest class in Fennec, the bundled NSS library in the
crashreporter when running on Windows and Mac and the system-provided NSS
library under Linux. The latter is required because the crashreporter client
uses the system curl library which is linked to NSS and which would thus clash
with the bundled one if used together.
This patch introduces two new methods for the nsICrashService interface:
|getMinidumpForID()| and |getExtraFileForID()|, these reliably retrieve the
.dmp and .extra files associated with a crash and ensure the files exist
before returning. These new methods are used in the CrashService for
processing and will become the only way to reliably retrieve those files
from a crash ID.
MozReview-Commit-ID: 8BKvqj6URcO