Commit graph

413 commits

Author SHA1 Message Date
Frederik Braun
a7153982e8 Bug 1366973: Rename security flags to not contain DATA anymore r=geckoview-reviewers,ckerschb,snorp
Differential Revision: https://phabricator.services.mozilla.com/D83490
2020-07-15 11:20:45 +00:00
Logan Smyth
8ae3774a1c Bug 780269 - Pass (X-)SourceMap header to SpiderMonkey for workers. r=perry
Differential Revision: https://phabricator.services.mozilla.com/D70293
2020-07-07 21:19:58 +00:00
Simon Giesecke
9364b353d4 Bug 1648010 - Remove NS_NAMED_LITERAL_CSTRING and NS_NAMED_LITERAL_STRING macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80631
2020-07-01 08:42:31 +00:00
Simon Giesecke
e3c223da3e Bug 1648010 - Fix uses of NS_LITERAL_STRING with C string literals. r=geckoview-reviewers,agi,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80861
2020-07-01 08:34:12 +00:00
Simon Giesecke
cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kris Maglione
6aa06b33a7 Bug 1645510: Part 2 - Avoid using the unprivileged junk scope where possible. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D79720
2020-06-27 03:06:28 +00:00
Denis Palmeiro
c15f4faafe Bug 1646793 - Cancel all preload requests when the ScriptLoader is destroyed r=smaug
Cancel all preload requests when the ScriptLoader is destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D80218
2020-06-22 02:12:56 +00:00
Emilio Cobos Álvarez
6bb08bd490 Bug 1646056 - Use const references as keys instead of raw pointers for PreloadHashKey. r=mayhemer
Feels a bit more natural for the callers this way. This should have no
behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D79831
2020-06-18 14:06:34 +00:00
Emilio Cobos Álvarez
939c7c466b Bug 1642591 - Don't make referrer policy a cache miss for sub-resource {pre,}loads. r=mayhemer,tnikkel
For preload we're already effectively not using it, I think, due to
bug 1642325.

For images, this matches the spec, see earlier comments in this bug and
https://bugzilla.mozilla.org/show_bug.cgi?id=1174921#c17.  I think it
makes sense for other sub-resources to align as well.

Differential Revision: https://phabricator.services.mozilla.com/D79812
2020-06-18 14:06:20 +00:00
Ted Campbell
8898cf7914 Bug 1642708 - Remove code guarded by JS_BUILD_BINAST r=arai
Also remove js/src/frontend/BinAST* sources.

Differential Revision: https://phabricator.services.mozilla.com/D77945
2020-06-17 14:26:09 +00:00
Csoregi Natalia
e722c196bc Backed out 5 changesets (bug 1642708) for build bustages. CLOSED TREE
Backed out changeset d307b00c7e1b (bug 1642708)
Backed out changeset d210a60ad435 (bug 1642708)
Backed out changeset bcc2728b5ca5 (bug 1642708)
Backed out changeset 1c245d4e8244 (bug 1642708)
Backed out changeset ad613fa94a83 (bug 1642708)
2020-06-17 16:51:16 +03:00
Ted Campbell
0d2aa310b5 Bug 1642708 - Remove code guarded by JS_BUILD_BINAST r=arai
Also remove js/src/frontend/BinAST* sources.

Differential Revision: https://phabricator.services.mozilla.com/D77945
2020-06-12 14:25:50 +00:00
Jon Coppeard
b2762155a5 Bug 1566307 - Improve the error generated when resolution of a module specifier fails r=hsivonen
This combines the two places where an error was generated for this into one and adds localiation for the message. The message is improved as requested in the bug.

Differential Revision: https://phabricator.services.mozilla.com/D79862
2020-06-16 18:40:17 +00:00
Denis Palmeiro
522b733636 Bug 1606652 - Speculatively off thread parse external scripts as soon as they are fetched. r=smaug
The changes proposed here will speculatively parse all external scripts off thread as soon as they are fetched, except for async, link preload, and non parser inserted scripts.  This should save us some time since currently all scripts are parsed right before execution or while they are blocking the dom parser.

Differential Revision: https://phabricator.services.mozilla.com/D76644
2020-06-10 00:45:26 +00:00
Logan Smyth
cc02094920 Bug 1643540 - Split scriptElement type into three types for clarity. r=jlast,smaug
The lack of specificity for script intro type has lead the debugger to need
to make use of 'source.introductionType' and 'source.element' in order to
determine whether a given script was injected, or inline or fetched, which
is entirely unnecessary of the loader itself clearly tells us what type
of script we are working with. It also allows us to cleanly handle the case
of XUL, which previously was "scriptElement" but has no ".element" passed
in, so we were unable to know whether a given source was inline or not.

