Граф коммитов

6856 Коммитов

Автор SHA1 Сообщение Дата
Nika Layzell a86f1a8c0a Bug 1471726 - Part 2: Add basic tests for jsval array codegen, r=mccr8 2018-07-30 11:27:52 -04:00
Andreea Pavel 840f785b1e Backed out 8 changesets (bug 1475228) for wpt failures e.g. html/semantics/scripting-1/the-script-element/execution-timing/088.html on a CLOSED TREE
Backed out changeset b2d18ea619ec (bug 1475228)
Backed out changeset 45d3ffe3308e (bug 1475228)
Backed out changeset 02b27f8441be (bug 1475228)
Backed out changeset b82c2cf4b3f1 (bug 1475228)
Backed out changeset 2bc8f24dc3fc (bug 1475228)
Backed out changeset 6104ea971587 (bug 1475228)
Backed out changeset 7c83633262db (bug 1475228)
Backed out changeset 34fb24d52f08 (bug 1475228)
2018-07-30 16:49:02 +03:00
Jon Coppeard 3fb3cc8a1c Bug 1475228 - Allow construction of a SourceBufferHolder from a UniquePtr r=jandem r=kmag 2018-07-17 14:30:23 +01:00
Jon Coppeard cdfffa27fe Bug 1475228 - Make asynchronous compile APIs take SourceBufferHolders r=jandem 2018-07-17 14:30:23 +01:00
Jon Coppeard c6cb9bdf25 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem 2018-07-17 14:30:22 +01:00
Kris Maglione 02ba563399 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG

--HG--
extra : source : 0d69b4fb1ed43751cfcbc0b4f2fe3b6a49bc0494
extra : histedit_source : d0ce31513ffaae2fd7f01f6567a97b6d2d96b797%2Cfff837de7a00fa90809d2c3e755097180dfd56d8
2018-05-20 18:10:16 -07:00
Narcis Beleuzu 561ccb2ceb Backed out 2 changesets (bug 1463016, bug 1463291) for geckoview failures
Backed out changeset fcfb99baa0f0 (bug 1463291)
Backed out changeset 0d69b4fb1ed4 (bug 1463016)
2018-07-29 03:55:23 +03:00
Kris Maglione 636f1839e5 Bug 1463016: Part 5 - Add domWindow property to DocShellTreeItem and update callers to use it. r=nika
MozReview-Commit-ID: FRRAdxLHRtG

--HG--
extra : rebase_source : 36565ef5e74360aad14062005e5bdab2939e888b
2018-05-20 18:10:16 -07:00
Kris Maglione 7c7c5fb182 Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.

For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.

MozReview-Commit-ID: EuR3gL5JATL

--HG--
extra : rebase_source : 99985a751a37fb8c515cea8cdae4526b319aba67
extra : intermediate-source : 4831cbfd03ded9ea6dcc8d6f0797f5f80fb717c7
extra : source : f092a32a363911e58c71ed5d2e4bd92347437c7e
2018-07-19 19:29:56 -07:00
Jan de Mooij 80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Cosmin Sabou 778ca4f84f Backed out 8 changesets (bug 1476405) for causing frequent failures in bug 1479022. a=backout
Backed out changeset ad1674e9152d (bug 1476405)
Backed out changeset e0a021b27d2c (bug 1476405)
Backed out changeset 771288dbf852 (bug 1476405)
Backed out changeset aeebad4f2dc3 (bug 1476405)
Backed out changeset 4831cbfd03de (bug 1476405)
Backed out changeset 0b0c243a1827 (bug 1476405)
Backed out changeset 236b366fdf37 (bug 1476405)
Backed out changeset c767b1b618fb (bug 1476405)
2018-07-28 01:25:25 +03:00
Jan de Mooij ad92a85c3f Bug 1478356 - Pass the unwrapped object's global to AutoEntryScript in XPCWrappedJS code. r=bz 2018-07-27 11:35:57 +02:00
Kris Maglione 831de9e086 Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.

For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.

MozReview-Commit-ID: EuR3gL5JATL

--HG--
extra : source : f092a32a363911e58c71ed5d2e4bd92347437c7e
extra : histedit_source : e66e41015f56882fb94b82244da9da3a8dd15c30
2018-07-19 19:29:56 -07:00
Coroiu Cristina 6d037d0cba Backed out 9 changesets (bug 1476405) for causing leaks
Backed out changeset 4113d6fb3c1c (bug 1476405)
Backed out changeset cb7f7cc32687 (bug 1476405)
Backed out changeset 6d18a8bd5ee3 (bug 1476405)
Backed out changeset b2a99f50e642 (bug 1476405)
Backed out changeset b5b9d295545d (bug 1476405)
Backed out changeset f092a32a3639 (bug 1476405)
Backed out changeset 6c154f4d9dd9 (bug 1476405)
Backed out changeset d0ebb3aa8e0f (bug 1476405)
Backed out changeset 06b8093ddc6a (bug 1476405)
2018-07-27 08:56:36 +03:00
Kris Maglione f222aaad95 Bug 1476405: Part 3 - Use reasonable stack sizes and create wrappers for JS threads. r=erahm,tcampbell
For ordinary JS helper threads, we can update names and create wrappers using
the existing thread profiler hooks, but we still need to update their default
stack sizes to avoid huge pages.

For the XPConnect JS Watchdog thread, we sometimes get a wrapper as it is, but
only sometimes. And we never use a reasonable stack size.

MozReview-Commit-ID: EuR3gL5JATL

--HG--
extra : rebase_source : ccf47a10321d2f859d3a3d93e79ac18bf44b73a8
2018-07-19 19:29:56 -07:00
Jan de Mooij bb3767cb60 Bug 1478275 part 3 - Rename GlobalHasExclusiveExpandos to CompartmentHasExclusiveExpandos and make it use IsInSandboxCompartment. r=bholley 2018-07-26 11:00:21 +02:00
Jan de Mooij ce81f1f7ef Bug 1478275 part 2 - Add a CompartmentPrivate::isSandboxCompartment flag and xpc::IsInSandboxCompartment(obj). r=bholley
Wrappers are per-compartment, not per-realm, so this will simplify the next patch. Also, considering the upcoming Realms proposal, it might eventually be possible to have multiple globals in a sandbox compartment.
2018-07-26 10:58:37 +02:00
Jan de Mooij 1f193575a4 Bug 1478275 part 1 - Remove unused CompartmentPrivate::isAddonCompartment. r=bholley 2018-07-26 10:57:15 +02:00
Jan de Mooij 2264882701 Bug 1477989 part 4 - Use JS::GetNonCCWObjectGlobal in xpc::GetXBLScopeOrGlobal. r=bz
GetOrCreateMapEntryForPrototype is the only caller where the object could be a CCW. However there cx and proto are same-compartment (GetOrCreateMapEntryForPrototype asserts this) so I changed that code to use JS::CurrentGlobalOrNull.
2018-07-26 10:53:21 +02:00
Kristen Wright 82fd1509ba Bug 1474383 - JSRuntime hook to construct ubi::Nodes specialized for nsINode instances. r=sfink,jimb,bz
Created a runtime hook to handle DOM nodes. Specialized ubi::Concrete for nsINode-inheriting objects. Displayed outgoing nsISupports* edges on reflector JSObjects. Generated outgoing child edges from nsINodes by examining their children. Updated the UbiNodeCensus to ignore zone checks if there is no zone to be found in a node.

--HG--
extra : rebase_source : 319dccb3277a39e51a79588eac9c8f2b4ff97c2f
2018-07-06 16:52:42 -07:00
Brindusan Cristian d7e724835f Backed out 15 changesets (bug 1475409, bug 1461450, bug 1474369, bug 1471726) for build bustages on xptcstubs_gcc_x86_unix.cpp:55:1. CLOSED TREE
Backed out changeset 79dbf5b9d8db (bug 1474369)
Backed out changeset 7e2e13953e19 (bug 1474369)
Backed out changeset 9d0b9a4c4651 (bug 1474369)
Backed out changeset 9f14f7b8bc3d (bug 1475409)
Backed out changeset bddd838d1910 (bug 1475409)
Backed out changeset 850f21ca1f45 (bug 1475409)
Backed out changeset 320802ab02e3 (bug 1474369)
Backed out changeset db67bf0e7f91 (bug 1474369)
Backed out changeset f355d9be9912 (bug 1474369)
Backed out changeset e1b6a5f74642 (bug 1474369)
Backed out changeset 459635cdfc08 (bug 1474369)
Backed out changeset 44414b1cd32e (bug 1461450)
Backed out changeset a5d04cf5d67f (bug 1461450)
Backed out changeset 40885fbf99c6 (bug 1471726)
Backed out changeset da79e75b9cb3 (bug 1471726)
2018-07-25 22:57:09 +03:00
Nika Layzell 0866987b30 Bug 1474369 - Part 8: Rename from Sequence to Array in xpidl, r=mccr8
Summary:
This more closely matches the C++ names, and reflects the fact that the
reflected type is not WebIDL's mozilla::dom::Sequence. The reasoning behind this
type difference is for ergonomics, due to xpidl only being exposed to internal
JS code.

Depends On D2335

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2337
2018-07-25 15:38:04 -04:00
Nika Layzell 2e51038216 Bug 1474369 - Part 7: Rename [array] to LegacyArray within xpt and xpidl, r=mccr8
Summary:
This is done so we can use Array as the name for the new nsTArray-based
type, rather than having to come up with a new name.

LegacyArray was chosen as the [array] attribute is now effectively deprecated,
and we'd like to remove it ASAP.

Depends On D2334

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2335
2018-07-25 15:38:02 -04:00
Nika Layzell 758bebfa14 Bug 1474369 - Part 6: Use RefPtr for Array<T> of interface and WebIDL types, r=mccr8
Summary:
This means that using these types involves many fewer footguns, while not
requiring any changes to the actual XPConnect implementation!

Depends on D2111

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2334
2018-07-25 15:38:00 -04:00
Nika Layzell 4e4ab925ca Bug 1475409 - Part 3: Make the different categories of types in xptinfo more explicit, r=mccr8
Summary:
This should make it more clear which types have which behaviours, and should
make it easier to add new types without forgetting to handle a special case
somewhere.

Depends On D2114

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2115
2018-07-25 15:37:58 -04:00
Nika Layzell b24e4f4b40 Bug 1475409 - Part 2: Be more explicit about the type of nsXPTType::Tag(), r=mccr8
This will get us both more clarity as to what types are, but also will improve switch exhaustiveness checks.

Summary: Depends On D2113

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2114
2018-07-25 15:37:56 -04:00
Nika Layzell 0df716e08d Bug 1475409 - Part 1: Remove nsXPTType::TagPart(), r=mccr8
Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1475409

Differential Revision: https://phabricator.services.mozilla.com/D2113
2018-07-25 15:37:54 -04:00
Nika Layzell aa005d31b4 Bug 1474369 - Part 5: Add tests for new Sequence<T> types, r=mccr8
Summary: Depends On D2110

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2111
2018-07-25 15:37:52 -04:00
Nika Layzell b47aabdb25 Bug 1474369 - Part 4: Add support for Sequence<T> types to xpidl and XPConnect, r=mccr8
Summary:
This patch adds support for the `Sequence<T>` type. This is largely a
straightforward type propagation patch, but there are a few notable things:

 1. We allow `[iid_is(x)] Sequence<nsQIResult>`, so Sequence can be Dependent.

 2. `Sequence<T>` is reflected into C++ as a `nsTArray<T>`, which is different
    than WebIDL's `mozilla::dom::Sequence<T>` type. This decision was made for
    general ergonomics reasons, as `nsTArray<T>` is more prevailent throughout
    the codebase, and lengths in this case cannot be controlled by content, as
    XPConnect is only exposed to Chrome JS.

 3. Owned pointers in `Sequence<T>` are not reflected as their owned
    counterparts. For example, `Sequence<nsISupports>` is reflected as
    `nsTArray<nsISupports*>` rather than `nsTArray<RefPtr<nsISupports>>`. This
    was done to avoid depending on `RefPtr<T>` and `T*` having the same
    in-memory representation, however if that is considered an acceptable
    dependency, it would be nice to support that.

 4. We also don't reflect singly-owned pointers as their owned counterparts. For
    example, `nsTArray<nsIIDPtr>` would be reflected as `nsTArray<nsIID*>`
    rather than `nsTArray<mozilla::UniquePtr<nsIID>>`. If we are willing to
    depend on `mozilla::UniquePtr<T>`'s in-memory representation, we could also
    do this, however.

 5. There are no restrictions on what types can appear inside of a `Sequence<T>`
    or what can appear inside an `[array] T`. We may want to add restrictions
    either at the xpidl level or in XPConnect.

