Commit Graph

15128 Commits

Author SHA1 Message Date
Andrew McCreight
f9e6d19361 Bug 1299934 - Run shutdown collection in workers in opt builds. r=froydnj,smaug
We skip running shutdown collection on the main thread, because we're
exiting right after, but the process still continues when we shut down
a worker, so we should always do collections there.

MozReview-Commit-ID: IQZItm1qWXW

--HG--
extra : rebase_source : 4fd89e36db124a524c240e806a885dee3b68979e
2016-09-08 13:04:30 -07:00
Andrew McCreight
d9ec3221fa Bug 1301796 - Remove racy code in nsCycleCollector::RegisterJSRuntime. r=smaug
MozReview-Commit-ID: 18MW4EYbaC8

--HG--
extra : rebase_source : a8e4b2fbf14f5ffd6acde32bf3ba96443c8ab5d4
2016-09-09 15:14:15 -07:00
Jean-Yves Avenard
2dbf4a63af Bug 1299072: P2. Add media decoding error types. r=gerald
MozReview-Commit-ID: KW2pWsXtffp

--HG--
extra : rebase_source : 0d8878c00d165250a25a6be0fd9c965539a077ce
2016-09-09 23:08:45 +10:00
Sebastian Hengst
c2d659643b Backed out changeset 8c9117de1e7f (bug 1300152) 2016-09-09 16:53:45 +02:00
Wes Kocher
14246ed95a Backed out 7 changesets (bug 1298938) for mass leaks a=bustage CLOSED TREE
Backed out changeset d710b5ac1e13 (bug 1298938)
Backed out changeset df832e32e7aa (bug 1298938)
Backed out changeset 3f6883401be4 (bug 1298938)
Backed out changeset e43fc0029b90 (bug 1298938)
Backed out changeset 6dd0b4b22b23 (bug 1298938)
Backed out changeset 81e994db6b8c (bug 1298938)
Backed out changeset a757098353c6 (bug 1298938)
2016-09-08 13:28:14 -07:00
David Anderson
435ec16468 Shutdown XPCOM-dependent resources in ImageBridgeChild at the appropriate time. (bug 1298938 part 3.1, r=mattwoodrow)
--HG--
extra : rebase_source : 1ea89a87362f86b7730f6a745dbcacb634806e07
2016-09-08 11:28:05 -07:00
Andrea Marchesini
ed81ee1595 Bug 1301025 - Change string allocation to be similar to nsTArray allocation, r=smaug, r=froydnj 2016-09-08 19:49:49 +02:00
Makoto Kato
893f6698da Bug 1180684 - Part 1. Analyze MOV with GS. r=aklotz
Allow MOV with GS prefix on x64.  Windows 10 uses this opcode on GetKeyState().

MozReview-Commit-ID: CqDSxmWdkiH

--HG--
extra : rebase_source : aa83b2b4c141730eb89f29cad61af79e66cb7a71
2016-09-07 16:15:58 +09:00
Ted Mielczarek
d98ac10c0c bug 1300152 - Add nsIDebug2::rustPanic to allow triggering Rust panic for testing. r=froydnj
For testing purposes it will be useful to be able to trigger crashes in Rust
code. Being able to trigger a panic seems like a good place to start. This
will make it easier to validate improvements in crash reporting.

MozReview-Commit-ID: Bh5rBieLLWW

