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

7076 Коммитов

Автор SHA1 Сообщение Дата
Jan de Mooij ebf079a50a Bug 1515590 part 1 - Fix incorrect SandboxProxyHandler::getOwnPropertyDescriptor implementation. r=bzbarsky
The code was trying to implement the getOwnPropertyDescriptor trap in terms of
getPropertyDescriptor, by comparing the "holder" object we found to the object
we did the lookup on. This becomes buggy when wrappers like WindowProxy are involved.

The patch removes this check and calls JS_GetOwnPropertyDescriptor instead of
JS_GetPropertyDescriptor.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 20:41:58 +00:00
Margareta Eliza Balazs f43dfc843e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-12-21 11:42:32 +02:00
Luke Wagner dc93733616 Bug 1507939 - Baldr: add javascript.options.wasm_verbose (r=lth)
--HG--
extra : rebase_source : 7405ee0bcc6a12fe8bbe797919a6e76d01d3c172
2018-12-20 20:51:11 -06:00
Jan de Mooij bd8f77645e Bug 1480121 - Remove the global stored in nsXPCWrappedJS. r=bzbarsky
Reasons for doing this:

* nsXPCWrappedJS has complicated GC behavior and we're seeing some oranges in this area.

* Due to the GC/CC complexity, the global stored in nsXPCWrappedJS *must be* the
  object's global in the root-wrapper (implies non-CCW) case. If we do that, the
  global is redundant because we can just get it from the object when we need it.

* For the CCW case, it probably doesn't matter too much which chrome global we
  use so we can use the compartment's first global - we now have an API for that.
  This may also save some memory because it avoids keeping globals alive unnecessarily
  and matches what we do for WrappedNatives and CCWs now. Furthermore, bug 1478359
  comment 12 suggests CCWs can only show up here for in-content XBL and that's in the
  process of being removed.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 19:13:43 +00:00
Jan de Mooij 2104ae00bb Bug 1514672 part 1 - Move XPCWrappedNativeScope from RealmPrivate to CompartmentPrivate. r=bzbarsky
This needs to be on the compartment to prevent creating duplicate wrapped natives.
We now also allocate these objects in the compartment's first global for
consistency and to prevent leaks.

XPCWrappedNativeScope also stores the content XBL scope. I considered moving
this to RealmPrivate, but given the fate of in-content XBL I went with the
simpler option of keeping it on XPCWrappedNativeScope and release-asserting we
have a single realm in the XBL case.

Because XPCWrappedNativeScope no longer stores a global object, we no longer
need XPCWrappedNativeScope::TraceSelf, XPCWrappedNativeProto::TraceInside and
XPC_WN_Proto_Trace.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 08:23:31 +00:00
Razvan Maries f658ebcbab Merge mozilla-inbound to mozilla-central a=merge 2018-12-20 07:04:06 +02:00
Jeff Walden ed23151bd7 Bug 1492937 - Make the JS subscript loader load scripts exclusively as UTF-8, with no way to specify any other encoding, and adjust a bunch of existing tests to use UTF-8 directly, rather than Unicode escape sequences or similar. (This also changes the encoding of .sjs scripts and all mochitest-browser tests in the tree from Latin-1 to UTF-8.) r=yzen, r=MattN, r=jimb, r=kmag 2018-12-19 13:46:20 -08:00
Andrew McCreight 0507792161 Bug 1471989 - Clear JSStackFrame's JS object pointer when the window goes away. r=bzbarsky
JSStackFrames are C++ objects that are exposed to chrome JS and keep
alive content JS. This means that if chrome JS leaks a stack frame
then a window can be leaked.

The basic idea of this patch is to think of JSStackFrames as
cross-compartment wrappers, and do a "hueyfix" on them by dropping the
content JS reference when the associated content window is closed.

To do that, this patch modifies the realm private to keep a list of
all live JSStackFrames that have been created with objects in that
realm. When we nuke that realm, we also clear out all of the JS
pointers from the registered stack frames on that realm.

This adds a hash table lookup to the JSStackFrame ctor and dtor, which
is hopefully not too much overhead.

The test works by intentionally leaking a JSStackFrame from chrome JS
and making sure that the window still goes away.

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

--HG--
extra : moz-landing-system : lando
2018-12-19 19:42:04 +00:00
Andreea Pavel f9260c6914 Backed out changeset b1fe3750580d (bug 1471989) for build bustages on a CLOSED TREE 2018-12-19 20:48:10 +02:00
Andrew McCreight 09534362bf Bug 1471989 - Clear JSStackFrame's JS object pointer when the window goes away. r=bzbarsky
JSStackFrames are C++ objects that are exposed to chrome JS and keep
alive content JS. This means that if chrome JS leaks a stack frame
then a window can be leaked.

The basic idea of this patch is to think of JSStackFrames as
cross-compartment wrappers, and do a "hueyfix" on them by dropping the
content JS reference when the associated content window is closed.

To do that, this patch modifies the realm private to keep a list of
all live JSStackFrames that have been created with objects in that
realm. When we nuke that realm, we also clear out all of the JS
pointers from the registered stack frames on that realm.

This adds a hash table lookup to the JSStackFrame ctor and dtor, which
is hopefully not too much overhead.

The test works by intentionally leaking a JSStackFrame from chrome JS
and making sure that the window still goes away.

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

--HG--
extra : moz-landing-system : lando
2018-12-19 16:46:25 +00:00
Bogdan Tara b13992b643 Backed out changeset 82ca028b0524 (bug 1503984) for StaticPrefList failures CLOSED TREE 2018-12-18 22:06:19 +02:00
Felipe Gomes 72585dea54 Bug 1503984 - Add a pref to block chrome code from accessing content subframes. r=nika
The pref dom.chrome_frame_access.enabled will default to true. When false, it will block various methods that chrome code can use to traverse subframes. The initial list is:
  iframe.contentWindow
  iframe.contentDocument
  window.top
  window.parent
  window.opener
  window.frames[i]
  window.frames.length
  MessageEvent.source

More blocks are likely to be added in the future.

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

--HG--
extra : moz-landing-system : lando
2018-12-18 18:53:24 +00:00
Jan de Mooij 618fd67694 Bug 1512655 part 3 - Fix assertion in Cu.permitCPOWsInScope and ensure test globals that use it are in a separate compartment. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14780

