Commit Graph

19959 Commits

Author SHA1 Message Date
Gerald Squelart
02d4f51396 Bug 1609907 - Add AUTO_PROFILER_THREAD_SLEEP around wait_for in DEBUG OffTheBooksCondVar::Wait - r=mstange
In non-DEBUG builds, `OffTheBooksCondVar::Wait` has `AUTO_PROFILER_THREAD_SLEEP`, but it's not in DEBUG builds.
`profiler_thread_sleep` does a `MOZ_ASSERT(mSleep == AWAKE)` in DEBUG builds, so the double call that happens in non-DEBUG wouldn't trigger the assertion!

This patch adds `AUTO_PROFILER_THREAD_SLEEP` in DEBUG `OffTheBooksCondVar::Wait`, to catch more misuses during development.

Depends on D72851

Differential Revision: https://phabricator.services.mozilla.com/D72852
2020-05-01 22:12:56 +00:00
Gerald Squelart
6f36a3fdb8 Bug 1609907 - Remove AUTO_PROFILER_THREAD_SLEEP before mozilla::CondVar waits - r=mstange
CondVar already calls `AUTO_PROFILER_THREAD_SLEEP`, which shouldn't be called recursively.

mozilla::Monitor also uses CondVar, so it shouldn't be surrounded by `AUTO_PROFILER_THREAD_SLEEP` either.

Depends on D72850

Differential Revision: https://phabricator.services.mozilla.com/D72851
2020-05-01 22:12:22 +00:00
Bogdan Tara
f137fa0613 Backed out 6 changesets (bug 1632916, bug 1599658, bug 1633037, bug 1633039, bug 1633016, bug 1632920) for SA bustages CLOSED TREE
Backed out changeset 332ce0963b4e (bug 1633039)
Backed out changeset a9904cbc40d9 (bug 1633037)
Backed out changeset d06b0ec349f8 (bug 1599658)
Backed out changeset 8fd300cad80f (bug 1633016)
Backed out changeset f8820941c703 (bug 1632916)
Backed out changeset ac9c2c8746ed (bug 1632920)
2020-05-02 01:49:29 +03:00
Ricky Stewart
d990224458 Bug 1632916 - Run JS/web-platform/ipdl build machinery in Python 3 r=jgraham,nika,glandium
Differential Revision: https://phabricator.services.mozilla.com/D72478
2020-05-01 16:31:21 +00:00
Nicholas Nethercote
4f86d45835 Bug 1628033 - Add pid to the main process in about:memory. r=erahm
In the tests we now explicitly use "Main Process" (or similar) for the process
name in various places to avoid having to filter out a PID.

Also in `test_aboutmemory[34].xhtml`, the main process entries now appear
first, as they should, because the sorting code now looks for a "Main Process"
prefix, rather than an exact match.

Depends on D72995

Differential Revision: https://phabricator.services.mozilla.com/D73164
2020-04-30 21:20:23 +00:00
Mike Hommey
71ccad7a1b Bug 1634187 - Turn xpcom/idl-parser/xpidl into a proper python 3-ready module. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D73151
2020-04-30 21:49:10 +00:00
Doug Thayer
51492737fb Bug 1630655 - Squash TSAN data race report in IOInterposer r=aklotz
In practice this shouldn't substantially change the behavior, but
it gets around being UB, and it shouldn't really cost us in terms
of performance. The alternative would be adding it to the TSAN
whitelist, which feels worse.

Differential Revision: https://phabricator.services.mozilla.com/D72015
2020-04-30 17:17:21 +00:00
Emilio Cobos Álvarez
164acdc0b9 Bug 1634218 - Remove the zoom actors. r=nika
After the recent simplifications to the zoom code, they only take care
of forwarding the enlarge / decrease zoom messages.

We can do that via PBrowser instead, and get rid of the actors. We can
also remove ZoomChangeUsingMouseWheel. Zooming with the mouse wheel will
end up in a *ZoomChange event anyways, and the only consumer already
listened for them.

