Граф коммитов

20419 Коммитов

Автор SHA1 Сообщение Дата
Simon Giesecke 0541f523d9 Bug 1659679 - Unify overflow handling in Base64.cpp encoding functions. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87461
2020-08-19 10:52:25 +00:00
Simon Giesecke 9352526320 Bug 1659674 - Change BulkWrite to return mozilla::Result. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87419
2020-08-19 14:39:03 +00:00
Simon Giesecke 55a58f0a61 Bug 847347 - Ensure that FileReader::GetAsDataURL does not trigger a release-mode assertion failure on large files. r=jstutte,froydnj
We avoid going through Substring which imposes a limit on the string length of
INT32_MAX and failing a MOZ_RELEASE_ASSERT otherwise.

This adds a new `Base64EncodeAppend` function that takes 8-bit char input and
produces 16-bit char output, and appends to an existing string, which is what
we need here to avoid doing a large copy. Base64EncodeHelper is generalized
to accomodate for that.

So in addition to fixing the defect, this also optimizes performance and
memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D87413
2020-08-19 08:11:42 +00:00
Simon Giesecke 6b1b0ed613 Bug 1659950 - Move instead of copy where possible in nsMultiplexInputStream::SerializeInternal. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87574
2020-08-19 12:46:26 +00:00
Mike Hommey edd5d6a9a2 Bug 1658385 - Exclude mach_override code on aarch64 builds for now. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87385
2020-08-19 04:22:15 +00:00
Erik Nordin 943f31b50b Bug 1659875 - Fix Incorrect Assertion In Mutex.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87527
2020-08-19 01:41:24 +00:00
Nika Layzell 4f3ae7b794 Bug 1659720 - Fix name in xpcom authors, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87445
2020-08-18 14:09:51 +00:00
alwu 2f509b85ff Bug 1656398 - part7 : add event handler 'onmetadatachange'. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D86628
2020-08-18 06:55:47 +00:00
alwu 0b9d0ae82c Bug 1656398 - part5 : add event handler `onplaybackstatechange`. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D86626
2020-08-18 06:32:59 +00:00
Zeke Medley a591e69aa0 Bug 1591204 - Support forced colors media feature r=emilio
Enabled behind layout.css.forced-colors.enabled pending finalization
of the spec:

<https://drafts.csswg.org/mediaqueries-5/#forced-colors>

Differential Revision: https://phabricator.services.mozilla.com/D87147
2020-08-17 20:50:49 +00:00
Simon Giesecke de65a11548 Bug 1656924 - Simplify nsTArray::Assign copying from another array. r=xpcom-reviewers,nika
nsTArray_Impl::Assign/operator= copying from another array cause code bloat by
using ReplaceElementsAtInternal without exploiting the knowledge that the whole
array is being replaced. Since for many instances of the class template, this
is the only ReplaceElementsAtInternal call being done, this unnecessary bloats
the generated code. Apart from that, it is suboptimal at runtime due to
unnecessary checks.

Furthermore, the implementation of ReplaceElementsAtInternal may unnecessarily
relocate the existing elements before destroying them if the storage needs to
be reallocated. While this could be optimized in ReplaceElementsAtInternal as
well, it is simpler to do so in the specialized AssignInternal that is now
introduced.

Differential Revision: https://phabricator.services.mozilla.com/D86723
2020-08-17 07:02:50 +00:00
Mihai Alexandru Michis fb644eda26 Backed out changeset 5838f8b581ed (bug 1647536) for causing failures in browser_active_mediasession_among_tabs.js
CLOSED TREE
2020-08-14 19:42:51 +03:00
Chris Fronk 8770c8a332 Bug 1647536 - Support ref counted pointers in nsDeque r=froydnj
Adds a new specialization of nsDeque, nsRefPtrDeque for use with
reference counted pointers.