--HG--
extra : moz-landing-system : lando
2018-12-18 18:42:56 +00:00
Jan de Mooij 7fa54ccf51 Bug 1512655 part 2 - Assert Cu.setWantXrays is never called on system-principal scopes. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14695

--HG--
extra : moz-landing-system : lando
2018-12-18 18:42:28 +00:00
Jan de Mooij 84fe725407 Bug 1512655 part 1 - Move forcePermissiveCOWs from CompartmentPrivate to RealmPrivate. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14694

--HG--
extra : moz-landing-system : lando
2018-12-18 18:39:04 +00:00
shindli 3841c4f8cd Backed out 3 changesets (bug 1512655) for bustages in s/xpconnect/src/XPCComponents.cpp:2001 CLOSED TREE
Backed out changeset 2593c7d67f51 (bug 1512655)
Backed out changeset da21d7e91e19 (bug 1512655)
Backed out changeset ccb15a086148 (bug 1512655)
2018-12-18 14:55:53 +02:00
Jan de Mooij 76238bc575 Bug 1512655 part 3 - Fix assertion in Cu.permitCPOWsInScope and ensure test globals that use it are in a separate compartment. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14780

--HG--
extra : moz-landing-system : lando
2018-12-18 00:31:08 +00:00
Jan de Mooij a2a91d4831 Bug 1512655 part 2 - Assert Cu.setWantXrays is never called on system-principal scopes. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14695

--HG--
extra : moz-landing-system : lando
2018-12-17 20:38:59 +00:00
Jan de Mooij 111454f4a4 Bug 1512655 part 1 - Move forcePermissiveCOWs from CompartmentPrivate to RealmPrivate. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14694

--HG--
extra : moz-landing-system : lando
2018-12-17 20:38:11 +00:00
Kris Maglione 3e8d266e8a Bug 1513366: Part 1 - Add do_ImportModule helper for importing JS modules. r=mccr8
This helper makes it considerably easier for C++ code to import a JS module
and wrap it in an appropriately-defined XPIDL interface for its exports.
Typical usage is something like:

Foo.jsm:

  var EXPORTED_SYMBOLS = ["foo"];

  function foo(bar) {
    return bar.toString();
  }

mozIFoo.idl:

  interface mozIFoo : nsISupports {
    AString foo(double meh);
  }

Thing.cpp:

  nsCOMPtr<mozIFoo> foo = do_ImportModule(
    "resource://meh/Foo.jsm");

  MOZ_TRY(foo->Foo(42));

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

--HG--
extra : rebase_source : 4d518205b173fc210908235b42ddace590e6b7e5
2018-12-11 13:28:20 -08:00
Jan de Mooij a87026ec12 Bug 1512029 part 2 - Some CompartmentPrivate changes for same-compartment realms. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D14253

--HG--
extra : moz-landing-system : lando
2018-12-16 14:59:50 +00:00
Jan de Mooij cccc414b7a Bug 1512029 part 1 - Stop calling JS_GetCompartmentPrincipals for system compartments. r=bzbarsky
Because it release-asserts the compartment has a single realm.

I also renamed JS_GetCompartmentPrincipals to JS_DeprecatedGetCompartmentPrincipals
to discourage people from using it.

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

--HG--
extra : moz-landing-system : lando
2018-12-16 14:59:46 +00:00
Boris Zbarsky 771d1e342c Bug 1514261. Skip messing around with compartments in FunctionForwarder if the forwarder is already same-compartment with the underlying callee. r=bholley 2018-12-16 00:13:53 -05:00
Steve Fink 10953d54c2 Bug 1513108 - Remove the separate class extension hook for getting a weakmap key delegate, r=jonco
Replace with just unwrapping the key, since there are no users that return anything else for a delegate.

--HG--
extra : rebase_source : e72b825121ca3493364c9347f65e5dddd1ef53e0
2018-12-07 14:38:01 -08:00
Yoshi Cheng-Hao Huang ad67f7c11b Bug 1475896 - Add telemetry for GC marking rate. r=jonco, data-review=chutten 2018-12-14 17:10:10 +01:00
Jon Coppeard 6f81506124 Bug 1463462 - Make gray marking assertions call a JSAPI function r=sfink 2018-12-06 16:28:10 -05:00
Cameron Kaiser 93af8a88e6 Bug 1512162: Followup: narrow non-stack-protected window for XPConnect on ppc64le. r=bhollley 2018-12-13 09:14:53 -08:00
André Bargull 03b1b37a9f Bug 1435829 - Part 5: Update xray tests for RegExp.prototype. r=peterv 2018-12-13 08:18:45 -08:00
Cameron Kaiser fd32b3a6fa Bug 1512162: Disable stack protection for a portion of XPConnect on ppc64le due to a compiler bug. r=bholley 2018-12-12 18:52:08 -08:00
Jan de Mooij eee34e39b3 Bug 1513277 part 2 - Use the scripted caller's global in mozJSComponentLoader::FindTargetObject. r=kmag
We have a few places where C++ calls ChromeUtils::Import directly.
I fixed these to pass the target object directly instead of an empty Optional<>.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 21:30:04 +00:00
Jan de Mooij 0326f72625 Bug 1513277 part 1 - Use the scripted caller's global in Cu.importGlobalProperties. r=kmag
With same-compartment-realms enabled we can call a cross-realm Cu.importGlobalProperties
and we ended up defining properties on the wrong global.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 21:03:18 +00:00
Jan de Mooij ad8a2a6f1e Bug 1512396 - Stop using exclusive expandos for xrays in system-principal sandboxes. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D14250

--HG--
extra : moz-landing-system : lando
2018-12-12 20:16:56 +00:00
Jan de Mooij b8a316aca4 Bug 1512260 - Make wrapper nuking work with a target realm instead of target compartment. r=kmag
For *incoming* wrappers this preserves behavior. We nuke *outgoing* wrappers
when all realms in the compartment have been nuked. To implement this I moved
the wasNuked flag from XPConnect to JS::Compartment as nukedOutgoingWrappers and
to JS::Realm as nukedIncomingWrappers.

