Commit Graph

4351 Commits

Author SHA1 Message Date
Sebastian Hengst
6098a3cc4d merge mozilla-central to mozilla-inbound. CLOSED TREE 2018-03-01 12:29:42 +02:00
Sebastian Hengst
3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Olli Pettay
b7726493fb Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Peter Van der Beken
fc804325a9 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : d7c026d8a77634ef2566feba78168beb8a66a552
2017-07-19 14:59:02 +02:00
Peter Van der Beken
e9ab02acb0 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 4: Convert MessageManager to WebIDL. r=bz.
--HG--
extra : rebase_source : 21a04b112c838f100afe28bc31265130900703da
2017-06-20 11:09:50 +02:00
Peter Van der Beken
615d394604 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 1: Add infrastructure to expose 'system' names on a WebIDL global. r=bz.
--HG--
extra : rebase_source : 6473c862fe98793438c02fa075f3378f8307b45b
2017-07-19 15:04:14 +02:00
arthur.iakab
9bffb6aa72 Merge inbound to mozilla-central. a=merge 2018-02-27 11:58:55 +02:00
Boris Zbarsky
933fb5668e Bug 1438961. Make DOM binding bits build in a debug --disable-tests build. r=qdot 2018-02-26 17:27:23 -05:00
Sylvestre Ledru
dc058f0310 Bug 1370794 - Replace some 0 by false in the dom bindings code generation r=Ehsan
MozReview-Commit-ID: IRErUEAlkTc

--HG--
extra : rebase_source : 117e6c696da2829088c63019f3805de77d5609e8
2018-02-07 12:05:45 +01:00
Jason Orendorff
e7c94fff59 Bug 1439063 - Part 1: Move several public headers from js/src to js/public. r=jandem.
js/src/jsalloc.h -> js/public/AllocPolicy.h
jsalloc.cpp -> js/src/util/AllocPolicy.cpp
jsbytecode.h -> merge into js/public/TypeDecls.h
jsprf.h -> js/public/Printf.h
jsprf.cpp -> js/src/util/Printf.cpp
jsprototypes.h -> public/ProtoKey.h
jswrapper.h -> js/Wrapper.h

--HG--
rename : js/src/jsalloc.h => js/public/AllocPolicy.h
rename : js/src/jsprf.h => js/public/Printf.h
rename : js/src/jsprototypes.h => js/public/ProtoKey.h
rename : js/src/jswrapper.h => js/public/Wrapper.h
rename : js/src/jsalloc.cpp => js/src/util/AllocPolicy.cpp
rename : js/src/jsprf.cpp => js/src/util/Printf.cpp
extra : rebase_source : 98b16d94c469202eab0303a8da844f1d0b6aa809
extra : amend_source : e0b16c1077226d6fe240f4d7096537f93b43f2b8
extra : histedit_source : d94e0ba7904a7d66742c7fac43f638aaec4fa4e5
2018-02-21 10:30:19 -06:00
Dorel Luca
9b2f91981c Backed out 6 changesets (bug 888600) for Valgrind and build bustge on a CLOSED TREE
Backed out changeset 7c8317f4ad48 (bug 888600)
Backed out changeset 5b990735f1ad (bug 888600)
Backed out changeset 9eafe225b804 (bug 888600)
Backed out changeset 16af80d6cd93 (bug 888600)
Backed out changeset a109987af625 (bug 888600)
Backed out changeset 0949dba396ad (bug 888600)
2018-02-22 13:56:43 +02:00
Peter Van der Beken
40a044892a Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 5: Convert MessageManager globals to WebIDL. r=bz.
The change in browser_net_view-source-debugger.js is needed because we now use WebIDL callbacks for MessageListener, and they add async creation stack frames.

