Commit Graph

19290 Commits

Author SHA1 Message Date
Paul Zuehlcke
188941cdef Bug 1577767 - Call maybeForwardScriptError independently of parent process listeners state. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44152

--HG--
extra : moz-landing-system : lando
2019-09-04 09:44:50 +00:00
Gerald Squelart
95f77c2409 Bug 1576819 - Use PROFILER_ADD_MARKER{,_WITH_PAYLOAD} everywhere - r=gregtatum
All calls to `profiler_add_marker()` (outside of the profilers code) are
now replaced by either:
- `PROFILER_ADD_MARKER(name, categoryPair)`
- `PROFILER_ADD_MARKER_WITH_PAYLOAD(name, categoryPair, TypeOfMarkerPayload,
                                    (payload, ..., arguments))`

This makes all calls consistent, and they won't need to prefix the category pair
with `JS::ProfilingCategoryPair::`.

Also it will make it easier to add (and later remove) internal-profiling
instrumentation (bug 1576550), and to replace heap-allocated payloads with
stack-allocated ones (bug 1576555).

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:56:51 +00:00
Tom Ritter
d922064696 Bug 1547519 - Rename NS_STRINGIFY to MOZ_STRINGIFY, move to mfbt, and unify stragglers r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D39961

--HG--
extra : moz-landing-system : lando
2019-09-04 02:40:32 +00:00
Andreea Pavel
9f378c9fc1 Backed out changeset fee72f003ea2 (bug 1577767) win build bustages on a CLOSED TREE 2019-09-03 11:47:31 +03:00
Paul Zuehlcke
df9b4fb190 Bug 1577767 - Call maybeForwardScriptError independently of parent process listeners state. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44152

--HG--
extra : moz-landing-system : lando
2019-09-02 11:23:59 +00:00
Jean-Yves Avenard
ff8e5e92fd Bug 1556489 - P22 - Manually add history entries for all DocumentChannel redirects, since these aren't exposed to the content process as channel redirects. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D42259
2019-09-03 10:19:53 +10:00
ffxbld
426de7d9bd Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-09-02 09:00:31 +00:00
Razvan Maries
80cfb7b1f5 Backed out changeset 42ebd8a50978 (bug 1577439) for causing perma leakcheck | tab process: negative leaks caught. 2019-09-01 03:41:33 +03:00
Emilio Cobos Álvarez
5ba33267fa Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-08-31 23:28:26 +00:00
Sylvestre Ledru
36129ce948 Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in various dirs r=glandium
Depends on D43784

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

--HG--
extra : moz-landing-system : lando
2019-08-30 09:11:19 +00:00
Paul Zuehlcke
735128f5c7 Bug 1559167 - Updated logMessage to support logging of scriptErrors from parent to content process. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D42295

--HG--
extra : moz-landing-system : lando
2019-08-27 17:37:55 +00:00
Kris Maglione
252aae5429 Bug 1577263: Use memcmp for nsID::Equals. r=froydnj
Compilers have gotten a lot better since the last time we tried this, and the
generated SIMD code for the inlined memcmp is more efficient than our manual
comparison operations.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 19:08:44 +00:00
Mirko Brodesser
887a1c3c6d Bug 1575495: part 4) Add AddLineBreak to CurrentLineContent. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42840

--HG--
extra : moz-landing-system : lando
2019-08-23 14:00:50 +00:00
Honza Bambas
bf7dde4bf0 Bug 1574882 - Always add .moz_log to target logging filenames, r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D42487