The code to create a dead wrapper in the nuked compartment/realm case was also
moved into the JS engine. I added a shell test for it.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 08:02:30 +00:00
Ciure Andrei 12adcc1edd Backed out changeset a8dd01db9f92 (bug 1512260) requsted by owner (missing test) CLOSED TREE 2018-12-12 09:14:53 +02:00
Jan de Mooij 89da963b10 Bug 1512260 - Make wrapper nuking work with a target realm instead of target compartment. r=kmag
For *incoming* wrappers this preserves behavior. We nuke *outgoing* wrappers
when all realms in the compartment have been nuked. To implement this I moved
the wasNuked flag from XPConnect to JS::Compartment as nukedOutgoingWrappers and
to JS::Realm as nukedIncomingWrappers.

The code to create a dead wrapper in the nuked compartment/realm case was also
moved into the JS engine. I added a shell test for it.

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

--HG--
extra : moz-landing-system : lando
2018-12-12 06:39:38 +00:00
Jeff Walden da31bae9c2 Bug 1492937 - Make mozIJSSubScriptLoader.loadSubScriptWithOptions interpret script data only as UTF-8, without any way to use another charset. r=kmag
--HG--
extra : rebase_source : ffcc1599cf68c007f875c99f20660961a447e966
2018-12-08 18:14:27 -05:00
Jeff Walden e5132ffa4b Bug 1492932 - Load JS components and modules as UTF-8, not as Latin-1. r=kmag
--HG--
extra : rebase_source : d09627655e9c72e674356e996f936ec65a80b6f0
2018-12-04 17:01:06 -05:00
Jan de Mooij b9ac626c2a Bug 1512718 - Do a realm check instead of compartment check in mozJSSubScriptLoader::DoLoadSubScriptWithOptions. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D13996

--HG--
extra : moz-landing-system : lando
2018-12-08 16:35:06 +00:00
Rob Wu 7d113fddff Bug 1504660 - Implement Xrays for instanceof r=bholley
Ensure that "a instanceof b" has Xray semantics, i.e. that when b is a
XrayWrapper, that the wrapped object's getters, `Symbol.hasInstance`
hook and proxy traps are not triggered.

The toolkit/components/mozintl/test/test_mozintlhelper.js test was
updated to explicitly waive Xrays, instead of relying on the previous
behavior where Xrays were automatically waived.

Depends on D11591

Depends on D11591

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

--HG--
extra : moz-landing-system : lando
2018-12-02 22:21:51 +00:00
Tooru Fujisawa 7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Coroiu Cristina b8bc09a5b5 Merge mozilla-central to inbound a=merge on a CLOSED TREE
--HG--
rename : python/mozrelease/test/data/Firefox-62.0b11.update.json => python/mozrelease/test/data/Firefox-64.0b13.update.json
extra : rebase_source : 6eb078869182f40343e201993c0d0442ed96ad46
2018-11-29 00:34:07 +02:00
Ehsan Akhgari ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Ehsan Akhgari 0ad55ab74f Bug 1510513 - Retain the formatting of MOZ_DEFINE_ENUM_* macros r=sylvestre
These macros tend to be handled quite poorly since the clang-format
tokenizer cannot figure out how to handle them.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:14:19 +00:00
Jeff Walden 3093d025b8 Bug 1510012 - Move Symbol-related APIs out of jsapi.h into js/public/Symbol.h. r=sfink, r=mccr8 for the bindings change
--HG--
extra : rebase_source : 3a8d2d694052435fbc47b9131a521e31e9b0ea6f
2018-11-24 12:21:40 -08:00
Jeff Walden af9a670e28 Bug 1510007 - Move JSFreeOp's definition to js/public/MemoryFunctions.h, and make jsapi.h not #include that header. r=sfink
--HG--
extra : rebase_source : 4d6debefd66b89647df53c104b8560ba2de68abd
2018-11-21 18:11:15 -08:00
Jon Coppeard 80b612aeb7 Bug 1508102 - Take account of XPCWrappedJS::mJSObjGlobal in cycle collector methods r=mccr8 a=abillings 2018-11-28 17:29:19 +00:00
Gabriele Svelto 566f669d07 Bug 1509450 - Remove unnecessary inclusions of ContentParent.h and ContentChild.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D12728

--HG--
extra : moz-landing-system : lando
2018-11-26 14:49:44 +00:00
Tooru Fujisawa 3393c83db7 Bug 1505511 - Part 3: Support WeakMap and WeakSet in Xray. r=bholley 2018-11-20 20:21:32 +09:00
Boris Zbarsky 64ae41821b Bug 1507540 part 6. Make nsIVariant's "type" a notxpcom attribute. r=froydnj 2018-11-19 20:20:05 -05:00
Timothy Guan-tin Chien a56c6e8e81 Bug 1508147 - Re-remove unused CompartmentPrivate::isAddonCompartment, r=bholley
It was removed in bug 1478275, but re-introduced because of a false rebase in bug 1431255.

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

--HG--
extra : moz-landing-system : lando
2018-11-19 18:46:57 +00:00
Nika Layzell 589d2a7b6f Bug 1477432 - Part 10: Stop using nsIJSID in nsIArray for optional IID parameters, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D9732
2018-11-16 17:27:46 -05:00
Nika Layzell 11b083d72c Bug 1477432 - Part 9: Switch to using plain JS objects for nsIJS[IC]ID, r=mccr8
This is a complete rewrite of the interface while maintaining the same APIs.
Each ID is fully-contained within a single object, does not require a finalizer,
and is cheap to create.

Beyond using reserved slots, this code avoids using custom ClassOps, instead
preferring Symbol.hasInstance and eager constants.

One major change which occurred in this patch was the move from storing a nsCID
to storing the ContractID for JSCID objects. This eliminates the need for the
'refreshCID' method, and hopefully shouldn't have performance implications.

If we discover that there are performance problems there, we can look into
stashing the CID, and re-introduce 'refreshCID', despite its surprising
behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D2286
2018-11-16 17:27:44 -05:00
Nika Layzell d2f648498e Bug 1477432 - Part 8: Remove test-only Components.classesById and Components.interfacesById, r=mccr8
These two interfaces are effectively never used, so to avoid needing to support
ClassID2JSValue with the new implementation, I remove them entirely.

Differential Revision: https://phabricator.services.mozilla.com/D2285
2018-11-16 17:27:42 -05:00
Nika Layzell 738dd3f1a9 Bug 1477432 - Part 7: Stop using nsIJSID in xpconnect outside of XPCJSID.cpp, r=mccr8
This mostly consists of changes to the XPCComponents objects to avoid using the
implementation details, and instead use the API defined in part 1.