Differential Revision: https://phabricator.services.mozilla.com/D84766
2020-08-14 15:19:48 +00:00
Gerald Squelart 6635ca3144 Bug 1659034 - Only call PROFILER_UNREGISTER_THREAD in nsThread::ThreadFunc if PROFILER_REGISTER_THREAD was called before - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D87050
2020-08-14 10:53:39 +00:00
Nathan Froyd e41e80780c Bug 1658944 - remove cargo-culted .previous comments in xptcall asm; r=xpcom-reviewers,nika
These have been cargo-culted all over the place and they are totally
unnecessary, not to mention potentially confusing.  Let's delete them.

Differential Revision: https://phabricator.services.mozilla.com/D86978
2020-08-13 19:35:28 +00:00
Doug Thayer 66f210cc61 Bug 1656261 - Disable StartupCaching of Omnijar zip central r=froydnj
This is a speculative fix for a crash we're seeing due to xul.css ostensibly
not existing. The theory is that xul.css does in fact exist and the cached
zip central for the omnijar is simply corrupt in some way. If it is corrupt in
this way, then there is a bigger issue, and we need to investigate deeper.

However, the benefit of this approach is that it is a very small and contained
patch which should be simple to uplift.

Differential Revision: https://phabricator.services.mozilla.com/D86829
2020-08-13 17:34:05 +00:00
Emilio Cobos Álvarez 68dd457e8b Bug 1658903 - Remove nsPrintJob::TurnScriptingOn. r=jwatt
This code was there to prevent stuff like bug 424377, but nowadays clone
documents are data documents to begin with, so they can't load scripts.

Differential Revision: https://phabricator.services.mozilla.com/D86948
2020-08-13 12:22:56 +00:00
Nathan Froyd 54e1b28bc8 Bug 1658809 - add non-executable stack markers to aarch64 asm; r=glandium
Noticed this while preparing some other patches, might as well address it.

Differential Revision: https://phabricator.services.mozilla.com/D86850
2020-08-13 11:36:01 +00:00
Simon Giesecke 785473cf85 Bug 1658701 - Stop writing to empty header in MoveConstructNonAutoArray. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D86804
2020-08-12 14:52:18 +00:00
Nathan Froyd eca436fc65 Bug 1658376 - correctly identify arm64 macOS in FileUtils.cpp; r=mccr8
One more architecture that macOS runs on.

Differential Revision: https://phabricator.services.mozilla.com/D86596
2020-08-11 14:09:28 +00:00
Joshua Cranmer 45bfd75f59 Bug 1652354, part 𝋡: Support categories with generic values in static component registration. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D85656
2020-08-10 21:16:31 +00:00
Joshua Cranmer 46c84af88a Bug 1652354, part 𝋠: Throw an error if a duplicate CID is seen. r=kmag
The perfecthash module will instead try to sit in an infinite loop, so catching
this early is essential for giving better error messages.

Differential Revision: https://phabricator.services.mozilla.com/D85655
2020-08-07 23:13:53 +00:00
Razvan Maries abf299d7f6 Backed out changeset 60059f7d5c46 (bug 1657663) for perma failures on test_schema_change.js. CLOSED TREE 2020-08-10 22:55:35 +03:00
Keefer Rourke 148dabd639 Bug 1657663: Improve timestamp precision for nsLocalFileUnix r=froydnj,barret
This change updates the unix implementation of nsLocalFile
Set/GetLastModifiedTime methods to improve the precision of file modification
times from a 1 second resolution to a 1 millisecond resolution.

Differential Revision: https://phabricator.services.mozilla.com/D86238
2020-08-10 17:50:23 +00:00
Jorg K d69f318727 Bug 1658210 - Follow-up to bug 1657609: Revert PARAM_BUFFER_COUNT back to 18 for Thunderbird. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D86489
2020-08-09 18:14:50 +00:00
Doug Thayer 4e1e2e3037 Bug 1657205 - Fallibly allocate for StartupCache from Omnijar r=froydnj
This changes the StartupCache::PutBuffer call from Omnijar to use a
fallibly allocated buffer, to reduce OOM crashes. We can/should broaden the
scope of this, but this is a simple initial change to mitigate the OOM
crashed introduced with bug 1627075.

