Commit Graph

1835 Commits

Author SHA1 Message Date
Simon Giesecke
c7bd77d920 Bug 1612135 - Allow Result<V, E> to be used with a MOZ_NON_PARAM_TYPE E. r=emilio,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D61214

--HG--
extra : moz-landing-system : lando
2020-01-29 21:22:39 +00:00
Ting-Yu Lin
8c351e2376 Bug 1610980 Part 2 - Add MakeInclusiveEnumeratedRange(). r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60753

--HG--
extra : moz-landing-system : lando
2020-01-27 08:01:55 +00:00
Ting-Yu Lin
f5deea0c94 Bug 1610980 Part 1 - Use constexpr for classes and functions in EnumeratedRange.h. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60752

--HG--
extra : moz-landing-system : lando
2020-01-27 08:01:47 +00:00
Tom Ritter
8512ab7c40 Bug 1610039 - Create a Tainted<> class and macros to obtain validated raw values r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60531

--HG--
extra : moz-landing-system : lando
2020-01-23 22:19:32 +00:00
Perry Jiang
c635cee728 Bug 1601024 - ThreadSafeWeakReference::tryDetach must acquire its lock r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60037

--HG--
extra : moz-landing-system : lando
2020-01-21 13:33:04 +00:00
Sylvestre Ledru
187e9bafaf Bug 1519636 - Automatically reformat recent changes using clang-format r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D60354

--HG--
extra : moz-landing-system : lando
2020-01-21 09:51:27 +00:00
Eric Rahm
1f1fb3adf6 Bug 1610070 - Part 1: Allow comparison of UniquePtr<T> and T*. r=froydnj
This allows us to compare a `UniquePtr` with it's raw pointer type. This allows `nsTArray`'s default comparator to function properly and lets us find/remove items from an nsTArray<UniquePtr<T>> with just a raw pointer.

Differential Revision: https://phabricator.services.mozilla.com/D60339

--HG--
extra : moz-landing-system : lando
2020-01-20 20:06:30 +00:00
Emilio Cobos Álvarez
256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

Differential Revision: https://phabricator.services.mozilla.com/D60327

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez
aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

Differential Revision: https://phabricator.services.mozilla.com/D60323

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Emilio Cobos Álvarez
5cd5e6f148 Bug 1609996 - Remove mozilla::Swap in favor of std::swap. r=froydnj
Now mfbt/Move.h is empty except for that excellent comment about move
semantics... Should we put it somewhere else and delete the header as a
follow-up? Or just delete the header and carry on?

Differential Revision: https://phabricator.services.mozilla.com/D60297

--HG--
extra : moz-landing-system : lando
2020-01-20 16:17:06 +00:00
Sylvestre Ledru
cc2040bf21 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

Differential Revision: https://phabricator.services.mozilla.com/D58217

--HG--
extra : moz-landing-system : lando
2020-01-18 13:48:34 +00:00
Dorel Luca
506e65bcab Backed out changeset bbb39655cf71 (bug 1605934) for build bustage in widget/gtk/mozwayland/mozwayland.c 2020-01-18 15:39:55 +02:00
Sylvestre Ledru
6689a37527 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

Differential Revision: https://phabricator.services.mozilla.com/D58217