Differential Revision: https://phabricator.services.mozilla.com/D2284
2018-11-16 17:27:41 -05:00
Nika Layzell 7954235168 Bug 1477432 - Part 5: Add a refreshCID method to JSCID objects, r=mccr8
This lets us get rid of the method 'initalize', which currently needs the
internal representation of JSCID.

This particular method is removed entirely in Part 9, and only exists to keep
intermediate states building & running.

Differential Revision: https://phabricator.services.mozilla.com/D2282
2018-11-16 17:27:37 -05:00
Nika Layzell a3dbdf2c54 Bug 1477432 - Part 4: Remove the nsJSID XPCOM constructor, r=mccr8
Nobody was using it, so it's pretty easy to remove.

Differential Revision: https://phabricator.services.mozilla.com/D2281
2018-11-16 17:27:35 -05:00
Nika Layzell a3a4d67877 Bug 1477432 - Part 3: Avoid using nsIJSID in Components.Constructor, r=mccr8
This should be mostly compatible with the original implementation. I tried to
simplify things here to just directly wrap and use JS objects, calling methods
on them. This eliminates the nsXPCConstructor type completely, replacing it with
a JSNative constructor with predefined READONLY | PERMANENT properties.

Differential Revision: https://phabricator.services.mozilla.com/D2280
2018-11-16 17:27:33 -05:00
Nika Layzell fe2f2478f7 Bug 1477432 - Part 2: Avoid using nsIJSID in GenerateQI, and produce better diagnostics, r=kmag
This is the first part of hiding the implementation of nsIJSID behind the
interface added in Part 1, such that we can substitute that implementation out.

I had to make a couple of changes to fix the errors caused by the new behaviour
in GenerateQI.

Differential Revision: https://phabricator.services.mozilla.com/D2279
2018-11-16 17:27:31 -05:00
Nika Layzell e3d63382ee Bug 1477432 - Part 1: Move xpc_ nsJSID methods to a future-proof API, r=mccr8
The new API tries to be more generic, taking and producing JS::Values. It also
supports creating the more specialized IID and CID types.

Differential Revision: https://phabricator.services.mozilla.com/D2278
2018-11-16 17:27:29 -05:00
Andrea Marchesini c0950f9d8a Bug 1480544 - Allow Console API to log messages on stdout, r=bgrins
This patch introduces 2 new prefs:
- devtools.console.stdout.chrome: if true, console API writes on stdout when
                                  used by chrome code
- devtools.console.stdout.content: console API write on stdout when used by
                                   content code.
2018-11-15 21:47:58 +01:00
Rob Wu 1e7066abb9 Bug 1506861 - Stop accessing Proxy.prototype in XrayWrapper r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D11771

--HG--
extra : moz-landing-system : lando
2018-11-15 01:35:59 +00:00
Jeff Walden 7dd0d06d8c Bug 1485800 - Rename SourceBufferHolder to SourceText, and add a <typename Unit> template parameter to it so it can hold putative UTF-8 or UTF-16 source text. r=tcampbell, r=fitzgen
--HG--
rename : js/public/SourceBufferHolder.h => js/public/SourceText.h
extra : rebase_source : 34df669c2481eaccd6845f53c5ecf656b636f895
2018-11-08 18:42:48 -08:00
Jeff Walden f2196f8c8f Bug 1503086 - Initialize all SourceBufferHolders with a fallible function that in all cases assumes ownership of given-ownership data. r=tcampbell, r=bz, r=mrbkap on some finicky worker code lightly touched here
--HG--
extra : rebase_source : 94b1a13dc03a7f1a5d07a2c665fdc0cde162d411
2018-10-23 12:27:16 -07:00
Boris Zbarsky d9766a1241 Bug 1506736. Don't try to Xray statics on JS builtin constructors that we don't normally support Xrays for. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D11764

--HG--
extra : moz-landing-system : lando
2018-11-13 21:19:01 +00:00
Henrik Skupin 6f80f44f24 Bug 1495667 - Re-enable js/xpconnect/tests/marionette/test_loader_global_sharing.py on Windows. r=jgraham
Previously disabled via bug 1433905 to allow a refactoring of Marionette, this test can be re-enabled now given that bug 1433873 also got landed.

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:23:58 +00:00
Andy Wingo 1471c70fb7 Bug 1506542 - Add run-time flag to enable bigint support r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D11613

--HG--
extra : moz-landing-system : lando
2018-11-13 09:11:06 +00:00
Dan Horák 1aa4b36f30 Bug 1503968 - set Watchdog thread stack size to at least platform minimal stack size. r=bholley 2018-11-05 00:51:00 +02:00
Yoshi Huang 2d73be3784 Bug 1485299 - Add telemethy for nursery promotion rate. r=jonco, data-review=chutten
Add telemethy for Nursery promotion rate.

Data review form: https://bugzilla.mozilla.org/attachment.cgi?id=9023677
Data review response: https://bugzilla.mozilla.org/show_bug.cgi?id=1485299#c10
2018-11-09 09:53:57 +01:00
Gurzau Raul 1da9ef02c4 Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/content-security-policy/navigate-to/form-action/form-action-blocks-navigate-to-allows.html => testing/web-platform/tests/content-security-policy/navigate-to/form-action/form-action-blocks-navigate-to-allows.sub.html
rename : testing/web-platform/tests/content-security-policy/navigate-to/spv-only-sent-to-initiator.html => testing/web-platform/tests/content-security-policy/navigate-to/spv-only-sent-to-initiator.sub.html
2018-11-06 11:57:49 +02:00
Ehsan Akhgari 6f7b03e600 Bug 1504574 - Remove the XPCOM registration for nsDocumentEncoder; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D10856
2018-11-05 23:16:04 -05:00
Kyle Machulis 8ad671c4c0 Bug 1498059 - Tests for CEnums in XPIDL; r=nika,froydnj
Depends on D8594

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

--HG--
extra : moz-landing-system : lando
2018-11-06 00:05:44 +00:00
Ehsan Akhgari c78ff51afb Bug 1504566 - Remove the XPCOM registration for nsHTMLCopyEncoder; r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D10958
2018-11-05 17:28:54 -05:00
Narcis Beleuzu 9b3f73e696 Merge mozilla-central to inbound. CLOSED TREE 2018-11-05 23:54:03 +02:00
vinoth e14aa2974e Bug 1504605 - Add Prefs to xpcshell test files for allowing usage of eval. r=ckerschb
Reviewers: ckerschb