--HG--
extra : rebase_source : 77672a73a6e1447c763930143116a261f2369e67
2017-07-19 14:59:02 +02:00
Peter Van der Beken
8c4cf977e2 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 4: Convert MessageManager to WebIDL. r=bz.
--HG--
extra : rebase_source : 9d34380827193c597b2754e290aa5636b75f7461
2017-06-20 11:09:50 +02:00
Peter Van der Beken
8ec89589cb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 1: Add infrastructure to expose 'system' names on a WebIDL global. r=bz.
--HG--
extra : rebase_source : 3724f7d03d9c76067827ffce1e7b64a61389d469
2017-07-19 15:04:14 +02:00
Tooru Fujisawa
9a81f2437f Bug 1414674 - Do not enter the compartment of the target window when calling KeyframeEffect and KeyframeEffectReadOnly constructor via Xray. r=bz,birtles
KeyframeEffect and KeyframeEffectReadOnly constructors can run in the caller
compartment, which is okay because the current compartment is used in the
following places and all of them are safe:

1. GlobalObject::CallerType(), that is ultimately passed to
   nsDocument::IsWebAnimationsEnabled in KeyframeEffectParamsFromUnion,
   to decide whether to copy mIterationComposite/mComposite to
   KeyframeEffectParams.

   GlobalObject::CallerType() can now be different than the target window's one,
   if the caller has the system principal and the target is web content, and
   in that case nsDocument::IsWebAnimationsEnabled there always returns true
   while Web Animations can be disabled on web content.

   honoring the mIterationComposite/mComposite properties is OK, since it just
   changes the animation behavior, and this is disabled by default until
   remaining spec issues are resolved.

2. GlobalObject::Context(), that is ultimately passed to
   KeyframeUtils::GetKeyframesFromObject and used while extracting information
   from passed-in keyframe object, with iterable/iterator protocols.

   Performing that operation in the caller side is okay, since the same thing
   can be done on caller, and the operation doesn't perform any GCThing
   allocation on the target window global.
2018-02-17 17:21:13 +09:00
Chris Peterson
fe5cd3d5d9 Bug 1436263 - Part 3: Remove virtual from final virtual function declarations. r=froydnj
MozReview-Commit-ID: 8pjYjEvQF42

--HG--
extra : rebase_source : 5eb0bea2ef5f06a811b4f3daf57ce8720f12dd07
2018-02-08 21:22:43 -08:00
Chris Peterson
d09123f248 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Tooru Fujisawa
d70a10cbd8 Backed out changeset c3f16a179c93 (bug 1414674) 2018-02-18 01:24:08 +09:00
Tooru Fujisawa
d58a217b1c Bug 1414674 - Do not enter the compartment of the target window when calling KeyframeEffect and KeyframeEffectReadOnly constructor via Xray. r=bz,birtles
KeyframeEffect and KeyframeEffectReadOnly constructors can run in the caller
compartment, which is okay because of the following reasons:

1. The target window global is used for most operation:
     * KeyframeEffectReadOnly::ConstructKeyframeEffect uses the target window
       global instead of current global.
     * KeyframeEffectParamsFromUnion which receives `aGlobal.CallerType()`

   In Xray case, Web Animations API can be disabled on web content
   (currently disabled on beta/release by default), and in that case some API
   won't work even it's triggered from WebExtensions, but it should be fine.

2. GetKeyframesFromObject is executed in the caller's compartment to access
   the passed-in JSObject that is keyframe, with iterable/iterator protocols.
   This operation doesn't perform any GCThing allocation on the target window
   global.
2018-02-17 17:21:13 +09:00
Nils Ohlmeier [:drno]
5d76400725 Bug 1173851: rename DataChannel to RTCDataChannel r=jib,smaug
MozReview-Commit-ID: L8OrIlxM7r1

--HG--
rename : dom/webidl/DataChannel.webidl => dom/webidl/RTCDataChannel.webidl
extra : rebase_source : 013fd0b02c6b5e3a95395bbfed68e27138b507ed
2018-02-09 14:36:48 -08:00
Dorel Luca
977a4712b6 Backed out 2 changesets (bug 1173851) for Mochitest failures on dom/tests/mochitest/general/test_interfaces.html. CLOSED TREE
Backed out changeset aba40941f027 (bug 1173851)
Backed out changeset 36e6f0595461 (bug 1173851)

--HG--
rename : dom/webidl/RTCDataChannel.webidl => dom/webidl/DataChannel.webidl
2018-02-15 01:10:06 +02:00
Nils Ohlmeier [:drno]
95deaeb484 Bug 1173851: rename DataChannel to RTCDataChannel r=jib,smaug
MozReview-Commit-ID: L8OrIlxM7r1