Differential Revision: https://phabricator.services.mozilla.com/D86067
2020-08-07 20:05:59 +00:00
Nathan Froyd 58b325b964 Bug 1657609 - decrease PARAM_BUFFER_COUNT and adjust comment accordingly; r=mccr8
We now use `PARAM_BUFFER_COUNT` for slightly more stuff, so update the
comment describing its two uses.  Experimentation has also shown that we can
decrease the count slightly, which is a tiny tiny win.

Differential Revision: https://phabricator.services.mozilla.com/D86214
2020-08-07 14:42:57 +00:00
Nathan Froyd 87ff812afd Bug 1657609 - delete dynamic allocation of parameter buffers; r=mccr8
Now that we've statically ensured everything fits into the stack-allocated
array(s), we can delete the case that handled dynamic allocation.

Differential Revision: https://phabricator.services.mozilla.com/D86213
2020-08-07 14:42:47 +00:00
Nathan Froyd c4c7337cad Bug 1657609 - statically bound the maximum number of parameters for xpidl methods; r=mccr8
We used to not be able to do something like this, and therefore our xpidl
calling code had to  be fully general.  But now that we know all possible
xpidl methods at build time, we can ensure that the number of parameters
does not exceed some bound.  And we choose that bound to be the maximum
number of stack-allocated parameters our calling code supports.

Differential Revision: https://phabricator.services.mozilla.com/D86212
2020-08-07 18:23:13 +00:00
Nathan Froyd fdd22deff5 Bug 1657609 - share PARAM_BUFFER_COUNT among xptcall implementations; r=mccr8
Everybody uses the same value; we might as well put it in a single place.

Differential Revision: https://phabricator.services.mozilla.com/D86211
2020-08-07 14:06:47 +00:00
Nathan Froyd 1514163283 Bug 1657609 - commonize PARAM_BUFFER_COUNT for PPC Linux; r=mccr8
There's no reason to have a different count depending on whether we have
floating-point registers or not; xpidl functions will have the same number
of parameters regardless.  This change also synchronizes soft-float PPC with
every other architecture.

Differential Revision: https://phabricator.services.mozilla.com/D86210
2020-08-07 14:06:34 +00:00
Emilio Cobos Álvarez be4a7bd00e Bug 1657706 - Forward-declare JSContext in nsrootidl.idl. r=nika
Right now we don't do that so stuff using implicit_jscontext compiles
just by chance.

Differential Revision: https://phabricator.services.mozilla.com/D86249
2020-08-07 16:45:16 +00:00
Simon Giesecke 1a9da56b94 Bug 1653335 - Get rid of MakeSpan functions. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83818
2020-08-07 07:50:04 +00:00
Simon Giesecke 1e02318b49 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +00:00
Simon Giesecke dea5b543db Bug 1653335 - Remove uses of MakeSpan in return statements. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83812
2020-08-07 07:42:50 +00:00
Nika Layzell 3759dc8c87 Bug 1589517 - Part 1: Add initialBrowsingContextGroupId attribute, r=farre
This attribute will subsume the existing sameProcessAsFrameLoader attribute. It
works by specifying the BrowsingContextGroup which the initial BrowsingContext
in a <browser> should be created within.

Due to bug 1652144, all documents within the same BrowsingContextGroup with the
same remote type will be loaded in the same process, meaning that specifying
both "initialBrowsingContextGroupId" and "remoteType" will cause the initial
about:blank document to be loaded in a specific content process.

Differential Revision: https://phabricator.services.mozilla.com/D85650
2020-08-06 17:01:06 +00:00
Emilio Cobos Álvarez 56efc18556 Bug 1657599 - Remove mozallowfullscreen code. r=smaug
I realized this was broken because feature policy was not accounting for
it (I fixed that in 79), but I _thought_ we weren't shipping
feature policy. It turns out we've been shipping it for a while (since 74),
so I'd rather remove support for it officially.

Differential Revision: https://phabricator.services.mozilla.com/D86191
2020-08-06 15:11:37 +00:00
Daniel Holbert 96d67c6eb3 Bug 1652278 part 2: Flesh out PrintedSheetFrame implementation so that it serves as the container for nsPageFrame. r=TYLin
This patch:
- Creates an anon-box pseudo-style for PrintedSheetFrame, in part so that it
  can co-opt the styles that we formerly gave to page-frames in ua.css, to draw
  the sheet of paper and the shadow in Print Preview.