Depends On D2109

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2110
2018-07-25 15:37:50 -04:00
Nika Layzell 3316e39e4d Bug 1474369 - Part 2: Make JSArray2Native and NativeArray2JS more generic, so they can be used with Sequence<T>, r=mccr8
Summary:
The background logic for handling lists of XPConnect values is similar between
`[array] T` and `Sequence<T>`. The major differences are with regard to how
native length is determined, how 'null' and 'undefined' are handled, and how
native buffer allocation is handled.

This patch modifies the JSArray2Native function to make it generic over an
allocation strategy function, which can be implemented for each of `[array] T`
and `Sequence<T>`. The function takes in a `uint32_t*` pointer, pointing at the
computed length of the JS array. The callback can then allocate the correct
backing buffer, and optionally modify the length to copy.

The NativeArray2JS function is also modified to make it directly take a pointer
to the native buffer rather than determining it from a pointer to an `[array] T`
parameter.

Depends On D2105

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2106
2018-07-25 15:37:46 -04:00
Nika Layzell 9426bbf9e9 Bug 1474369 - Part 1: Clean up value initialization codepaths in XPConnect, r=mccr8
Summary:
A goal of the Sequence<T> work is to allow using more complex types within lists
in XPConnect. For example, we ideally want to support `Sequence<AString>`,
rather than requiring people to use the unergonomic 'wstring' type.

These types require initialization before they can be read into. Currently this
initialization for parameters is directly handled by XPCWrappedNative's
CallMethodHelper object.

This patch introduces a new function to the `xpc` namespace to initialize a
specific value from an uninitialized state to a safe state.

Reviewers: mccr8!

Tags: #secure-revision

Bug #: 1474369

Differential Revision: https://phabricator.services.mozilla.com/D2105
2018-07-25 15:37:44 -04:00
Nika Layzell 69a27ed832 Bug 1471726 - Part 2: Add basic tests for jsval array codegen, r=mccr8 2018-07-25 15:37:38 -04:00
Brian Hackett 2221c4b95b Bug 1465294 Part 9 - Avoid triggering unhandled recording divergences in XPConnect, r=mccr8.
--HG--
extra : rebase_source : a8a60143d3b8b9cc5c46be42a4dcbd23ad8c0b95
2018-07-24 15:44:35 +00:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Csoregi Natalia f7a71fcb6d Backed out changeset ec8c33de4e10 (bug 1474383) for build bustage. CLOSED TREE 2018-07-24 19:32:06 +03:00
Kristen Wright 657d16c582 Bug 1474383 - JSRuntime hook to construct ubi::Nodes specialized for nsINode instances r=jimb
Created a runtime hook to handle DOM nodes. Specialized ubi::Concrete for nsINode-inheriting objects. Displayed outgoing nsISupports* edges on reflector JSObjects. Generated outgoing child edges from nsINodes by examining their children. Updated the UbiNodeCensus to ignore zone checks if there is no zone to be found in a node.
2018-07-06 16:52:42 -07:00
Kris Maglione 5520b46fd0 Bug 1477129: Part 2 - Fix SharedMap blob handling, and add tests. r=erahm
We were previously failing to send blobs to new content processes, which was a
problem for those processes. But we were also attempting to extract blobs for
new entries that we were serializing after we'd extracted their structured
clone data, and their blob array had been thrown away (which was a problem for
all processes).

This patch fixes both problems.

MozReview-Commit-ID: 3qbAmUTA85g

--HG--
extra : rebase_source : 87ed9356aa23ae83762a887cf12ba1f466e7bf61
2018-07-20 14:44:00 -07:00
Brian Hackett 52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Brian Hackett 093c01c416 Bug 1207696 Part 6e - Disable the slow script dialog when recording or replaying, r=mrbkap.
--HG--
extra : rebase_source : 756af2eaf75b35f007bbc4ef4e0861cb82c8f0d9
2018-07-23 14:42:56 +00:00
Brian Hackett d138090586 Bug 1465287 Part 7 - Add IPDL and IDL for record/replay directives and fatal errors, r=mccr8.
--HG--
extra : rebase_source : 5f938acb994cf777cfd0630980f29aa03045789c
2018-07-22 11:51:55 +00:00
Jan de Mooij 30d5135f62 Bug 1475559 part 6 - Add principals argument to SavedFrame APIs and do frame filtering based on it. r=bz
This removes AutoMaybeEnterFrameRealm. Most places pass cx->realm->principals: it preserves behavior when the (possibly wrapped) SavedFrame and cx are same-compartment. The main exception is the JSStackFrame DOM bindings code where we have to be a bit smarter about which principals to use.
2018-07-21 14:34:58 +02:00
Jan de Mooij 8c93c6e9e8 Bug 1475559 part 5 - Pass a global object to nsScriptErrorWithStack. r=bz
The stack object might be a CCW and we want to make it impossible to get a CCW's global. Now the caller has to supply a same-compartment global object, so we no longer rely on getting the CCW's global.
2018-07-21 14:34:37 +02:00
Jan de Mooij 90cedbd436 Bug 1475559 part 4 - Remove unnecessary nsScriptError::ToString call in JSErrorToXPCException. r=bz
formattedMsg was passed to XPCConvert::ConstructException, but there we call GetMessageMoz and use that instead.
2018-07-21 14:34:20 +02:00
Jan de Mooij 41bc700eb1 Bug 1475559 part 2 - Rename JS::IsSavedFrame to JS::IsMaybeWrappedSavedFrame and do some minor cleanup. r=bz
Our JS::IsFoo APIs usually don't check for wrappers so being explicit about this seems useful.
2018-07-21 14:32:25 +02:00
Nazım Can Altınova fb6e07639b Bug 1474547 - Add AutoProfilerLabel to place where we load JSM r=mstange
MozReview-Commit-ID: 3VM8h7JygsE

--HG--
extra : rebase_source : 4958b6da91806d48e746fd6876c55a524b7d3ed9
2018-07-10 12:19:55 +02:00
Tiberius Oros d6492ca47e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-18 00:59:21 +03:00
Tiberius Oros d701ae940f Merge inbound to mozilla-central. a=merge 2018-07-18 00:55:33 +03:00
Jan de Mooij ef23676856 Bug 1475699 - Support invoking JS-implemented XPIDL methods/attributes marked as [implicit_jscontext]. r=mccr8 2018-07-17 18:11:03 +02:00
Bobby Holley 1387148cf0 Bug 1452762 - Avoid interrupting the wrong script in watchdog tests. r=arai
My best guess as to the failures here is that we're not actually
reaching the busyWait call by the time the interrupt callback fires,
and thus we're killing unrelated scripts.

MozReview-Commit-ID: GvCJzBcJlXm

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

--HG--
extra : moz-landing-system : lando
2018-07-17 03:16:12 +00:00
Margareta Eliza Balazs ad89a11136 Backed out 7 changesets (bug 1475228) for causing Spidermonkey rust failures on Linux x64 debug
Backed out changeset e91802969fb7 (bug 1475228)
Backed out changeset 623af73419eb (bug 1475228)
Backed out changeset bf96bd78dc11 (bug 1475228)
Backed out changeset 104817d51d1b (bug 1475228)
Backed out changeset d3829c85f650 (bug 1475228)
Backed out changeset 74d10b32b3ea (bug 1475228)
Backed out changeset dde64fbe2f0d (bug 1475228)
2018-07-17 17:57:55 +03:00
Jon Coppeard f168d91fd3 Bug 1475228 - Allow construction of a SourceBufferHolder from a UniquePtr r=jandem r=kmag 2018-07-17 14:30:23 +01:00
Jon Coppeard 89af4d641f Bug 1475228 - Make asynchronous compile APIs take SourceBufferHolders r=jandem 2018-07-17 14:30:23 +01:00
Jon Coppeard 4bf9e8dfe9 Bug 1475228 - Make synchronous compile APIs take SourceBufferHolders exclusively r=jandem 2018-07-17 14:30:22 +01:00
Kris Maglione 30e792ee5b Bug 1473631: Part 7 - Replace pref observers with callbacks in WatchdogManager. r=njn
MozReview-Commit-ID: 7Ctch5PYQzh

--HG--
extra : rebase_source : 80f491d1502a6cce25e5fb153e1d18777b4a3b78
2018-07-05 14:30:58 -07:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Andrea Marchesini 4e97b69ebf Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 3 - ContentPrincipal, r=ckerschb 2018-07-17 21:38:48 +02:00
Andrea Marchesini 58f78c6f5d Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 2 - SystemPrincipal, r=ckerschb 2018-07-17 21:38:19 +02:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Jan de Mooij 594a3aa6d4 Bug 1475177 - Change sendCommand xpcshell function to only accept plain JSFunction callbacks. r=evilpie 2018-07-16 14:02:16 +02:00
Masayuki Nakano 5c3723acb2 Bug 1475461 - part 2: Make callers of PLDHashTable::Search() const methods if possible r=Ehsan
Some callers of PLDHashTable::Search() use const_cast, some others are not
const methods due to non-const PLDHashTable::Search().

This patch removes const_cast from the former and mark some methods of the
latter const.

MozReview-Commit-ID: C8ayoi7mXc1

--HG--
extra : rebase_source : 2cba0339756e3278ba6e5f0e8a11e68217a61d34
2018-07-13 19:01:53 +09:00
Kris Maglione 03bf0b5bdd Bug 1463587: Part 2 - Add a shared-memory structured clone key-value store. r=erahm,bz
This class allows one read-write copy of a map in the parent process to share
data with multiple read-only copies in child processes. The maps only hold
onto data as structured clone blobs, and deserialize them each time a key is
read.

This commit only provides the bare-bones data structures. Follow-ups will add
bindings, change events, and automatic flushes.

MozReview-Commit-ID: LimwfmFBNOi

--HG--
extra : rebase_source : e43985c39bd1cfd05a2ad536b0d7f74db494a753
extra : source : c27295337b4c16e2a178106a3aa873d2a0e5a1f4
2018-06-22 20:35:49 -07:00
Matthew Gaudet 5d0bf9c261 Bug 1469044: [Part 2] Remove remainder of MathCache r=jandem
--HG--
extra : rebase_source : 587d69130f2c6d50ca8e14bd0ccaf7a4f58285e8
2018-07-09 16:52:16 -04:00
Jan de Mooij c5364bf395 Bug 1473865 part 5 - Use JS::GetNonCCWObjectGlobal in xpc::WindowGlobalOrNull. r=bz 2018-07-12 16:17:44 +02:00
Jan de Mooij 7967870e29 Bug 1473865 part 4 - Use xpc::WindowOrNull instead of xpc::WindowGlobalOrNull in a few places. r=bz 2018-07-12 16:17:44 +02:00
Jan de Mooij 083d62f388 Bug 1472973 part 15 - Use JS::GetNonCCWObjectGlobal in SandboxCallableProxyHandler::call. r=bz 2018-07-12 12:14:38 +02:00
Gurzau Raul fff6ccd0b0 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-12 01:08:09 +03:00
Jan de Mooij 4f7b2378dc Bug 1474273 - Add xpc::CurrentNativeGlobal and use it instead of NativeGlobal(JS::CurrentGlobalOrNull(cx)). r=bz 2018-07-11 14:07:02 +02:00
imjching 3dcc4fd573 Bug 1416066 - Use XPConnect compilation scope for some non-cached local scripts with codebase principal when preload cache is enabled. r=kmag
When we use the preload cache for some non-cached local scripts in loadSubScript,
we will keep the global that the script was compiled for alive, resulting in a
leak.

We will compile these chrome:// and resource:// scripts with codebase principal in
the XPConnect compilation scope when using mozJSSubScriptLoader to load scripts
synchronously. When the script is evaluated, it will be cloned into the target
scope to be executed. By compiling the script in a different scope, we can avoid
keeping the global that the script was compiled for originally alive.

MozReview-Commit-ID: HYSTvmPCbyR

--HG--
extra : rebase_source : 1ee540e08b9eda9046539f6f20f596732a651034
2018-07-03 21:26:04 -04:00
imjching 0c7582c716 Bug 1416066 - Enable caching for scripts with codebase URLs of about:home, about:newtab, and about:welcome. r=kmag
MozReview-Commit-ID: HC3cNVxWLe6