--HG--
rename : dom/webidl/DataChannel.webidl => dom/webidl/RTCDataChannel.webidl
extra : rebase_source : b89dbe0ac4dab71199d758b8cd85ea9655533067
2018-02-09 14:36:48 -08:00
Boris Zbarsky
891566df26 Bug 1437255. Use a null prototype for @@unscopables objects in the DOM. r=qdot
MozReview-Commit-ID: 9YjnPHe78Tg
2018-02-12 15:46:11 -05:00
Boris Zbarsky
07eaf60521 Bug 1436902 part 5. Change generated event classes to use NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
This makes 23 generated event clases use NS_INLINE_DECL_REFCOUNTING_INHERITED.

MozReview-Commit-ID: 7dyWTc1AUfH
2018-02-12 15:45:51 -05:00
Boris Zbarsky
d6807fd501 Bug 1436902 part 4. Refactor event codegen a bit to make it easier to tell whether the event class needs cycle collection. r=mccr8
I looked at the diff in the generated code, and the only change is that
SpeechRecognitionEvent's unlink impl goes from:

 NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(SpeechRecognitionEvent, Event)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mResults)
   tmp->mInterpretation.setUndefined();
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mEmma)
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END

to:

 NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(SpeechRecognitionEvent, Event)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mResults)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mEmma)
+  tmp->mInterpretation.setUndefined();
 NS_IMPL_CYCLE_COLLECTION_UNLINK_END

MozReview-Commit-ID: FISIphljlT6
2018-02-12 15:45:10 -05:00
Markus Stange
7e275b635a Bug 785440 - Add profiler labels to WebIDL bindings: getters / setters / method calls. r=bz
MozReview-Commit-ID: IyhXzv0Chye

--HG--
extra : rebase_source : 6ad1a5bc7f65e157cafa22646c10e56c5f45f90a
extra : source : f38192387128b3e2479c1a3e1654e8339668b34f
2018-01-05 14:40:03 +01:00
Boris Zbarsky
a6fdc48869 Bug 1436276. Bindings should create their return promises in the current compartment even when called over Xrays. r=bholley
These are cases that are implementing the "convert an exception to a Promise"
steps of the Web IDL spec.  Typically the exception is thrown in the current
compartment; the Promise returned should simply match that.  Otherwise we can
end up with a situation in which the promise doesn't actaully have access to
its rejection value, which will cause problems if someone uses then() on the
promise: the return value of the then() call will get a sanitized exception
instead of the real one.

We _could_ try to match the actual compartment of the exception, in theory.
But it's not clear why this would be preferable to using the current
compartment, even if there were cases in which the exception _doesn't_ match
the current compartment.  Which there likely are not.

MozReview-Commit-ID: Ac2BHIHxfvY

--HG--
rename : dom/promise/tests/test_promise_argument.html => dom/promise/tests/test_promise_retval.html
rename : dom/promise/tests/test_promise_argument_xrays.html => dom/promise/tests/test_promise_retval_xrays.html
2018-02-10 01:34:10 -05:00
Boris Zbarsky
a6113241a2 Bug 1436831 part 1. Support [Pref] annotations on Web IDL namespaces. r=qdot
MozReview-Commit-ID: 6gzMWPOlKWM
2018-02-09 11:17:10 -05:00
Adrian Wielgosik
1438296c97 Bug 1436865 - Remove nsIDOMCrypto. r=bz
MozReview-Commit-ID: 4bQVSF94bbz

--HG--
extra : rebase_source : 6386e08c4a392b75473c47997e6cf01d35be78e2
2018-02-08 13:22:20 +01:00
Andrea Marchesini
f6957bfded Bug 1435196 - Move the webidl binding interfaces out of WorkerPrivate - part 1 - WebIDL bindings, r=bkelly 2018-02-08 08:26:05 +01:00
Tim Taubert
1d2ba2eb2b Bug 1436308 - Generate a ToJSON() method for WebIDL types with records r=bz
We currently don't generate a ::ToJSON() method for WebIDL types with record<K,V>
members. These types should be safe to convert to JSON, as long as type V itself
is. Per spec, type K is always a DOMString, USVString, or ByteString.
2018-02-07 12:01:00 +01:00
Andrew McCreight
5dec0e0beb Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG

