Commit Graph

6793 Commits

Author SHA1 Message Date
Nicholas Nethercote
0979695a1a Bug 1489047 - Remove C++ support for, and testing of, the XPIDL DOMString type. r=nika
--HG--
extra : rebase_source : 21df3192cfff8f9d9254306a5be4f8ad84397eb7
2018-09-06 18:03:18 +10:00
Eric Rahm
e5d83b78fd Bug 1494827 - Add USS telemetry for content process startup. r=kmag
This adds telemetry for content processes' USS memory usage on startup.

--HG--
extra : rebase_source : 199a74448a31a5ad31216ca44e5822358f15c2f2
2018-09-27 18:13:05 -07:00
Boris Zbarsky
7d6b9e16ef Bug 1396482 part 2. Enumerate JS standard classes on Window Xrays, just like we enumerateWebIDL interfaces. r=bholley 2018-09-28 10:49:44 -04:00
Andreea Pavel
b49640be9b Backed out 2 changesets (bug 1396482) for failing dom/tests/mochitest/general/test_interfaces.html on a CLOSED TREE
Backed out changeset 8c9b27320d6e (bug 1396482)
Backed out changeset c23086c12393 (bug 1396482)
2018-09-28 19:45:27 +03:00
Boris Zbarsky
918ee28a32 Bug 1396482 part 2. Enumerate JS standard classes on Window Xrays, just like we enumerateWebIDL interfaces. r=bholley 2018-09-28 10:49:44 -04:00
Benjamin Bouvier
4c5347b2ed Bug 1490251: Add a pref switch to use Cranelift for wasm compilation; r=luke
--HG--
extra : rebase_source : 9814fd3836b7c06d84b5c8ae08f61a052f076215
extra : histedit_source : 31a2933472deb17e61e02432a69a86048227efde
2018-09-13 12:32:17 +02:00
Emilio Cobos Álvarez
d8c0080a10 Bug 1493222 - Expose InspectorUtils to fuzzers. r=bzbarsky
I can be more granular if we want, by adding more ChromeOnly annotations for the
functions that we don't want to expose.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 19:00:33 +00:00
Jason Orendorff
e6ab602a75 Bug 1491939 - Part 4: Enable streams on a per-realm basis. Drop dom.streams.enabled and dom.workers.options.streams; use only javascript.options.streams. r=baku
Depends on D6555

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

--HG--
extra : moz-landing-system : lando
2018-09-25 14:11:41 +00:00
Jason Orendorff
aaf539046b Bug 1491939 - Part 3: Centralize configuration of JS realm options from prefs. r=baku
Depends on D6554

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

--HG--
extra : moz-landing-system : lando
2018-09-25 14:11:13 +00:00
André Bargull
4c5a158dfe Bug 1463529: Don't add modifiers to built-in or bound function toString representation. r=jorendorff 2018-09-24 10:59:05 -04:00
Jan de Mooij
2ddc8e66b8 Bug 1492759 - Use the principal stored in CompartmentOriginInfo instead of JS_GetCompartmentPrincipals for Xray expandos. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D6467

--HG--
extra : moz-landing-system : lando
2018-09-24 11:20:23 +00:00
Andrew McCreight
fee317ab0d Bug 1351501, part 2 - Preserve wrappers for non-nsISupports cycle collected weak map keys r=bzbarsky
A C++ object that is exposed to JS can have its reflector used as a
key in a weak map. Because a weak map does not keep its keys alive,
this means that the reflector can be discarded if it has no other
references aside from the C++ object, which will in turn remove its
weak map entry. If the C++ object can be accessed again later from JS,
it will get a new reflector which will have no weak map entry. This is
bad because it means some internal implementation detail has resulted
in data loss that is visible to JS. (Side note: this is also an issue
for cross compartment wrappers, which is handled by another
mechanism.)

To fix this, we can preserve the wrapper of any DOM reflector used as
a weak map key. This ensures that the reflector and its C++ object
have the same lifetime. If a WebIDL object is not wrapper cached, that
means that it cannot be accessed via C++, so we don't need to preserve
the wrapper. This is currently implemented for nsISupports classes,
but not other classes. For non-nsISupports classes, it would throw an
error rather than silently fail.

My patch adds support for non-nsISupports cycle collected objects. It
turns out that the existing addProperty hook just does wrapper
preservation, so we just call it for cycle collected classes. This
does mean that if addProperty changes in the future to do something
else, this code will need to be changed.

I verified that this test fails if TryPreserveWrapper is changed to do
nothing besides return true in the non-nsISuports case.

Depends on D6197

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

--HG--
extra : moz-landing-system : lando
2018-09-21 18:20:35 +00:00
Andrew McCreight
2abe1a8480 Bug 1351501, part 1 - Handlify TryPreserveWrapper r=bzbarsky
The patch in the next part will need a handle to the object in
TryPreserveWrapper.

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