--HG--
rename : toolkit/crashreporter/test/unit/test_crash_moz_crash.js => toolkit/crashreporter/test/unit/test_crash_rust_panic.js
extra : rebase_source : 7cfc08e62de49de869b97ae96630db573f882f18
2016-09-02 13:22:21 -04:00
Sebastian Hengst
5aaa326c3d merge mozilla-central to mozilla-inbound to fix spidermonkey bustage. r=merge a=merge 2016-09-07 18:49:04 +02:00
Sebastian Hengst
a66df0b0c2 Backed out changeset 95e68b473e91 (bug 1289194) for failure to process moz.build file. r=backout a=backout
MozReview-Commit-ID: GhfzNoiE808
2016-09-07 18:45:40 +02:00
Michael Layzell
36e08437d0 Bug 1018486 - Part 8: Various other changes, r=smaug
MozReview-Commit-ID: B0dsomkWgEk
2016-09-07 10:50:45 -04:00
Christian Holler (:decoder)
055c4fb1dd Bug 1289194 - Experimental LibFuzzer integration. r=glandium
--HG--
extra : histedit_source : a632f3ff76e07562d1854bc68b50499e4b4667a0
2016-09-01 15:07:01 +02:00
Nicholas Nethercote
34dcc7b852 Bug 1299384 - Use MOZ_MUST_USE with NS_warn_if_impl(). r=erahm.
This change avoids lots of false positives for Coverity's CHECKED_RETURN
warning, caused by NS_WARN_IF's current use in both statement-style and
expression-style.

In the case where the code within the NS_WARN_IF has side-effects, I made the
following change.

> NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));
> -->
> Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects()));

In the case where the code within the NS_WARN_IF lacks side-effects, I made the
following change.

> NS_WARN_IF(!condWithoutSideEffects);
> -->
> NS_WARNING_ASSERTION(condWithoutSideEffects, "msg");

This has two improvements.
- The condition is not evaluated in non-debug builds.
- The sense of the condition is inverted to the familiar "this condition should
  be true" sense used in assertions.

A common variation on the side-effect-free case is the following.

> nsresult rv = Fn();
> NS_WARN_IF_(NS_FAILED(rv));
> -->
> DebugOnly<nsresult rv> = Fn();
> NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed");

--HG--
extra : rebase_source : 58788245021096efa8372a9dc1d597a611d45611
2016-09-02 17:12:24 +10:00
Gregory Moore
b5da131303 Bug 1298709 - Remove redundant call of get() on smart pointer in nsCategoryManager.cpp. r=froydnj 2016-09-02 15:22:09 -07:00
Olli Pettay
8744d0ccf8 Bug 1298661, let meta-stable state runnables run during sync loops, r=baku 2016-09-05 18:54:04 +03:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Nicholas Nethercote
819433bae0 Bug 1299389 - Replace some raw pointers in nsThreadManager. r=froydnj.
nsThreadManager::get() can return a reference. This lets us remove some
redundant assertions.

nsThreadArray elements can be NotNull<>s.

--HG--
extra : rebase_source : fd49010167101bc15f7f6d01bf95fd63b81d60fb
2016-06-10 16:04:49 +10:00
Phil Ringnalda
d5a11536ff Back out changeset 58b07057fe25 (bug 1299159) on suspicion of breaking Windows PGO builds
CLOSED TREE
2016-09-01 19:43:22 -07:00
Benjamin Smedberg
388e11f997 Bug 1299159 - Stop exporting *_NSModule from xul.dll, r=glandium
MozReview-Commit-ID: HXxC5Ogquxn

--HG--
extra : rebase_source : 8998c61cfe47efd95d318030887726394b92a4a8
2016-08-31 12:48:52 -04:00
Wes Kocher
513c6f555b Backed out 2 changesets (bug 1295762) for build bustage a=bustage CLOSED TREE
Backed out changeset b4b5fa96e8ee (bug 1295762)
Backed out changeset 30bb58fbbeb8 (bug 1295762)
2016-08-30 16:17:30 -07:00
Michael Layzell
bf8a839325 Bug 1295762 - Part 2: Add tests to ensure that the layout of rust's ns[C]String matches C++'s, r=froydnj
MozReview-Commit-ID: FH18iSXkhX5
2016-08-30 16:18:55 -04:00
Michael Layzell
7ebbb65581 Bug 1295762 - Part 1: Implement rust bindings to XPCOM's string types, r=froydnj
MozReview-Commit-ID: 7fnWSc3AzlR
2016-08-30 16:18:54 -04:00
Eric Rahm
4067fc4876 Bug 1295747 - Use CheckedInt in size calculation. r=froydnj 2016-08-30 10:43:27 -07:00
Honza Bambas
e4eacf065d Bug 956338 - Add checks to WeakPtr/nsWeakReference and related classes to assert single-thread usage. r=nfroyd
--HG--
extra : rebase_source : 140fa149eb94f027e9319a44be0bbee34648222a
2016-08-01 13:16:16 +02:00
Nicholas Nethercote
f1b7b1188d Bug 1297402 - Change public xpt functions to return bool instead of PRBool. r=froydnj.
--HG--
extra : rebase_source : 7517f1d9c8831e7bdf0bf0122b70496ce3348592
2016-08-25 15:59:25 +10:00
Wes Kocher
f78f2d693b Merge inbound to central, a=merge 2016-08-25 16:59:00 -07:00
Gerald Squelart
fb84b054bc Bug 1295763 - Allow ThreadSafeAutoRefCnt with XPCOM_GLUE - r=froydnj
Removed '#ifndef XPCOM_GLUE' that blocked usage of thread-safe ref-counting
from XPCOM_GLUE code.