- Adjusts nsCSSFrameConstructor to create a PrintedSheetFrame as the parent of
  nsPageFrame (inserting between it and its nsPageSequenceFrame container, in
  the frame tree).
- Fleshes out out a simple BuildDisplayList() implementation for
  PrintedSheetFrame (taking the responsibility for "paper"-drawing from
  nsPageFrame).
- Fleshes out a simple Reflow implementation for PrintedSheetFrame, just
  placing the child page (assuming there's only one for now) at the origin.
- Adjusts nsPageFrame and nsPageSequenceFrame to account for the fact that
  there's another layer between them now.

Note that PrintedSheetFrame needs to implement AppendDirectlyOwnedAnonBoxes()
(just as nsSimplePageSequence and nsPageFrame do), since it owns anonymous
nsPageFrame instances. This implementation only needs to append the first
child, as explained in the code-comment and in
https://bugzilla.mozilla.org/show_bug.cgi?id=1374761#c9 (and of course, for
now, PrintedSheetFrame only has one child at a time anyway.)

Differential Revision: https://phabricator.services.mozilla.com/D83457
2020-08-05 03:28:32 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Simon Giesecke e22ce08596 Bug 1654991 - Simplify moving operator=, Assign and AppendElements. r=froydnj
The mentioned array operations were implemented using SwapElements, which is a
rather generic and therefore complex method (in the sense of template
instantiation and code generation), which doesn't make use of the knowledge that
the target array is empty and does not have any allocated heap storage.
Similar to the introduction of MoveConstructNonAutoArray, a new method, MoveInit,
is introduced that uses this knowledge.

Differential Revision: https://phabricator.services.mozilla.com/D84806
2020-08-04 11:22:34 +00:00
Simon Giesecke c082222bc8 Bug 1654991 - Provide and use special case of ShrinkCapacityToZero. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84805
2020-08-04 11:22:21 +00:00
Simon Giesecke e0b51e4a84 Bug 1654991 - Simplify move constructor of nsTArray_Impl. r=froydnj
The move constructor of nsTArray_Impl (and therefore of nsTArray) was
implemented using SwapElements, which is a rather generic and therefore
complex method (in the sense of template instantiation and code generation),
which doesn't make use of the knowledge that the target array does not have
inline storage and is empty with 0 capacity. Therefore, a new specialized method,
MoveConstructNonAutoArray, is introduced that does use this knowledge. This
adds another method to maintain, but given that the move constructor is a
frequently used operation that is expected to have a small compile-time and
run-time cost (potentially used implicitly), this seems like a reasonable
trade-off.

Differential Revision: https://phabricator.services.mozilla.com/D84804
2020-08-04 11:22:09 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Simon Giesecke 3db287778f Bug 1654991 - Simplify moving operator=, Assign and AppendElements. r=froydnj
The mentioned array operations were implemented using SwapElements, which is a
rather generic and therefore complex method (in the sense of template
instantiation and code generation), which doesn't make use of the knowledge that
the target array is empty and does not have any allocated heap storage.
Similar to the introduction of MoveConstructNonAutoArray, a new method, MoveInit,
is introduced that uses this knowledge.

Differential Revision: https://phabricator.services.mozilla.com/D84806
2020-08-03 15:14:42 +00:00
Simon Giesecke 45b8036770 Bug 1654991 - Provide and use special case of ShrinkCapacityToZero. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84805
2020-08-03 14:47:54 +00:00
Simon Giesecke fcbd7f145f Bug 1654991 - Simplify move constructor of nsTArray_Impl. r=froydnj
The move constructor of nsTArray_Impl (and therefore of nsTArray) was
implemented using SwapElements, which is a rather generic and therefore
complex method (in the sense of template instantiation and code generation),
which doesn't make use of the knowledge that the target array does not have
inline storage and is empty with 0 capacity. Therefore, a new specialized method,
MoveConstructNonAutoArray, is introduced that does use this knowledge. This
adds another method to maintain, but given that the move constructor is a
frequently used operation that is expected to have a small compile-time and
run-time cost (potentially used implicitly), this seems like a reasonable
trade-off.

