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

5414 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione 69844a6fbb Bug 1441333: Part 3 - Add helper to create a JS error with a saved stack. r=bz
There's no standard way to create a JS error with full stack and location
information from a saved stack. Since we need this functionality in order to
reject promises with useful Error objects, this patch adds a simple helper to
make that possible.

MozReview-Commit-ID: FyGuo4UjfsQ

--HG--
extra : rebase_source : 65ef11c56f23e04ea5eeb87b972bfc8e4867fdd2
2018-03-01 14:00:00 -08:00
Kris Maglione 443f8d0c08 Bug 1441333: Part 1 - Add helper to retrieve closest stack frame with a given principal. r=bz
Most WebExtension APIs are async, and have fairly complicated error reporting
semantics. As a result, when we report an error, the current JS stack has very
little to do with the JS caller that triggered the error, which makes it
difficult to diagnose.

In order to improve the situation, we need to store the location of the caller
at the start of an async operation, so we can tie the error to some marginally
useful location. We don't have a reasonable way to do that now other than
proactively creating an error object when the API is called, or creating a
promise with a full async stack, both of which are too expensive.

This helper instead returns a single SavedStack frame with a given principal,
which should be considerably cheaper, and likely good enough to give a
starting point for debugging cryptic errors.

MozReview-Commit-ID: BTxhpZK9Fdz

--HG--
extra : rebase_source : 7f2c66b1dc18d4ce4c47bef2e3b9d5d3ade929aa
2017-11-11 17:39:16 -08:00
Boris Zbarsky 9a576eb44d Bug 1442313 part 3. Expose, test-only, getJSTestingFunctions() in workers. r=bkelly
MozReview-Commit-ID: LiErRvJ6CTH
2018-03-01 14:24:20 -05:00
Sebastian Hengst 9b6b3d7b3b merge mozilla-central to autoland 2018-03-01 12:27:56 +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
Henri Sivonen 44e4383f36 Bug 1432079 - Implement PaymentItemType. r=baku
MozReview-Commit-ID: Jpj9arQ9MaE

--HG--
extra : rebase_source : 75dff1a752b2f85b162e6cfbc67fd563cee12993
2018-02-28 15:00:05 +02:00
Jonathan Kingston ada03a865d Bug 1359076: Disable all Device Sensor APIs except orientation by default r=bkelly
This patch disables device sensors except orientation by default.
It implements per-sensor prefs to disable orientation, motion, proximity and ambient light
selectively. The patch also makes the pref checks happen at runtime (versus on process
start) using Preferences::AddBoolVarCache.
The patch also removes the related Event constructors also.

MozReview-Commit-ID: EA8ARjjtlkF

--HG--
rename : dom/events/test/test_bug742376.html => dom/events/test/test_deviceSensor.html
rename : dom/events/test/test_eventctors.html => dom/events/test/test_disabled_events.html
rename : dom/events/test/test_eventctors.html => dom/events/test/test_eventctors_sensors.html
extra : rebase_source : 39da98ac9226ac727f5197d28561b0b762da06f4
2017-07-24 10:07:00 +02: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
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
Mike Conley a7df06446a Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Andreea Pavel 1aac7df383 Backed out 3 changesets (bug 1434376)for failing browser chrome at browser/base/content/test/performance/browser_urlbar_search_reflows.js on a CLOSED TREE
Backed out changeset b636251b75ab (bug 1434376)
Backed out changeset fccbba9cb959 (bug 1434376)
Backed out changeset b5128504011c (bug 1434376)
2018-02-25 12:44:28 +02:00
Mike Conley 24b3c1ade3 Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Kyle Machulis 42ccaf67c7 Bug 1201590 - WebMIDI WebIDL files; r=baku
MozReview-Commit-ID: 8zpN6u0WmtA