--HG--
extra : rebase_source : eab95e34618bf1ac856b44db89800b615c6503b8
2018-07-03 21:24:52 -04:00
imjching cee0b1d4b8 Bug 1416066 - Make ScriptPreloader wait for content-document-loaded to fire before writing cache for privileged processes. r=kmag,mconley
MozReview-Commit-ID: 2ElKqWN0clm

--HG--
extra : rebase_source : de5f7cf1a35700659cad9efe38a49e6772564665
2018-06-22 17:29:08 -04:00
imjching c66f4c3e82 Bug 1416066 - Delay initialization of sProcessType for child processes in ScriptPreloader since remoteType in ContentChild is not ready yet. r=kmag
MozReview-Commit-ID: FTmQMbKhlR

--HG--
extra : rebase_source : c6414c627d05ce7510a97850c143d0b8e04c852c
2018-06-22 17:07:12 -04:00
imjching 62198551fb Bug 1416066 - Update script_cache.py to support new version of startup script cache file. r=kmag
MozReview-Commit-ID: IuNZ3kjLcak

--HG--
extra : rebase_source : ef9dcd24f9311956bcae303336b874f6cc358905
2018-06-26 14:02:22 -04:00
imjching 6cb83fd0dd Bug 1416066 - Set default ProcessType in ScriptPreloader to Uninitialized and update version of startup script cache file. r=kmag
MozReview-Commit-ID: FbpMLqrFSIq

--HG--
extra : rebase_source : ffe7056cc2f70730fab0d2c006a5eb838462676d
2018-06-22 16:58:22 -04:00
Boris Zbarsky 8f7c90d6be Bug 1473149. Add an external string variant that keeps a DynamicAtom alive. r=njn,rwood
The change to call AsStatic() in SetKnownLiveAtom is drive-by performance cleanup.
2018-07-10 11:21:42 -07:00
Kris Maglione 8ff07d3c3f Bug 1472495: Don't report shared memmapped cache as explicit memory. r=erahm
MozReview-Commit-ID: 7xWJOdg3mfg

--HG--
extra : rebase_source : 8bb19b94495ae99ec1c4083cd88bd8915003886f
extra : amend_source : e72654de7148415e6999632a0da3f598648685a6
2018-06-30 16:33:50 -07:00
Andreea Pavel 2ef6a9ab83 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-07-08 00:54:23 +03:00
Bobby Holley 4da035394a Bug 1447856 - Make the watchdog tests actually wait for completion. r=arai
MozReview-Commit-ID: KjvUxJSrmtk

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

--HG--
extra : moz-landing-system : lando
2018-07-07 07:20:50 +00:00
Kris Maglione 2ced7f0d8b Bug 1471091: Follow-up: Fix crash in devtools tests when they execute process scripts multiple times. r=bustage 2018-07-07 13:15:44 -07:00
Kris Maglione 8751f930ce Bug 1471091: Avoid cloning and caching process scripts. r=mccr8
We only run process scripts once per process, so there's no need to compile
them for the compilation scope, or to keep a separate cloned copy alive for
the length of the session.

This patch changes the caching behavior of message managers to compile
single-use scripts directly for the target global, and avoid caching them for
the rest of the session. It also changes the preloader to drop references to
these scripts after they've been executed and/or encoded, as appropriate.

MozReview-Commit-ID: EfKo2aYbBxl

--HG--
extra : rebase_source : aebc5812bef4413d497ac4fdb59aced00a5a4c8e
extra : absorb_source : cf5795eb0bff47d08b1ab45f002afb3f05109c93
extra : histedit_source : e92619d2a818095241c52d8f1961ccad38300d32
2018-06-29 18:07:46 -07:00
Ciure Andrei f61df5dc45 Backed out 4 changesets (bug 1461450, bug 1471726) for linting failure xpidl.py CLOSED TREE
Backed out changeset 6e8148c1ca7f (bug 1461450)
Backed out changeset 2a02d86bc113 (bug 1461450)
Backed out changeset 1907567a85c5 (bug 1471726)
Backed out changeset c4df8eab6d1c (bug 1471726)
2018-07-07 03:12:10 +03:00
Nika Layzell 95e4893811 Bug 1471726 - Part 2: Add basic tests for jsval array codegen, r=mccr8 2018-07-06 19:53:04 -04:00
Jan de Mooij e918a3c855 Bug 1472973 part 8 - Use JS::GetNonCCWObjectGlobal in XrayAwareCalleeGlobal. r=bz 2018-07-06 18:16:24 +02:00
Jan de Mooij 396c86f339 Bug 1472973 part 7 - Use JS::GetNonCCWObjectGlobal in mozJSComponentLoader::FindTargetObject. r=bz
js::GetJSMEnvironmentOfScriptedCaller returns either nullptr or a NonSyntacticVariablesObject.
2018-07-06 18:16:24 +02:00
Jan de Mooij b6f0af2059 Bug 1472973 part 6 - Use JS::GetNonCCWObjectGlobal in subscript loader. r=bz 2018-07-06 18:16:24 +02:00
Jan de Mooij 09149a5c4a Bug 1472973 part 3 - Remove some GetGlobalForObjectCrossCompartment calls on globals/WindowProxy. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij a51f9bdda9 Bug 1472973 part 2 - Use JS::GetNonCCWObjectGlobal in some functions where we unwrapped the object. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij 3201853e80 Bug 1468752 part 4 - Remove JS_GetGlobalForObject. r=bz 2018-07-06 12:54:00 +02:00
Christian Holler 2a3b6f8ca3 Bug 1471532 - Support Windows in ASan Nightly Reporter builds. r=froydnj
MozReview-Commit-ID: AK2dBOgoazY

--HG--
extra : rebase_source : 1065a2f3b10913ac574cf1187d717f21fc2994e6
extra : histedit_source : 3042e51e496e4e8593b367d89332a9199bf3999c
2018-06-27 11:19:00 +02:00
Olli Pettay b053857985 Bug 1472431, nodes in Shadow DOM aren't orphan, if they are in composed document, r=mccr8 2018-07-01 22:28:17 +03:00
Kris Maglione 2bbae5374b Bug 1470365: Part 1 - Add a compact, read-only, shared-memory string map class. r=erahm
This class implements a shared memory key-value store that fits into a single
memory mapped segment. All of the runtime data for its instances are stored in
the shared memory region, which means that memory overhead for each instance
in each process is only a few bytes.

Importantly, the key and value strings returned by this class are also
pointers into the shared memory region, which means that once an instance is
created, its memory cannot be unmapped until process shutdown.

For the uses I intend to put it to, this is a reasonable constraint. If we
need to use it for shorter-lived maps in the future, we can add an option to
return non-literal dependent strings that will be copied if they need to be
kept alive long term.

MozReview-Commit-ID: 5BwAaDsb7HS

--HG--
extra : rebase_source : b472fe628018f88a2c4d6b3de4b7143aeca55e14
extra : absorb_source : 5cdeb568cfd2b4a5a767191402e699e61e653b3b
2018-06-29 22:50:41 -07:00
Kris Maglione fd093e7cca Bug 1463587: Part 1 - Add helper class for creating snapshots of shared memory regions. r=jld,erahm
This class allows us to map a read-write shared memory region, and then safely
remap it read-only, so that it can be shared with sandboxed content processes.

MozReview-Commit-ID: 2PJMQgOwA4V

--HG--
extra : rebase_source : c556cabfa7d379a91dc9ef7171ac0a7d7d8fb32e
extra : absorb_source : e78e304ed95891c694050f79a0bb5d40d11ee884
2018-06-22 20:30:23 -07:00
Andrew Swan 07dcc1c764 Bug 1451519 Convert specialpowers to a webextension r=kmag
This is a quick-and-dirty port.  It might be nice to replace
SpecialPowersObserver with the webextensions content script injection
system at some point, but that isn't practical right now (since WE experiments
cannot implement new APIs visible to content scripts).

MozReview-Commit-ID: GinCu3VcbWK

--HG--
rename : testing/specialpowers/bootstrap.js => testing/specialpowers/api.js
extra : rebase_source : 0faf7d21c8868c957ddc7fede0d56809f27dc161
extra : intermediate-source : ffb9ce93b92dd6396bfe038d3f6a8bcf929ec277
extra : source : cca596eadd0437dc75b75c119b6c7a405805f703
2018-06-27 13:10:51 -07:00
Coroiu Cristina 896ef35dfd Backed out changeset 722113b8204d (bug 1451519) for browser-chrome failures at browser/base/content/test/performance/browser_startup_content.js on a CLOSED TREE
--HG--
rename : testing/specialpowers/api.js => testing/specialpowers/bootstrap.js
2018-06-29 22:13:46 +03:00
Andrew Swan 849bbbb42d Bug 1451519 Convert specialpowers to a webextension r=kmag
This is a quick-and-dirty port.  It might be nice to replace
SpecialPowersObserver with the webextensions content script injection
system at some point, but that isn't practical right now (since WE experiments
cannot implement new APIs visible to content scripts).

MozReview-Commit-ID: GinCu3VcbWK

--HG--
rename : testing/specialpowers/bootstrap.js => testing/specialpowers/api.js
extra : rebase_source : 8be131e80d95a6bf6e86c994fdfa40c14ba610eb
extra : source : cca596eadd0437dc75b75c119b6c7a405805f703
2018-06-27 13:10:51 -07:00
André Bargull 781fc92292 Bug 1471900: Change return type of JS_EncodeStringToBuffer to bool. r=jandem 2018-06-28 07:35:20 -07:00
Cosmin Sabou a612a6fdf5 Merge mozilla-central to mozilla-inbound. a=merge 2018-06-28 13:13:46 +03:00
Cosmin Sabou f4b3baf021 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-28 13:04:23 +03:00
imjching 4867775c4c Bug 1469072 - Add infrastructure to move Activity Stream into its own content process. r=kmag,mconley
Summary:
This patch adds the infrastructure to move Activity Stream (about:newtab, about:home,
and about:welcome) into its own special content process - the privileged content
process. This feature of running Activity Stream in the privileged content process
is disabled by default. (See "browser.tabs.remote.separatePrivilegedContentProcess"
preference.) We can deal with other about: pages in a follow-up.

Reviewers: mconley

Tags: #secure-revision

Bug #: 1469072

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

MozReview-Commit-ID: 5gIrP4LxcIt

--HG--
extra : rebase_source : d43c411ae60aad3d5a3a496e6729de0b547b4acd
2018-06-20 14:04:51 -04:00
Kris Maglione 6dd32d12e3 Bug 1442737: Use shared JSM global for compilation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X

--HG--
extra : rebase_source : 9486cd685b4db0f5f282a8cd362a05056064f32e
extra : intermediate-source : a1db50f691f000a0261a57d39da75675592ada9c
extra : source : 8477472996e06d06a21d8e602e4a92d0ec130ea3
2018-06-24 19:16:33 -07:00
Kris Maglione 14d61004ed Bug 1470793: Stop eagerly XDR encoding scripts in the preloader cache. r=erahm
MozReview-Commit-ID: 2e85c34zt8v

--HG--
extra : rebase_source : 82b750185b598418d2ad0842090fc53bfbeedde3
2018-06-24 18:37:50 -07:00
Kris Maglione 923f03d3d3 Bug 1471089: Improve handling of pre-loaded content processes in script preloader. r=erahm
MozReview-Commit-ID: GwZzQ0ic5Et

--HG--
extra : rebase_source : 0c02b45af7ea9f1bea9e9a4bd466b69aa97eb0f9
2018-06-25 17:45:34 -07:00
Coroiu Cristina 614012f859 Backed out changeset a1db50f691f0 (bug 1442737) for frequent mochitest failures on e.g: dom/workers/test/browser_fileURL.js 2018-06-27 10:58:48 +03:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Kris Maglione 4f10d70a3d Bug 1442737: Use shared JSM global for compilation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X

--HG--
extra : rebase_source : 77afa66ef4fcdf8ac0ce1e2cae99d7a0992bc421
extra : amend_source : c97299a71b9b20370ae79ce4dd33c1833ca3f22f
extra : source : 8477472996e06d06a21d8e602e4a92d0ec130ea3
2018-06-24 19:16:33 -07:00
Margareta Eliza Balazs 616a3ce82b Backed out changeset 8477472996e0 (bug 1442737) for frequent mochitest failures e.g.: toolkit/components/alerts/test/test_principal.html 2018-06-26 11:28:50 +03:00
Kris Maglione a81efd6ad5 Bug 1442737: Use shared JSM global for compillation and privileged junk scopes. r=bholley
MozReview-Commit-ID: 3rLgxQVtc0X

