Add separate entitlement files for the browser (aka parent process) and plugin-container processes. Leave the old production and developer entitlement files in place.
Once automation has been updated to use the new process-specific entitlement files (bug 1593072), the older entitlement files can be removed.
Future work will change the process-specific entitlements to be minimized for each process type.
Update codesign.bash to
1) use the separate browser and plugin-container entitlement files
2) only sign executables with entitlements, not sign unnecessary files
3) output to a .dmg instead of a .zip file.
Differential Revision: https://phabricator.services.mozilla.com/D52117
--HG--
extra : moz-landing-system : lando
I messed up the syntax the first time around, this actually disables
the test. This was exacerbated by accidentally testing the changes on
win32-opt rather than win32-shippable-opt where the intermittent
occurs.
Differential Revision: https://phabricator.services.mozilla.com/D52239
--HG--
extra : moz-landing-system : lando
This is a backout of the change in Bug 1580246 (Remove object-literal
singleton objects allocated at parse).
The change above caused an unexpected performance regression on Kraken,
in particular due to the way that the new parse-time approach to
allocating objects influenced the `ObjectGroup`s of the created objects,
leading to overly-polymorphic ICs in a numeric-heavy benchmark
(`stanford-crypto-aes`).
We'll work on a fix, but in the meantime, we don't want to leave the
slowdown on m-c.
Differential Revision: https://phabricator.services.mozilla.com/D52200
--HG--
extra : moz-landing-system : lando
This sub-test has races which were exacerbated by making data: URLs load asynchronously. Disable it until the race can be resolved.
MANUAL PUSH: bustage fix on a CLOSED TREE
--HG--
extra : amend_source : 76c3d8486213b5829615059587f44f0db93b9041
This change doesn't include the String.prototype.matchAll modifications, because
those are already part of the main spec.
MCallOptimize.cpp:
- The inlining is more conservative than `inlineIsRegExpObject`, because it's not
clear at this point we need the extra features from `inlineIsRegExpObject`.
String.js:
- The self-hosted part is slightly different than the current spec text, because
it combines the match and replace loops. The non-functional replace part is
implemented in C++, so we can reuse the existing C++ matcher functions.
String.cpp:
- Added some extra assertions to `AppendDollarReplacement` and also had to change
the `infallibleAppend` call into a normal `append` call, because when called
from `replaceAll`, we may not have reserved enough space in the StringBuffer.
- `replaceAll` has a specialised implementation when the pattern is the empty
string, because in that case the pattern is interleaved in-between each
character, so we don't need to find the next match and can also directly reserve
the correct string length (when no '$' characters are present in the replacement
string). This should allow users to update from the previous
`str.split("").join(r)` pattern to `str.replaceAll("", r)` without loss of
performance.
- When the pattern isn't the empty string, we reuse the existing `StringMatch`
and `AppendDollarReplacement` functions to match and replace the pattern.
This feature is still restricted to Nightly, because no test262 tests are
currently available.
Differential Revision: https://phabricator.services.mozilla.com/D51842
--HG--
extra : moz-landing-system : lando
We fail this during test_invalid_mime_type_blob.html when using DocumentChannel for blobs without this.
DocumentChannelChild reports an internal redirect as it replaces itself with the real channel (BlobURLChannel), and we fail the CheckLoadURIWithPrincipal checks.
The old channel has a null principal (due to being a sandboxed iframe), and we compare that to the blob principal computed from the URI, which is a normal content principal.
Differential Revision: https://phabricator.services.mozilla.com/D51905
--HG--
extra : moz-landing-system : lando
This mainly shows up when creating a DocumentChannel for a blob URI, and then we try switch to the 'real' blob channel and can't find an nsIChildChannel.
We could instead implement an IDPL parent/child class for this (like FileChannelChild/Parent), but the implementation of those is effectively the same (just call AsyncOpen from CompleteRedirectSetup), and I think is unnecessary boilterplate, since we can't have an actual redirect to a blob URI.
Differential Revision: https://phabricator.services.mozilla.com/D51903
--HG--
extra : moz-landing-system : lando
When ReadSegments is called before the stream is ready, we return NS_BASE_STREAM_WOULD_BLOCK, not NS_ERROR_NOT_IMPLEMENTED.
If callers use AsyncWait for the IPCBlobInputStream to be ready, and then call ReadSegments again we can end up returning NS_ERROR_NOT_IMPLEMENTED, depending on what the inner type is.
Differential Revision: https://phabricator.services.mozilla.com/D51781
--HG--
extra : moz-landing-system : lando
The actual screenshot data should be returned via the "data"
property of an object. Also the data URL prefix has to be
stripped off, so that only the base64 encoded data will be
transmitted.
Differential Revision: https://phabricator.services.mozilla.com/D52144
--HG--
extra : moz-landing-system : lando
Fix `MediaSegmentBase::RemoveTrailing` to be able to accept the first argument, keep frames, equal to zero. The patch avoids calling the `AudioChunk::SliceTo()` method with zero slice duration which hits an assert. The crash was being triggered when in the AudioSegment was including one or more chunks, with the first chunk containing silence (null). Then the `AudioSegment::FlushAfter` had to be called with a duration smaller or equal to the duration of the first chunk. A unit test has been created, verifying the duration of the final segment.
Differential Revision: https://phabricator.services.mozilla.com/D52092
--HG--
extra : moz-landing-system : lando
The AudioSegment::FlushAfter with input argument equals to zero is crashing on an assert that indicates misuse of the AudioChunk::SliceTo method. In general MediaSegmentBase::FlushAfter is better to clear itself when is called with argument equals to zero. This avoids the misuse and it is slightly more efficient.
Differential Revision: https://phabricator.services.mozilla.com/D51862
--HG--
extra : moz-landing-system : lando
We only run the main event loop if at least one window is open. There are various
cases where this doesn't happen, such as -silent. By the time we get there though
some components have started and require appropriate notifications to tell them
to shutdown safely. This patch sends the quit-application-granted and
quit-application notifications in the case that there were no windows open
and nsAppStartup::Quit hasn't already been called when we come to run the
event loop.
Differential Revision: https://phabricator.services.mozilla.com/D51736
--HG--
extra : moz-landing-system : lando
Currently restricted to Nightly-only, because the spec PR still contains bugs
and there are no test262 tests for this feature (except for tests to ensure the
properties are retrieved from the options object).
Differential Revision: https://phabricator.services.mozilla.com/D51855
--HG--
extra : moz-landing-system : lando
Use ApplyUnicodeExtensionToTag to add the collation keyword instead of manually
splicing the keyword into the language tag.
Differential Revision: https://phabricator.services.mozilla.com/D51854
--HG--
extra : moz-landing-system : lando