Commit Graph

136 Commits

Author SHA1 Message Date
Karl Tomlinson
7afa4a3d2a Bug 1578623 use 1 for first line number of worklet scripts r=baku
This is consistent with what the Web Console expects.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 02:02:59 +00:00
Karl Tomlinson
6b19f33045 Bug 1578623 create worklet global with JSPrincipals having reference to WorkletImpl r=baku,bzbarsky
This will permit implementation of JSPrincipals::write().

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

--HG--
rename : dom/worklet/WorkletPrincipal.cpp => dom/worklet/WorkletPrincipals.cpp
rename : dom/worklet/WorkletPrincipal.h => dom/worklet/WorkletPrincipals.h
extra : moz-landing-system : lando
2019-09-06 02:01:44 +00:00
Karl Tomlinson
eb4179edc3 Bug 1558128 reject addModule() promise with AbortError on failure to parse worklet script and don't suppress SyntaxErrors r=baku
https://drafts.css-houdini.org/worklets/#fetch-and-invoke-a-worklet-script
requires that the addModule() promise is rejected with an "AbortError"
DOMException.  https://github.com/w3c/css-houdini-drafts/issues/509 proposes a
more specific error, but that has not been implemented in another browser.

StealExceptionFromJSContext() set ErrorCode to
NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION if there was a pending exception
(or NS_ERROR_OUT_OF_MEMORY on failure to record the JS exception) or
NS_ERROR_UNCATCHABLE_EXCEPTION if there was no pending exception.
StealNSResult() converted NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION to
NS_ERROR_DOM_INVALID_STATE_ERR.

Information about the error is lost on conversion of a SyntaxError to the
promise rejection, so allow the SyntaxError to be reported the console.

Depends on D44601

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

--HG--
extra : moz-landing-system : lando
2019-09-04 09:46:50 +00:00
Karl Tomlinson
9f067feb7f Bug 1558128 remove unused local variable r=baku
Depends on D44600

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

--HG--
extra : moz-landing-system : lando
2019-09-04 09:46:42 +00:00
Karl Tomlinson
289744e70a Bug 1558128 report errors from worklet scripts to console r=baku
There is no ErrorEvent dispatched to WorkletGlobalScope.
See also https://github.com/whatwg/html/issues/2611

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

--HG--
extra : moz-landing-system : lando
2019-09-04 09:46:41 +00:00
Mark Banner
351d147e2f Bug 1577746 - Enable ESLint rule object-shorthand for dom/. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44149

--HG--
extra : moz-landing-system : lando
2019-09-02 11:22:27 +00:00
Karl Tomlinson
3cebe4550f Bug 1473463 remove unnecessary JSAutoRealm as realm is set by AutoEntryScript r=baku
Differential Revision: https://phabricator.services.mozilla.com/D41341

--HG--
extra : moz-landing-system : lando
2019-08-12 11:50:42 +00:00
Karl Tomlinson
7d40632022 Bug 1473463 evaluate worklet scripts as modules without support for nested import r=baku
The separation of parse and evaluate steps permits implementation of behavior
on unhandled exception during evaluation that is different from that on
parsing error.

Implementation of fetching a complete module script graph is tracked in
https://bugzilla.mozilla.org/show_bug.cgi?id=1572644

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

--HG--
extra : moz-landing-system : lando
2019-08-13 11:10:23 +00:00
Karl Tomlinson
859de11460 Bug 1473463 use globalThis in worklet tests because |this| is undefined in toplevel module script r=baku
Differential Revision: https://phabricator.services.mozilla.com/D41338

--HG--
extra : moz-landing-system : lando
2019-08-12 11:46:02 +00:00
Karl Tomlinson
4c081d5a5b Bug 1571622 test for absolute URL in worklet script console logging r=baku
Depends on D40768

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

--HG--
extra : moz-landing-system : lando
2019-08-06 09:06:51 +00:00
Karl Tomlinson
7519a779ac Bug 1571622 use absolute URL in CompileOptions for worklet scripts r=baku
This is consistent with ScriptLoader::FillCompileOptionsForRequest()
https://searchfox.org/mozilla-central/rev/29cce9a2684ef64c4f1f996087da8b7545d31f65/dom/script/ScriptLoader.cpp#2437
and provides that devtools can find the script.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 09:06:53 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Karl Tomlinson
53e03975c9 Bug 1542931 add CycleCollectedJSContext::ReportError() r=baku
to make AutoJSAPI error reporting safe for worklets.

Parameter order matches xpc::ErrorReport::Init().

Depends on D34477

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