--HG--
extra : rebase_source : c0e5a36f615a7d461fb243707c6fbf8954631b74
2017-11-14 22:02:57 -08:00
Cosmin Sabou 43c66219ab Backed out 3 changesets (bug 1434376) for build bustages on SystemTimeConverter.h(177)
Backed out changeset 2ed5aefc5bc2 (bug 1434376)
Backed out changeset 1b474fb6d798 (bug 1434376)
Backed out changeset 4e6a21e50be0 (bug 1434376)
2018-02-23 23:17:42 +02:00
Mike Conley 767455c35f Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 5e502d5d077dd764ca1a43e7c3f06855858fe735
2018-02-11 20:14:49 -05:00
Ciure Andrei 855b730941 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-02-23 00:03:06 +02:00
Boris Zbarsky 3d785e53b2 Bug 1437921 part 1. Add an attribute on document that is a Promise that resolves when the document has fired DOMContentLoaded _and_ maybe started layout. r=mystor
MozReview-Commit-ID: LpPFPKlHTXe
2018-02-22 16:55:40 -05:00
Ciure Andrei 852a0c8890 Merge inbound to mozilla-central. a=merge 2018-02-22 23:55:25 +02:00
Tim Taubert e7bbf534a6 Bug 1439805 - Implement CredentialsContainer.preventSilentAccess() r=jcj,smaug
Reviewers: jcj, smaug

Reviewed By: jcj, smaug

Bug #: 1439805

Differential Revision: https://phabricator.services.mozilla.com/D629
2018-02-22 14:36:08 +01: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
Daniel Stenberg 9165893084 bug 1440234 - show TRR column in about:networking for DNS names r=baku,valentin
MozReview-Commit-ID: LtAHJj4BMqQ

--HG--
extra : rebase_source : 089544e53e652aa8d43f0927e6d140568f68e93f
2018-02-22 09:57:22 +01:00
Arthur Edelstein 67294b1767 Bug 1438795 - Spoof KeyboardEvent.which for privacy.resistFingerprinting. r=masayuki, r=smaug 2018-02-20 16:51:00 -05:00
J. Ryan Stinnett bbd75cba2e Bug 1438697 - Add inFrameSwap property on page transition. r=mrbkap
During a frame swap (using the `swapFrameLoaders` API on a frame loader owner),
we dispatch `pagehide` events before swapping and `pageshow` events after
swapping.

For some consumers that watch these events (such as DevTools), it would be
helpful to filter out the ones that sent because of frame swapping.  This change
adds a chrome-only `inFrameSwap` property to such events so that we can tell
them apart.

MozReview-Commit-ID: QzIDuaF2zC

--HG--
extra : rebase_source : 3ac15e34c18b648c4cb060e69587e39e4ebaab60
2018-02-16 13:05:06 -06: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
Andreea Pavel 3391719f1c Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-02-17 23:50:07 +02:00
Andreea Pavel 2e506ce663 Merge mozilla-inbound to mozilla-central. a=merge 2018-02-17 23:44:10 +02: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
Jonathan Kingston 9f340d8168 Bug 1429732 - Use a pref to disable registerProtocolHandler in insecure contexts. r=baku,dao
MozReview-Commit-ID: 9NxFv57CyZO

--HG--
extra : rebase_source : 897ca40537493cc9df4bef7a538a5fdb04769889
2018-02-04 12:10:10 +00:00
Olli Pettay 1dfbc7a331 Bug 1430301 - Implement ShadowRoot.elementFromPoint/elementsFromPoint, r=emilio
--HG--
extra : rebase_source : 570f17a7a63ea602533910192c04b4e12f082aa8
2018-02-16 20:42:58 +02:00
Narcis Beleuzu 2d9816273c Merge inbound to mozilla-central. a=merge 2018-02-16 11:49:59 +02:00
Jonathan Kew 7a1f777b90 Bug 1435989 - Add a 'ranges' attribute to the InspectorFontFace object, to expose ranges of text that were rendered with a specific font. r=bz,dholbert 2018-02-15 18:48:22 +00:00
Andreea Pavel 74b7ffee40 Merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : js/src/jscompartment.cpp => js/src/vm/JSCompartment.cpp
rename : js/src/jscompartment.h => js/src/vm/JSCompartment.h
rename : js/src/jsscript.cpp => js/src/vm/JSScript.cpp
rename : js/src/jsscript.h => js/src/vm/JSScript.h
extra : amend_source : 9c233cb959c45e401189d089a094f9d141d2b912
2018-02-15 12:24:21 +02:00
Dorel Luca 75f385b6d6 Merge mozilla-centra to mozilla-inbound 2018-02-15 00:37:44 +02:00
Dorel Luca 4234703a53 Merge mozilla-inbound to mozilla-central a=merge 2018-02-15 00:23:02 +02:00
Olli Pettay 1a35b521d0 Bug 1430305 - Implement ShadowRoot.fullscreenElement , r=mrbkap
--HG--
extra : rebase_source : 363143c1767cc9ad33fcd9dd7afd74848f709956
2018-02-13 18:57:32 +02:00
Brian Birtles 6255f94834 Bug 1436659 - Add Animation.updatePlaybackRate WebIDL definition; r=bz
This is the IDL added to the Web Animations specification:

  5af5e276ba