Reviewed By: ckerschb

Subscribers: ckerschb

Bug #: 1504605

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

--HG--
extra : rebase_source : 9abb395224bdfa7795516295babfd847ea2553f4
2018-11-05 16:41:45 +02:00
Jonathan Kingston 4248b4c554 Bug 1490257 - Pass triggeringPrincipal to test code. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D10882

--HG--
extra : moz-landing-system : lando
2018-11-05 14:05:47 +00:00
vinoth 896a7bbbd2 Bug 1504207 - Add Prefs for allowing usage of eval with system principal in test files r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D10696

--HG--
extra : moz-landing-system : lando
2018-11-05 13:39:31 +00:00
Daniel Varga 77036132f7 Merge autoland to mozilla-central. a=merge 2018-11-02 00:26:12 +02:00
Julian Descottes 079a123093 Bug 1467712 - Simplify calls to ok to use only 2 arguments;r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D10416

--HG--
extra : moz-landing-system : lando
2018-11-01 13:48:48 +00:00
Csoregi Natalia faba2c8c15 Backed out 4 changesets (bug 1467712) for multiple failures with: Too many arguments passed to ok. CLOSED TREE
Backed out changeset 9ce0ac2b9d71 (bug 1467712)
Backed out changeset 026eb1f6dc6e (bug 1467712)
Backed out changeset 0088a09d869a (bug 1467712)
Backed out changeset 1b19ea76aad6 (bug 1467712)
2018-11-01 15:22:52 +02:00
Julian Descottes b50a5ba4dc Bug 1467712 - Simplify calls to ok to use only 2 arguments;r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D10416

--HG--
extra : moz-landing-system : lando
2018-11-01 11:09:48 +00:00
Gurzau Raul 424b125b93 Backed out changeset 523ff2753dea (bug 1490257) for causing Bug 1503757 a=backout 2018-11-01 15:27:30 +02:00
Brindusan Cristian 41900a475a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-31 23:44:15 +02:00
Brindusan Cristian 3d5e6205ca Merge inbound to mozilla-central. a=merge 2018-10-31 23:41:40 +02:00
Gabriele Svelto 266ef73c96 Bug 1503207 - Remove nsWeakPtr.h and cleanup all files including weak reference-related headers r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10251

--HG--
extra : moz-landing-system : lando
2018-10-31 20:39:03 +00:00
Jonathan Kingston 873b26107e Bug 1490257 - Add asserts into loadURI where we imply SystemPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D10221

--HG--
extra : moz-landing-system : lando
2018-10-31 18:00:40 +00:00
Andrea Marchesini d33f864af8 Bug 1503551 - Remove window.sidebar, r=smaug 2018-10-31 18:30:18 +01:00
Kris Maglione f5e4ac7e08 Bug 1356412: Part 1 - Remove subscript loader path mangling. r=mccr8
This was only ever useful before we had compartment-based security isolation.
Now it is just a pervasive nuisance.

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

--HG--
extra : rebase_source : 9af37bbd959b2db3d7a6c5ac723a474c47676f79
2018-11-02 14:45:12 -07:00
Jay Lim c5caa76288 Bug 1472212 - Load `http://example.org/` instead of `about:home` for some tests. r=Gijs
These tests were timing out because `about:home` now runs in a different process.
Since these two tests aim to test something else (e.g. window leaks when
navigating between pages), we will redirect to a URL that loads in the same
process instead of `about:home` to avoid adding extra conditions for the
process flip.

See Bug 1336811 and Bug 1242643.

MozReview-Commit-ID: G0rhfA973R9

--HG--
extra : source : a28443371b944ee00b1267dd5b9a22da6d28353b
extra : intermediate-source : 7b7fa6ab2229e358666d0b0855adcfe6bd8199c4
extra : histedit_source : 6dae3cdd2834fc39ba547520cc6016ce4496cc08
2018-07-20 18:49:59 -04:00
Ciure Andrei 60ea98ca60 Backed out 10 changesets (bug 1501044, bug 1472212) for fetch-destination.https.html perma failure CLOSED TREE
Backed out changeset aa35078cabaa (bug 1472212)
Backed out changeset bf02793f802d (bug 1472212)
Backed out changeset 95a7ef6102a6 (bug 1472212)
Backed out changeset 7b7fa6ab2229 (bug 1472212)
Backed out changeset 4fe4ec18f2f3 (bug 1472212)
Backed out changeset 18f824674b76 (bug 1472212)
Backed out changeset 1978a7837502 (bug 1472212)
Backed out changeset 21a6f1a83c73 (bug 1472212)
Backed out changeset 48242d39d532 (bug 1472212)
Backed out changeset 0b5cf2f4305a (bug 1501044)
2018-10-30 23:31:10 +02:00
Jay Lim 492c6f6d69 Bug 1472212 - Load `http://example.org/` instead of `about:home` for some tests. r=Gijs
These tests were timing out because `about:home` now runs in a different process.
Since these two tests aim to test something else (e.g. window leaks when
navigating between pages), we will redirect to a URL that loads in the same
process instead of `about:home` to avoid adding extra conditions for the
process flip.

See Bug 1336811 and Bug 1242643.

MozReview-Commit-ID: G0rhfA973R9

--HG--
extra : rebase_source : 158eb53174faa028edeebaf5970c123ba359a3e5
extra : intermediate-source : ebdca743668ce014c1cb9adfa00c1220256d357c
extra : source : a28443371b944ee00b1267dd5b9a22da6d28353b
2018-07-20 18:49:59 -04:00
Csoregi Natalia cc313f779c Backed out 9 changesets (bug 1472212) for browser-chrome tests run issues on Linux x64 asan and failures on browser_ext_windows_create_tabId.js. CLOSED TREE
Backed out changeset 18e46df44cd1 (bug 1472212)
Backed out changeset 2e5de66c1f60 (bug 1472212)
Backed out changeset b94f9883aef0 (bug 1472212)
Backed out changeset ebdca743668c (bug 1472212)
Backed out changeset f8a06d01437e (bug 1472212)
Backed out changeset b6996abc7d90 (bug 1472212)
Backed out changeset 24c257cd18c3 (bug 1472212)
Backed out changeset 176f3ee14e67 (bug 1472212)
Backed out changeset b4baa63e5b1b (bug 1472212)
2018-10-30 01:58:21 +02:00
Jay Lim 6c7fa4ca02 Bug 1472212 - Load `http://example.org/` instead of `about:home` for some tests. r=Gijs
These tests were timing out because `about:home` now runs in a different process.
Since these two tests aim to test something else (e.g. window leaks when
navigating between pages), we will redirect to a URL that loads in the same
process instead of `about:home` to avoid adding extra conditions for the
process flip.