Differential Revision: https://phabricator.services.mozilla.com/D84804
2020-08-03 15:14:38 +00:00
Jean-Yves Avenard c56eb8ef3c Bug 1653638 - P1. Rename thread type and remove unused one. r=mattwoodrow
Historically, the MediaThreadType::PLAYBACK was used just for that; the MediaDecoderReader and exclusively for playback content.

This is no longer the case ; it's used in multiple places, and not just with playback: webrtc, webaudio, benchmark etc.

The primary use of the "PLAYBACK" thread was to distinguish from the "PLATFORM_DECODER" one as they dispatch synchronous tasks from one to the other, and we must ensure they don't share the same threadpool.

CONTROLLER is more fitting here, as this is how it's typically used: a controller thread manage the decoder threads.

Additionally, we remove the MTG_CONTROL one as it's not used.

Differential Revision: https://phabricator.services.mozilla.com/D85543
2020-08-03 08:01:07 +00:00
Sylvestre Ledru 843f943758 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D85678
2020-08-02 15:29:15 +00:00
alwu 4f35b1bd20 Bug 1654045 - part2 : add 'onactivated/ondeactivated' event handlers and 'isActive' on the media control webidl interface. r=chunmin
Add an event handler `onactivated/ondeactivated` and a readonly attribute `isActive` on the media control webidl interface, and they can be used in testing and the future plan of supporting media hub.

Differential Revision: https://phabricator.services.mozilla.com/D85229
2020-07-31 17:26:38 +00:00
Chris Martin 133b9692b1 Bug 1652561 - Refactor nsLookAndFeel::GetFontImpl() to prepare for remoting r=jmathies
Currently, this code creates large and non-trivial classes that will be
difficult to remote. This change creates an intermediate stage where a simple
struct is returned from a function and then used to initialize these
more complex classes.

It is this simple struct that will be remoted across processes

Differential Revision: https://phabricator.services.mozilla.com/D83405
2020-07-31 17:32:57 +00:00
Jeff Walden 598c0ab898 Bug 1656411 - Move various dumping functions out of jsfriendapi.h to a new header. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D85522
2020-07-31 16:20:19 +00:00
Nathan Froyd e3ebda1914 Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis a911a108d0 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd bec9f9b93a Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Alexander Surkov d5426056b8 Bug 1655722 - implement HTML:inert attribute r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85190
2020-07-29 17:24:04 +00:00
Sebastian Streich 9644a40740 Bug 1558394 - Block downloads in sandboxed iframes r=ckerschb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D67351
2020-07-29 11:50:09 +00:00
Mike Hommey 0bd1d12978 Bug 1654483 - Enable the CFI directives for NS_InvokeByIndex on macOS. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84772
2020-07-24 13:04:35 +00:00
Brindusan Cristian 2d3cb7b452 Merge autoland to mozilla-central. a=merge 2020-07-27 23:31:20 +03:00
Mozilla Releng Treescript e0a22e8714 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-07-27 17:45:43 +00:00
Nathan Froyd 964b206f6c Bug 1654796 - use member initializers for nsMemoryReporterManager structures; r=njn
The current use of `PodZero` (`memset`) triggers `-Wclass-memaccess`
warnings, and member initializers are arguably nicer.

Differential Revision: https://phabricator.services.mozilla.com/D84690
2020-07-24 00:40:41 +00:00
Dimi Lee 73579c0490 Bug 1650768 - P3. Add .fileloc and .webloc file extensions to executable extension list r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D84474
2020-07-23 12:31:14 +00:00
Dimi Lee 9c4cc0a1ec Bug 1650768 - P2. Add .cer file extensions to executable extension list r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D84473
2020-07-23 12:31:06 +00:00
Dimi Lee 2799950e3b Bug 1650768 - P1. Add .accda, .accdb, .accde, and .accdr file extension to executable extension list r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D84472
2020-07-23 12:30:59 +00:00
Toshihito Kikuchi ab3b43d45a Bug 1654100 - Measure the elapsed time of ShellExecuteByExplorer. r=froydnj
This patch adds a new measurement to the histogram about the elapsed time
of `ShellExecuteByExplorer`.  If ShellExecuteByExplorer takes long in
a considerable number of instances, we need to consider fixing bug 1646986.