--HG--
extra : rebase_source : bc15130d4db2f449569dbefe1a11c39b2ba1ad10
2018-06-24 19:16:33 -07:00
Andi-Bogdan Postelnicu f0ebe92a4a Bug 1453795 - XPConnect - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : 656f79f07e30e4d1f410ff3c72d71650c8498812
2018-06-15 14:25:49 +03:00
Brindusan Cristian f321a9bf6d Backed out changeset 32d9328cab02 (bug 1453795) as requested by Andi. CLOSED TREE 2018-06-21 13:30:07 +03:00
Andi-Bogdan Postelnicu b5f08ab328 Bug 1453795 - XPConnect - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : b996be8c8e2a7fea85f12c986644948360b47821
2018-06-15 14:25:49 +03:00
Jan de Mooij cf5e1222da Bug 1469217 part 6 - Remove JSPROP_SHADOWABLE, address review comments. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij b47f1cb4ba Bug 1469217 part 3 - Clean up TryResolvePropertyFromSpecs; remove a bunch of macros. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij 45a7ade57e Bug 1469217 part 2 - Add APIs taking getter/setter objects instead of JSNatives. r=anba 2018-06-21 11:05:42 +02:00
Jan de Mooij 539de0ae06 Bug 1469217 part 1 - Remove JSPROP_PROPOP_ACCESSORS. r=anba 2018-06-21 11:05:41 +02:00
Tom Schuster 7c01dffca0 Bug 1469540 - Remove option to disable Array.prototype.values. r=jandem
--HG--
extra : rebase_source : 5b935db0e58c076b289a7b5a3a8a43fe6e9446b3
2018-06-05 14:57:13 +02:00
Jan Beich f2740b785d Bug 1468928 - Unbreak build without GeckoProfiler after bug 1405374. r=mstange
In file included from objdir/js/xpconnect/src/Unified_cpp_js_xpconnect_src1.cpp:110:
js/xpconnect/src/nsXPConnect.cpp:76:37: error: use of undeclared identifier
      'profiler_register_thread'
    JS::SetProfilingThreadCallbacks(profiler_register_thread, profiler_unregister_thread);
                                    ^
js/xpconnect/src/nsXPConnect.cpp:76:63: error: use of undeclared identifier
      'profiler_unregister_thread'
    JS::SetProfilingThreadCallbacks(profiler_register_thread, profiler_unregister_thread);
                                                              ^

MozReview-Commit-ID: HrBGEkByEum

--HG--
extra : rebase_source : b588e8f04d44d07c348120efc6008e6c24b8949e
2018-06-15 10:12:23 +00:00
Boris Zbarsky 9b13c30592 Bug 1467870. When cloning Xray expando chains for an adopt into the Xray compartment, don't lose expandos. r=mrbkap
This does mean that if the node is adopted back into the original document the
expandos would end up on the reflector at that point.  I think that's OK;
people shouldn't be adopting things in that direction.  Futhermore, if they
adopt, then set expandos, then adopt back they already get this behaviorl

So if we decide we don't want that, we should probably just avoid copying own
props when reparenting into a global whose principals don't subsume the old
global.
2018-06-14 19:06:43 -04:00
Jan de Mooij a2548dc268 Bug 1468252 part 2 - Rename GetOriginalEval to GetRealmOriginalEval, remove scope argument. r=evilpie
--HG--
extra : rebase_source : f1aa3fc12fc775bf64318d16246555badbe83e78
2018-06-14 09:07:30 -07:00
Tom Schuster f7c7d0f881 Bug 1435813 - Enable Array.prototype.flat and Array.prototype.flatMap in release builds. r=till
--HG--
extra : rebase_source : adc7e839e4d241857a89df6c6669c241a14466da
2018-06-05 14:41:41 +02:00
Jan de Mooij 2b3ff5c90a Bug 1468219 - Rename JS_InitStandardClasses to JS::InitRealmStandardClasses, remove obj argument. r=anba
--HG--
extra : rebase_source : 5c092c37298e89096b85524e92d143ff2447f31f
2018-06-13 12:47:47 -07:00
Jan de Mooij de211d96a6 Bug 1468137 - Remove JS_Get*Prototype APIs; use JS::GetRealm*Prototype instead. r=evilpie
--HG--
extra : rebase_source : 9d5e815b83b3a71ab3e74fc2c0e2feb1009f2af9
2018-06-13 12:47:40 -07:00
Joel Maher 1ef32bf5c6 Bug 1405428 - skip-if = verify on xpcshell tests which do not pass test-verify. r=gbrown 2018-06-13 11:34:40 -04:00
Mike Conley bf614c6737 Bug 1458375 - Make ScriptPreloader wait until browser-idle-startup-tasks-finished before writing cache. r=kmag
Originally, the ScriptPreloader stopped recording and wrote its cache when the
browser-delayed-startup-finished notification fired for the first window, but there
are other scripts (both in the content and WebExtension processes) that might run
soon after that we also want to cache.

This patch still makes the parent process stop recording scripts after
browser-delayed-startup-finished, but only prepares and writes the cache
once browser-idle-startup-tasks-finished fires, when it is much more likely
that the content and WebExtension caches are ready to go.

MozReview-Commit-ID: KiBEVvuqQkA

--HG--
extra : rebase_source : 6f0fde65cdafdecf72242a06416fef10304637b8
2018-06-11 12:19:02 -07:00
Steve Fink bc2be79d2a Bug 1405374 - Register JS threads with the profiler, r=jonco
--HG--
extra : rebase_source : c29dffb341bff5e3f020ad0be6d48c045e178a5c
2018-06-07 15:37:08 -07:00
Kris Maglione a4973ad0d6 Bug 1464548: Part 1b - Don't delete properties before redefining them, because deleting properties kills JIT performance. r=mccr8
MozReview-Commit-ID: IUMg59xRoIu

--HG--
extra : rebase_source : 6be1c84601ff868835cad53116ab920d2f2db317
2018-05-25 19:17:58 -07:00
Kris Maglione bbbb42012f Bug 1464548: Part 1a - Add defineLazyGlobalGetters helper. r=mccr8
This allows us to lazily import global properties using
Cu.importGlobalProperties. Aside from making it easier to avoid lazily
importing these properties, it also defines them all in the shared JSM global
so that we don't risk re-creating them in Sandboxes or frameloader globals.

MozReview-Commit-ID: GV6shguUlIG

--HG--
extra : rebase_source : 6b9269f3b33fe085c5ed63ee16e5b4ce9e5343a4
2018-05-25 22:28:27 -07:00
Tom Schuster 731eb0bfab Bug 1451017 - Remove Xray resolveNativeProperty. r=bz
--HG--
extra : rebase_source : 3fca06866110b912478448b06f12dc2158f560c7
2018-05-08 22:09:05 +02:00
Jan de Mooij f7fb3be6ec Bug 1466121 part 1 - Rename JSCompartment to JS::Compartment. r=luke
--HG--
extra : rebase_source : cd7140ecda54f0caa02a96f562167b3c9a107450
2018-06-07 16:44:40 +02:00
Peter Van der Beken b986ba77dd Bug 1053271 - Remove some unused XRayWrapper code. r=bz.
--HG--
extra : rebase_source : 62e659d4b70872997b62185b2f634d87e9242d9d
2018-06-04 16:37:04 +02:00
Peter Van der Beken f4270dc255 Bug 1053271 - Move Sandbox proxy handlers out of XrayWrapper.h. r=bz.
--HG--
extra : rebase_source : 6172fcbc5782ec3e800b034ca5fdba354f0797e2
2018-06-06 11:42:12 +02:00
Peter Van der Beken a47cb53336 Bug 1053271 - Remove XrayTraits' HasPrototype. r=bz.
XPCWN Xrays were the only Xrays that set HasPrototype to 0.

--HG--
extra : rebase_source : c10654e4eb6eb39b3cfe8884009cd1a47dcad807
2018-06-04 14:26:37 +02:00
Peter Van der Beken c02d68395d Bug 1053271 - Remove XPCWN Xrays. r=bz.
--HG--
extra : rebase_source : 4da59c56ffc6eab4af0bf59d3d3861bbc18a33ba
2018-06-04 12:56:38 +02:00
Jan de Mooij 56ca3c9524 Bug 1466501 part 1 - Refactor ZoneSpecifier and add a sameCompartmentAs option to newGlobal in the shell. r=luke 2018-06-07 10:02:10 +02:00
Narcis Beleuzu cf464eabfe Merge inbound to mozilla-central. a=merge 2018-06-06 20:00:09 +03:00
Jan de Mooij 156284156a Bug 1363214 - Remove JS::Realm/JSCompartment inheritance. r=jonco
--HG--
extra : rebase_source : ad63de7c6676532640659d1fccced7f83798e06d
2018-06-06 14:30:52 +02:00
Karl Tomlinson 9e0c1c7c2b bug 1442776 make CycleCollectedJSContext accessible from JSContext private r=peterv
Inheriting PerThreadAtomCache on CycleCollectedJSContext permits use of
static_cast, avoiding one level of indirection compared to adding a
CycleCollectedJSContext* to PerThreadAtomCache.

PerThreadAtomCache is over 18kB, and so WorkerJSContext and WorkletJSContext
are moved from the stack to the heap.

MozReview-Commit-ID: 6jdJeZcviK4

--HG--
extra : rebase_source : 3c2accb71faf3f017a44c405ae0484e57aaf039c
2018-05-10 17:04:12 +12:00
Jan de Mooij 4ded85aeda Bug 1466083 part 9 - Introduce JS::IterateRealmsInCompartment and use it in NukeAllWrappersForCompartment. r=jonco 2018-06-06 12:55:50 +02:00
Jan de Mooij 615ecff147 Bug 1466083 part 8 - Various minor API changes. r=luke
* GetScriptCompartment => GetScriptRealm
* Adds IsSystemRealm in addition to IsSystemCompartment and uses it where we can.
* JS_GetCompartmentPrincipals and IsSystemCompartment now release-assert they have a single realm. This is temporary until we know what Gecko will do/need exactly.
2018-06-06 12:55:50 +02:00
Jan de Mooij 9389383f2c Bug 1466083 part 7 - Replace GetCompartmentZone with GetRealmZone. r=luke 2018-06-06 12:55:50 +02:00
Jan de Mooij 7f38cbf185 Bug 1465728 part 3 - Rename Cu.getCompartmentLocation to Cu.getRealmLocation. r=bz 2018-06-06 11:44:17 +02:00
Jan de Mooij 3d013f2eef Bug 1465728 part 2 - Remove the compartment name callback. r=luke 2018-06-06 11:44:17 +02:00
Jan de Mooij 71d86bded9 Bug 1465728 part 1 - Move location and locationURI fields from CompartmentPrivate to RealmPrivate. r=bz
The xpcprivate.h changes are just code motion, except I changed the order of the GetLocationURI methods to get a much more readable diff.
2018-06-06 11:44:17 +02:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
shindli 936dd8d764 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-04 01:07:15 +03:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Andreea Pavel 4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Jan de Mooij 403ba762c8 Bug 1466083 part 6 - Add xpc::GetRealmPrincipal and use it in a few places. r=bz
Not strictly necessary, but this lets us remove some JS::GetCompartmentForRealm and JS_GetCompartmentPrincipals calls.
2018-06-02 11:58:29 +02:00
Jan de Mooij 14752d0042 Bug 1464772 part 2 - Remove RealmBehaviorsRef(obj), change RealmBehaviorsRef(compartment) to take a realm. r=luke
At some point I'll audit the obj->realm() calls for CCWs; removing RealmBehaviorsRef(obj) prepares for that.

Also, RealmBehaviorsRef(realm) could be removed and we could use RealmBehaviorsRef(cx) everywhere, but it seems reasonable to keep it.
2018-06-03 12:22:28 +02:00
Emilio Cobos Álvarez 1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jan de Mooij f3fe2d13d4 Bug 1465472 - Remove the atoms realm/compartment. r=jonco
Some of the less trivial changes:

* When we allocated a symbol, we used the atom realm's RNG to create a hash code [0]. Instead of this I added a RNG for this to the runtime.

* IsCompilingWasm returned true if the JitContext's realm is nullptr, but that's now also true when we initialize the trampolines stored in the atoms zone. To fix that I added a CompileZone* to JitContext, in addition to the CompileRuntime and CompileRealm, and we now check the zone instead of the realm in IsCompilingWasm.