--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
2018-02-06 09:36:57 -08:00
Boris Zbarsky
3bf93ec28e Bug 1435483 part 18. Remove nsIException::GetResult. r=qdot
MozReview-Commit-ID: JArus2ddEsL
2018-02-05 16:34:06 -05:00
Boris Zbarsky
12e9f78050 Bug 1435483 part 16. Switch to using dom::Exception, not nsIException, in C++ code. r=qdot
nsIException is builtinclass in idl, so whatever code we had to handle
non-dom::Exception nsIExceptions is dead code.

MozReview-Commit-ID: 6VnqDWt0041
2018-02-05 16:34:05 -05:00
Boris Zbarsky
fc5ae1f4a1 Bug 1435483 part 12. Add an infallible "toString" method on nsIStackFrame. r=qdot
MozReview-Commit-ID: CTCawPvw6VZ
2018-02-05 16:34:05 -05:00
Boris Zbarsky
539cfc28e6 Bug 1435483 part 11. Add an infallible "formattedStack" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: KLSzUuWt45x
2018-02-05 16:34:05 -05:00
Boris Zbarsky
c8bd8682bf Bug 1435483 part 10. Add infallible "asyncCaller" and "caller" getters on nsIStackFrame. r=qdot
MozReview-Commit-ID: 8pdMDFHWlVt
2018-02-05 16:34:05 -05:00
Boris Zbarsky
b7eaf4b6ae Bug 1435483 part 9. Add an infallible "name" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: ADxO2A8nkel
2018-02-05 16:34:05 -05:00
Boris Zbarsky
984978f22d Bug 1435483 part 8. Add an infallible "asyncCause" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: KpRyt21PF7W
2018-02-05 16:34:04 -05:00
Boris Zbarsky
fc7c1f0034 Bug 1435483 part 7. Add an infallible "columnNumber" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: 7VJvDR0qD3G
2018-02-05 16:34:04 -05:00
Boris Zbarsky
2c00c8c971 Bug 1435483 part 6. Add an infallible "lineNumber" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: 7aYg9kJhiab
2018-02-05 16:34:04 -05:00
Boris Zbarsky
02f7baafc0 Bug 1435483 part 5. Add an infallible "filename" getter on nsIStackFrame. r=qdot
MozReview-Commit-ID: D3uuehuDqOB
2018-02-05 16:34:04 -05:00
Andrea Marchesini
8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Eric Rahm
14975c9574 Bug 1434689 - Part 4: Annotate IgnoreErrors as MOZ_TEMPORARY_CLASS. r=bz
IgnoreErrors is intended to only be used as a temporary class, this adds an
explicit annotation.

--HG--
extra : rebase_source : 4142429081d3f70097594d200950b74d100ab67b
2018-02-02 13:21:51 -08:00
Florian Quèze
2b1c8dccb6 Bug 1339461 - script-generated patch to convert foo.indexOf(...) == -1 to foo.includes(), r=Mossop. 2018-02-01 20:45:22 +01:00
Boris Zbarsky
bc7691a8db Bug 1434686 part 2. Use IgnoreErrors() in dom/bindings. r=mystor
MozReview-Commit-ID: G8vxR2s2qUJ
2018-02-01 14:21:14 -05:00
Boris Zbarsky
f7f6285330 Bug 1434686 part 1. Introduce a mozilla::IgnoreErrors which can be used as a temporary to pass to an ErrorResult& arg when the error should be ignored. r=mystor
Once bug 1434689 is fixed, we can mark this thing as being required to be a temporary.

MozReview-Commit-ID: 7VX0XSYVOc4
2018-02-01 14:21:14 -05:00
Andrea Marchesini
26352bfee1 Bug 1432963 - Fixing workers headers - part 17 - no LIBS=[workers] in moz.build files, r=smaug 2018-01-31 08:25:30 +01:00
Andrea Marchesini
2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00