Differential Revision: https://phabricator.services.mozilla.com/D84407
2020-07-23 19:57:35 +00:00
Emilio Cobos Álvarez ff61891772 Bug 1653011 - Simplify and make WeakPtr<Derived> usable and compact. r=froydnj,sg,geckoview-reviewers,jgilbert,kvark,snorp
Having two classes in the inheritance chain inherit from SupportsWeakPtr
now won't compile, but you can use WeakPtr<Derived> when any base class
inherits from SupportsWeakPtr.

Differential Revision: https://phabricator.services.mozilla.com/D83674
2020-07-23 14:51:46 +00:00
Honza Bambas be7f10275a Bug 1628713 - Add `Tokenizer::CheckPhrase` to quickly check for compound strings, r=xpcom-reviewers,erahm
Differential Revision: https://phabricator.services.mozilla.com/D70373
2020-07-23 12:57:50 +00:00
Jon Coppeard f47569e9d9 Bug 1654523 - Insist that iteration callbacks don't GC r=sfink,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D84500
2020-07-23 02:31:57 +00:00
Tim Nguyen f4e86cd6e4 Bug 558594 - Implement layout for <input type='search'>. r=emilio,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D56302
2020-07-27 12:09:40 +00:00
Narcis Beleuzu 37cb83a398 Backed out 2 changesets (bug 921504) for wpt failures on inert-retargeting-iframe.tentative.html . CLOSED TREE
Backed out changeset 8b75cd744e80 (bug 921504)
Backed out changeset a56b2d354613 (bug 921504)
2020-07-22 23:53:55 +03:00
Alexander Surkov 1c382cad65 Bug 921504 - implement HTML:inert r=emilio,heycam
Differential Revision: https://phabricator.services.mozilla.com/D81701
2020-07-22 04:26:08 +00:00
Ricky Stewart f52f291457 Bug 1654602 - Run `xpidl` unit tests as part of `xpcom` subsuite r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84557
2020-07-22 17:51:14 +00:00
Kristen Wright 8ae32c1779 bug 1637829 - Increase the number of background pool threads r=froydnj
Having a thread limit of 1 in the background thread pools causes deadlock when attempting synchonous dispatch on the same pool. Increasing the thread limit on each pool to 2 lessens the risk of this kind of deadlock, so it's not the perfect solution where we wouldn't allow any kind of offthread synchronous dispatch that could cause a deadlock. These thread pools may eventually scale larger, so this patch sets the idle thread limit low.

Differential Revision: https://phabricator.services.mozilla.com/D83999
2020-07-21 15:07:27 +00:00
Simon Giesecke 7383616e5f Bug 1653230 - Remove unnecessary includes from CycleCollectedJSContext.h. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D83770
2020-07-22 15:09:48 +00:00
Jeff Gilbert 35f892e782 Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj
* Use clearer pref names.
* Default (and only support) IPDL dispatching.
* Make DispatchCommands async-only.
* Sync ipdl command per sync webgl entrypoint.
  * Eat the boilerplate cost, since there's not too many.
* Run SerializedSize off same path as Serialize.
* All shmem uploads go through normal DispatchCommands.
* Defer pruning of dead code for now so we can iterate quickly.
* Use Read/Write(begin,end) instead of (begin,size).
  * This would have prevented a bug where we read/wrote N*sizeof(T)*sizeof(T).

Differential Revision: https://phabricator.services.mozilla.com/D81495
2020-07-21 22:56:52 +00:00
Emilio Cobos Álvarez 5adefab54c Bug 1449401 - Remove moz-math-anonymous ua-only pseudo. r=heycam
We do not expose it nor ever style it. Just use the parent style all the
time. This avoids problematic style resolution calls during reflow.