* JSContext::hasEnteredRealm is only called in DEBUG builds so I made hasEnteredRealm and enterRealmDepth_ #ifdef DEBUG.
2018-05-31 12:53:26 +02:00
Jan de Mooij 37e765587c Bug 1464374 part 7 - Use GetRealmPrincipals in GetCompartmentName. r=luke
This will become GetRealmName at some point.
2018-05-31 11:28:49 +02:00
Jan de Mooij 1edb6a4c17 Bug 1464374 part 6 - Use GetRealmPrincipals in Scriptability constructor. r=bz 2018-05-31 11:28:49 +02:00
Steve Fink 0680fed494 Bug 1464266 - Rename GCForReason to NonIncrementalGC, r=jonco
--HG--
extra : topic : GCForReason
extra : rebase_source : e81bf7bb8ca0824f8b63f25a46ccbe26c4002325
2018-05-24 16:19:18 -07:00
Jan de Mooij 45e968b1dd Bug 1464134 part 8 - Make IterateHeapUnbarriered and related code use realms instead of compartments. r=jonco 2018-05-30 20:14:19 +02:00
Jan de Mooij 732a7c63d6 Bug 1464134 part 7 - Replace GetAnyCompartmentInZone with GetAnyRealmInZone. r=luke 2018-05-30 20:14:19 +02:00
Boris Zbarsky 89366855ba Bug 1455676 part 1. Make it possible to importGlobalProperties Node. r=qdot 2018-05-29 22:58:47 -04:00
Boris Zbarsky 69db48b9c0 Bug 1047514. Re-enable the test_getWebIDLCaller test on Android. r=kmag 2018-05-29 13:38:53 -04:00
Tom Schuster 30cc5c7f25 Bug 1465039 - Rename Array.prototype.flatten to Array.prototype.flat. r=anba
--HG--
extra : rebase_source : aa2aa39508dd22d7e380e1996d559bf03d7478eb
2018-05-29 13:23:06 +02:00
Peter Van der Beken 0a2e4b8cb7 Bug 1146316 - Remove nsWrapperCache::SetIsNotDOMBinding and IsDOMBinding(). r=bz.
--HG--
extra : rebase_source : cd36e7afb4f6ebcd042ea40d9403546a683375ad
2018-04-05 17:22:41 +02:00
Peter Van der Beken 6e33f1d567 Bug 1146316 - Preserve the wrapper of sandboxes, so that we never try to call WrapObject on them. r=bz.
--HG--
extra : rebase_source : 00519dbe00d048000b2febdcd69e9232a79b5388
2018-04-11 11:52:13 +02:00
Boris Zbarsky ed3c958547 Bug 1463889 part 1. Switch nsPIDOMWindowOuter::GetFrames to returning an nsDOMWindowList. r=qdot 2018-05-24 23:32:19 -04:00
Kris Maglione ed0d691f13 Bug 1461012: Add CC optimizations for PrecompiledScript objects. r=mccr8
Tracing the script members held alive by PrecompiledScript objects can be
expensive, especially for large scripts. It would be nice if we could avoid
tracing them when possible.

Most of the time, when PrecompiledScripts are alive, they're held alive by
black roots, and have black JS wrappers. In those cases, there's no chance of
them creating garbage cycles, and we can just mark their script children
black.

MozReview-Commit-ID: KnkJfznJZBx

--HG--
extra : rebase_source : da0da30265c3f752c9aba177bf510937a743e49e
2018-05-11 15:57:31 -07:00
Tom Schuster 937d9326cd Bug 1453916 - Allow canvas extraction from webextension content-script even with resistFingerprinting turned on. r=kmag,bz
--HG--
extra : rebase_source : d67c589e8819407bb5acc4378d029288dd9295be
2018-05-14 20:49:32 +02:00
Kris Maglione 8134b33e89 Bug 1462964: Remove obsolete nsIDOMBlob interface. r=bz
MozReview-Commit-ID: 2HIlaSrvfBe

--HG--
extra : rebase_source : 944a6244dbfe1f0a37dd34a041d1329624a86f93
extra : histedit_source : d7859be664fed00f8504e40969480d3af3d674e7%2C4456b502db338bd06823654306e47c2583101396
2018-05-21 17:32:44 -07:00
Jan de Mooij f820ec7afa Bug 1461938 part 5 - Some atoms compartment/realm related changes. r=jonco 2018-05-18 15:18:23 +02:00
Jan de Mooij 575aec161b Bug 1461677 - Rename compartment to realm in the memory reporting code. r=njn 2018-05-17 16:15:18 +02:00
Jan de Mooij 17f3983d0f Bug 1461605 part 1 - Rename CompartmentOptions to RealmOptions. r=luke,bz 2018-05-17 10:59:45 +02:00
Kris Maglione 166dab340b Bug 1461062: Follow-up: Fix rebase bustage. r=bustage CLOSED TREE
MozReview-Commit-ID: 2fjL5eCL2xP

--HG--
extra : amend_source : 1fef859835028292ca163d840a61077bf05fcc06
2018-05-16 19:07:01 -07:00
Ciure Andrei eab785689c Backed out 2 changesets (bug 1458043) for dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html failures a=backout
Backed out changeset 0b5c103fcb70 (bug 1458043)
Backed out changeset 51cdd0595094 (bug 1458043)
2018-05-17 00:54:04 +03:00
Jan de Mooij 80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Csoregi Natalia 2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Markus Stange 772669d431 Bug 1464909 - Add the "GC / CC" category to AsyncFreeSnowWhite::Run. r=smaug
MozReview-Commit-ID: KEZUstzTHhn

--HG--
extra : rebase_source : 82f7b0b02f342b574f16849a8f6a9ffe625bddf6
2018-05-31 14:08:24 -04:00
Markus Stange 423ce68542 Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : 344c380ddaaf42a1fd820a26b762c61ee9e2d524
2018-05-18 17:58:43 -04:00
Csoregi Natalia fc2ed6e92a Backed out 18 changesets (bug 1462784) for ESlint failure on FlameGraph.js:1297. CLOSED TREE
Backed out changeset 79556798ff9f (bug 1462784)
Backed out changeset 88321efb673b (bug 1462784)
Backed out changeset 7880f9dc7023 (bug 1462784)
Backed out changeset 71fe35fd1f7e (bug 1462784)
Backed out changeset a543b94b049a (bug 1462784)
Backed out changeset d1ca8b0f2221 (bug 1462784)
Backed out changeset 68eabfbf3c16 (bug 1462784)
Backed out changeset 34e71c789903 (bug 1462784)
Backed out changeset 6fe79d1ca1bd (bug 1462784)
Backed out changeset e5ad2e525ea9 (bug 1462784)
Backed out changeset 329645ff1e23 (bug 1462784)
Backed out changeset e09c38853172 (bug 1462784)
Backed out changeset 0663d1a6d2da (bug 1462784)
Backed out changeset 106967fc29d2 (bug 1462784)
Backed out changeset 99b4a433a8e5 (bug 1462784)
Backed out changeset 1d38a4cf5a4a (bug 1462784)
Backed out changeset 692017229de6 (bug 1462784)
Backed out changeset c2911a626671 (bug 1462784)
2018-06-01 23:42:00 +03:00
Markus Stange 3f54b9a3dd Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : f807c14bf6a592e0c651e15b63d1e7d63e4b0159
2018-05-18 17:58:43 -04:00
Noemi Erli 7bfa96a42b Backed out 4 changesets (bug 1464909) for failures in devtools/client/performance/test/unit/test_tree-model-08.js r=mstange on a CLOSED TREE
Backed out changeset 119c2055e002 (bug 1464909)
Backed out changeset 562aeeced55b (bug 1464909)
Backed out changeset c1e1d74ad27e (bug 1464909)
Backed out changeset 11670c51f572 (bug 1464909)
2018-06-01 01:23:49 +03:00
Noemi Erli 1fd69fa2bc Backed out 18 changesets (bug 1462784) for failures in devtools/client/performance/test/unit/test_tree-model-08.js on a CLOSED TREE
Backed out changeset a74d36598442 (bug 1462784)
Backed out changeset c8192175f360 (bug 1462784)
Backed out changeset cde492240e99 (bug 1462784)
Backed out changeset 8c8d30fa406c (bug 1462784)
Backed out changeset ad3802ffb780 (bug 1462784)
Backed out changeset 2fe10732076c (bug 1462784)
Backed out changeset 268a72b7c3c4 (bug 1462784)
Backed out changeset 4055eb6c3bc6 (bug 1462784)
Backed out changeset 3901070e2e60 (bug 1462784)
Backed out changeset 2faf787fbbdf (bug 1462784)
Backed out changeset 8f06963c7c6f (bug 1462784)
Backed out changeset 036e6f64e224 (bug 1462784)
Backed out changeset e670f156a603 (bug 1462784)
Backed out changeset cd39588aece4 (bug 1462784)
Backed out changeset 2ac65d100fa2 (bug 1462784)
Backed out changeset ea05ff70a51d (bug 1462784)
Backed out changeset 8a06c0ba42f7 (bug 1462784)
Backed out changeset 52ed9a039ad2 (bug 1462784)
2018-06-01 01:06:29 +03:00
Noemi Erli 614b78ae36 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-01 00:58:09 +03:00
Markus Stange 76dc63b77e Bug 1464909 - Add the "GC / CC" category to AsyncFreeSnowWhite::Run. r=smaug
MozReview-Commit-ID: KEZUstzTHhn

--HG--
extra : rebase_source : 6db5ea2c5ca4e8d1802a0c71915bfe1d2dbf7326
2018-05-31 14:08:24 -04:00
Markus Stange d80822de42 Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : 35362bc94068103367f46b23a14cb3831cd86990
2018-05-18 17:58:43 -04:00
Noemi Erli 8e2471b6cb Backed out 8 changesets (bug 1458375) for Mochitest leaks on a CLOSED TREE
Backed out changeset 30a743401670 (bug 1458375)
Backed out changeset ae969e1cebfb (bug 1458375)
Backed out changeset 1fb76b9b6f82 (bug 1458375)
Backed out changeset 868da3a1b94a (bug 1458375)
Backed out changeset bd2cba9dfb3d (bug 1458375)
Backed out changeset 715850ae92a1 (bug 1458375)
Backed out changeset cfe8da250de7 (bug 1458375)
Backed out changeset 2968c0a21410 (bug 1458375)
2018-05-31 22:38:48 +03:00
Mike Conley 7c11f30a6f Bug 1458375 - Make ScriptPreloader stop recording after browser-idle-startup-tasks-finished. r=kmag
The ScriptPreloader stopped recording before browser-delayed-startup-finished before, but there
are other scripts (both in the parent and content processes) that might run soon after that we
also want to cache. This increases the probability that those scripts are noted by the
ScriptPreloader cache.

MozReview-Commit-ID: KiBEVvuqQkA

--HG--
extra : rebase_source : 4c1bffa882b0641f93260867ac8a4334b1269e99
2018-05-29 12:55:21 -04:00
Felipe Gomes fd0a264b26 Bug 1457988 - Implement XPCOMUtils.defineLazyProxy. r=kmag
This implements a new kind of lazy getter in XPCOMUtils that creates an object (implemented as a JS Proxy) that is resilient to be passed around as references to other functions, and will only evaluate the getter when it really needs to be used
2018-05-15 19:49:17 -03:00
Peter Van der Beken d73809b86f Bug 1453011 - Remove PostCreatePrototype. r=bz.
--HG--
extra : rebase_source : 6c096b964e43a3460a092b0f0b1ed9b512fd98c9
2018-03-22 11:31:05 +01:00
Peter Van der Beken 33304e70f6 Bug 1453011 - Remove some unused nsIXPCScriptable flags. r=bz.
--HG--
extra : rebase_source : bd116870762e7b9b0fcae558039c3522acb30009
2018-03-22 10:37:43 +01:00
Peter Van der Beken 1cd3ab60da Bug 1453011 - Remove nsXPCClassInfo. r=bz.
--HG--
extra : rebase_source : 4f137f69ad8613c149a25260c3ceeb029b823117
2018-03-22 09:42:21 +01:00
Peter Van der Beken ddfc4b6022 Bug 1452981 - Remove qsObjectHelper. r=bz.
--HG--
extra : rebase_source : f87d70c72bd720cd57377b4b70fdf8ecec590086
2018-05-02 11:47:02 +02:00
Nika Layzell 84d0194704 Bug 1458043 - Part 1: Stop converting promises to nsISupports in xpconnect, r=bz 2018-05-14 17:55:58 -04:00
Nika Layzell 3043db4105 Bug 1457972 - Part 10: Make sure to allocate ExtendedVal inline, r=froydnj 2018-05-14 17:55:57 -04:00
Nika Layzell 70dbf079a4 Bug 1457972 - Part 9: Allow passing invalid values to xpidl arrays for compat reasons, r=mccr8
This one sucks. I found out when running tests that we exploit some edge
case behaviour in our tests where passing an invalid value to an xpidl
array parameter will be passed as an empty array...