Differential Revision: https://phabricator.services.mozilla.com/D73175
2020-04-30 16:35:35 +00:00
Simon Giesecke
2a39ffc1e4 Bug 1626570 - Add CopyableTArray. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D72315
2020-04-30 09:35:57 +00:00
Martin Stransky
cc642ad9c0 Bug 1239694 Implemenet Gnome search provider, r=jhorak,mak
Implement org.gnome.Shell.SearchProvider2 D-Bus interface and enable it when
widget.gnome-search-provider.enabled pref is set, so this feature is disabled
by default.

Differential Revision: https://phabricator.services.mozilla.com/D69181
2020-04-29 18:02:23 +00:00
Daniel Varga
a184202d1f Backed out changeset 5c3005879c35 (bug 1634187) for causing build bustages at builds/worker/checkouts/gecko/xpcom/idl-parser/xpidl/runtests.py
CLOSED TREE
2020-04-30 02:58:00 +03:00
Mike Hommey
697361fcd0 Bug 1634187 - Turn xpcom/idl-parser/xpidl into a proper python 3-ready module. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D73151
2020-04-29 23:05:29 +00:00
Simon Giesecke
acd58ae811 Bug 1628692 - Make FallibleTArray uncopyable. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D71577
2020-04-29 08:42:52 +00:00
Eric Rahm
46564057be Bug 1610067 - Remove nsAutoPtr. r=xpcom-reviewers,nika'
`nsAutoPtr` has been deprecated for 6 years. All remaining references are gone and it can now be removed.

Differential Revision: https://phabricator.services.mozilla.com/D72930
2020-04-29 17:28:06 +00:00
Simon Giesecke
74b75d282b Bug 1634023 - Add deduction guides for Span. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D73040
2020-04-29 16:04:56 +00:00
Bogdan Tara
8779e89d94 Backed out changeset eeaa8ec71789 (bug 1610067) for bustages complaining about nsAutoPtr.h CLOSED TREE 2020-04-29 18:57:30 +03:00
Eric Rahm
0e773321c4 Bug 1610067 - Remove nsAutoPtr. r=xpcom-reviewers,nika'
`nsAutoPtr` has been deprecated for 6 years. All remaining references are gone and it can now be removed.

Differential Revision: https://phabricator.services.mozilla.com/D72930
2020-04-28 23:45:51 +00:00
Jon Coppeard
24c9e5618f Bug 1626322 - Add an API to get the zone of a possibly-nursery allocated GC thing and use it in CheckZoneTracer r=sfink,mccr8
Previously CheckZoneTracer didn't take account of the fact that BigInts can be nursery allocated.

Differential Revision: https://phabricator.services.mozilla.com/D72891
2020-04-28 22:26:59 +00:00
Bobby Holley
6e85e332ad Bug 1631304 - Use thread observers for the tail dispatcher. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D71710
2020-04-28 21:18:24 +00:00
Bobby Holley
216d17b976 Bug 1631304 - Mark the tail dispatcher as unavailable outside of event dispatch. r=jya
This is in preparation for running the tail dispatcher off
nsIThreadObserver callbacks, which only work during regular
event processing.

Differential Revision: https://phabricator.services.mozilla.com/D72264
2020-04-28 21:18:21 +00:00
Bobby Holley
d90069e220 Bug 1631304 - Reject AbstractThread dispatches after the main thread has ceased event proccessing. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D72263
2020-04-28 21:18:19 +00:00
Bobby Holley
a50600019a Bug 1631304 - Replace EventTargetWrapper with XPCOMThreadWrapper. r=jya
This is how it used to be, before the Quantum DOM stuff. We use
nsIThreadInternal because that supports thread observers, which we
leverage in the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D71709
2020-04-28 21:18:17 +00:00
Bobby Holley
b5422991d2 Bug 1631304 - Don't lazily create a TailDispatcher from MaybeDrainDirectTasks. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D72262
2020-04-28 21:18:15 +00:00
Bobby Holley
b90c44273e Bug 1631304 - Drill a fast path to accessing the main thread. r=erahm
I'm surprised we don't have this already.