Differential Revision: https://phabricator.services.mozilla.com/D78435
2020-06-05 18:22:50 +00:00
Honza Bambas
5a9a3de14a Bug 1639901 - Set PerformanceResourceTiming.initiatorType to "link" on channel initiated by <link rel=preload> tags, r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D76485
2020-06-01 13:21:14 +00:00
Emilio Cobos Álvarez
54fd961a29 Bug 1641245 - Make string comparators not virtual. r=froydnj,necko-reviewers,geckoview-reviewers,jgilbert,agi,valentin
There's no use case for stateful comparators, so they can be just plain
function pointers.

This is used in some hot places like CSS selector matching.

Differential Revision: https://phabricator.services.mozilla.com/D77084
2020-05-27 18:11:12 +00:00
Honza Bambas
07f63ad409 Bug 1637039 - Notify script preload when the loading channel synchronously fails to open, remove a used script preload from Document, r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D76364
2020-05-25 18:39:11 +00:00
Denis Palmeiro
4479f6b01c Bug 1637802 - Replace ScriptEvaluation profiler marker with compilation & execution markers for bytecode, module, binast, and text sources. r=smaug
Replace ScriptEvaluation profiler marker with compilation & execution markers for bytecode, module, binast, and text sources.

Differential Revision: https://phabricator.services.mozilla.com/D75223
2020-05-23 18:22:49 +00:00
Denis Palmeiro
c626a5ea13 Bug 1637886 - Check for valid JSScript* before getting private value r=smaug
Missing check to see if the JSScript coming from exec.GetScript() is valid.

Differential Revision: https://phabricator.services.mozilla.com/D75320
2020-05-14 17:22:52 +00:00
Philip Chimento
f93330de3e Bug 1629293 - Expose js::ErrorReport in public API. r=evilpie
Renames it to JS::ErrorReportBuilder, since it is used to 'build' a
JSErrorReport object.

Differential Revision: https://phabricator.services.mozilla.com/D73521
2020-05-14 04:44:15 +00:00
Tom Schuster
d76da80aa0 Bug 1636624 - Mitigate leaks involving exceptions with CreateSciptError. r=mccr8
Doing this kind of censoring in "CreateScriptError" turns out to be more effort
than I thought. We don't have a JSContext to create Rooted instances.
This still catches all the relevant places where we are creating script-errors without inner-window-ids.

Differential Revision: https://phabricator.services.mozilla.com/D75152
2020-05-13 17:53:57 +00:00
Narcis Beleuzu
a12e8bbd08 Backed out 5 changesets (bug 1505129, bug 1506323, bug 1629293) for bustages on testPrintError.cpp . CLOSED TREE
Backed out changeset ad1ccad76686 (bug 1629293)
Backed out changeset 452e9ab721bd (bug 1629293)
Backed out changeset 72a63e290177 (bug 1629293)
Backed out changeset faeed99f813e (bug 1505129)
Backed out changeset 7bd84a644d2b (bug 1506323)
2020-05-13 21:23:59 +03:00
Philip Chimento
5606c63575 Bug 1629293 - Expose js::ErrorReport in public API. r=evilpie
Renames it to JS::ErrorReportBuilder, since it is used to 'build' a
JSErrorReport object.

Differential Revision: https://phabricator.services.mozilla.com/D73521
2020-05-13 16:10:39 +00:00
Denis Palmeiro
d1ffff7a12 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-05-12 19:28:15 +00:00
Honza Bambas
2bfd05461a Bug 1623953 - Do an SRI check in ScriptLoader before reusing a speculative load initiated by <link preload>, r=dpalmeiro,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D74483
2020-05-12 12:16:38 +00:00
Honza Bambas
3af63237fe Bug 1618292 - Make ScriptLoadRequest derive and use PreloaderBase to support new preload as speculative load feature, r=smaug
Depends on D67483

Differential Revision: https://phabricator.services.mozilla.com/D67481
2020-05-11 14:07:24 +00:00
Tom Schuster
4f64f475f2 Bug 1595046 - Make it possible to inspect every exception value in the web console. r=jonco,baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D64437
2020-05-08 20:54:17 +00:00
Dorel Luca
159241fe4b Backed out changeset 4107b758e7ae (bug 1501608) as requested by dev 2020-05-02 15:03:19 +03:00
Denis Palmeiro
792169d380 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-04-30 16:21:23 +00:00
Simon Giesecke
191a830575 Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70831
2020-04-24 13:31:14 +00:00
Karl Tomlinson
2aa7834c10 Bug 1628842 give up on reporting off-main-thread exceptions when global creation fails r=baku
and there is no fallback global available.

I assume there is little value in attempting to create another global if a
previous attempt failed.

Differential Revision: https://phabricator.services.mozilla.com/D71152
2020-04-17 04:10:43 +00:00
Tom Schuster
763682c095 Bug 1626100 - Replace SetPendingExceptionAndStack with a ExceptionStack version. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D69667

--HG--
extra : moz-landing-system : lando
2020-04-09 12:35:59 +00:00
Tom Schuster
b94a359d66 Bug 1626100 - Use ExceptionStack for AutoJSAPI::StealExceptionAndStack. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D69666