Differential Revision: https://phabricator.services.mozilla.com/D84358
2020-07-21 22:35:46 +00:00
Paul Bone 291ecec432 Bug 1482089 - pt 1. Remove DOM code for processing GCTelemetry r=mccr8
This code glues the JS GC code that creates the telemetry with a JS module
that processes it.  This patch removes this code unhooking these
components.

Differential Revision: https://phabricator.services.mozilla.com/D84163
2020-07-21 05:18:28 +00:00
Doug Thayer 8f54209ef6 Bug 1651165 - Rename idle service r=Gijs,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D83413
2020-07-20 16:06:59 +00:00
Narcis Beleuzu 0ac1595a1a Backed out 2 changesets (bug 921504) for mochitest failures on test_animation-type-longhand.html . CLOSED TREE
Backed out changeset e87edffd46b9 (bug 921504)
Backed out changeset eb53880e5f0e (bug 921504)
2020-07-20 17:37:32 +03:00
Alexander Surkov cf6cccf0ef Bug 921504 - implement HTML:inert r=emilio,heycam
Differential Revision: https://phabricator.services.mozilla.com/D81701
2020-07-20 04:22:36 +00:00
Keefer Rourke 7498430cf9 Bug 1653003: Implement IOUtils::remove method r=barret,Gijs
This patch introduces a remove method to the IOUtils interface, which allows
for removing files and directories on disk. It is a simple wrapper around
the nsIFile::Remove method.

Differential Revision: https://phabricator.services.mozilla.com/D83663
2020-07-18 00:31:57 +00:00
Bas Schouten 562faeceb0 Bug 1651842: Fix event delay being not/incorrecty reported when using TaskController. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D83542
2020-07-17 19:21:16 +00:00
Jon Coppeard b975de8947 Bug 1648453 - Use CallbackObject to trigger cleanup while setting up the incumbent global r=smaug
This also factors out FinalizationRegistry support into a separate class.

The JS engine now passes a callback function and the incumbent global which are recorded in QueueCallback. FinalizationRegistryCleanup::DoCleanup creates a CallbackObject can calls it immediately (I originally tried creating it in QueueCallback but there were problems because this is called during GC).

I coped most of this from the way promise reaction jobs work. I added FinalizationRegistryCleanupCallback; I don't know if that's overkill.

Differential Revision: https://phabricator.services.mozilla.com/D83614
2020-07-17 17:34:46 +00:00
Simon Giesecke 0f6236401d Bug 1650749 - Mention tri-state comparison functor in documentation of Comparator. r=TYLin,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D82334
2020-07-17 08:38:31 +00:00
longsonr 63ae9a2469 Bug 1652194 - Remove SVGGenericContainerFrame r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D83257
2020-07-16 20:53:36 +00:00
Razvan Maries 6767314b95 Backed out 4 changesets (bug 1648453) for hazzard bustages on CycleCollectedJSContext.cpp. CLOSED TREE
Backed out changeset 9598a75cca47 (bug 1648453)
Backed out changeset 473e7d55a25e (bug 1648453)
Backed out changeset 0afcee198ecd (bug 1648453)
Backed out changeset 623252539387 (bug 1648453)
2020-07-17 00:01:11 +03:00
Jon Coppeard 17558447d2 Bug 1648453 - Use CallbackObject to trigger cleanup while setting up the incumbent global r=smaug
This also factors out FinalizationRegistry support into a separate class.

The JS engine now passes a callback function and the incumbent global which are recorded in QueueCallback. FinalizationRegistryCleanup::DoCleanup creates a CallbackObject can calls it immediately (I originally tried creating it in QueueCallback but there were problems because this is called during GC).

I coped most of this from the way promise reaction jobs work. I added FinalizationRegistryCleanupCallback; I don't know if that's overkill.

Differential Revision: https://phabricator.services.mozilla.com/D83614
2020-07-16 12:54:55 +00:00
Mihai Alexandru Michis 30e2927e24 Backed out 3 changesets (bug 1648453) for causing bustages in AccessCheck.h
CLOSED TREE