Differential Revision: https://phabricator.services.mozilla.com/D71486
2020-04-28 21:18:10 +00:00
Jon Coppeard
4452987eb3 Bug 1633468 - Make dom/bindings/Codegen.py compare against JSID_VOID to detect uninitialized jsid members r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D72701
2020-04-28 18:12:12 +00:00
André Bargull
ccbf88b7b0 Bug 1626587 - Part 4: Remove mozilla::IsPod for HashMapEntry. r=jwalden
The `mozilla::IsPod<HashMapEntry` specialisation was only needed for the static
assertions in "js/src/frontend/NameCollections.h". Part 3 removed those, so we
can now also remove `mozilla::IsPod<HashMapEntry`.

Drive-by change:
- Remove no longer needed "mozilla/PodOperations.h" include in mfbt/HashTable.h.
- And then fix up previously transitively included files for RootingAPI.h,
  jsfriendapi.h, and Bench.cpp.

Differential Revision: https://phabricator.services.mozilla.com/D69201
2020-04-27 12:00:48 +00:00
Simon Giesecke
850cbc20a8 Bug 1631391 - Simplify implementation of ReplaceElementAt. r=xpcom-reviewers,nika
Depends on D71721

Differential Revision: https://phabricator.services.mozilla.com/D71723
2020-04-27 10:08:46 +00:00
Peter Van der Beken
9a935f4bd4 Bug 1632802 - Remove nsAgg.h. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D72359
2020-04-27 07:56:04 +00:00
Peter Van der Beken
84814fdc97 Bug 1632759 - Remove unnecessary kungFuDeathGrip. r=erahm
The problem in https://bugzilla.mozilla.org/show_bug.cgi?id=325392 was
misdiagnosed and then a generic fix in
https://bugzilla.mozilla.org/show_bug.cgi?id=485834 (the kungFuDeathGrip
in nsObserverService::RemoveObserver) was based on the wrong diagnosis.
The root problem in bug 325392 was not that we were calling
nsObserverService::RemoveObserver from the destructor, and then
reentering the destructor. The refcounting code stabilizes the refcount
to 1 before calling the destructor to avoid reentering a destructor. The
real problem was that we were deleting an XPCOM object manually after
creation but without ever holding a strong reference to it, and so not
going through the refcount stabilization (and then the destructor can
reenter of course).

The generic fix in bug 485834 was based on the spotfix in bug 325392,
that was then backed out when the proper fix for that bug landed. I
don't think we should keep this kungfuDeathGrip, I ran into it because
it causes issues with refcount logging (refcount logging always had an
issue with refcounting from a destructor).

Differential Revision: https://phabricator.services.mozilla.com/D72300
2020-04-27 07:31:06 +00:00
Tom Schuster
f1e35cb3f7 Bug 1633145 - Add JS::PropertyKey::toGCCellPtr. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72540
2020-04-26 17:02:30 +00:00
Tom Schuster
f420e22143 Bug 1633145 - Replace JSID_IS_GCTHING. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D72538
2020-04-26 17:03:01 +00:00
Sylvestre Ledru
7f26dcf1b6 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Done with:
./mach lint -l rustfmt --fix
with
rustfmt 1.4.12-stable (a828ffe 2020-03-11)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D72527
2020-04-25 21:21:32 +00:00
Sylvestre Ledru
34acbb653a Bug 1619165 - Reformat recent changes to the Google coding style r=andi
First reformat with clang-format 10

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D68802
2020-04-25 09:40:08 +00:00
Mihai Alexandru Michis
74e71c6457 Backed out 3 changesets (bug 1630655) for causing failures in test_headless_screenshot.html
CLOSED TREE

Backed out changeset 939611f65438 (bug 1630655)
Backed out changeset 2e05e81cc858 (bug 1630655)
Backed out changeset bfb074351550 (bug 1630655)
2020-04-25 02:53:14 +03:00
Bob Clary
fad49b2fa4 Bug 1631671 - Skip test_nsIProcess.js as random on Android. a=fix
CLOSED TREE
2020-04-24 13:07:52 -07:00
Doug Thayer
dfa7ab6aeb Bug 1630655 - Squash TSAN data race report in IOInterposer r=aklotz
In practice this shouldn't substantially change the behavior, but
it gets around being UB, and it shouldn't really cost us in terms
of performance. The alternative would be adding it to the TSAN
whitelist, which feels worse.