See Bug 1336811 and Bug 1242643.

MozReview-Commit-ID: G0rhfA973R9

--HG--
extra : rebase_source : 614b8f5ac2a3ae9a1027c989d37aeba1026f886a
extra : source : a28443371b944ee00b1267dd5b9a22da6d28353b
2018-07-20 18:49:59 -04:00
Sebastian Hengst 06798ac084 Bug 1501644 - Update test to check if content sees shimmed window.controllers in beta and release r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D9896

--HG--
extra : moz-landing-system : lando
2018-10-26 15:57:01 +00:00
Daniel Varga ef1b6f6269 Merge mozilla-central to mozilla-inbound. a=merge 2018-10-25 19:20:33 +03:00
Nika Layzell 84828b5af3 Bug 1501124 - Switch BackstagePass to use WebIDLGlobalNameHash, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9736
2018-10-25 10:24:36 -04:00
Nika Layzell 7059a8ac77 Bug 1501910 - Pass enumerableOnly into nsIXPCScriptable::NewEnumerate, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D9749
2018-10-25 10:24:36 -04:00
Adrian Wielgosik e73a2f3566 Bug 1480245, part 5 - Clean up some uses of nsXPTInterfaceInfo::GetMethodInfo. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D9647

--HG--
extra : moz-landing-system : lando
2018-10-25 09:54:30 +00:00
Adrian Wielgosik d4785563da Bug 1480245, part 4 - Remove always-true nsXPTInterfaceInfo::IsScriptable(). r=nika
Differential Revision: https://phabricator.services.mozilla.com/D9646

--HG--
extra : moz-landing-system : lando
2018-10-25 09:55:05 +00:00
Adrian Wielgosik d0b8c2be2e Bug 1480245, part 2 - Stop storing a copy of interface name in nsXPCWrappedJSClass. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D9644

--HG--
extra : moz-landing-system : lando
2018-10-24 17:39:17 +00:00
Adrian Wielgosik e6326985f3 Bug 1480245, part 1 - Remove compatibility methods from nsXPTInterfaceInfo. r=nika
I left GetMethodInfo, GetConstant as they are still useful as separate methods.

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

--HG--
extra : moz-landing-system : lando
2018-10-25 09:56:26 +00:00
Andrew McCreight 9978e851df Bug 1492584, part 3 - Remove JS component loader registration. r=kmag
After the previous patches, we no longer rely on the component manager
to incidentally start up XPConnect when we load the JS loader service
or to hold the JS component loader alive, so the do_GetService() call
for the JS loader in XPCOMInit.cpp can be removed. After that is done,
the JS loader is no longer used as an XPCOM component, so all of the
boilerplate for that can be removed.

Depends on D8757

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

--HG--
extra : moz-landing-system : lando
2018-10-23 23:20:38 +00:00
Andrew McCreight a3164a8def Bug 1492584, part 2 - Make mozJSComponentLoader::sSelf a strong reference. r=kmag
The JS component loader is an XPCOM component, so it is held alive by
the component manager. In order to be able to make it no longer be an
XPCOM component, we have to keep it alive some other way. I decided to
simply keep it alive as long as XPConnect itself is alive.

Depends on D9583

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

--HG--
extra : moz-landing-system : lando
2018-10-23 23:19:34 +00:00
Andrew McCreight c87fb5b0a9 Bug 1499865 - Make loadedModules and loadedComponents into array attributes. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D9561

--HG--
extra : moz-landing-system : lando
2018-10-23 23:28:44 +00:00
Julian Descottes 2fcd6cb020 Bug 1499096 - Update tests using ok() to is();r=Standard8
This changeset updates all the test that were wrongly using ok() and wanted to
use is() AND for which the assert is still passing without any modification
required.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 07:12:23 +00:00
Andrew McCreight 0ee66a7f4f Bug 1497707, part 5 - Inline mozilla::ModuleLoader into mozJSComponentLoader. r=froydnj
Now that the XPCOM component loader infrastructure has stopped
pretending to support other file extensions, this intermediate
interface is no longer needed.

Depends on D8171

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

--HG--
extra : moz-landing-system : lando
2018-10-23 00:46:49 +00:00
Andrew McCreight f7cab62df4 Bug 1497707, part 4 - Only support loading JS files in the component manager. r=froydnj
JS is the only file extension actually supported, and there are a few
layers of cruft that can be eliminated if we specialize it.

This eliminates one XPCOM registration of the JS component loader.

Depends on D8170

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

--HG--
extra : moz-landing-system : lando
2018-10-23 00:47:38 +00:00
Andrew McCreight 4c274219f8 Bug 1497707, part 1 - Get rid of xpcIJSModuleLoader. r=kmag
This interface is only used for a few testing functions. Just move
them to Cu.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 00:47:16 +00:00
Masatoshi Kimura f38cdcfbf1 Bug 1496179 - Make mozglue.dll a private SxS assembly. r=aklotz,froydnj
SxS assemblies do not obey the usual DLL search order. It will make it possible
to load mozglue.dll from appdir even if the PreferSystem32Images mitigation is
enabled and System32 has a random mozglue.dll.
2018-10-10 22:57:53 +09:00
Andrew McCreight 2df0136940 Bug 1498404 - Fix some errors in manifests r=froydnj
In FxAccountsComponents.manifest, the previous line registers the
component CID, but only for the main process. This means we hit an
error while parsing the manifest in the child process, because the CID
is not recognized. The fix is simply to not try to use the CID to
register the contract in the child process.

As for the rest of the changes, since bug 1438688, XPT information is
compiled into the Firefox binary, so the interfaces manifest entry is
no longer needed. This patch removes instances of this line from
manifest files. This makes some manifest files empty, so the patch
also removes the now-empty files.

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