--HG--
extra : moz-landing-system : lando
2019-06-12 19:11:04 +00:00
Boris Zbarsky
75aa8f554d Bug 1565767 part 4. Remove some unnecesary refcounting at Document::GetBaseURI callsites. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D37972

--HG--
extra : moz-landing-system : lando
2019-07-15 18:28:43 +00:00
Jan de Mooij
994b76bf8c Bug 1564017 part 1 - Use a proper JS stack quota for worklet threads. r=baku
This currently happened to work but could easily overflow the stack. The JS engine
really expects a JS_SetNativeStackQuota call.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 15:50:20 +00:00
Victor Porof
0a8ff0ad85 Bug 1561435 - Format dom/, a=automatic-formatting
# ignore-this-changeset

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

--HG--
extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
2019-07-05 10:44:55 +02:00
Andrea Marchesini
bb718d74fc Bug 1490044 - Remove DOMPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33510

--HG--
extra : moz-landing-system : lando
2019-06-13 09:02:03 +00:00
Boris Zbarsky
5c1d789bfa Bug 1547923 part 3. Add nsIGlobalObject::GetGlobalJSObjectPreserveColor(). r=mccr8
This can be used in things like assertions or some other rare circumstances
where not exposing the object to active JS is OK.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 21:23:35 +00:00
Nathan Froyd
482490a2df Bug 1548562 - require nsThread::Init to take a name; r=baku
There's no good reason why we should let unnamed threads through this interface.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 16:05:50 +00:00
Brian Grinstead
0d460e3432 Bug 1544322 - Part 2.2 - Remove the [type] attribute for one-liner <script> tags loading files in /tests/SimpleTest/ in dom/ r=bzbarsky
This is split from the previous changeset since if we include dom/ the file size is too
large for phabricator to handle.