MozReview-Commit-ID: Hm0rdTKK46l

--HG--
extra : rebase_source : cd2779d0b39c5319cfdb5d12e8f4ac6f38945e7b
2016-08-16 14:07:16 +10:00
Ryan VanderMeulen
e5adfbffe6 Merge m-c to autoland. a=merge
--HG--
rename : accessible/tests/browser/browser_caching_attributes.js => accessible/tests/browser/e10s/browser_caching_attributes.js
rename : accessible/tests/browser/browser_caching_description.js => accessible/tests/browser/e10s/browser_caching_description.js
rename : accessible/tests/browser/browser_caching_name.js => accessible/tests/browser/e10s/browser_caching_name.js
rename : accessible/tests/browser/browser_caching_relations.js => accessible/tests/browser/e10s/browser_caching_relations.js
rename : accessible/tests/browser/browser_caching_states.js => accessible/tests/browser/e10s/browser_caching_states.js
rename : accessible/tests/browser/browser_caching_value.js => accessible/tests/browser/e10s/browser_caching_value.js
rename : accessible/tests/browser/browser_events_caretmove.js => accessible/tests/browser/e10s/browser_events_caretmove.js
rename : accessible/tests/browser/browser_events_hide.js => accessible/tests/browser/e10s/browser_events_hide.js
rename : accessible/tests/browser/browser_events_show.js => accessible/tests/browser/e10s/browser_events_show.js
rename : accessible/tests/browser/browser_events_statechange.js => accessible/tests/browser/e10s/browser_events_statechange.js
rename : accessible/tests/browser/browser_events_textchange.js => accessible/tests/browser/e10s/browser_events_textchange.js
rename : accessible/tests/browser/browser_treeupdate_ariadialog.js => accessible/tests/browser/e10s/browser_treeupdate_ariadialog.js
rename : accessible/tests/browser/browser_treeupdate_ariaowns.js => accessible/tests/browser/e10s/browser_treeupdate_ariaowns.js
rename : accessible/tests/browser/browser_treeupdate_canvas.js => accessible/tests/browser/e10s/browser_treeupdate_canvas.js
rename : accessible/tests/browser/browser_treeupdate_cssoverflow.js => accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
rename : accessible/tests/browser/browser_treeupdate_doc.js => accessible/tests/browser/e10s/browser_treeupdate_doc.js
rename : accessible/tests/browser/browser_treeupdate_gencontent.js => accessible/tests/browser/e10s/browser_treeupdate_gencontent.js
rename : accessible/tests/browser/browser_treeupdate_hidden.js => accessible/tests/browser/e10s/browser_treeupdate_hidden.js
rename : accessible/tests/browser/browser_treeupdate_imagemap.js => accessible/tests/browser/e10s/browser_treeupdate_imagemap.js
rename : accessible/tests/browser/browser_treeupdate_list.js => accessible/tests/browser/e10s/browser_treeupdate_list.js
rename : accessible/tests/browser/browser_treeupdate_list_editabledoc.js => accessible/tests/browser/e10s/browser_treeupdate_list_editabledoc.js
rename : accessible/tests/browser/browser_treeupdate_listener.js => accessible/tests/browser/e10s/browser_treeupdate_listener.js
rename : accessible/tests/browser/browser_treeupdate_optgroup.js => accessible/tests/browser/e10s/browser_treeupdate_optgroup.js
rename : accessible/tests/browser/browser_treeupdate_removal.js => accessible/tests/browser/e10s/browser_treeupdate_removal.js
rename : accessible/tests/browser/browser_treeupdate_table.js => accessible/tests/browser/e10s/browser_treeupdate_table.js
rename : accessible/tests/browser/browser_treeupdate_textleaf.js => accessible/tests/browser/e10s/browser_treeupdate_textleaf.js
rename : accessible/tests/browser/browser_treeupdate_visibility.js => accessible/tests/browser/e10s/browser_treeupdate_visibility.js
rename : accessible/tests/browser/browser_treeupdate_whitespace.js => accessible/tests/browser/e10s/browser_treeupdate_whitespace.js
rename : accessible/tests/browser/doc_treeupdate_ariadialog.html => accessible/tests/browser/e10s/doc_treeupdate_ariadialog.html
rename : accessible/tests/browser/doc_treeupdate_ariaowns.html => accessible/tests/browser/e10s/doc_treeupdate_ariaowns.html
rename : accessible/tests/browser/doc_treeupdate_imagemap.html => accessible/tests/browser/e10s/doc_treeupdate_imagemap.html
rename : accessible/tests/browser/doc_treeupdate_removal.xhtml => accessible/tests/browser/e10s/doc_treeupdate_removal.xhtml
rename : accessible/tests/browser/doc_treeupdate_visibility.html => accessible/tests/browser/e10s/doc_treeupdate_visibility.html
rename : accessible/tests/browser/doc_treeupdate_whitespace.html => accessible/tests/browser/e10s/doc_treeupdate_whitespace.html
rename : accessible/tests/browser/events.js => accessible/tests/browser/e10s/events.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/browser_ext_pageAction_title.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/head_pageAction.js
rename : dom/events/test/pointerevents/pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html
rename : dom/events/test/pointerevents/test_pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
rename : media/webrtc/trunk/tools/gyp/test/compiler-override/compiler.gyp => media/webrtc/trunk/tools/gyp/test/compiler-override/compiler-exe.gyp
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/ios/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp => media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.py
rename : media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.asm => media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.assem
rename : mfbt/unused.h => mfbt/Unused.h
rename : testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture.html => testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture-manual.html
extra : rebase_source : a3de7d91a61df9b14fe07a89f5b0184a067549cf
2016-08-25 08:14:36 -04:00
Sebastian Hengst
e419835ca6 Backed out changeset 3114c70baccf (bug 1272498) for build failures on OS X. r=backout on a CLOSED TREE 2016-08-24 21:24:50 +02:00
Sebastian Hengst
7d4a6559ea Backed out changeset f517b043170b (bug 1272498) 2016-08-24 21:23:02 +02:00
Trevor Saunders
ecbd164f05 bug 1272498 - avoid clang's integrated assembler in the hope clang won't preprocess xptcinvoke_asm_x86_64_unix.s r=me landed on a CLOSED TREE
Also change if to If just to be careful.
2016-08-24 11:24:15 -04:00
Trevor Saunders
4b161d6bfd bug 1272498 - rewrite NS_InvokeByIndex in assembly r=froydnj 2016-08-24 10:31:51 -04:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Matthew Gregan
94df8b79e6 Bug 1296988 - Update libnestegg. r=rillian 2016-08-25 13:49:22 +12:00
Boris Chiou
238f6f1f58 Bug 1049975 - Part 1: Support null effect. r=birtles
MozReview-Commit-ID: 7ougqvbIVuD