Note that some of the changes in the above commit were reverted in the following
commit:

  673f6fc126

A folded version of the changes:

  https://gist.github.com/birtles/d147eb2e0e2d4d37fadf217abd709411

MozReview-Commit-ID: CJV7bzizXg4

--HG--
extra : rebase_source : 3b168e779883ba91c8f572478185b55013952d1a
2018-02-13 15:04:18 +09:00
Phil Ringnalda 524add6888 Backed out changeset 221bee012f86 (bug 1364025) for wpt failures in payment-request/interfaces.https.html
CLOSED TREE
2018-02-12 21:43:34 -08:00
Xidorn Quan 445bbb41a8 Bug 1364025 - Add Unscopable to Document.fullscreen. r=bz
MozReview-Commit-ID: CK8pbdKeBas

--HG--
extra : source : fa12f6b5876ec72de288b07c8e96f009bd7dbb44
extra : amend_source : 3c8025294eac7547d736568d33cf52959bd25d9a
2018-02-13 14:51:12 +11:00
Ciure Andrei 3f00808b55 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-02-13 00:14:29 +02:00
Andrea Marchesini dce09604e1 Bug 1436744 - Get rid of WorkerCheckAPIExposureOnMainThreadRunnable, r=catalinb 2018-02-12 21:02:22 +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
Sebastian Hengst f5e840425b merge mozilla-inbound to mozilla-central. a=merge 2018-02-10 00:26:50 +02:00
Boris Zbarsky b954a10838 Bug 1436831 part 2. Make APZHitResultFlags a namespace, not a callback interface. r=qdot
MozReview-Commit-ID: 3QFrHDNUt4U
2018-02-09 11:17:10 -05:00
Boris Zbarsky 523343906d Bug 1436508 part 16. Remove nsIDOMSimpleGestureEvent. r=masayuki
MozReview-Commit-ID: 8JDovhthKtx
2018-02-09 11:17:10 -05:00
Boris Zbarsky 3660ff5632 Bug 1436508 part 13. Remove nsIDOMMutationEvent constants. r=masayuki
MozReview-Commit-ID: Anl5QJZknJL
2018-02-09 11:17:10 -05:00
Boris Zbarsky d22cfa08fe Bug 1436508 part 3. Remove nsIDOMCommandEvent. r=masayuki
We never use initCommandEvent anywhere on a CommandEvent, only on
XULCommandEvents.

MozReview-Commit-ID: 8QHYnlPdDvx
2018-02-09 11:17:08 -05:00
Masayuki Nakano a04da0af59 Bug 1134542 - Get rid of nsIDOMWindowUtils::sendKeyEvent() and nsIFrameLoader::sendCrossProcessKeyEvent() r=smaug
nsIDOMWindowUtils::sendKeyEvent() is already replaced with nsITextInputProcessor
for making callers set any attributes of KeyboardEvent and guaranteeing
consistency behavior with keyboard events caused by native key events.  E.g.,
whether keypress event should be dispatched or not is automatically decided.

nsIFrameLoader::sendCrossProcessKeyEvent() is similart to
nsIDOMWindowUtils::sendKeyEvent() but it dispatches keyboard events in
child process directly.  Currently, nsITextInputProcessor doesn't have this
feature but nobody wants/uses this feature.  So, for removing actual
implementation of nsIDOMWindowUtils::sendKeyEvent(), i.e.,
nsContentUtils::SendKeyEvent(), which is shared by both
nsDOMWindowUtils::SendKeyEvent() and nsFrameLoader::SendCrossProcessKeyEvent(),
we should remove this unused API too. (FYI: it's implemented for old Fennec,
by bug 553149.)

MozReview-Commit-ID: 9n0UVo8Me8k

--HG--
extra : rebase_source : e9b117f5b9afec76e63d57ab8cd86dafb5873789
2018-01-31 17:04:20 +09: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