--HG--
extra : moz-landing-system : lando
2019-08-23 16:51:40 +00:00
Gijs Kruitbosch
10013b939f Bug 1575566 - stop using the directory service when creating anonymous temporary files, r=froydnj
Note that this code asserts it gets run in the parent process, so we can be sure that we never
want the content process sandbox-accessible dir or similar (though tbf, that seems odd given
we have DOM machinery to proxy from the child to here... but that's what happens today).

This will start using the actual temp dir even in the case of e.g. xpcshell, which normally
dependency-injects a different (also temp) dir and reuses it as the profile as well as temp
dir ( https://searchfox.org/mozilla-central/rev/03853a6e87c4a9405fce1de49e5d03b9e7a7a274/testing/xpcshell/head.js#1207-1226 )
if and only if anything calls do_get_profile .

I think this is likely OK... but if not, we'll have to come up with a more complicated
solution...

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

--HG--
extra : moz-landing-system : lando
2019-08-23 14:00:27 +00:00
Cameron McCormack
a1e18da1b1 Bug 1573090 - Part 2: Look up ELF symbol tables directly when pre-symbolicating Gecko profiles on Linux. r=gerald
Whereas previously MozDescribeCodeAddress would have handled demangling,
we need to explicitly do that from our new GetFunction method.  The string we
generate is now more useful for the profiler to merge -- having dropped the
address in the previous patch, and the file & line number and library in this
patch.

While we're at it, try to demangle Rust symbols too.

Ideally we'd add Rust symbol handling to DemangleSymbol in
StackWalk.cpp, but that lives in mozglue, which currently cannot have
any Rust crate dependencies.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 05:45:16 +00:00
Mike Hommey
66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Maliha Islam
f6e1118c76 Bug 1540813 - Support new ARIA roles insertion and deletion, r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D42911

--HG--
extra : moz-landing-system : lando
2019-08-21 20:36:39 +00:00
Gijs Kruitbosch
51739da3cb Bug 1163103 - stop using NS_GetSpecialDirectory off the main thread within the cycle collector (via nsDumpUtils.cpp), r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D42856

--HG--
extra : moz-landing-system : lando
2019-08-21 17:23:03 +00:00
Gijs Kruitbosch
87c086d34e Bug 1575045 - stop using the directory service off the main thread from nsSystemInfo, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42820

--HG--
extra : moz-landing-system : lando
2019-08-21 11:16:02 +00:00
Robert Strong
8be2059dbd Bug 1486637 - Backout bug 1486637 and related patches. r=agashlin
Differential Revision: https://phabricator.services.mozilla.com/D42143

--HG--
extra : moz-landing-system : lando
2019-08-19 19:43:17 +00:00
Hiroyuki Ikezoe
2eec537348 Bug 1573648 - Introduce ToDoubleAllowTrailingChars and ToFloatAllowTrailingChars. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D42239

--HG--
extra : moz-landing-system : lando
2019-08-16 22:38:01 +00:00
Brian Hackett
091f2992d2 Bug 1573938 - Never collect wrapper JSObjects when recording/replaying, r=mccr8.
Differential Revision: https://phabricator.services.mozilla.com/D42011

--HG--
extra : moz-landing-system : lando
2019-08-16 20:51:12 +00:00
Nathan Froyd
f21661fdf8 Bug 1571759 - add nsTArray::EmplaceBack; r=erahm
Much preferred to `AppendElement(T(...))`.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 00:18:57 +00:00
Aaron Klotz
112f1594bf Bug 1573623: Add RunOnShutdown, a variant of ClearOnShutdown which supports passing callables; r=froydnj
This patch adds `RunOnShutdown`, which allows the caller to supply any callable
to be invoked during the specified shutdown phase. This allows us to do more
than just clear smart pointers without needing to write a bunch of observer
service boilerplate.

We use `std::function` to hold the callable.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 19:08:39 +00:00
Nathan Froyd
f7a731abd5 Bug 1573160 - shutdown newly-spawned threads if we're shutting down; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D41551

--HG--
extra : moz-landing-system : lando
2019-08-15 17:29:26 +00:00
Jonathan Kew
49e3e4c0e0 Bug 1573229 - part 1 - Add infallible versions of the memory-allocation functions in CountingAllocatorBase. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D41720

--HG--
extra : moz-landing-system : lando
2019-08-15 00:49:55 +00:00
Jon Coppeard
c772fc6cda Bug 1573844 - Remove external references to js::Class r=mccr8
Depends on D41985

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

--HG--
extra : moz-landing-system : lando
2019-08-14 17:15:15 +00:00
Jon Coppeard
6d38179350 Bug 1573844 - Remove external references to js::Jsvalify and js::Valueify r=mccr8
These are now no-ops so can be removed.

Depends on D41983

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

--HG--
extra : moz-landing-system : lando
2019-08-14 17:24:59 +00:00
Jon Coppeard
66fc30ba53 Bug 1573844 - Remove js::Class definition and alias JSClass to it r=tcampbell,mccr8
JSClass contained void* members corresponding to the internal pointer members of js::Class. This stores the internal members in JSClass and removes js::Class.

This leaves js::Class aliased to JSClass while we remove references to it. I also aliased Jsvalify and Valueify into global scope temporarily to make this compile. These get removed in the following patches.

I had to remove a few functions which now don't compile with js::Class being the same type as JSClass.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 08:32:22 +00:00
Mats Palmgren
c784db904f Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40211

--HG--
extra : moz-landing-system : lando
2019-08-14 14:38:31 +00:00
Nathan Froyd
87c432d06a Bug 1570982 - remove CPP_THROW_NEW; r=glandium
We always define it to the same thing, and we're inconsistent in whether
we use `CPP_THROW_NEW` or `throw()`, so we might as well just use the
standard C++ thing and get rid of some baggage.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:32:41 +00:00
Henri Sivonen
c562792b2e Bug 1490593 - Move FFI for encoding_rs::mem to a vendored crate. r=froydnj
Also remove most C++-side optimizations for avoiding calls to Rust
for short strings now that we have LTO between C++ and Rust. Since
LTO still leaves the overhead of one function call layer, inlined
function call avoidance optimization is left in place in the
IsUTF8 and in the 8-bit IsASCII cases for which perfherder flags
the difference as significant for the length 15.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 07:53:34 +00:00
Jon Coppeard
8b73371be0 Bug 1407593 - Report embedding leaks of JS GC things r=sfink,sfink?
Patch to report JS GC things that are live at shutdown as leaks by calling MOZ_LOG_CTOR for them. The JS engine now clears any remaining roots to prevent dangling pointers to freed memory after shutdown. I made XPCJSRuntime::Shutdown keep the weak pointer update callbacks as sometimes these tables have entries remaining at shutdown (if there are leaks) and we need the callbacks to update them.

This is looking more green on try now.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 08:31:49 +00:00
Emilio Cobos Álvarez
c3ee3ac3a8 Bug 1418624 - Allow mozilla::Result to be moved, make unwrap{,Err}() move, and add inspect() APIs that return references. r=froydnj
Also adjust some of the callers that were either calling unwrap() repeatedly on
the same result, or were doing silly copies, to use inspect().

We could try to use stuff like:

https://clang.llvm.org/docs/AttributeReference.html#consumed-annotation-checking

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

--HG--
extra : moz-landing-system : lando
2019-08-13 08:26:18 +00:00
Gabriele Svelto
beb62c4c31 Bug 1282776 - Finalize crash reports for child process crashes happening too early r=froydnj
This changes the way crash reports for child processes happening too early
during the child process' startup. Before bug 1547698 we wrote a partial
.extra file with those crashes that lacked the process type. The user would
not be notified of those crashes until she restarted Firefox and even when
submitted those crashes would be erroneously labeled as browser crashes.

After bug 1547698 we stopped writing .extra files entirely for those crashes
which left orphaned .dmp files among the pending crash reports.

This patch does three things to improve the situation:

* It writes a partial .extra file so that the crashes are detected at the next
  startup. So the user is still not notified directly of these crashes but she
  can report them later.
* It adds the process type to the .extra file so that the crash reporters are
  labelled correctly.
* It fixes a leak in the `pidToMinidump` hash-map. Since the crashes were
  not finalized the `ChildProcessData` strucutre associated with them would
  never be fred.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 14:23:19 +00:00
Gabriele Svelto
53d4ac9807 Bug 1572565 - Make the remote sandbox broker process' telemetry string consistent r=jld
Differential Revision: https://phabricator.services.mozilla.com/D41291

--HG--
extra : moz-landing-system : lando
2019-08-09 00:03:33 +00:00
Brendan Dahl
b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
Aaron Klotz
fb977a3526 Bug 1571875: Part 2 - Change over all existing static local uses of DynamicallyLinkedFunctionPtr to use StaticDynamicallyLinkedFunctionPtr instead; r=mhowell
Depends on D40885

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

--HG--
extra : moz-landing-system : lando
2019-08-07 15:58:09 +00:00
Aaron Klotz
1fc3efff69 Bug 1568361: Use StaticLocalAutoPtr for BackgroundMTAData; r=Jamie
The new StaticLocalAutoPtr smart pointer has a trivial destructor, so we will
either properly clean up this data or leak it on process shutdown. Either way,
we will not destroy it in a way that the underlying type does not support.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 01:48:31 +00:00
Andreea Pavel
8f56db01f7 Backed out changeset d0aae34d9b95 (bug 1529068) for failing form-redirected-blocked.sub.html on a CLOSED TREE
--HG--
extra : rebase_source : 4d7a73e1f40de001031c61fba240c57961a902d8
2019-08-07 01:39:29 +03:00
Cameron McCormack
d075470483 Bug 1053379 - Simplify CodeAddressService so non-DMD users can rely on defaults. r=njn
None of the StringTable implementations were freeing their strdup'd
strings, either.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 21:58:12 +00:00
Benjamin
455d7a7789 Bug 1529068 - navigate-to r=ckerschb,mccr8
Implementation of the navigate-to CSP directive as defined in CSP Level 3, https://www.w3.org/TR/CSP3/#directive-navigate-to

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

--HG--
extra : moz-landing-system : lando
2019-08-06 18:27:45 +00:00
Bobby Holley
c14858c637 Bug 1571092 - Mark various MozPromise-returning methods MOZ_MUST_USE. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D40528

--HG--
extra : moz-landing-system : lando
2019-08-05 20:10:58 +00:00
Tom Ritter
2d0fd702ee Bug 1570563 - Sync in xptcstubs code from x86_64 to x86_64_gnu r=froydnj
This contains two changes. One is to zero out the top 56 bits for a bool
conversion so we can pass bools correctly from cpp -> js. This was also
needed in Bug 821628, 1513725

The other change copies the fix in Bug 689288 where we cast a float value
as a double.

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

--HG--
extra : moz-landing-system : lando
2019-08-05 20:00:45 +00:00
Aaron Klotz
a2b73b8abc Bug 1570395: Add StaticLocalAutoPtr and StaticLocalRefPtr to XPCOM; r=froydnj
This patch adds smart pointers to be used for initializing objects as C++11
"magic statics" -- that is, they are able to take advantage of C++11's
guarantee of thread safety during initialization by atomically constructing
both the smart pointer itself as well as the object being pointed to.

Unlike Static{Auto,Ref}Ptr, they have non-trivial constructors, though they
must still have trivial destructors to prevent emission of atexit calls.

The new classes use the new `MOZ_STATIC_LOCAL_CLASS` annotation which ensures
their instantiations are static locals and prevents non-trivial destructors.

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

--HG--
rename : xpcom/base/StaticPtr.h => xpcom/base/StaticLocalPtr.h
extra : moz-landing-system : lando
2019-08-02 17:26:37 +00:00
mandy cheang
dcf8e881eb Bug 1553558 - collect countryCode in system info off the main thread. r=mconley,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D39343

--HG--
extra : moz-landing-system : lando
2019-08-02 12:55:38 +00:00
Jorg K
864c351bc8 Bug 1570719 - Skip more elements in spellcheck for MailNews. r=masayuki 2019-08-02 10:49:17 +02:00
Masayuki Nakano
23a22c597a Bug 1569902 - part 2: Stop using attribute to consider whether a <br> element is a special node for empty last line or not r=m_kato,smaug
Editor creates a `<br>` element to end of a block if last line
of the block is empty because caret should be placed as there is an empty
line.  Such special `<br>` element has `type` attribute whose value is "_moz".
However, adding/removing the attribute is expensive and such hacky attribute
shouldn't be referred nor changed by web apps.

Therefore, this patch makes `HTMLBRElement` take another specific flag whether
it's a special node for empty last line.  For making the meaning clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty last line" insead of "moz-br".  So, this patch also includes a lot of
renaming methods and variables, and modifying related comments.

Note that with this change, `IMEContentObserver` counts the padding `<br>`
element in `<textarea>` because it's inserted before setting the new flag
and setting the flag does not cause DOM tree mutation.  This issue will be
fixed by the following patches.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:45:18 +00:00
Masayuki Nakano
765e91b497 Bug 1569902 - part 1: Stop using attribute to consider whether a <br> element is an editor bogus node or not r=m_kato,smaug
Editor creates a `<br>` element when it's root element is empty.
Then, it's stored by `TextEditRules::mBogusNode` and used for checking
whether the editor is empty quickly.  However, this `<br>` element has
`mozeditorbogusnode` attribute whose value is `true`.  However, adding or
removing the attribute is not cheap and web apps can refer such illegal
attribute.

Therefore, this patch makes `HTMLBRElement` take a specific flag whether
it's a bogus node or not.  However, this means that this hacky thing will be
exposed outside editor module.  For making what is the bogus node clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty editor".  So, this patch also includes a lot of renaming methods and
variables, and modifying related comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:44:40 +00:00