--HG--
extra : moz-landing-system : lando
2020-04-09 12:35:42 +00:00
Tom Schuster
fae4303276 Bug 1626100 - Introduce an ExceptionStack class and StealPendingExceptionStack. r=sfink,mccr8
See also the bug for a more detailed description.

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

--HG--
extra : moz-landing-system : lando
2020-04-09 12:35:29 +00:00
Andreas Farre
63e21eec70 Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.

Depends on D64390

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:23 +00:00
Honza Bambas
ccf539e928 Bug 1627275 - Let ScriptLoader::OnStreamComplete return an error when verification or processing of the script fails, r=baku
Differential Revision: https://phabricator.services.mozilla.com/D69606

--HG--
extra : moz-landing-system : lando
2020-04-06 11:55:25 +00:00
Eric Rahm
c0a7544ce1 Bug 1626440 - Remove nsAutoPtr usage from dom/script. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D69111

--HG--
extra : moz-landing-system : lando
2020-04-03 21:05:05 +00:00
Tom Schuster
02c9b657c3 Bug 1623226 - Pass exception stack from AutoJSAPI::ReportException. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D67791

--HG--
extra : moz-landing-system : lando
2020-03-31 01:19:31 +00:00
Dorel Luca
420e7901c9 Backed out 3 changesets (bug 1623226) for Devtools failures in browser/browser_webconsole_stubs_page_error.js. CLOSED TREE
Backed out changeset 312da02ea6d6 (bug 1623226)
Backed out changeset 798079ba88f7 (bug 1623226)
Backed out changeset 83f0b1c5399c (bug 1623226)
2020-03-31 04:16:44 +03:00
Tom Schuster
759822ddcd Bug 1623226 - Pass exception stack from AutoJSAPI::ReportException. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D67791

--HG--
extra : moz-landing-system : lando
2020-03-30 22:45:14 +00:00
Jon Coppeard
c1e3671c97 Bug 1624810 - Set the multi-zone JS holder flag on appropriate cycle collected classes r=mccr8
Set the flag on the affected classes, which are:
 - CallbackTimeoutHandler
 - nsJSArgArray
 - CallbackObject
 - Console
 - MessageEvent
 - IDBIndexCursor
 - ExtendableMessageEvent
 - JSPurpleBuffer

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

--HG--
extra : moz-landing-system : lando
2020-03-26 10:49:06 +00:00
Bas Schouten
1bc21ff19c Bug 1563335 - Part 1: Implement mechanism to throttle JS execution. r=smaug,asuth
Differential Revision: https://phabricator.services.mozilla.com/D59321

--HG--
extra : moz-landing-system : lando
2020-03-26 00:36:24 +00:00
Tom Schuster
d99e2a3133 Bug 1622562 - Remove JSREPORT_IS_WARNING everywhere. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D67029

--HG--
extra : moz-landing-system : lando
2020-03-21 20:14:13 +00:00
Mihai Alexandru Michis
13d1400778 Backed out 4 changesets (bug 1622562) for causing wpt failures.
CLOSED TREE

Backed out changeset 1ab69d63949b (bug 1622562)
Backed out changeset a5c299f23df7 (bug 1622562)
Backed out changeset 233b80b283fb (bug 1622562)
Backed out changeset e76f213e7f04 (bug 1622562)

--HG--
extra : rebase_source : 3765e25897f0d8f95a7304e11713bf5aed8f5b83
2020-03-20 20:56:58 +02:00
Tom Schuster
7328dae6e3 Bug 1622562 - Remove JSREPORT_IS_WARNING everywhere. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D67029

--HG--
extra : moz-landing-system : lando
2020-03-20 17:24:28 +00:00
Emilio Cobos Álvarez
c07f3b6b0b Bug 1622235 - Make defer scripts wait for stylesheets. r=hsivonen
Rename ScriptLoader::mDocumentParsingDone to
ScriptLoader::mDeferCheckpointReached, and make it also get unblocked by
stylesheet loading.

Remove a useless null-check for mDocument as we unconditionally dereference it
below when checking mDocument->HaveFiredDOMTitleChange()

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

--HG--
extra : moz-landing-system : lando
2020-03-20 13:33:11 +00:00
Simon Giesecke
80de7dcd75 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/script. r=smaug
Depends on D66027

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

--HG--
extra : moz-landing-system : lando
2020-03-09 15:04:35 +00:00
Boris Zbarsky
2f1001ccab Bug 1496159 test.
Differential Revision: https://phabricator.services.mozilla.com/D65845

--HG--
extra : moz-landing-system : lando
2020-03-07 04:16:15 +00:00
Christoph Kerschbaumer
de17388af5 Bug 1374612 - CSP: Hide nonce values from the DOM. r=smaug,annevk
Differential Revision: https://phabricator.services.mozilla.com/D62811

--HG--
extra : moz-landing-system : lando
2020-02-29 12:35:46 +00:00