Differential Revision: https://phabricator.services.mozilla.com/D72015
2020-04-24 20:31:53 +00:00
Nika Layzell
e0f0ac8afa Bug 1580565 - Part 6: Add a unique ID to each BrowsingContextGroup, r=kmag
This allows us to explicitly specify BrowsingContextGroups when synchronizing
them. A major advantage of this is that it means we can handle an attempt to
create a BrowsingContext with a parent which the content process is unaware of,
which is possible due to changes to the EnsureSubscribed logic in earlier
patches in this stack.

This is OK, because in the case where the content process cannot see its parent,
the parent must be imminently discarding.

Differential Revision: https://phabricator.services.mozilla.com/D71668
2020-04-24 18:33:09 +00:00
Ricky Stewart
38f4d8fa39 Bug 1621361 - Convert webidl to py3_action r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D71803
2020-04-24 16:17:26 +00:00
Simon Giesecke
2d8c4390b7 Bug 1628715 - Part 15: Replace MOZ_NONNULL_RETURN by returning NotNull<elem_type*>. r=xpcom-reviewers,necko-reviewers,dragana,nika
Differential Revision: https://phabricator.services.mozilla.com/D71300
2020-04-24 13:35:27 +00:00
Simon Giesecke
b48c0c7970 Bug 1628715 - Part 11: Add nodiscard attribute to functions unrelated to memory allocation. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70835
2020-04-24 13:33:28 +00:00
Simon Giesecke
c0341c3791 Bug 1628715 - Part 10: Activate nodiscard attributes on AppendElement(s). r=xpcom-reviewers,nika,peterv
Differential Revision: https://phabricator.services.mozilla.com/D70834
2020-04-24 14:34:15 +00:00
Simon Giesecke
6d5ba85520 Bug 1628715 - Part 9: Add MOZ_NONNULL_RETURN to InsertElementSorted. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70833
2020-04-24 13:31:38 +00:00
Simon Giesecke
736ddc6d90 Bug 1628715 - Part 8: Add MOZ_NONNULL_RETURN to ReconstructElementAt. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70832
2020-04-24 13:31:25 +00:00
Simon Giesecke
191a830575 Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70831
2020-04-24 13:31:14 +00:00
Simon Giesecke
c80cf74d98 Bug 1628715 - Part 7bis: Add gtests for nsTArray::AppendElements. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D71062
2020-04-24 14:00:48 +00:00
Simon Giesecke
ddcf8e7ab1 Bug 1628715 - Part 6: Remove unused and redundant AppendElements overload. r=xpcom-reviewers,nika
The AppendElements overload accepting a mozilla::Array<Item, Length> is
redundant, since that is convertible to a mozilla::Span<const Item>, for which
a separate overload exists.

Differential Revision: https://phabricator.services.mozilla.com/D70386
2020-04-24 13:26:26 +00:00
Simon Giesecke
9cc891f41f Bug 1628715 - Part 5: Add MOZ_NONNULL_RETURN to infallible nsTArray::InsertElementsAt. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70403
2020-04-24 13:26:13 +00:00
Simon Giesecke
8a4bbe1c44 Bug 1628715 - Part 4: Add MOZ_NONNULL_RETURN to infallible nsTArray::ReplaceElementsAt. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D70385
2020-04-24 13:25:45 +00:00
Simon Giesecke
71ab94e29b Bug 1628715 - Part 4bis: Make nsTArray*AllocatorBase methods constexpr. r=nika,xpcom-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D71541
2020-04-24 13:25:23 +00:00
Simon Giesecke
93004ea958 Bug 1628715 - Part 3: Make fallible nsTArray::Assign nodiscard. r=xpcom-reviewers,erahm
Differential Revision: https://phabricator.services.mozilla.com/D70384
2020-04-24 13:25:13 +00:00