Commit Graph

149 Commits

Author SHA1 Message Date
Karl Tomlinson
5c05372199 Bug 1578623 remove OriginAttributes duplication by reading from PrincipalInfo r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44918

--HG--
extra : moz-landing-system : lando
2019-09-09 00:41:59 +00:00
Karl Tomlinson
5ad63ce113 Bug 1578623 include stack with console message for uncaught exception in worklet script r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44609

--HG--
extra : moz-landing-system : lando
2019-09-09 00:41:44 +00:00
Karl Tomlinson
fb83797145 Bug 1578623 implement WorkletPrincipals::write() r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D44605

--HG--
extra : moz-landing-system : lando
2019-09-09 00:41:50 +00:00
Karl Tomlinson
a931bb8408 bug 1578623 store PrincipalInfo on WorkletImpl for off-main-thread use r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44603

--HG--
extra : moz-landing-system : lando
2019-09-09 00:41:57 +00:00
Karl Tomlinson
6e1b3f1262 Bug 1578623 use an opaque origin for WorkletGlobalScope r=baku
The environment settings object for a WorkletGlobalScope derives from the
relevant settings object of the main-thread Worklet object, but the origin is
a unique opaque origin.
https://drafts.css-houdini.org/worklets/#set-up-a-worklet-environment-settings-object

Depends on D44775

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

--HG--
extra : moz-landing-system : lando
2019-09-09 00:42:01 +00:00
Karl Tomlinson
17b569260a Bug 1578623 move principal-related data from LoadInfo to WorkletImpl r=baku
The principals used in worklet scripts derive from the relevant settings object
of the main thread Worklet object, rather than the network loads of the scripts.
Moving the data off LoadInfo removes any implication that the principals might
depend on script module loads.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 00:42:05 +00:00
Noemi Erli
d988a687b9 Backed out 9 changesets (bug 1578623) for causing Windows build bustages CLOSED TREE
Backed out changeset 52a86c60c866 (bug 1578623)
Backed out changeset e4fddd3d24b4 (bug 1578623)
Backed out changeset 65a7c4daec27 (bug 1578623)
Backed out changeset 3badf9215788 (bug 1578623)
Backed out changeset 71e58ee8f684 (bug 1578623)
Backed out changeset 0128e12a910f (bug 1578623)
Backed out changeset 8242877392bd (bug 1578623)
Backed out changeset 6d7be8a22f8b (bug 1578623)
Backed out changeset 3be609a9be36 (bug 1578623)

--HG--
extra : amend_source : b76d374926d247982773b58d12cb26e33d9972e8
2019-09-09 03:37:09 +03:00
Karl Tomlinson
2a772f968e Bug 1578623 remove OriginAttributes duplication by reading from PrincipalInfo r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44918

--HG--
extra : moz-landing-system : lando
2019-09-08 23:44:05 +00:00
Karl Tomlinson
934b121f44 Bug 1578623 include stack with console message for uncaught exception in worklet script r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44609

--HG--
extra : moz-landing-system : lando
2019-09-06 02:10:32 +00:00
Karl Tomlinson
18d04e5d8f Bug 1578623 implement WorkletPrincipals::write() r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D44605

--HG--
extra : moz-landing-system : lando
2019-09-06 02:10:31 +00:00
Karl Tomlinson
079bad8d41 bug 1578623 store PrincipalInfo on WorkletImpl for off-main-thread use r=baku
Differential Revision: https://phabricator.services.mozilla.com/D44603

--HG--
extra : moz-landing-system : lando
2019-09-08 23:44:05 +00:00
Karl Tomlinson
e9f3cabd45 Bug 1578623 use an opaque origin for WorkletGlobalScope r=baku
The environment settings object for a WorkletGlobalScope derives from the
relevant settings object of the main-thread Worklet object, but the origin is
a unique opaque origin.
https://drafts.css-houdini.org/worklets/#set-up-a-worklet-environment-settings-object

Depends on D44775

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

--HG--
extra : moz-landing-system : lando
2019-09-06 02:10:33 +00:00
Karl Tomlinson
40e181a9ae Bug 1578623 move principal-related data from LoadInfo to WorkletImpl r=baku
The principals used in worklet scripts derive from the relevant settings object
of the main thread Worklet object, rather than the network loads of the scripts.
Moving the data off LoadInfo removes any implication that the principals might
depend on script module loads.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 02:10:33 +00:00
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