This is an autogenerated commit to handle scripts loading mochitest harness files, in
the simple case where the script src is on the same line as the tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 2` argument.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 03:53:28 +00:00
Karl Tomlinson
943896b43c Bug 1539039 keep WorkletGlobalScope as long as its Worklet is usable r=baku
Depends on D25353

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

--HG--
extra : moz-landing-system : lando
2019-04-01 16:54:58 +00:00
Karl Tomlinson
d0133206f2 bug 1539039 notify WorkletImpl before WorkletThread shutdown on xpcom shutdown r=baku
This gives WorkletImpl a chance to send a message to release worklet thread
objects.

This is used only for PaintWorklet until PaintWorklet uses its own threads.

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

--HG--
extra : moz-landing-system : lando
2019-04-01 16:51:18 +00:00
Karl Tomlinson
bf17f21d5d Bug 1539039 finish worklet before destination stream is destroyed r=padenot
AudioDestinationNode, AudioContext, and Worklet are part of the same cycle.
Any of these may be unlinked before another.
The unlink process for this cycle is the notification that the worklet will no
longer be used, but the worklet uses the destination stream to send a message
to release graph thread objects and so must do this before the stream is
destroyed.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 16:12:08 +00:00
Boris Zbarsky
10d7ccf23e Bug 1535384 part 5. Eliminate MOZ_CAN_RUN_SCRIPT_BOUNDARY for mutation callbacks. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D23776

--HG--
extra : moz-landing-system : lando
2019-03-19 15:14:11 +00:00
Sebastian Hengst
cee711baf9 Bug 1535353 - update Core :: DOM: * bugzilla product and component meta data in moz.build files after reorganization in bug 1533440 r=hsinyi
Differential Revision: https://phabricator.services.mozilla.com/D23546

--HG--
extra : moz-landing-system : lando
2019-03-17 23:13:22 +00:00
Daniel Holbert
3f763b8af9 Bug 1533870: Preemptively fix unified build bustage in layout/style. r=boris
I wrote this patch by first removing UNIFIED_ from layout/style/moz.build, and
then rebuilding, and then addressing build errors one by one.

Nearly all of the build errors were for using the "Document" type without a
proper namespace, and I've addressed this by sprinkling "using namespace"
declarations in the affected .cpp files (and removing a few now-unnecessary
dom:: prefixes on types in those files).

The only other errors were for WorkletGlobalScope.h which needed an #include to
provide the type "DOMHighResTimeStamp", and nsHTMLStyleSheet.h which needed a
forward-declaration for the type "mozilla::dom::Document".

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

--HG--
extra : moz-landing-system : lando
2019-03-08 21:48:39 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Luke Wagner
fc9dea6cc7 Bug 1520931 - Remove asm.js cache hooks JS API (r=bbouvier)
--HG--
extra : rebase_source : aac95865af1b87970d49b89edbec0acad6c74219
2019-02-11 11:41:57 -06:00
Karl Tomlinson
ad3740ae59 bug 1516956 keep AudioContext alive from AudioWorklet r=baku
to keep the graph/worklet thread running as long as the Worklet is alive.

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

--HG--
extra : moz-landing-system : lando
2019-01-31 07:16:31 +00:00
Arnaud Bienner
0de7c09e8d Bug 1501709 - AudioWorkletGlobalScope::RegisterProcessor: check descriptors and convert them to an internal representation. r=karlt,baku,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D11741

--HG--
extra : moz-landing-system : lando
2019-01-10 18:45:38 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Karl Tomlinson
d5065c1a5d Bug 1513722 run AudioWorklet for OfflineAudioContext on MSG thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D13220

--HG--
extra : moz-landing-system : lando
2018-12-20 07:58:13 +00:00
Karl Tomlinson
01f71ced46 bug 1513722 expose WorkletJSContext creation and deletion and delay creation until required r=baku
The on-demand creation from Worklet.addModule() provides the same creation
path for clients that provide their own thread.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 07:28:04 +00:00
Andreea Pavel
d5f0aa2919 Backed out 2 changesets (bug 1513722) for build bustages
Backed out changeset 8e2c3015fc95 (bug 1513722)
Backed out changeset 0c454fd1dbcb (bug 1513722)
2018-12-20 06:57:15 +02:00
Karl Tomlinson
880bb5a5a9 Bug 1513722 run AudioWorklet for OfflineAudioContext on MSG thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D13220

--HG--
extra : moz-landing-system : lando
2018-12-20 04:22:15 +00:00
Karl Tomlinson
3736657c41 bug 1513722 expose WorkletJSContext creation and deletion and delay creation until required r=baku
The on-demand creation from Worklet.addModule() provides the same creation
path for clients that provide their own thread.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 04:21:57 +00:00
Mark Banner
8c00ef3f30 Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D13746

--HG--
extra : moz-landing-system : lando
2018-12-11 13:15:08 +00:00
Ciure Andrei
ed617be144 Backed out 2 changesets (bug 1512052)for causing build bustages CLOSED TREE
Backed out changeset 4773a3f46c22 (bug 1512052)
Backed out changeset 2f48c5afbe57 (bug 1512052)

--HG--
rename : browser/components/attribution/test/xpcshell/.eslintrc.js => browser/components/attribution/test/.eslintrc.js
2018-12-05 05:47:39 +02:00
Mark Banner
8256078237 Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop
Depends on D13745

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

--HG--
extra : moz-landing-system : lando
2018-12-04 22:27:35 +00: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
Razvan Maries
12299139d5 Backed out changeset 0e1dbfd10378 (bug 1501709) for build bustages on Windows platform, CLOSED TREE. 2018-11-30 06:58:06 +02:00
Arnaud Bienner
6a459e7170 Bug 1501709 - AudioWorkletGlobalScope::RegisterProcessor: check descriptors and convert them to an internal representation. r=karlt,baku,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D11741

--HG--
extra : moz-landing-system : lando
2018-11-30 02:55:06 +00:00
Karl Tomlinson
74a06ee99d Bug 1476514 replace WorkletThread::mJSContext with a boolean r=baku
Depends on D13215

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

--HG--
extra : moz-landing-system : lando
2018-11-29 05:44:47 +00:00
Karl Tomlinson
b94bfb9feb Bug 1476514 remove Get() and GetJSContext() from WorkletThread r=baku
Depends on D13214

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

--HG--
extra : moz-landing-system : lando
2018-11-28 17:31:48 +00:00
Karl Tomlinson
76f7458b87 bug 1476514 use a distinct method to send runnables from parent to worklet thread r=baku
and create the worklet thread on demand from there.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 23:47:01 +00:00
Karl Tomlinson
cc08802d30 bug 1476514 rename WorkletImpl::TerminateThread to NotifyWorkletFinished r=baku
This is more appropriate when WorkletImpl will not necessarily create a thread.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 23:45:04 +00:00
Karl Tomlinson
9db064fcec Bug 1476514 move TimeStampToDOMHighRes() from WorkletThread to WorkletGlobalScope r=baku
Differential Revision: https://phabricator.services.mozilla.com/D13210

--HG--
extra : moz-landing-system : lando
2018-11-28 17:09:24 +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
Arnaud Bienner
6c33998bfb Bug 1503236 - Move WorkletImpl reference from WorkletGlobalScope to classes inheriting WorkletGlobalScope r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D10215

--HG--
extra : moz-landing-system : lando
2018-10-31 23:03:39 +00:00