--HG--
extra : moz-landing-system : lando
2018-09-21 18:20:33 +00:00
Jan de Mooij
4a02cf562c Bug 1491342 - Ignore document.domain in ShouldWaiveXray. r=bholley
We want to get rid of JS_GetCompartmentPrincipals. The origin stored in CompartmentPrivate does not account for document.domain changes because that's a per-realm thing.

Fortunately we should not have waivers in any cases that involve document.domain.

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

--HG--
extra : moz-landing-system : lando
2018-09-21 07:13:15 +00:00
Jan de Mooij
05d25ce307 Bug 1491323 - Use CompartmentOriginInfo instead of deprecated JS_GetCompartmentPrincipals in AccessCheck::subsumes. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D6017

--HG--
extra : moz-landing-system : lando
2018-09-19 15:25:51 +00:00
Kris Maglione
dd46a38a66 Bug 1486147: Part 3 - Remove unused XPCOMUtils.IterStringEnumerator method. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D4271

--HG--
extra : rebase_source : c2e91a04a0e0999c376f9d747f7afeae4f2a9d37
extra : histedit_source : 72af67a0e2667ba782e102f44ce5a0f0a62804ee
2018-08-24 16:23:03 -07:00
Kris Maglione
1c20e8cbbb Bug 1486147: Part 2 - Update JS string enumerator callers to use JS iteration. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D4270

--HG--
extra : rebase_source : 2adadcc8e51a7bce1da02f4bee1333b77bfa9944
extra : histedit_source : 9df920fd186f8c96a5d8b9cbff53ea9529f26ee0
2018-08-24 16:22:40 -07:00
Jeff Walden
9725076b9b Bug 1491137 - Remove the two setUTF8(bool) CompileOptions functions now that the underlying field they alter is gone. r=jandem
--HG--
extra : rebase_source : c06e34549bd3b895d34cad93c5c3113ed4748390
2018-09-18 08:41:41 -07:00
Jeff Walden
389643b114 Bug 1491137 - Remove JS::Evaluate that takes const char*/size_t, rewriting all callers to use JS::Evaluate{Latin1,Utf8}, including opting some callers in to UTF-8 where they had not used it before. r=jandem
--HG--
extra : rebase_source : f3ec0fbca691474981a1366b744da48a61006edc
2018-09-17 11:24:37 -07:00
Ehsan Akhgari
15d11d2475 Bug 1491561 follow-up: Build bustage fix
Landed on a CLOSED TREE
2018-09-18 11:27:24 -04:00
Ehsan Akhgari
5d33bd136d Bug 1491561 follow-up: Add back Cu.createCommandParams() which was accidentally removed 2018-09-18 11:12:21 -04:00
Ehsan Akhgari
5d9d4af0cd Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5950
2018-09-18 00:58:52 -04:00
Coroiu Cristina
40028657f0 Backed out 3 changesets (bug 1491574) for build bustage at builds/worker/workspace/build/src/netwerk/base/nsNetUtil.cpp on a CLOSED TREE
Backed out changeset 5390b485f7e4 (bug 1491574)
Backed out changeset 3d11b69de826 (bug 1491574)
Backed out changeset e7e8f3f70f8b (bug 1491574)
2018-09-18 07:10:20 +03:00
Ehsan Akhgari
9b9060a876 Bug 1491574 - Part 2: Remove the XPCOM registration for nsPersistentProperties; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5950
2018-09-17 22:05:34 -04:00
Ehsan Akhgari
d720ddf0c3 Bug 1491561 follow-up: Fix a build problem 2018-09-17 21:35:25 -04:00
Ehsan Akhgari
02f08121ff Bug 1491561 - Remove the XPCOM registrations for LoadContext; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D5945
2018-09-17 21:28:39 -04:00
Bogdan Tara
c8f52c0158 Merge inbound to mozilla-central. a=merge 2018-09-18 00:58:07 +03:00
Jan de Mooij
50690041b2 Bug 1491533 - Null check CompartmentPrivate in SetCompartmentChangedDocumentDomain. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D5998

--HG--
extra : moz-landing-system : lando
2018-09-17 17:13:05 +00:00
Gurzau Raul
a30d892e47 Merge inbound to mozilla-central. a=merge 2018-09-17 19:46:05 +03:00
Jeff Walden
9667f8bf7d Bug 1491137 - Remove JS_Compile{,UC}Script, because except for argument ordering they're exactly identical to existing JS::Compile* functions. r=jandem
--HG--
extra : rebase_source : 89ae632dbc654f1f29f8186955042d4586aeeeff
2018-09-13 16:41:00 -07:00
Jeff Walden
c1d9c9d203 Bug 1491137 - Rename JS_BufferIsCompilableUnit to JS_Utf8BufferIsCompilableUnit, consistent with how it already interprets that data, and propagate that presumption of UTF-8-ness a little bit further along into callers. r=jandem
--HG--
extra : rebase_source : e2ab50b48d4faf12a6791b0925b080818334421d
2018-09-13 13:30:38 -07:00
Csoregi Natalia
3c1bd03590 Merge mozilla-central to autoland. CLOSED TREE 2018-09-17 12:53:34 +03:00
Jan de Mooij
84743992b7 Bug 1482835 - Remove JS_GetCompartmentPrincipals calls in the compartment nuking code. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D5856