I figured that just respecting this behaviour for now is the easiest
approach, but we will probably want to fix it in the future.
2018-05-14 17:55:57 -04:00
Nika Layzell 656ad38909 Bug 1457972 - Part 8: Remove external consumers of XPCConvert::NativeArray2JS/JSArray2Native, r=mccr8
Current XPIDL native arrays currently also require a custom entry point. With
the new arraylen parameter we can handle them in JSData2Native/NativeData2JS. As
these methods are more complex and don't share logic with an existing codepath,
I keep them in external helper methods.
2018-05-14 17:55:57 -04:00
Nika Layzell 3efaead212 Bug 1457972 - Part 7: Eliminate XPCConvert::NativeStringWithSize2JS/JSStringWithSize2Native, r=mccr8
XPIDL supports explicitly sized string types. These types currently have to be
handled by a separate entry point into XPCConvert, and don't share any logic
with the implicitly sized string types.

If we just add an array length parameter to the basic JSData2Native and
NativeData2JS methods we can handle them in the same place as every other type.

This also allows us to share a lot of code with non-sized string types, which is
nice :-).
2018-05-14 17:55:56 -04:00
Nika Layzell e97495d7b3 Bug 1457972 - Part 5: Use modern JS APIs to root jsval temporaries in XPConnect, r=mccr8
When a jsval passed from JS code it needs to be stored in a nsXPTCVariant
object. This object is not rooted by default, as it is stored in some
C++-allocated memory. Currently, we root the values by adding a custom root
using the `js::AddRawValueRoot` API, which is deprecated, and only used by this
code and ErrorResult.

This also has the unfortunate effect that we cannot support XPCOM arrays of
jsvals, as we cannot root all of the values in the array using this API.

Fortunately, the JS engine has a better rooting API which we can use here
instead. I make the call context a custom rooter, like the SequenceRooter type
from WebIDL, and make sure to note every jsval when tracing, both in arrays and
as direct values.

This should allow us to avoid some hashtable operations with roots when
performing XPConnect calls, and remove a consumer of this gross legacy API.

In addition it allows us to support arrays. This will be even more useful in the
future when I add support for sequence<T> (which is a nsTArray<T>) to xpidl and
xpconnect.
2018-05-14 17:55:55 -04:00
Nika Layzell e2240ec5a2 Bug 1457972 - Part 4: Remove dipper types, r=mccr8
In XPConnect, native values are passed around within nsXPTCMiniVariant objects.
an [nsXPTCMiniVariant] contains 64-bits of data in a union type.

nsXPTCMiniVariant values are created by the platform-specific glue code and
passed into XPConnect proper when calling from C++ into JS.

When calling from JS into C++, we instead create nsXPTCVariant objects and pass
them into the glue code. These objects have extra information in addition to the
nsXPTCMiniVariant: namely they also have a `type` field with the type stored in
the variant, space for flags, and a `ptr` field which is passed over IPC instead
of the inner nsXPTCMiniVariant when a flag (`PTR_IS_DATA`) is set.

The JSValue type in XPConnect is always passed as a pointer to a JSValue object,
both for in parameters and out parameters. This is handled by making the JSValue
type be unconditionally flagged as [`IsIndirect()`] This flag is also used for
all types of outparameters.

When the `IsIndirect()` flag is set, it means that the actual data is stored in
the nsXPTCVariant's val field, and it sets the flag to tell the glue code to
instead pass the `ptr` field (which is always pointing to the `val` field for
[legacy reasons]) into the C++ code.

In contrast "dipper" is a different and super weird flag. Currently only the
string class types (nsACString & nsAString) are marked as "dipper". A "dipper"
type is always passed as an "in" type (and thus always passed "directly"), even
when it's actually an out parameter.

XPConnect treats these types as though they are pointer types (nsAString*). This
means that there is no space in the nsXPTCVariant to store the actual nsAString
types when passing from JS into C++, so these values have to be allocated by a
different mechanism (in the current code, there is a size 2 buffer for each
string type in the context and once that buffer is exceeded, we heap allocate
the nsString values).

In effect, the current state looks something like this:
+------------+---------------------+---------------------+
| type       | out (xpt/native)    | in (xpt/native)     |
+------------+---------------------+---------------------+
| TD_INT32   | indirect (int32_t*) | direct (int32_t)    |
+------------+---------------------+---------------------+
| TD_JSVAL   | indirect (JSValue*) | indirect (JSValue*) |
+------------+---------------------+---------------------+
| TD_ASTRING | direct (nsAString*) | direct (nsAString*) |
+------------+---------------------+---------------------+

This patch ensures there is enough space in the nsXPTCVariant to fit the
nsString value, and switches string class types to being unconditionally
indirect instead of using the dipper system. This allows us to delete a ton of
dipper-specific code, and unify the indirect and string class codepaths.

This only affects the size of nsXPTCVariant objects, and does not affect
nsXPTCMiniVariant objects. nsXPTCVariant objects are never allocated by the
platform-specific binding code, rather, they are allocated in an AutoTArray on
the stack as part of the CallMethodHelper object.

The size increase is a total of 1 word, so 4 bytes in 32-bit builds, and 8 bytes
in 64-bit builds, which is ignorable for stack allocated objects.

[nsXPTCMiniVariant]: https://searchfox.org/mozilla-central/rev/eb6c5214a63e20a3fff455e92c876287a8d2e188/xpcom/reflect/xptcall/xptcall.h#20-47
[`IsIndirect()`]: https://searchfox.org/mozilla-central/rev/c0d81882c7941c4ff13a50603e37095cdab0d1ea/xpcom/reflect/xptinfo/xptinfo.h#371
[legacy reasons]: https://searchfox.org/mozilla-central/rev/eb6c5214a63e20a3fff455e92c876287a8d2e188/xpcom/reflect/xptcall/xptcall.h#66-79
2018-05-14 17:55:55 -04:00
Nika Layzell f20e777cdb Bug 1457972 - Part 2: Remove unused code paths in xpconnect, r=mccr8
Thanks to the changes in the previous patch, we had some unused code which we
can get rid of. This patch just cleans stuff up a bit.
2018-05-14 17:55:54 -04:00
Nika Layzell 73efb8abf3 Bug 1457972 - Part 1: Unify xpconnect cleanup codepaths, r=mccr8
It used to be that in XPConnect there were many different pieces of code for
each place where we may need to clean up some untyped values based on their
nsXPTType information. This was a mess, and meant that every time you needed to
add a new data type you'd have to find every one of these places and add support
for your new type to them.

In fact, this was bad enough that it appears that I missed some places when
adding my webidl support! Which means that in some edge cases we may clean up
one of these values incorrectly D:!

This patch adds a new unified method which performs the cleanup by looking at a
nsXPTType object. The idea is that this function takes a void* which is actually
a T* where T is a value of the nsXPTType parmaeter. It clears the value behind
the pointer to a valid state such that free-ing the memory would not cause any
leaks. e.g. it free(...)s owned pointers and sets the pointer to `nullptr`, and
truncates nsA[C]String values such that they reference the static empty string.

I also modify every one of these custom cleanup codepaths to instead call into
this unified cleanup method.

This also involved some simplification of helper methods in order to make the
implementation cleaner.
2018-05-14 17:55:54 -04:00
Nika Layzell 9c090cb316 Bug 1455217 - Part 2: Add support for promises to XPCConvert, r=mccr8 2018-05-14 17:55:53 -04:00
Jon Coppeard 0924042900 Bug 1456774 - Remove linear search for finished parse task and type off thread parse token r=jandem r=baku 2018-05-10 14:51:14 +01:00
Ciure Andrei de05fd66c8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-09 02:02:05 +03:00
Mark Banner 9c03ace970 Bug 1458235 - Fix various cases where Assert.ok or Assert.equal have been called wrongly. r=Gijs
MozReview-Commit-ID: Br3lKpKNVQJ

--HG--
extra : rebase_source : 972c69ecf63bb522b0f368e3c388f4eff558bbe3
2018-05-01 22:15:43 +01:00
Chris Peterson 71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Stephen A Pohl 860c14b396 Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-05-08 10:31:44 -04:00
Mark Banner a232a99e8c Bug 1458215 - Handle the optional service name in XPCOMUtils.defineLazyServiceGetters. r=kmag
MozReview-Commit-ID: 1Dp6lhQRbNU

--HG--
extra : rebase_source : d892b8b93b9f917c81c107fc29b446761f4617c6
2018-05-01 13:51:53 +01:00
Kris Maglione a259026c9d Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY

--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
2018-04-22 20:55:06 -07:00
Kris Maglione 1b96577a60 Backed out changeset 2add2de30c22 (bug 1456035)
MozReview-Commit-ID: 15Whk6URI2O

--HG--
extra : rebase_source : 64dcf99e004789dc5ec07f56c6d952593416f060
2018-04-27 13:44:36 -07:00
Boris Zbarsky bca2f3a6b6 Bug 1455674 part 18. Add Element to importGlobalProperties. r=qdot 2018-04-26 23:37:34 -04:00
Jeff Walden 04d21ccac0 Bug 1451248. r=jorendorff, r=bz
--HG--
extra : rebase_source : e26439a5954162bdaf332fbd63d623a3810e19e0
2018-04-25 19:40:09 -07:00
Kris Maglione a6d2e794ef Bug 1456035: Part 3.1 - Add temporary fallback XPCOMUtils.generateQI implementation for Android hostutils. r=me
MozReview-Commit-ID: IDs6Jyz5PyO

--HG--
extra : rebase_source : ae871cbec9494945663843a7dbeb56ae2a49c164
2018-04-25 14:26:05 -07:00
Kris Maglione e318b76d56 Bug 1456035: Part 3 - Replace XPCOMUtils.generateQI with a stub for ChromeUtils.generateQI. r=mccr8
MozReview-Commit-ID: HWnlxUQvxYZ

--HG--
extra : rebase_source : a5801a0d7427a2cf3cedec2a4e8db1a3d80273ec
2018-04-22 18:55:49 -07:00
Kris Maglione 8b53374e1d Bug 1456035: Part 2 - Add fast path for XPCWrappedJS QueryInterface with native helper. r=mccr8
When the QueryInterface method for an XPCWrappedJS class is implemented by the
native helper, we can avoid a lot of overhead by simply asking it if it
supports a given interface rather than going through all of the JSAPI call and
exception handling overhead we'd need otherwise.

MozReview-Commit-ID: FVAN3oYRE9I

--HG--
extra : rebase_source : 23a42374e83ee4314fa89ead135fd2e8f9968296
2018-04-22 20:37:51 -07:00
Kris Maglione dc8ba3688b Bug 1456035: Part 1 - Add helper to generate native QueryInterface callbacks. r=bz
MozReview-Commit-ID: JpV6zYOdvHu

--HG--
extra : rebase_source : 4aeda7c2c612dd9c7dbb7b6f4fdd33b8b289b702
2018-04-22 20:32:11 -07:00
Kris Maglione beeee1a023 Bug 1363925: Part 2 - Support inferring array length from typed arrays. r=mccr8
MozReview-Commit-ID: FI5ggNE68v7

--HG--
extra : rebase_source : ed20f55c5497486863b89c5b6f6f342c7d938d6a
extra : histedit_source : 99c7eee864fd45fdea64f48a1d056e467ad2f56d
2018-04-21 18:04:22 -07:00
Ted Campbell a1a65038fe Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke
MozReview-Commit-ID: 1lXRj1JUJk2