--HG--
extra : moz-landing-system : lando
2018-10-16 13:26:23 +00:00
Dorel Luca 451e26f0c6 Backed out changeset 8d7987ea4fb1 (bug 1490257) for causing android failures. CLOSED TREE 2018-10-15 14:39:00 +03:00
vinoth 7b887cfbbc Bug 1498885 - Assertion added in ContentSecurityPolicyPermitsJSAction() to not allow eval with SystemPrincipal r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D8683

--HG--
extra : moz-landing-system : lando
2018-10-15 08:02:04 +00:00
Jonathan Kingston 8bcd10a7ab Bug 1490257 - Add asserts and remove implied system triggering principal code r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D8368

--HG--
extra : moz-landing-system : lando
2018-10-15 06:29:45 +00:00
Sylvestre Ledru dd5741407b Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan
Too hard/impossible for the tool to format correctly these structs

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

--HG--
extra : moz-landing-system : lando
2018-10-12 20:48:24 +00:00
Andrew McCreight 53217795fe Bug 1493237 - Use a test-only non-nsISupports wrapper cached WebIDL class in a weak map test r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D8134

--HG--
extra : moz-landing-system : lando
2018-10-11 23:02:10 +00:00
Andrew McCreight 59038534b1 Bug 1497342, part 3 - Turn some WeakMap chrome mochitests into plain mochitests r=bzbarsky
This only requires changing the surrounding test boilerplate and using
SpecialPowers to access chrome-privileged functions.

Depends on D8132

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

--HG--
extra : moz-landing-system : lando
2018-10-10 17:35:56 +00:00
Andrew McCreight 397f9ae888 Bug 1497342, part 2 - Move some weak map tests r=bzbarsky
This patch moves some Chrome mochitests into the plain mochitest
directory, in order to try to preserve the history. It also removes
them from the list of tests. The next patch will fix the tests and
start running them again.

Depends on D8131

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

--HG--
rename : js/xpconnect/tests/chrome/test_getweakmapkeys.xul => js/xpconnect/tests/mochitest/test_getweakmapkeys.html
rename : js/xpconnect/tests/chrome/test_paris_weakmap_keys.xul => js/xpconnect/tests/mochitest/test_paris_weakmap_keys.html
rename : js/xpconnect/tests/chrome/test_weakmaps.xul => js/xpconnect/tests/mochitest/test_weakmaps.html
extra : moz-landing-system : lando
2018-10-10 17:35:54 +00:00
Gurzau Raul fa37566219 Merge inbound to mozilla-central. a=merge 2018-10-10 07:35:14 +03:00
Kris Maglione c0ccca38cd Bug 1455637: Use RefPtr rather than nsCOMPtr to avoid data race. r=mccr8
getter_AddRefs for nsCOMPtr does an AssertNoQueryNeeded check when its
temporary is destroyed. For the mReaderThread, this happens at a time when
control of the member variable has been handed over to the reader thread,
which causes a data race in the query needed check when the reader thread
shuts itself down and clears the member.

Switching to RefPtr solves this problem by removing the unnecessary check.

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

--HG--
extra : rebase_source : 0532d152b6be57451e5729bf6b72e2056f3ed300
2018-10-09 13:22:28 -07:00
Andrew McCreight 8739b376bd Bug 1490507, part 2 - Fix up the comment about double wrapping r=bholley
Depends on D5690

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

--HG--
extra : moz-landing-system : lando
2018-10-09 21:14:39 +00:00
Andrew McCreight ddf48a298f Bug 1490507, part 1 - Remove nsIXPCWrappedJSObjectGetter and move the comment r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D5690

--HG--
extra : moz-landing-system : lando
2018-10-09 21:14:37 +00:00
Csoregi Natalia 9d55d83f31 Merge inbound to mozilla-central. a=merge 2018-10-05 01:29:38 +03:00
Brian Hackett d905141ac5 Bug 1495272 Part 2 - Use DeferredFinalize in SweepTearOffs when recording/replaying, r=smaug.
--HG--
extra : rebase_source : 829a3dea58f123893c591c05795fd6b4f4bba0e9
2018-10-03 15:03:37 -10:00
Narcis Beleuzu b9b1c8ff17 Merge inbound to mozilla-central. a=merge 2018-10-04 18:48:04 +03:00
Jon Coppeard 6c612a4a15 Backed out changeset ba122021b8b5 (bug 1481196) 2018-10-04 11:50:55 +01:00
Andrew Creskey 00474fc9c9 Bug 1495431 Expose baseline and ion JIT warm up threshold options to preferences, about:config r=nbp
JIT warmup options were exposed to preferences to facilitate experimentation/optimization.

The baseline and ion warm up thresholds had already been exposed through JSAPI, just needed to read from Preferences.

The ion JitOption, frequentBailoutThreshold, was also exposed to JSAPI and Preferences.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 19:23:54 +00:00
Narcis Beleuzu de85cdbfc7 Merge mozilla-central to autoland. CLOSED TREE 2018-10-04 18:58:42 +03:00
Henrik Skupin 2141453224 Bug 1433905 - Temporarily disable test_loader_global_sharing.py for opt/pgo builds on Windows. r=gbrown
Marionette currently doesn't handle restarts of Firefox that well,
and as such needs a fix on bug 1433873. Sadly this patch cannot be
landed until the mozprocess issues on bug 1433905 have been fixed.

This patch temporarily disables the test for opt/pgo Windows builds
only. Re-enabling is tracked via bug 1495667.

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

--HG--
extra : moz-landing-system : lando
2018-10-04 10:48:07 +00:00
Andrew McCreight 5cbe1e4d48 Bug 1495820 - Inline do_QueryWrappedNative() r=bzbarsky
This method does very little, and is called in only a few places, so
just inline it. The error variant is not called at all. Simplifying
this makes it easier for me to change do_QueryInterface.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 21:40:26 +00:00
Brendan Dahl 856ed80bda Bug 1461798 - Migrate <tooltip> to a C++ implementation. r=smaug
Move the implementation of the XBL tooltip to C++ so the element can safely
be created during native anonymous content creation. The 'mouseover' and
'mouseout' event handlers were not moved as they appear to be legacy code
that is no longer needed.