--HG--
extra : moz-landing-system : lando
2018-09-14 17:38:57 +00:00
Jan de Mooij
cb06d1d2a9 Bug 1491299 - Use JS::GetRealmPrincipals instead of JS_GetCompartmentPrincipals in GetUAWidgetScope. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D5859

--HG--
extra : moz-landing-system : lando
2018-09-14 16:30:02 +00:00
Jeff Walden
a3dc828570 Bug 1491137 - Rename the JS::Compile function that accepts FILE* to JS::CompileUtf8File, because every caller passes a file with UTF-8 content. r=jandem
--HG--
extra : rebase_source : 7abe623b622ba5433ff85aafa691c9a3f0e16eea
2018-09-13 01:21:52 -07:00
Jeff Walden
8f587a8aa5 Bug 1491137 - Split the JS::Compile that takes const char*/size_t into JS::CompileUtf8 and JS::CompileLatin1 that assert |options.utf8| has consistent value, and a JS::Compile that delegates to one of those as appropriate -- a step toward having entirely separate compilation functions that do direct parsing of UTF-8 without inflating first. r=jandem
--HG--
extra : rebase_source : 4fbc10a7e5e221da4c68c02dc155d925e7a7367d
2018-09-12 20:48:44 -07:00
Gurzau Raul
c03510c273 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-09-17 19:48:54 +03:00
Bobby Holley
d5bb8045ce Bug 1491488 - Stop waiving the return value of the Sandbox constructor when wantXrays is false. r=kmag
MozReview-Commit-ID: 9DrgknOT0Z3
2018-09-17 09:25:02 -07:00
Ehsan Akhgari
743c23d1d0 Bug 1491588 - Remove the XPCOM registration for nsCommandParams; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D5959
2018-09-17 09:54:00 -04:00
Ehsan Akhgari
731d1adebd Bug 1491560 - Remove the XPCOM registration for nsCommandLine; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D5944
2018-09-15 12:16:39 -04:00
Xidorn Quan
1ee5079242 Bug 1188256 part 6 - Expose PromiseDebugging to plain mochitest via SpecialPowers. r=bzbarsky
Depends on D5852

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

--HG--
extra : moz-landing-system : lando
2018-09-14 22:43:54 +00:00
Andrew McCreight
7637c6c2a1 Bug 1490503 - Mark more XPConnect classes builtinclass r=peterv
Also, make nsIXPCWrappedJSObjectGetter not scriptable to save a tiny amount of binary size.

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

--HG--
extra : moz-landing-system : lando
2018-09-14 17:52:36 +00:00
Bobby Holley
6cceb08363 Bug 1453057 - Make Xrays to Arguments objects work correctly. r=bzbarsky
MozReview-Commit-ID: XeWrs0cNL5

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

--HG--
extra : moz-landing-system : lando
2018-09-14 16:14:49 +00:00
Jan de Mooij
cb90b553cd Bug 1487032 - Store origin/site info in CompartmentPrivate. r=bholley
This will let us answer the following questions (in a performant way):

1) What's the compartment's origin? Necessary to implement compartment-per-origin.
2) What's the origin's site? Necessary for the new Wrap() algorithm.
3) Has any realm in the compartment set document.domain? Necessary for the new Wrap() algorithm.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 09:01:14 +00:00
Daniel Varga
8eac4fe0d9 Merge mozilla-central to mozilla-inbound 2018-09-13 05:50:34 +03:00
Ehsan Akhgari
6d56a36888 Bug 1489793 - Part 1: Remove the XPCOM component registration for EditorSpellCheck; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5371
2018-09-12 18:58:53 -04:00
Jan de Mooij
98b8b93e34 Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/wrappers. r=bholley
Depends on D5655

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

--HG--
extra : moz-landing-system : lando
2018-09-12 16:16:15 +00:00
Jan de Mooij
d51d2cab4b Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/src, part 4. r=kmag
Depends on D5654

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

--HG--
extra : moz-landing-system : lando
2018-09-12 18:19:51 +00:00
Jan de Mooij
d1f407756a Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/src, part 3. r=mccr8
Depends on D5653

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

--HG--
extra : moz-landing-system : lando
2018-09-12 18:18:29 +00:00
Jan de Mooij
489a289a73 Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/src, part 2. r=mccr8
Depends on D5652

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

--HG--
extra : moz-landing-system : lando
2018-09-12 17:42:42 +00:00