Backed out changeset 8b21977bb2df (bug 1648453)
Backed out changeset 4cac71f274b8 (bug 1648453)
Backed out changeset a9ad01b4ab2e (bug 1648453)
2020-07-16 15:43:52 +03:00
Jon Coppeard b42f8c7c97 Bug 1648453 - Use CallbackObject to trigger cleanup while setting up the incumbent global r=smaug
This also factors out FinalizationRegistry support into a separate class.

The JS engine now passes a callback function and the incumbent global which are recorded in QueueCallback. FinalizationRegistryCleanup::DoCleanup creates a CallbackObject can calls it immediately (I originally tried creating it in QueueCallback but there were problems because this is called during GC).

I coped most of this from the way promise reaction jobs work. I added FinalizationRegistryCleanupCallback; I don't know if that's overkill.

Differential Revision: https://phabricator.services.mozilla.com/D83614
2020-07-16 11:45:42 +00:00
Jean-Yves Avenard 498938c5ca Bug 1651249 - Dispatch to the current SerialEventTarget by default. r=froydnj
Dispatching to the underlying thread of what could be a thread-pool can lead to data-race as the code won't be run where you expect it to.

Differential Revision: https://phabricator.services.mozilla.com/D82632
2020-07-14 21:17:31 +00:00
Simon Giesecke 1cd5c68592 Bug 1652002 - Remove some unnecessary includes from BindingUtils.h. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D83098
2020-07-15 15:34:49 +00:00
Honza Bambas b3cbab1c49 Bug 1651068 - Include `Task` from `TaskController` in MOZ_LOG=events, r=bas
Differential Revision: https://phabricator.services.mozilla.com/D83065
2020-07-14 16:17:18 +00:00
Doug Thayer a8ad8e7325 Bug 1652140 - Check for null data from zip before trying to cache it r=froydnj
We're crashing occasionally here due to an assertion in Span.h. We would
also likely have problems down the road if we tried to cache nullptrs in
the startup cache. I think this is all we need to handle this as gracefully
as we are able - at least, this should make it so the recent StartupCache
changes are no longer making failure any less graceful.

Differential Revision: https://phabricator.services.mozilla.com/D83189
2020-07-14 15:36:09 +00:00
Mitchell Hentges 7a7098e9cc Bug 1652158: Removes usage of old tuple-based node system r=firefox-build-system-reviewers,rstewart
Refactors dafsa-encoding logic to use class-based node representation instead of the tuple-based
representation

Differential Revision: https://phabricator.services.mozilla.com/D83361
2020-07-13 19:03:04 +00:00
Andrea Marchesini 45f7415671 Bug 1650811 - Make Base64 compatible with ReadSegments() with small buffers, r=asuth,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82522
2020-07-13 08:34:07 +00:00
Kris Maglione b6be72f351 Bug 1649554: Part 1 - Move deprecated component registration helpers out of XPCOMUtils. r=mccr8,remote-protocol-reviewers,marionette-reviewers,perftest-reviewers,webcompat-reviewers,whimboo,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D81749
2020-07-10 23:58:30 +00:00
Kris Maglione 9d78661f88 Bug 1649221: Update ChromeUtils.generateQI callers to pass strings. r=mccr8,remote-protocol-reviewers,marionette-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,preferences-reviewers,agi,whimboo,Bebe,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D81594
2020-07-10 23:58:28 +00:00
Mitchell Hentges e1aa2a866a Bug 1629337: Implements incremental dafsa algorithm r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D76893
2020-07-10 21:08:10 +00:00
Jon Coppeard 63833c5f28 Bug 1651612 - Run extra garbage collection cycle for idle workers if cycle collection collected anything r=mccr8
This runs an extra GC cycle when a worker goes idle if the cycle collector collected anything. This fixes the test case given (but not the case in the original bug).

Differential Revision: https://phabricator.services.mozilla.com/D82869
2020-07-10 13:55:38 +00:00
Simon Giesecke 313a0e1e7f Bug 1651323 - Add MOZ_LIFETIME_BOUND attribute to nsTLiteralString AsString and conversion operator. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D82682
2020-07-10 12:16:20 +00:00