--HG--
extra : source : 97dbd15798f96a95021bc0a66c9b1dfc22414025
2018-04-11 15:49:36 -04:00
Bogdan Tara b644004031 Backed out changeset 97dbd15798f9 (bug 1448563) for bad-malloc_usable_size /builds/worker/workspace/moz-toolchain/src/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc a=backout CLOSED TREE 2018-04-23 22:23:01 +03:00
Ted Campbell 7baaa3f753 Bug 1448563 - Part 6: Add memory reporting for off-thread WASM. r=luke
MozReview-Commit-ID: 1lXRj1JUJk2
2018-04-23 13:57:50 -04:00
Ted Campbell ce0c6eb300 Bug 1448563 - Part 5: Add memory reporting for Ion offthread. r=jandem
MozReview-Commit-ID: KnuaP5HwNnm
2018-04-23 13:56:54 -04:00
Ted Campbell 3f8ed0a1db Bug 1448563 - Part 4: Add memory reporting for off-thread parse. r=jandem
MozReview-Commit-ID: 2qH6cwFRrfG
2018-04-23 13:55:59 -04:00
Ted Campbell d1cc6f3d5b Bug 1448563 - Part 3b: Add memory reporting for JS helper threads. r=jandem
MozReview-Commit-ID: JbOY0QRn0Wl
2018-04-23 13:55:01 -04:00
Ted Campbell 9f41272463 Bug 1448563 - Part 2: Add memory reporting for Ion lazy linking. r=jandem
MozReview-Commit-ID: 4tHDJXzJKY5
2018-04-23 13:53:01 -04:00
Ted Campbell bdaa0bde42 Bug 1448563 - Part 1: Use JS::CollectGlobalReports for non-runtime memory. r=jorendorff
MozReview-Commit-ID: G4j6YKP0vEV
2018-04-23 13:52:04 -04:00
Jon Coppeard 3e09172edc Bug 1419373 - Call ShutdownMarker() on all JSObject2WrappedJSMaps at the same time r=mccr8 2018-04-23 10:51:33 +01:00
Boris Zbarsky 2d76710322 Bug 1453869 part 8. Teach Cu.importGlobalProperties about DOMParser. r=mrbkap
MozReview-Commit-ID: 36Op1KdLZJe
2018-04-20 23:03:32 -04:00
Kris Maglione 903e86e865 Bug 1455458: De-XPIDLify the blocklist service. r=gijs
Going through XPConnect for JS-to-JS access in the blocklist service adds no
benefit, but does add a lot of overhead and maintenance burden.

MozReview-Commit-ID: Lf1mDK0b0B0

--HG--
extra : rebase_source : 410ed3fcf999d7c7775ef4926c89f67d9e342da8
2018-04-19 16:01:24 -07:00
Dorel Luca 644bf34f8b Backed out 8 changesets (bug 1453011, bug 1452981, bug 1146316) For xpcshell and mochitest failures on multiple files. CLOSED TREE
Backed out changeset 033299f27339 (bug 1453011)
Backed out changeset 4464997475c1 (bug 1453011)
Backed out changeset cae243fb2a3c (bug 1453011)
Backed out changeset adf56a83131b (bug 1453011)
Backed out changeset 80abe3305b24 (bug 1452981)
Backed out changeset 02178545f255 (bug 1452981)
Backed out changeset 719f7596c208 (bug 1146316)
Backed out changeset 1316c78daeb6 (bug 1146316)
2018-04-20 21:40:24 +03:00
Boris Zbarsky 45a3faf8f6 Bug 1455052 part 12. Remove JS uses of nsIDOMEvent. r=masayuki,kmag
MozReview-Commit-ID: 5g0H3rzxTXt
2018-04-20 12:55:31 -04:00
Peter Van der Beken 2d06d9a85f Bug 1453011 - Remove PostCreatePrototype. r=bz.
--HG--
extra : rebase_source : f1566e432e6c47c814bbced141b51522fe3e4184
2018-03-22 11:31:05 +01:00
Peter Van der Beken b1be86e036 Bug 1453011 - Remove some unused nsIXPCScriptable flags. r=bz.
--HG--
extra : rebase_source : d3f5d9b6d994bbcf55976b3a1aed404d273415f3
2018-03-22 10:37:43 +01:00
Peter Van der Beken 3cb241cae0 Bug 1453011 - Remove nsXPCClassInfo. r=bz.
--HG--
extra : rebase_source : fd26480b3a4c8f56ae47fa2e4031fd0bebd1cd88
2018-03-22 09:42:21 +01:00
Peter Van der Beken 79663afa7d Bug 1452981 - Remove qsObjectHelper. r=bz.
--HG--
extra : rebase_source : 931b915a05d026d826ceb5ec919c3909f9bae053
2018-03-01 09:01:00 +01:00
Peter Van der Beken 58eabcfc19 Bug 1146316 - Remove nsWrapperCache::SetIsNotDOMBinding and IsDOMBinding(). r=bz.
--HG--
extra : rebase_source : e79d52f75c4e73ba65fa88d8b21111e0cbf29634
2018-04-05 17:22:41 +02:00
Peter Van der Beken f2ba86d2a9 Bug 1146316 - Preserve the wrapper of sandboxes, so that we never try to call WrapObject on them. r=bz.
--HG--
extra : rebase_source : a520fe62e7831c4a73f0ee4365c55f93965e14b6
2018-04-11 11:52:13 +02:00
Kris Maglione 219ed0cc06 Bug 1454813: Part 2b - Rename SpawnTask.js to AddTask.js. r=florian
The old name no longer makes sense, since it no longer exports an spawn_task
symbol, and add_task is what we really care about.

MozReview-Commit-ID: IE7B8Czv8DH

--HG--
rename : testing/mochitest/tests/SimpleTest/SpawnTask.js => testing/mochitest/tests/SimpleTest/AddTask.js
extra : rebase_source : 03bca5aa69a7625a49b4455a6c96ce4c59de3a5a
2018-04-18 11:43:45 -07:00
Nika Layzell e5f31c03d8 Bug 1444991 - Part 4: Handle DOM Objects in XPConnect, r=mccr8
This patch goes through the XPConnect conversion methods, and adds cases for
T_DOMOBJECT which call the Wrap, Unwrap, and Cleanup methods from the
nsXPTDOMObjectInfo objects created in the last part.

For consistency with normal interface pointers, and because it wasn't too
complex, I also added support for including T_DOMOBJECTs in XPCOM arrays.
2018-04-17 19:21:03 -04:00
Nika Layzell 14da321a67 Bug 1444745 - Part 5: Update consumers of nsIInterfaceInfo to use the nsXPTInterfaceInfo directly, r=mccr8
Due to the decision to keep the old API on nsXPTInterfaceInfo in part 4, this is
a fairly straightforward patch.

1. I had to change a couple of consumers of `IsRetval()` due to the movement of
that flag.
2. I changed all code which held a nsIInterfaceInfo to hold an `const
nsXPTInterfaceInfo*` instead.
3. I changed code which used the nsIInterfaceInfoManager to instead call the
static methods on nsXPTInterfaceInfo.
2018-04-17 19:20:56 -04:00
Nika Layzell f5f86c989e Bug 1444745 - Part 1: Clear out xptinfo and typelib to make way for the this patch, r=mccr8
Unfortunately, I wasn't able to figure out a way to make firefox build & run in
the intermediate stages of these commits. Because of this, I am going to just
delete most of the code which I am deleting in the first patch, as I figure that
those are somewhat uninteresting changes, and then make the other changes in the
following patches.

In total, the following things are deleted:
1. All of xpcom/typelib, except for `xpt/tools` - this directory is being
subsumed entirely into xpcom/reflect/xptinfo.
2. Most of the code in xpcom/reflect/xptinfo, it is being rewritten to avoid
allocating and contain all of the necessary data structures.
3. idl-parser's typelib.py XPT generator, as it will be replaced.
4. Most includes of files which have been deleted.

NOTE: xpcom/typelib/xpt/tools/xpt.py was not removed, as it is used by bundling
code & bundling tests, which we don't want to remove yet.
2018-04-17 19:20:50 -04:00
Benjamin Bouvier 2d70c0b1e0 Bug 1445272: Add a pref to enable wasm gc in the browser/shell; r=luke
And a builtin function to test if wasm gc is enabled or not, to make testing
easier.

--HG--
extra : rebase_source : 0e608756d0c5f0231ba31af482c5e343a7119465
2018-03-21 14:32:47 +01:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Jan de Mooij 0ea16094d3 Bug 1452982 part 6 - Remove ZoneGroup. r=jonco 2018-04-13 08:45:13 +02:00
Henrik Skupin 3846d5fb06 Bug 1453647 - [xpcshell] Enforce utf-8 for evaluating injected script via -e argument. r=bz
MozReview-Commit-ID: 2sLmBHqbFSx

--HG--
extra : rebase_source : 50949fadd321a1fc4f6591bd55cb8002587b3959
2018-04-12 15:49:19 +02:00
Margareta Eliza Balazs 1c0306e497 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-12 12:45:41 +03:00
Karl Tomlinson 3481a11d87 bug 1328964 add CycleCollectedJSContext::IsSystemCaller() to make ThreadsafeIsSystemCaller() safe for worklets r=baku
MozReview-Commit-ID: Cg4OBbm5CwA

--HG--
extra : rebase_source : 9a113cf0f945bd48207e81f9fa08bcba1f35303c
2018-04-06 18:53:25 +12:00
Boris Zbarsky a730b3a9ad Bug 1453053 part 1. Remove useless QIs to nsIDOMNode. r=qdot
MozReview-Commit-ID: GokPD2buxzN
2018-04-12 00:06:25 -04:00
Boris Zbarsky ed3406b369 Bug 1452786 part 2. Stop using a generated chromeonly isInstance method. r=qdot
This changes semantics in all sorts of ways (e.g. now we get the right proto
from our |this| value instead of it being baked into the function).  But if all
our chrome callers are well-behaved this should be ok.

We _could_ bake the proto id and depth into the function itself by using
js::NewFunctionWithReserved if it were not for Xrays.  Those already need the
reserved slots on functions we Xray.

MozReview-Commit-ID: 1bYrKWWIc1P
2018-04-12 00:06:07 -04:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Nika Layzell 0c3ba13e4c Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj 2018-04-10 17:49:47 -04:00
Karl Tomlinson 2405fe930c bug 1328964 use nsContentUtils::GetCurrentJSContext() on all threads r=smaug
nsContentUtils::GetCurrentJSContextForThread() originally needed to use
workers::GetCurrentThreadJSContext() in
https://hg.mozilla.org/mozilla-central/rev/366a45b41539#l2.18
because CycleCollectedJS*()->Context() did not exist until
https://hg.mozilla.org/mozilla-central/rev/1a0cd542e1e9#l7.12

nsContentUtils::GetCurrentJSContext() is thread-safe since these changes:
https://hg.mozilla.org/mozilla-central/rev/e636c7186286#l3.12
https://hg.mozilla.org/mozilla-central/rev/c8029c072776#l2.12

MozReview-Commit-ID: 2f1eGS9uBBO

--HG--
extra : rebase_source : dad1d2084a63413c3975f9e7c66c6b06857c9f23
2018-04-09 12:11:18 +12:00
Andreea Pavel 26f640b36b Backed out 4 changesets (bug 1366808) for Windows GPU leakchecks on a CLOSED TREE
Backed out changeset 23f60e5acaa2 (bug 1366808)
Backed out changeset bf2262b6aca8 (bug 1366808)
Backed out changeset 1fc82af3a155 (bug 1366808)
Backed out changeset 0649f0d9884b (bug 1366808)
2018-04-10 05:11:36 +03:00
Stephen A Pohl b40a23754c Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-04-09 20:16:31 -04:00
Boris Zbarsky 5171e626a4 Bug 1452235 part 3. Stop using nsIDOMSerializer from JS. r=qdot
MozReview-Commit-ID: JbWGcfbmM4b
2018-04-09 16:30:32 -04:00
Brindusan Cristian 9adcf6af5a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-07 13:00:30 +03:00
Boris Zbarsky 9b3d37b936 Bug 1452010 part 1. Remove uses of nsIDOMDOMException. r=qdot
MozReview-Commit-ID: K5zUjh25WJG
2018-04-06 23:27:56 -04:00
Adrian Wielgosik 2837c659de Bug 1170771 - Remove now-empty nsDOMClassInfo. r=bz
MozReview-Commit-ID: 7XsiPD1kTt9

--HG--
extra : rebase_source : 2935c0fe1a51083f37e113c3e0599760f40829e2
2018-04-05 14:20:44 +02:00
Adrian Wielgosik 2bd02cd742 Bug 1170771 - Remove ThisTranslator and support code. r=bz
MozReview-Commit-ID: Fv0F4RLCnkL