--HG--
extra : rebase_source : 92f4095c7fb5ebcd555a2c2305a7db06024e2984
2016-07-12 11:42:49 +08:00
David Anderson
424b5eb180 Initialize nsAppShell in the GPU process. (bug 1294350 part 5, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson
9495e20273 Enable nsComponentManager in the GPU process. (bug 1294350 part 4, r=nfroyd) 2016-08-22 22:57:36 -07:00
David Anderson
3f96d36cdd Initialize a subset of XPCOM in the GPU process. (bug 1294350 part 3, r=froydnj) 2016-08-22 22:57:36 -07:00
Nicholas Nethercote
880da46719 Bug 1296164 (part 3) - Use [must_use] on more nsIFile things. r=froydnj.
These ones don't require any extra checks to be added.

--HG--
extra : rebase_source : d13aa304f930d5250462813d32c67747f4ce4b30
2016-08-18 16:43:28 +10:00
Nicholas Nethercote
8f84642d03 Bug 1296164 (part 2) - Use [must_use] on nsIFile.open{NSPR,ANSI}FileDesc(). r=froydnj.
The patch also changes RemoteOpenFileChild::OpenNSPRFileDesc() so that it
cannot succeed with a null fd, so that checking just the return value is
sufficient.

--HG--
extra : rebase_source : cc40bbcf2a9991edc9d3da3fb624d27db50b4996
2016-08-18 15:27:16 +10:00
Nicholas Nethercote
04be8d005a Bug 1296164 (part 1) - Use [must_use] on nsIFile.{create,createUnique}. r=froydnj.
And fix numerous missing checks that this change identifies.

--HG--
extra : rebase_source : 97b0a6e8f9375c937dadb59c1110bb54b7633134
2016-08-18 13:30:12 +10:00
Xidorn Quan
fab96c1410 Bug 1291707 part 2 - Add GetAndRemove to nsDataHashtable. r=froydnj
MozReview-Commit-ID: 24zlYwsRGsF

--HG--
extra : rebase_source : 904c62cd779133666904d3167cb7e7c31f95a412
extra : source : 6c1df15aad607e70547b51011bd352d8a8bf826d
2016-08-23 10:31:26 +10:00
Kan-Ru Chen
b4cf4bec61 Bug 1264642 - Part 6. Mark JSStructuredCloneData as MOZ_NON_MEMMOVABLE and add specializations in nsTArray.h. r=froydnj
MozReview-Commit-ID: HltgzBnxMsn
2016-08-23 00:40:47 +08:00
Nathan Froyd
e255fd3842 Bug 1262826 - specialize nsTHashtable<nsPtrHashKey<T>> to share a common implementation; r=erahm
We have a number of nsTHashtable<nsPtrHashKey<T>> instantiations, mostly
from IPDL-generated code.  There's no reason in principle that all of
these instantiations couldn't share code, since they're all storing POD
entries of the same size.  Let's specialize nsTHashtable for such types,
providing a thin layer over a hashtable that stores void pointers.  This
change saves about 90K of space (!) on x86-64 Linux.
2016-08-22 18:45:47 -04:00
Nathan Froyd
41ba39b3b0 Bug 1295197 - use non-null-checked operator new in xpcom/; r=erahm
The standard placement new function is declared to not throw, which
means that, per spec, a null check on its result is required. There are
a number of places throughout xpcom/ where we know that we are passing
non-null pointers to placement new (and receiving them as a return
value), and we are therefore doing useless work performing these null
checks.

Therefore, we should be using an operator new overload that doesn't
require the null check. MFBT has just such an overload, so use that.
2016-08-22 18:40:10 -04:00
Andi-Bogdan Postelnicu
390ab815ab Bug 1282408 - add ignore initialization check flag for mAnyMarked in FixWeakMappingGrayBitsTracer. r=froydnj
MozReview-Commit-ID: 4DrIUUf4tuk
2016-08-24 10:58:37 +03:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Andrew McCreight
110539616e Bug 1296726, part 2 - Remove unused methods from nsIInterfaceInfoManager. r=froydnj
MozReview-Commit-ID: 2Znf8iN3pU4
2016-08-23 06:05:01 -07:00
Andrew McCreight
fc6173089e Bug 1296726, part 1 - Remove trailing whitespace from xpcom/reflect/xptinfo. r=froydnj
MozReview-Commit-ID: ewdP6XFfmr
2016-08-23 06:05:01 -07:00