A number of tests started perma-failing after this patch. Most failures
were caused by a timing change where plugins sometimes load after the
document "load" event. Many of the failures had intermittents associated
with them and the tests were not waiting for plugins to load before
starting. The test "test_weakmap_keys_preserved2.xul" had a bug where it
was possible for it to finish before all the tests were run.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 20:42:19 +00:00
Lina Cambridge a21adc384b Bug 1495723 - Add support for importing extra symbols to `defineLazyGlobalGetters`. r=kmag
Some global imports, like `fetch`, expose multiple symbols. This patch
ensures we can define lazy getters for those symbols, by mapping the
extra symbol name to the main import name.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 20:10:04 +00:00
Andrew McCreight ea6021b769 Bug 1494127 - Fix trivial calls to do_QueryInterface that return an nsresult r=smaug
Calls to do_QueryInterface to a base class can be replaced by a static
cast, which is faster.

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

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

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

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

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

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

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

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

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

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

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

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

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

Depends on D6197

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--HG--
extra : moz-landing-system : lando
2018-09-12 17:42:42 +00:00
Jan de Mooij 57c43dd68c Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/src, part 1. r=bholley
Depends on D5651

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

--HG--
extra : moz-landing-system : lando
2018-09-12 16:19:06 +00:00
Jan de Mooij 99b8247af2 Bug 1490600 - Always use braces for if/for/while statements in js/xpconnect/loader. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D5651

--HG--
extra : moz-landing-system : lando
2018-09-12 18:14:49 +00:00
shindli 53d4f9c065 Backed out 2 changesets (bug 1489793) for failures in editor/spellchecker/tests/test_bug1219928.html
Backed out changeset 9d793ccd3fca (bug 1489793)
Backed out changeset 30219dab424e (bug 1489793)
2018-09-12 05:59:31 +03:00
Ehsan Akhgari d536808f38 Bug 1489793 - Part 1: Remove the XPCOM component registration for EditorSpellCheck; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D5371
2018-09-11 19:17:46 -04:00
Dana Keeler 58da26473a bug 1411458 - add a test for bug 1411458 r=jcj
MozReview-Commit-ID: LrZN4DATEVP

--HG--
extra : rebase_source : f71a1278484a97e38a7c44fdf47cc0c690a0716b
2017-10-25 11:33:03 -07:00
Daniel Varga 1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Mike Hommey 117e48720c Bug 1489363 - Replace some string.Assign* with AssignLiteral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5224

--HG--
extra : moz-landing-system : lando
2018-09-07 22:12:01 +00:00
Nicholas Nethercote 563171857f Bug 1488628 - Change nsIConsoleMessage.message to an AString. r=erahm
--HG--
extra : rebase_source : e43aec79e309936e17d475b8c50559767538c18d
2018-09-05 13:31:42 +10:00
Kris Maglione 3d172327cd Bug 1486249: Part 1 - Automatically convert JS iterators to nsISimpleEnumerators at XPConnect boundary. r=mccr8
This allows JS callers and C++ callers to both create and consumer iterators
in their preferred style, while still presenting the appropriate interfaces to
callers in the other language.

When a C++ caller requires an nsISimpleEnumerator from an XPCWrappedJS object,
if that class does not already have a QueryInterface method, it is assumed to
be a JS enumerator, and an appropriate wrapper is created. JS callers who wish
to implement nsISimpleEnumerator manually, or opt out of the automatic
conversions, may implement a QueryInterface method, which automatically opts
them out of this behavior.

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

--HG--
extra : rebase_source : eb61ee725a8c67e3e7f5b22d9aef9baa0cde1955
2018-08-25 18:18:10 -07:00
Kris Maglione a4a6e3ecd9 Bug 1489532: Check for nsISimpleEnumerator wrapper before searching existing tear-offs. r=mccr8
When an XPC wrapped JS object returns an object from a property or function
which is expected to return a given interface, we create a wrapper for that
interface regardless of whether the object has a QueryInterface method which
claims to support it. For the nsISimpleEnumerator enumerator case, the check
for that existing wrapper comes before the check for the nsISimpleEnumerator
special casing, which breaks automatic conversion in those cases.

This patch moves that check just before the check for the existing wrapper,
and just after the nsIPropertyBag special casing, which has similar semantics.

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

--HG--
extra : rebase_source : 2201063455a2434cfa0c3c470f668fefa8528f4b
2018-09-07 15:17:56 -07:00
Jeff Walden 327a90245e Bug 1487136 - Make OwningCompileOptions::setFile(JSContext*, const char*) MOZ_MUST_USE. r=kmag on fixing the one user requiring any changes, r=me on the obviously-justified attribute-addition
--HG--
extra : rebase_source : 53f22d0cb6f68fcdf93bd9cbf7e5e3b559a50611
2018-08-28 14:54:20 -05:00
Ehsan Akhgari 6bbaf2cf8c Bug 1489147 - Remove the XPCOM component registration for nsXPConnect; r=mccr8
We move the XPConnect() singleton accessor to nsIXConnect to make it available for consumers outside of XPConnect.  Most of the consumers of the singleton accessor just need the nsIXPConnect public interface, except for the IsShuttingDown() member which this patch adds to nsIXPConnect as well.

Differential Revision: https://phabricator.services.mozilla.com/D5151
2018-09-06 16:39:35 -04:00
shindli 2a86142e74 Backed out changeset d4ae1994c20c (bug 1489147) for bustages in JSDebugger.cpp on a CLOSED TREE 2018-09-06 22:12:44 +03:00
Ehsan Akhgari bb7fcd9d69 Bug 1489147 - Remove the XPCOM component registration for nsXPConnect; r=mccr8
We move the XPConnect() singleton accessor to nsIXConnect to make it available for consumers outside of XPConnect.  Most of the consumers of the singleton accessor just need the nsIXPConnect public interface, except for the IsShuttingDown() member which this patch adds to nsIXPConnect as well.

Differential Revision: https://phabricator.services.mozilla.com/D5151
2018-09-06 14:52:07 -04:00
André Bargull 38691a7464 Bug 1485066 - Part 11: Remove the unused |inBuf| argument from JS::FormatStackDump and change it to use Sprinter. r=Waldo 2018-09-05 03:01:23 -07:00
André Bargull ed962c63e5 Bug 1485066 - Part 8: Rename JS_EncodeString to JS_EncodeStringToLatin1. r=Waldo 2018-09-05 06:05:03 -07:00
André Bargull fbb9b6014c Bug 1485066 - Part 3: Replace calls to JS_EncodeString for string comparison with StringEqualsAscii. r=Waldo 2018-09-05 01:25:09 -07:00