--HG--
extra : moz-landing-system : lando
2020-01-18 13:16:39 +00:00
Alex Catarineu
bc96439261 Bug 461204 - Improve the random number generator for the boundaries in multipart/form-data r=smaug
Using a weak RNG for the form boundary allows a website operator to perform several
attacks on users (as outlined in https://trac.torproject.org/projects/tor/ticket/22919)

These include:
 - Identifying Windows users based on the unseeded RNG
 - Identify the number of form submissions that have occurred cross-origin between same-origin submissions

Additionally, a predictable boundary makes it possible to forge a boundary in the middle
of a file upload.

Differential Revision: https://phabricator.services.mozilla.com/D56056

--HG--
extra : moz-landing-system : lando
2020-01-13 20:41:14 +00:00
Emilio Cobos Álvarez
cde7beaaa4 Bug 1608064 - Replace Is{Rvalue,Lvalue,}Reference with <type_traits> equivalents. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D59309

--HG--
extra : moz-landing-system : lando
2020-01-10 10:40:34 +00:00
Sylvestre Ledru
c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D58175

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
David Parks
198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

Differential Revision: https://phabricator.services.mozilla.com/D54018

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
David Major
824b73f655 Bug 1572205 - Use a single-member union as the storage for Maybe r=jwalden
My personal motivation for doing this is to stop the compiler from inserting stack protectors into tons of functions that wouldn't otherwise have them (arrays on the stack are one of the triggers for stack protection). But others see different benefits, such as being able to remove the `MOZ_NON_PARAM` annotation. Also this is the approach recommended by https://github.com/CppCon/CppCon2019/tree/master/Presentations/how_to_hold_a_t.

Differential Revision: https://phabricator.services.mozilla.com/D58995

--HG--
extra : moz-landing-system : lando
2020-01-07 23:50:31 +00:00
Emilio Cobos Álvarez
278b36aafb Bug 1607816 - Replace mozilla::{Max, Min}Value with std::numeric_limits. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D59153

--HG--
extra : moz-landing-system : lando
2020-01-08 16:30:40 +00:00
Emilio Cobos Álvarez
f210527c4f Bug 1607595 - Manual fixups, and remove mozilla::IsBaseOf. r=froydnj
This is manual, but hopefully trivial.

Differential Revision: https://phabricator.services.mozilla.com/D59014

--HG--
extra : moz-landing-system : lando
2020-01-08 14:52:18 +00:00
Emilio Cobos Álvarez
e363a41bd4 Bug 1607595 - Remove uses of mozilla::IsBaseOf. r=froydnj
Automatically generated by:

$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/mozilla::IsBaseOf</std::is_base_of</g'
$ rg 'IsBaseOf<' | cut -d : -f 1 | xargs sed -i 's/IsBaseOf</std::is_base_of</g

Differential Revision: https://phabricator.services.mozilla.com/D59013

--HG--
extra : moz-landing-system : lando
2020-01-08 14:52:10 +00:00
Brian Hackett
6a51495175 Bug 1606447 - Initial landing for cloud replay, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D58444

--HG--
rename : toolkit/recordreplay/MiddlemanCall.cpp => toolkit/recordreplay/ExternalCall.cpp
rename : toolkit/recordreplay/MiddlemanCall.h => toolkit/recordreplay/ExternalCall.h
rename : toolkit/recordreplay/File.cpp => toolkit/recordreplay/Recording.cpp
rename : toolkit/recordreplay/File.h => toolkit/recordreplay/Recording.h
extra : moz-landing-system : lando
2020-01-03 20:43:08 +00:00
Dorel Luca
212a51bc09 Backed out 5 changesets (bug 1603856, bug 1606447, bug 1605584, bug 1598951) for build bustages. CLOSED TREE
Backed out changeset cf403935cf9b (bug 1598951)
Backed out changeset af6e8b6be574 (bug 1605584)
Backed out changeset fbfa92bd4ec8 (bug 1603856)
Backed out changeset a6d13450295d (bug 1603856)
Backed out changeset e0b049ff115f (bug 1606447)

--HG--
rename : toolkit/recordreplay/Recording.cpp => toolkit/recordreplay/File.cpp
rename : toolkit/recordreplay/Recording.h => toolkit/recordreplay/File.h
rename : toolkit/recordreplay/ExternalCall.cpp => toolkit/recordreplay/MiddlemanCall.cpp
rename : toolkit/recordreplay/ExternalCall.h => toolkit/recordreplay/MiddlemanCall.h
2020-01-03 18:43:40 +02:00
Brian Hackett
47e1b573d0 Bug 1606447 - Initial landing for cloud replay, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D58444

--HG--
rename : toolkit/recordreplay/MiddlemanCall.cpp => toolkit/recordreplay/ExternalCall.cpp
rename : toolkit/recordreplay/MiddlemanCall.h => toolkit/recordreplay/ExternalCall.h
rename : toolkit/recordreplay/File.cpp => toolkit/recordreplay/Recording.cpp
rename : toolkit/recordreplay/File.h => toolkit/recordreplay/Recording.h
extra : moz-landing-system : lando
2020-01-03 15:57:15 +00:00
Chris Peterson
00129c9a09 Bug 1570499 - Part 3: Remove MOZ_FALLTHROUGH macro definition. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56442

--HG--
extra : moz-landing-system : lando
2019-12-20 07:03:27 +00:00
Chris Peterson
406763af7f Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

Differential Revision: https://phabricator.services.mozilla.com/D56440

--HG--
extra : moz-landing-system : lando
2019-12-20 07:16:43 +00:00
Cosmin Sabou
5057d205bc Backed out changeset 310c4bf09003 (bug 1604585) for build bustages on ReentrancyGuard.h 2019-12-17 20:58:26 +02:00
Emilio Cobos Álvarez
54fad3fb32 Bug 1604585 - Remove HashTable::mEntered, as it is write-only. r=froydnj
And while at it, initialize mMutationCount in the declaration, to remove an
ugly ifdef block.

Differential Revision: https://phabricator.services.mozilla.com/D57506

--HG--
extra : moz-landing-system : lando
2019-12-17 18:45:27 +00:00
Emilio Cobos Álvarez
61a790403f Bug 1604574 - Fix HashTable move constructor, and remove silly ifdefs. r=froydnj
Also add a test for the hash table, because we seem to have zero of them :(

Call clearAndCompact() so that we get minimum capacity on re-growth.

Differential Revision: https://phabricator.services.mozilla.com/D57501

--HG--
extra : moz-landing-system : lando
2019-12-17 18:36:58 +00:00
Miko Mynttinen
3d352aa73a Bug 1601483 - Avoid HashTable lookups when the table is empty r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55882

--HG--
extra : moz-landing-system : lando
2019-12-17 18:01:42 +00:00
Jeff Walden
e6a448b5e0 Bug 1439659 - Fix inadvertent typo (that would have been immediately obvious as compile error in a big-endian build, because of this bug's change, happily). r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57373

--HG--
extra : moz-landing-system : lando
2019-12-16 21:14:05 +00:00
Simon Giesecke
3137f60858 Bug 1602749 - Make CheckedInt operations constexpr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56682

--HG--
extra : moz-landing-system : lando
2019-12-16 10:22:57 +00:00
Jeff Walden
e57173377f Bug 1439659 - Make |MOZ_{LITTLE,BIG}_ENDIAN| into function macros so that invoking them inside |#if| conditions when they haven't been defined yet is a compile error. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57038

--HG--
extra : moz-landing-system : lando
2019-12-13 20:51:04 +00:00
Nathan Froyd
932bbcdba9 Bug 1602774 - add a copy constructor to RangedPtr; r=sylvestre
Doing this avoids warnings about implicitly-declared copy constructors.

Differential Revision: https://phabricator.services.mozilla.com/D56811

--HG--
extra : moz-landing-system : lando
2019-12-12 09:50:24 +00:00
Simon Giesecke
33bfd1690d Bug 1600096 - Disable RefPtr conversion constructors when underlying pointer types are not convertible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55141

--HG--
extra : moz-landing-system : lando
2019-12-11 10:11:45 +00:00
Christian Holler
1636d4ab1f Bug 1600312 - Use atomic load instead of fence for RefCounted with TSan. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55948

--HG--
extra : moz-landing-system : lando
2019-12-09 14:00:22 +00:00
Simon Giesecke
fec8c64d2a Bug 1602452 - Make member functions of nsTStringRepr defined in header constexpr. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56369

--HG--
extra : moz-landing-system : lando
2019-12-10 08:40:48 +00:00
Mihai Alexandru Michis
64878ccca2 Backed out changeset d561645c3554 (bug 1600096) for causing bustages in RefPtr.h
CLOSED TREE
2019-12-09 17:46:46 +02:00
Simon Giesecke
0e472fc621 Bug 1600096 - Disable RefPtr conversion constructors when underlying pointer types are not convertible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55141

--HG--
extra : moz-landing-system : lando
2019-12-09 15:32:42 +00:00
Manish Goregaokar
52a09d5497 Bug 1602105: Mention default value of Span<T, Extent>'s extent; r=perry
MozReview-Commit-ID: 5h8zGik856o

Differential Revision: https://phabricator.services.mozilla.com/D56242

--HG--
extra : moz-landing-system : lando
2019-12-06 21:02:28 +00:00
Noemi Erli
383f77dead Backed out changeset 642c6ef227f1 (bug 1601483) for causing assertion in HashTable.h CLOSED TREE 2019-12-05 15:31:06 +02:00
Miko Mynttinen
47dde82de0 Bug 1601483 - Avoid HashTable lookups when the table is empty r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55882

--HG--
extra : moz-landing-system : lando
2019-12-05 01:57:22 +00:00
Jeff Walden
b7e760c953 Bug 1590907 - Use a static assert in HashTable that doesn't depend on configure. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D53921

--HG--
extra : moz-landing-system : lando
2019-11-25 21:55:56 +00:00
Philip Chimento
d5ea5e1e84 Bug 1590907 - Remove obsolete macro MOZ_HAVE_BITSCAN64. r=froydnj
This macro seems to have been introduced in
https://bugzilla.mozilla.org/attachment.cgi?id=772469&action=diff
but there doesn't seem to be any mention of it anywhere else. Currently
it's only checked in order to #undef it if it's defined.

Differential Revision: https://phabricator.services.mozilla.com/D51770

--HG--
extra : moz-landing-system : lando
2019-11-12 21:59:25 +00:00
David Major
fd241bcb5a Bug 1594267 - Make OutOfLinePoisoner::poison be MOZ_NEVER_INLINE r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D51960

--HG--
extra : moz-landing-system : lando
2019-11-06 14:10:15 +00:00
Ted Campbell
2adca90e13 Bug 1553759 - Remove unused LZ4::decompress method r=froydnj
The implementation of this method calls deprecated functions and
generates compiler warnings. It is never used, so just remove it.

Differential Revision: https://phabricator.services.mozilla.com/D51093

--HG--
extra : moz-landing-system : lando
2019-10-30 14:55:52 +00:00
Jeff Walden
7d74f15a31 Bug 1592325 - Fix an unsigned-integer underflow in HashTable.h that's super-easy to trigger using affirmatively wrapping operations. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D50960

--HG--
extra : moz-landing-system : lando
2019-10-29 16:42:15 +00:00
Philip Chimento
ee9273766f Bug 1426865 - Fix formatting of macros in RecordReplay. r=jwalden
This has nothing to do with the bug, but it was driving me up the wall.

Differential Revision: https://phabricator.services.mozilla.com/D50269

--HG--
extra : moz-landing-system : lando
2019-10-27 22:34:11 +00:00
Philip Chimento
f5f79e326f Bug 1426865 - Don't forward-declare JSContext and JSObject in RecordReplay. r=sfink
Have the public interface just use void* pointers so that we don't have to
worry about symbol visibility.

(Includes some reformatting of a macro because clang-format required it)

Differential Revision: https://phabricator.services.mozilla.com/D49097

--HG--
extra : moz-landing-system : lando
2019-10-27 22:34:11 +00:00
Sylvestre Ledru
7c309095ea Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Please note that it is the first reformat with clang-format 9
I only saw a fix in the .mm file

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D49056

--HG--
extra : moz-landing-system : lando
2019-10-21 14:13:44 +00:00