--HG--
extra : rebase_source : 24c3746ebde37b2bf4ab383cee781dd3bceb93b2
2018-04-05 12:49:24 +02:00
Tom Schuster 2ec273bf6e Bug 1450574 - Remove DeprecatedLanguageExtension telemetry code. r=jandem
--HG--
extra : rebase_source : a5651c0aebdc0f6cc1128e11645b90069e7c6b92
extra : histedit_source : 4e2ec3872ef64a0d43b9379666ea274c008110f9
2018-04-04 20:41:07 +02:00
Bobby Holley 7068793c78 Bug 1437998 - Remove SimpleGestureEvent and OfflineResourceList from kInterfaceShims. r=bz
MozReview-Commit-ID: HRQ2rux6tcT
2018-04-04 14:57:04 -07:00
Honza Bambas 31c173ca8a Bug 1443892 - Add -MOZ_LOG and -MOZ_LOG_FILE command line arguments. r=erahm, r=nfroyd 2018-04-03 11:32:00 -04:00
Andrew McCreight e80864c94c Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium
Now that XPT files are not loaded from files at runtime, code for
packaging XPT files can be removed.

This means that a couple of test XPIDL interfaces will get shipped in
builds to users that weren't before, but I don't think that matters
much.

This also puts XPT files into the local objdir for the XPIDL makefile,
instead of dist/bin, because they are no longer part of the
distribution.

MozReview-Commit-ID: 7gWj8KWUun3

--HG--
extra : rebase_source : 65bac47c2cd1a20b3c675a01b44a25a1d2d3ab7a
2018-03-05 14:27:29 -08:00
Dorel Luca f24505d99e Backed out 7 changesets (bug 1438688) for android xpcshell failures on builds/worker/workspace/build/tests/bin/components/test_necko.xpt
Backed out changeset 8786eabb61a4 (bug 1438688)
Backed out changeset e05ec1e08b46 (bug 1438688)
Backed out changeset 4c437ba9d984 (bug 1438688)
Backed out changeset 2f243bca1af3 (bug 1438688)
Backed out changeset 4da0e1839353 (bug 1438688)
Backed out changeset 186f916dcc7a (bug 1438688)
Backed out changeset 08b1a5f904e4 (bug 1438688)
2018-04-03 02:30:53 +03:00
Andrew McCreight fc09560f06 Bug 1438688, part 3 - Remove XPT files from the packaging process. r=glandium
Now that XPT files are not loaded from files at runtime, code for
packaging XPT files can be removed.

This means that a couple of test XPIDL interfaces will get shipped in
builds to users that weren't before, but I don't think that matters
much.

This also puts XPT files into the local objdir for the XPIDL makefile,
instead of dist/bin, because they are no longer part of the
distribution.

MozReview-Commit-ID: 7gWj8KWUun3

--HG--
extra : rebase_source : 6f7d4fd1d6cdea2c14866705a2dc972eb5f43382
2018-03-05 14:27:29 -08:00
Felipe Gomes 7d1da2c7e5 Bug 1429178 - Policy: Implement website blocklist/allowlist. r=mixedpuppy
MozReview-Commit-ID: EAX0VwxlggK

--HG--
extra : rebase_source : d795b96a0318e7b2bb21bf24c15413111628aa73
2018-03-28 09:29:17 -05:00
Tom Schuster 72acf485fb Bug 1255800 - Make computeThis return a boolean for easier error handling. r=jorendorff
--HG--
extra : rebase_source : 1b4d227aba2fd0e1a458849addb634df9d72111c
extra : histedit_source : 29e8c520ae4d3644131b05794a447a0e7a32796f
2018-03-23 13:09:04 +01:00
Boris Zbarsky 6c499a3613 Bug 1448414. Remove the DOM_OBJECT classinfo bit. r=kmag 2018-03-28 22:46:23 -04:00
Boris Zbarsky 448fab1f17 Bug 1389581 part 2. Remove the now-unused getComponentsForScope API. r=kmag 2018-03-28 22:46:23 -04:00
Boris Zbarsky 50af44ded2 Bug 1389581 part 1. Remove the DOM_OBJECT flag from various Components classinfo. r=kmag
Components and friends should not be exposed to content anyway.

MozReview-Commit-ID: 4kCeBcIf9nt
2018-03-28 22:46:22 -04:00
Coroiu Cristina 94b06cd525 Backed out changeset 4d4d373e1619 (bug 1389581) mochitest failures Permission denied to create wrapper for object of class XPCComponents_Interfaces on a CLOSED TREE 2018-03-29 12:21:52 +03:00
Coroiu Cristina 4fbfa44b5b Backed out changeset 9349d1b031c9 (bug 1389581) for mochitest failures Permission denied to create wrapper for object of class XPCComponents_Interfaces on a CLOSED TREE 2018-03-29 12:21:28 +03:00
Coroiu Cristina 29fa060fbe Backed out changeset 9e41e9c653f2 (bug 1448414) for mochitest failures Permission denied to create wrapper for object of class XPCComponents_Interfaces on a CLOSED TREE 2018-03-29 12:21:00 +03:00
Boris Zbarsky 05346e7ec6 Bug 1448414. Remove the DOM_OBJECT classinfo bit. r=kmag 2018-03-28 22:46:23 -04:00
Boris Zbarsky c14bfdc5d9 Bug 1389581 part 2. Remove the now-unused getComponentsForScope API. r=kmag 2018-03-28 22:46:23 -04:00
Boris Zbarsky 78682d0160 Bug 1389581 part 1. Remove the DOM_OBJECT flag from various Components classinfo. r=kmag
Components and friends should not be exposed to content anyway.

MozReview-Commit-ID: 4kCeBcIf9nt
2018-03-28 22:46:22 -04:00
Gurzau Raul 8d268c6ce7 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : toolkit/components/extensions/ext-permissions.js => toolkit/components/extensions/parent/ext-permissions.js
2018-03-29 01:00:42 +03:00
Tom Ritter 449237fc51 Bug 1378552 - Reduce the liklihood of inadvertently misusing NullPrincipal::Create(). r=ckerschb
NullPrincipal::Create() (will null OA) may cause an OriginAttributes bypass.
We change Create() so OriginAttributes is no longer optional, and rename
Create() with no arguments to make it more explicit about what the caller is doing.

MozReview-Commit-ID: 7DQGlgh1tgJ
2018-03-22 13:36:20 -05:00
Cosmin Sabou 6e054fe297 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-28 12:52:57 +03:00
Jan Henning 8404f212bd Bug 1449254 - Use vsnprintf for formatting DebugDump() output on Windows, too. r=mrbkap
Since VS2015, vsnprintf is supposed to be C99-compliant on Windows, too and will
especially always null-terminate the string written into the given buffer.

In addition, the build define we were using was misspelled and therefore not
working anyway, so might we as well remove it now.

MozReview-Commit-ID: 44ERI6TUz1B

--HG--
extra : rebase_source : cdbcf6e20033fd94fb96319c7dc35f4aabce5b3f
2018-03-27 19:26:04 +02:00
Jan Henning 380d398020 Bug 1448693 - Make DumpJSStack() output appear somewhere visible on Android. r=mrbkap
... by additionally writing it to the logcat.

MozReview-Commit-ID: CvaUOhlNFQ1

--HG--
extra : rebase_source : aae760f7730b148fba12d3a97777568a47adc707
2018-03-25 19:37:58 +02:00
Xidorn Quan 1962625a79 Bug 1448728 part 1 - Make popular headers not include nsWindowSizes.h. r=njn
MozReview-Commit-ID: EC5J9Im3gfu

--HG--
extra : source : 9fa9209aeeb00009143c5c21f21210c93184e61f
2018-03-28 10:44:49 +11:00
Tom Schuster 2bf6212869 Bug 1255800 - Remove JS_THIS_OBJECT from dom/xpconnect. r=bz
--HG--
extra : rebase_source : dcaa891010e25e10079db853fe4eb1a7fe261e47
2018-03-07 14:35:22 +01:00
Kris Maglione e53427c4b4 Bug 1448047: Shut down BGReadURLs thread when returning early. r=froydnj
Currently, we only shut down the BGReadURLs code when we reach the end of the
task. If we return early because a cache file doesn't exist, though, the
thread never gets shut down. In general, this should only affect sessions
immediately after a cache flush, but it's still not ideal.

MozReview-Commit-ID: 1R9Q9JiBpmY

--HG--
extra : rebase_source : d774b73b06f049e8e6294aa11b1c0390257d1fbe
2018-03-24 12:25:42 -07:00
Boris Zbarsky 455111a348 Bug 1389585. Stop giving XPCJSID DOM_OBJECT classinfo. r=kmag
These are not supposed to be exposed to content.

MozReview-Commit-ID: 3odHUn4ZlG
2018-03-22 17:08:44 -04:00
Boris Zbarsky 5a233d72e4 Bug 1448736 part 2. Remove the now-unused forcePrivilegedComponentsForScope API. r=kmag 2018-03-26 13:35:05 -04:00
Boris Zbarsky cf5fdfc809 Bug 1448735. Stop exposing Components in expanded principal sandboxes. r=kmag
I don't see an obvious way to keep the test coverage for same-compartment security wrappers there...
2018-03-26 13:35:05 -04:00
Boris Zbarsky 8ebd656d81 Bug 1448734. Stop exposing Components in content XBL scopes. r=kmag 2018-03-26 13:35:05 -04:00
Boris Zbarsky 1151dd21cc Bug 1448398. Stop returning unwrapped Components.interfaces from SpecialPowers.Ci. r=kmag 2018-03-26 13:35:04 -04:00
Boris Zbarsky de9297b4bf Bug 1448048. Restrict the window.Components shim to non-nightly-only to see whether sites actually use it. r=mccr8
MozReview-Commit-ID: 6W1nEyKGlER
2018-03-23 12:53:48 -04:00
Emilio Cobos Álvarez 800551a615 Bug 1448415: Hide getPropertyCSSValue on nightly. r=bz
MozReview-Commit-ID: ItqKUMZEpoX
2018-03-24 01:00:43 +01:00
Gurzau Raul f2571e02d0 Backed out changeset 94a8e9c4c345 (bug 1448048) for Robocop failures on Android on a CLOSED TREE 2018-03-23 23:29:02 +02:00
Boris Zbarsky 0327e321d5 Bug 1448048. Restrict the window.Components shim to non-nightly-only to see whether sites actually use it. r=mccr8
MozReview-Commit-ID: 6W1nEyKGlER
2018-03-23 12:53:48 -04:00
Boris Zbarsky 631e1b2354 Bug 1442360 part 3. Remove nsScriptNamespaceManager, since now it's all dead code. r=peterv
MozReview-Commit-ID: DHRz2frjmT5
2018-03-21 23:18:51 -04:00
Peter Van der Beken ef631ce856 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 1: Add infrastructure to expose 'system' names on a WebIDL global. r=bz.
--HG--
extra : rebase_source : 70d3a641c60968e013f048e6be91f07641e7b81b
2017-07-19 15:04:14 +02:00
shindli 55e9f63bac Merge inbound to mozilla-central. a=merge 2018-03-20 12:11:27 +02:00
Ted Mielczarek 4b813d4c4a bug 1255485 - Remove NSDISTMODE=copy from Makefiles. r=nalexander
MozReview-Commit-ID: GJV2O6zvEx2
2017-11-22 15:30:06 -05:00
Tooru Fujisawa 1adba8c1fc Bug 1442465 - Part 4.2: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (simple part). r=dao 2018-03-19 11:16:45 +09:00
Emilio Cobos Álvarez d5f66d9925 Bug 1446668: Remove setUserData crashtests. r=smaug
Reviewers: smaug

Bug #: 1446668

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

MozReview-Commit-ID: wyAvCCWbrS
2018-03-18 01:53:13 +01:00
Emilio Cobos Álvarez bf8ff28130 Bug 1446668: Remove more dead code after bug 749981. r=smaug
Reviewers: smaug

Bug #: 1446668

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

MozReview-Commit-ID: CWv0odRUxgK
2018-03-18 01:53:13 +01:00
Margareta Eliza Balazs d13266d3da Merge inbound to mozilla-central. a=merge 2018-03-17 23:52:08 +02:00
Emilio Cobos Álvarez 68cc4d2846 Bug 749981: Remove Node.getUserData / setUserData. r=smaug
Summary: MozReview-Commit-ID: JkUCvVZ4V2Y

Reviewers: smaug

Bug #: 749981

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

MozReview-Commit-ID: KadWzpMjdW
2018-03-17 19:33:07 +01:00
Bogdan Tara 7eb4cdd58d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-17 12:34:09 +02:00
Adrian Wielgosik 87a72d3f51 Bug 1446515 - Remove nsIDOMFileList. r=bz
MozReview-Commit-ID: 4ab1e6NTcOB

--HG--
extra : rebase_source : 09388e531e2bcc6a133cc1ec76946a79ddf2bcb0
2018-03-16 20:55:32 +01:00
Gurzau Raul 3057041352 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-16 19:58:27 +02:00